Commit | Line | Data |
---|---|---|
5be6425c E |
1 | .. MediaGoblin Documentation |
2 | ||
3 | Written in 2012 by MediaGoblin contributors | |
4 | ||
5 | To the extent possible under law, the author(s) have dedicated all | |
6 | copyright and related and neighboring rights to this software to | |
7 | the public domain worldwide. This software is distributed without | |
8 | any warranty. | |
9 | ||
10 | You should have received a copy of the CC0 Public Domain | |
11 | Dedication along with this software. If not, see | |
12 | <http://creativecommons.org/publicdomain/zero/1.0/>. | |
13 | ||
b21220e9 CAW |
14 | .. _release-notes: |
15 | ||
5be6425c E |
16 | ============= |
17 | Release Notes | |
18 | ============= | |
19 | ||
20 | This chapter has important information for releases in it. | |
21 | If you're upgrading from a previous release, please read it | |
22 | carefully, or at least skim over it. | |
23 | ||
a35b7c7f | 24 | |
3ae23712 | 25 | |
e2b35228 BS |
26 | 0.11.0 (work in progress) |
27 | ========================= | |
28 | ||
29 | ||
30 | **Improvements:** | |
31 | ||
32 | ||
33 | **Bug fixes:** | |
34 | ||
35 | - Make LDAP plugin Python 3 compatible [#5607] (Olivier Mehani) | |
36 | ||
37 | ||
e77430eb BS |
38 | 0.10.0 |
39 | ====== | |
9d1bb738 | 40 | |
e77430eb BS |
41 | This release includes video subtitles and multiple video qualities and a swathe |
42 | of smaller improvements and bug-fixes listed below. | |
9d1bb738 | 43 | |
7e10cdde BS |
44 | Python 3 is now the default when you install MediaGoblin and is strongly |
45 | recommended. Python 2 installation is still supported in this release with | |
46 | `./configure --without-python3`, but support will likely be removed in the next | |
47 | release. | |
9d1bb738 | 48 | |
e77430eb BS |
49 | FastCGI support has now been deprecated and removed from the documentation as |
50 | our dependency `flup` does not support Python 3. | |
9d1bb738 | 51 | |
7981fdaf BS |
52 | **Upgrading:** |
53 | ||
54 | For detailed instructions on installing or upgrading, see ":doc:`deploying`" and | |
55 | ":doc:`upgrading`". | |
56 | ||
57 | If you have any problems, please drop in to the `#mediagoblin IRC chat | |
e77430eb BS |
58 | <https://webchat.freenode.net/#mediagoblin>`_, report an issue on our `issue |
59 | tracker <https://issues.mediagoblin.org/>`_ or drop us an email to | |
60 | `mediagoblin-devel@gnu.org <mailto:mediagoblin-devel@gnu.org>`_. | |
61 | ||
62 | **Highlights:** | |
63 | ||
3d8cc5df BS |
64 | - New video subtitles plugin (Saksham Agrawal) see [mailing list post](https://lists.gnu.org/archive/html/mediagoblin-devel/2016-08/msg00002.html) |
65 | - Multiple video qualities (Vijeth Aradhya), see [blog post](https://vijetharadhya.wordpress.com/2017/08/24/gsoc-17-wrap-up-gnu-mediagoblin/) | |
e77430eb BS |
66 | |
67 | **Smaller improvements:** | |
68 | ||
69 | - Make the user panel default to open and remember preference in local storage (Matt Deal) | |
70 | - Use OSM tiles in Geolocation plugin (Olivier Mehani) | |
71 | - Add thumbnail image to Atom feed (Ben Sturmfels) | |
72 | - Add links in site-admin documentation foreword (Alexandre Franke) | |
73 | - Add media_titleinfo template hook (Andrew Browning) | |
74 | - Add video icon to collection thumbnail (Andrew Browning) | |
75 | - Use AJAX for posting comments (Vijeth Aradhya) | |
76 | - Show transcoding progress (Vijeth Aradhya) | |
77 | - Add collection option to 'addmedia' cli uploading (Stéphane Péchard) | |
78 | - Add creator to filter collections (Stéphane Péchard) | |
79 | - Add ARIA attributes to audio player (Boris Bobrov) | |
80 | - Remove tinymce from dependencies (Boris Bobrov) | |
81 | - Add register_captcha template hook (Andrew Browning) | |
82 | - Switch to rabbitmq by default and in docs (Boris Bobrov) | |
83 | - Log IP address for failed login (Andrew Browning) | |
84 | - Handle collection in batchaddmedia command (Simen Heggestøyl) | |
85 | - Allow API upload filename to be provided using custom header (Romain Porte) | |
86 | - Add tags in API (view them and edit them) (Romain Porte) | |
87 | - Remove use of mediagoblin_local.ini (Boris Bobrov) | |
88 | - EXIF rotation to make the image portrait on demand (chrysn) | |
89 | - Add moderation panel thumbnail header [#5563] (Andrew Browning) | |
90 | - Add Creative Commons 4.0 licenses [#955] (Dpg) | |
91 | - Add Python 2 & 3 Docker files for MediaGoblin hacking (Ben Sturmfels) | |
92 | - Add Python 3 docker-compose recipe for MediaGoblin hacking (Ben Sturmfels) | |
93 | - Add basic duplicate detection/prevention for batchaddmedia (Ben Sturmfels) | |
94 | - Add datetime_format config option (Olivier Mehani) | |
95 | - Extend install instructions for raven plugin (Ben Sturmfels) | |
96 | - Add visual feedback on link hover (Muto) | |
97 | - Document SSL/TLS SMTP options (Ben Sturmfels) | |
98 | - Remove flup and fastcgi from documentation (Michael Lynch) | |
99 | - Switch to Python 3 by default (Ben Sturmfels) | |
100 | - Add Python 2 deprecation warning [#5598] (Ben Sturmfels) | |
101 | - Review and update the deploment docs for Debian 10 and CentOS 8 [#5593] (Ben Sturmfels) | |
102 | ||
103 | **Bug fixes:** | |
104 | ||
105 | - Pass test paths to py.test via tox (Boris Bobrov) | |
106 | - Length check for login form (Jonathan Sandoval) | |
107 | - Add padding around form field labels (Josh Crompton) | |
108 | - Fix unhelpful SMTP error (Johnathan Sandoval) | |
109 | - Fix the blog_delete page for admins (宋文武) | |
110 | - Fix add_message inconsistencies [#5451] (Andrew Browning) | |
111 | - Handle no mail server configured (Jonathan Sandoval) | |
112 | - Fixed 'older' and 'newer' arrows for rtl locales (Leah Velleman) | |
113 | - Prevent erroring out in some cases of checking video metadata (Christopher Allan Webber) | |
114 | - Cleanup to avoid duplicated get_upload_file_limits [#928] (Loic Dachary) | |
115 | - Attempt to change email without login [#5462] (Andrew Browning) | |
116 | - Fix text wrapping on thumbnail (Matt Deal) | |
117 | - Modify setup.py version syntax to address #5464 (Andrew Browning) | |
118 | - Fix Python 3 support in pagination (Ben Sturmfels) | |
119 | - Fix typo in user processing panel (Andrew Browning) | |
120 | - Fix text overflow in media headings [#664] (Andrew Browning) | |
121 | - Removed line breaks around the verifier code (vijeth-aradhya) | |
122 | - Fix UnicodeEncodeError in atom feed [#5500] (Andrew Browning) | |
123 | - Commit session after alembic updates have finished (Boris Bobrov) | |
124 | - Add cascade to blog mediatype [#5308] (Robert Smith) | |
125 | - Remove mongodb-related stuff (Boris Bobrov) | |
126 | - Remove exif from blog posts [#830] (Andrew Browning) | |
127 | - Can't delete blog post drafts [#5513] (ayleph) | |
128 | - Fix add to Collection causes server error [#5514] (ayleph) | |
129 | - Fix zero division error in exif.py [#5524] (Andrew Browning) | |
130 | - Support Unicode characters in configuration values (Simen Heggestøyl) | |
131 | - Make admin panel headers readable in Airy theme (Simen Heggestøyl) | |
132 | - Port batchaddmedia command to Python 3 (Simen Heggestøyl) | |
133 | - Fix location of host-meta.xml file [#5543] (Andrew Browning) | |
134 | - Replaced /bin/celeryd by /bin/celery in lazycelery (Romain Porte) | |
135 | - Prevent video plugin from processing svg [#934] (Andrew Browning) | |
136 | - Process videos with incorrect date tags [#5409] (Andrew Browning) | |
137 | - Fix 2 errors in editor views (ĎÚβĨŐÚŚ Dod) | |
138 | - Fix server crash on blog about page [#5572] (Andrew Browning) | |
139 | - Fix default gmg help message (Boris Bobrov) | |
140 | - Remove requirement for the file to be with single dot in name (Boris Bobrov) | |
141 | - Fix auth error and simplify url and email checks (Boris Bobrov) | |
142 | - Finally fix url validator (Boris Bobrov) | |
143 | - Always guess the same filetype (Boris Bobrov) | |
144 | - Fix bulkupload documentation example (Ben Sturmfels) | |
145 | - Fix URL-based importing with batchaddmedia command (Ben Sturmfels) | |
146 | - Update metadata_display plugin for Python 3 (Ben Sturmfels) | |
147 | - Various Guix-related installation fixes/updates (Ben Sturmfels) | |
148 | - Even up top/bottom margins around header dropdown button (Ben Sturmfels) | |
149 | - Prevent warning when importing GstPbutils (Ben Sturmfels) | |
150 | - Pin werkzeug < 1.0.0, handle moved SharedDataMiddleware in werkzeug >= 0.15.0 (Ben Sturmfels) | |
151 | - Remove audio spectrograms due to instability and lack of Python 3 support (Ben Sturmfels) | |
152 | - Decode request.query_string before use (Ben Sturmfels) | |
153 | - Pin jinja2<3.0.0 due to use of f-strings (Ben Sturmfels) | |
154 | - Fix "KeyError: 'No such transport: sqlite. Did you mean sqla?'" in tests (Ben Sturmfels) | |
155 | - Unmute videos by default (Ben Sturmfels) | |
156 | - Properly quote --without-python3 in docs (#5596) (Ben Sturmfels) | |
157 | - Pin all Python 2 dependencies allowing patch version upgrades [#5595] (Ben Sturmfels) | |
158 | ||
159 | ||
9d1bb738 | 160 | |
6686502f CAW |
161 | 0.9.0 |
162 | ===== | |
163 | ||
164 | This release has a number of improvements, but is also a major | |
165 | "plumbing upgrade" release to MediaGoblin. Notably, we now support | |
166 | Python 3, which is pretty cool! | |
167 | ||
168 | **Do this to upgrade** | |
169 | ||
170 | 0. If you haven't already, switch the git remote URL: | |
7ab8ca61 | 171 | ``git remote set-url origin https://git.savannah.gnu.org/git/mediagoblin.git`` |
6686502f CAW |
172 | 1. Update to the latest release. If checked out from git, run: |
173 | ``git fetch && git checkout -q v0.9.0`` | |
174 | 2. Run | |
175 | ``./bootstrap.sh && ./configure && make`` | |
176 | 3. Also run | |
177 | ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate`` | |
178 | ||
179 | **Bugfixes/improvements:** | |
180 | ||
181 | - Python 3 is now a first class citizen! We now support both | |
182 | Python 2.7 and Python 3.4 or later. | |
183 | - Major updates to internal tooling to pave the way for federation. | |
4e284038 | 184 | |
6686502f CAW |
185 | - Massive overhaul to the database layout (particularly in |
186 | permitting generic relations) | |
187 | - OAuth updates | |
188 | - Updating how we handle collections | |
189 | - Add a "graveyard" system with tombstones for keeping information | |
190 | about removed objects | |
191 | - Large overhaul to how "comments" work. In federation, many things | |
192 | can reply to many things, so we had to loosen the model. | |
4e284038 | 193 | |
6686502f CAW |
194 | - If your user has some collections available, these will be presented |
195 | as a dropdown option while submitting media. | |
196 | - Begin using Alembic for migrations | |
197 | - Lots of bugfixes and etc | |
198 | - Many fixes to typos | |
199 | - Some fixes to the blog system | |
200 | - Switch to waitress for development | |
201 | - And more...! | |
202 | ||
203 | ||
9b9c04e6 CAW |
204 | 0.8.1 |
205 | ===== | |
206 | ||
207 | This release is a security and bugfix release. We recommend you upgrade as | |
208 | soon as possible. | |
209 | ||
210 | **Do this to upgrade** | |
211 | ||
212 | 0. If you haven't already, switch the git remote URL: | |
7ab8ca61 | 213 | ``git remote set-url origin https://git.savannah.gnu.org/git/mediagoblin.git`` |
9b9c04e6 CAW |
214 | 1. Update to the latest release. If checked out from git, run: |
215 | ``git fetch && git checkout -q v0.8.1`` | |
216 | 2. Run | |
217 | ``./bootstrap.sh && ./configure && make`` | |
218 | 3. Also run | |
219 | ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate`` | |
220 | ||
221 | (Please check intermediate release steps as well if not upgrading from | |
222 | 0.8.0) | |
223 | ||
224 | **Bugfixes/improvements:** | |
225 | ||
226 | Most importantly, there is an **important security fix**: | |
227 | ||
228 | Quoting here a portion of the | |
229 | `release blogpost <http://mediagoblin.org/news/mediagoblin-0.8.1-security-release.html>`_:: | |
230 | ||
231 | We have had a security problem in our OAuth implementation reported to | |
232 | us privately and have taken steps to address it. The security problem | |
ca3dd10e | 233 | affects all versions of GNU MediaGoblin since 0.5.0. I have created a patch |
9b9c04e6 CAW |
234 | for this and released a minor version 0.8.1. It's strongly advised |
235 | that everyone upgrade as soon as they can. | |
236 | ||
237 | In order to exploit the security issue, an attacker must have had | |
238 | access to a logged in session to your GNU MediaGoblin account. If you | |
239 | have kept your username and password secret, logging in only over | |
240 | HTTPS and you've not left yourself logged in on publicly accessible | |
241 | computers, you should be safe. However it's still advised all users | |
242 | take the following precautions, listed below. | |
243 | ||
244 | Users should check their authorized clients. Any client which looks | |
245 | unfamiliar to you, you should deauthorize. To check this: | |
246 | ||
247 | 1) Log in to the GNU MediaGoblin instance | |
248 | 2) Click the drop down arrow in the upper right | |
249 | 3) Click "Change account settings" | |
250 | 4) At the bottom click the "Deauthorize applications" link | |
251 | ||
252 | If you are unsure of any of these, click "Deauthorize". | |
253 | ||
254 | There are other bugfixes, but they are fairly minor. | |
255 | ||
256 | ||
a87db7f5 CAW |
257 | 0.8.0 |
258 | ===== | |
259 | ||
260 | This release has a number of changes related to the way we recommend | |
261 | building MediaGoblin; upgrade steps are below, but if you run into | |
262 | trouble, consider pinging the MediaGoblin list or IRC channel. | |
263 | ||
264 | **Do this to upgrade** | |
265 | ||
11199c31 | 266 | 0. If you haven't already, switch the git remote URL: |
7ab8ca61 | 267 | ``git remote set-url origin https://git.savannah.gnu.org/git/mediagoblin.git`` |
3169dde0 CAW |
268 | 1. If you don't have node.js installed, you'll need it for handling |
269 | MediaGoblin's static web dependencies. Install this via your | |
270 | distribution! (In the glorious future MediaGoblin will be simply | |
271 | packaged for your distribution so you won't have to worry about | |
272 | this!) | |
273 | 2. Update to the latest release. If checked out from git, run: | |
6adee95a | 274 | ``git fetch && git checkout -q v0.8.0`` |
3169dde0 | 275 | 3. Run |
a87db7f5 | 276 | ``./bootstrap.sh && ./configure && make`` |
3169dde0 | 277 | 4. Also run |
a87db7f5 CAW |
278 | ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate`` |
279 | ||
c2382bd4 CAW |
280 | Please note the important steps of 0 and 2, which have not appeared in |
281 | prior upgrade guides! | |
a87db7f5 CAW |
282 | |
283 | Additionally: | |
284 | ||
285 | - Are you using audio or video media types? In that case, you'll need | |
9650aa39 | 286 | to update your GStreamer instance to 1.0. |
a87db7f5 | 287 | - The Pump API needs some data passed through to the WSGI application, |
9650aa39 | 288 | so if you are using Apache with mod_wsgi you should be sure to make |
a87db7f5 | 289 | sure to add "WSGIPassAuthorization On" to your config. (Using the |
9650aa39 | 290 | default MediaGoblin documentation and config, things should work |
a87db7f5 CAW |
291 | as-is.) |
292 | ||
293 | ||
294 | **Bugfixes/improvements:** | |
295 | ||
296 | - Preliminary / experimental support for Python 3! | |
297 | - Footer forced to the bottom of page | |
298 | - Massive improvements to Pump API support | |
4e284038 | 299 | |
a87db7f5 CAW |
300 | - Able to run on multiple existing Pump clients! Including Pumpa |
301 | and Dianara! | |
4e284038 | 302 | |
a87db7f5 CAW |
303 | - much cleaner ./configure && make support; it's now the default |
304 | - Clearer documentation on permissions and installation | |
305 | - Switched from Transifex, which had become proprietary, to an | |
306 | instance of Pootle hosted for GNU | |
9650aa39 | 307 | - Moved to GStreamer 1.0! This also adds a new thumbnailer which |
a87db7f5 | 308 | gives much better results in |
9650aa39 | 309 | - Removed terrible check-JavaScript-dependencies-into-your-application |
a87db7f5 CAW |
310 | setup, now using Bower for dependency tracking |
311 | - Put some scaffolding in place for Alembic, which will be used for | |
9650aa39 | 312 | future migration work |
a87db7f5 CAW |
313 | - Automatically create a fresh mediagoblin.ini from |
314 | mediagoblin.ini.example | |
315 | - no more need for mediagoblin_local.ini (though it's still supported) | |
316 | - Fix lowercasing of username in auth steps | |
317 | - Slowly moving towards removing global state (a source of many bugs) | |
318 | ||
be1dfb99 CAW |
319 | 0.7.1 |
320 | ===== | |
321 | ||
322 | This is a purely bugfix release. Important changes happened since | |
323 | 0.7.0; if running MediaGoblin 0.7.0, an upgrade is highly recommended; | |
324 | see below. This release is especially useful if you have been running | |
9650aa39 | 325 | PostgreSQL and have been receiving seemingly random database transaction |
be1dfb99 CAW |
326 | errors. |
327 | ||
328 | **Do this to upgrade** | |
329 | ||
330 | 1. Update to the latest release. If checked out from git, run: | |
331 | ``git fetch && git checkout -q v0.7.1 && git submodule init && git submodule update`` | |
332 | 2. Make sure to run | |
333 | ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate`` | |
334 | ||
335 | That's it, probably! If you run into problems, don't hesitate to | |
336 | `contact us <http://mediagoblin.org/pages/join.html>`_ | |
337 | (IRC is often best). | |
338 | ||
339 | **Bugfixes/improvements:** | |
340 | ||
341 | - The *MOST IMPORTANT* change in this release: | |
b95d06f6 | 342 | Disabling a couple of non-critical features that were causing |
be1dfb99 | 343 | database transaction issues. (These should be back by 0.8.0.) |
b95d06f6 CAW |
344 | |
345 | + Disabled the "checking if the database is up to date at | |
9650aa39 | 346 | MediaGoblin startup" feature |
b95d06f6 | 347 | + Disabled the garbage collection stuff by default for now |
9650aa39 | 348 | (You can set garbage_collection under the config MediaGoblin |
be1dfb99 CAW |
349 | header to something other than 0 to turn it back on for now, but |
350 | it's potentially risky for the moment.) | |
b95d06f6 | 351 | |
be1dfb99 CAW |
352 | - Some fixes to the 0.7.0 docs |
353 | - Fixed Sandy 70s speedboat navbar by updating git submodule | |
354 | - Added support for cr2 files in raw_image media type | |
355 | - Added a description to setup.py | |
356 | - Collection and CollectionItem objects now have nicer in-python representations | |
9650aa39 | 357 | - Fixed Unicode error with raw image mediatype logging |
be1dfb99 | 358 | - Fixed #945 "Host metadata does not confirm to spec (/.well-known/meta-data)" |
b95d06f6 CAW |
359 | |
360 | + Add XRD+XML formatting for /.well-known/host-meta | |
361 | + Add /.well-known/webfinger API to lookup user hrefs | |
362 | ||
be1dfb99 CAW |
363 | - deleteuser gmg subcommand now fails gracefully |
364 | - Removed a false download link from setup.py | |
365 | ||
3b56b277 | 366 | 0.7.0 |
2757e76c | 367 | ===== |
3b56b277 CAW |
368 | |
369 | **Do this to upgrade** | |
370 | ||
371 | 1. Update to the latest release. If checked out from git, run: | |
c7690151 | 372 | ``git fetch && git checkout -q v0.7.0 && git submodule init && git submodule update`` |
3b56b277 CAW |
373 | 2. Make sure to run |
374 | ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate`` | |
375 | ||
fcee02a7 CAW |
376 | (NOTE: earlier versions of the 0.7.0 release instructions left out the |
377 | ``git submodule init`` step! If you did an upgrade earlier based on | |
378 | these instructions and your theme looks weirdly aligned, try running | |
379 | the following:) | |
380 | ||
381 | ``git submodule init && git submodule update`` | |
382 | ||
3b56b277 CAW |
383 | That's it, probably! If you run into problems, don't hesitate to |
384 | `contact us <http://mediagoblin.org/pages/join.html>`_ | |
385 | (IRC is often best). | |
386 | ||
387 | **New features:** | |
388 | ||
389 | - New mobile upload API making use of the | |
390 | `Pump API <https://github.com/e14n/pump.io/blob/master/API.md>`_ | |
391 | (which will be the foundation for MediaGoblin's federation) | |
392 | - New theme: Sandy 70s Speedboat! | |
393 | ||
9650aa39 | 394 | - Metadata features! We also now have a JSON-LD context. |
3b56b277 CAW |
395 | |
396 | - Many improvements for archival institutions, including metadata | |
397 | support and featuring items on the homepage. With the (new!) | |
398 | archivalook plugin enabled, featuring media is possible. | |
399 | Additionally, metadata about the particular media item will show up | |
400 | in the sidebar. | |
401 | ||
402 | In the future these plugins may be separated, but for now they have | |
403 | come together as part of the same plugin. | |
404 | ||
405 | - There is a new gmg subcommand called batchaddmedia that allows for | |
406 | uploading many files at once. This is aimed to be useful for | |
407 | archival institutions and groups where there is an already existing | |
408 | and large set of available media that needs to be included. | |
9650aa39 | 409 | - Speaking of, the call to PostgreSQL in the makefile is fixed. |
3b56b277 CAW |
410 | - We have a new, generic media-page context hook that allows for |
411 | adding context depending on the type of media. | |
412 | - Tired of video thumbnails breaking during processing all the time? | |
413 | Good news, everyone! Video thumbnail generation should not fail | |
414 | frequently anymore. (We think...) | |
415 | - You can now set default permissions for new users in the config. | |
416 | ||
417 | - bootstrap.sh / gnu configuration stuff still exists, but moves to be | |
418 | experimental-bootstrap.sh so as to not confuse newcomers. There are | |
419 | some problems currently with the autoconf stuff that we need to work | |
420 | out... we still have interest in supporting it, though help is | |
421 | welcome. | |
422 | ||
423 | - MediaGoblin now checks whether or not the database is up to date | |
424 | when starting. | |
425 | - Switched to `Skeleton <http://www.getskeleton.com/>`_ as a system for | |
426 | graphic design. | |
427 | - New gmg subcommands for administrators: | |
428 | - A "deletemedia" command | |
429 | - A "deleteuser" command | |
430 | - We now have a blogging media type... it's very experimental, | |
431 | however. Use with caution! | |
432 | - We have switched to exifread as an external library for reading EXIF | |
433 | data. It's basically the same thing as before, but packaged | |
434 | separately from MediaGoblin. | |
435 | - Many improvements to internationalization. Also (still rudimentary, | |
9650aa39 | 436 | but existent!) RTL language support! |
3b56b277 CAW |
437 | |
438 | **Known issues:** | |
9650aa39 | 439 | - The host-meta is now JSON by default; in the spec it should be XML by |
3b56b277 CAW |
440 | default. We have done this because of compatibility with the pump |
441 | API. We are checking with upstream to see if there is a way to | |
442 | resolve this discrepancy. | |
443 | ||
444 | ||
29166813 CAW |
445 | 0.6.1 |
446 | ===== | |
447 | ||
448 | This is a short, bugfix release. | |
449 | ||
450 | **Do this to upgrade** | |
451 | ||
452 | 1. Update to the latest release. If checked out from git, run: | |
453 | ``git fetch && git checkout -q v0.6.1`` | |
454 | 2. Make sure to run | |
455 | ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate`` | |
456 | ||
457 | This release switches the default terms of service to be off by | |
458 | default and corrects some mistakes in the default terms of service. | |
459 | ||
460 | Turning the terms of service on is very easy, just set ``show_tos`` in | |
461 | the ``[mediagoblin]`` section of your config to ``true``. | |
462 | ||
463 | ||
2691bfe1 CAW |
464 | 0.6.0 |
465 | ===== | |
466 | ||
467 | **Do this to upgrade** | |
468 | ||
29166813 CAW |
469 | 1. Update to the latest release. If checked out from git, run: |
470 | ``git fetch && git checkout -q v0.6.0`` | |
471 | 2. Make sure to run | |
2691bfe1 | 472 | ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate`` |
2691bfe1 | 473 | |
29166813 | 474 | That's it, probably! If you run into problems, don't hesitate to |
2691bfe1 CAW |
475 | `contact us <http://mediagoblin.org/pages/join.html>`_ |
476 | (IRC is often best). | |
477 | ||
478 | This tool has a lot of new tools for administrators, hence the | |
479 | nickname "Lore of the Admin"! | |
480 | ||
481 | **New features:** | |
482 | ||
483 | - New tools to control how much users can upload, both as a general | |
484 | user limit, or per file. | |
485 | ||
9650aa39 | 486 | You can set this with the following options in your MediaGoblin |
2691bfe1 CAW |
487 | config file: `upload_limit` and `max_file_size`. Both are integers |
488 | in megabytes. | |
489 | ||
490 | There is an option to control how much each individual user can | |
491 | upload too, though an interface for this is not yet exposed. See | |
492 | the "uploaded" field on the core__users table. | |
493 | ||
9650aa39 | 494 | - MediaGoblin now contains an authentication plugin for LDAP! You |
2691bfe1 CAW |
495 | can turn on the mediagoblin.plugins.ldap plugin to make use of |
496 | this. See the documentation: :ref:`ldap-plugin` | |
497 | ||
498 | - There's a new command line upload tool! At long last! See | |
499 | `./bin/gmg addmedia --help` for info on how to use this. | |
500 | ||
501 | - There's now a terms of service document included in MediaGoblin. | |
502 | It's turned on by default, but you can turn it off if you prefer, | |
503 | just set the configuration option of `show_tos` in the [mediagoblin] | |
504 | section of your config to false. | |
505 | ||
506 | Alternately, you can override the template for the terms of service | |
507 | document to set up your own. | |
508 | ||
509 | - We have a lot of new administrative tooling features! | |
4e284038 | 510 | |
2691bfe1 CAW |
511 | - There's a built-in privileges/permissions system now. |
512 | Administrators are given access to modifying these parameters | |
513 | from a user administration panel. | |
514 | - Users can submit reports about other problematic users or media | |
515 | and administrators are given tools to resolve said reports and | |
516 | ban/unban users if needed. | |
517 | ||
518 | - New version of video.js is included with MediaGoblin. Slight | |
519 | amount of skinning to match the MediaGoblin look, otherwise also | |
520 | uses the new default skin. | |
521 | ||
522 | Developer-oriented changes: | |
523 | ||
524 | - New developer tool for quickly setting up a development environment | |
525 | in `devtools/make_example_database.sh`. Requires doing a checkout | |
526 | of our other tool `mg_dev_environments <https://gitorious.org/mediagoblin/mg-dev-environments/>`_ | |
527 | (probably in the parent Directory) though! | |
528 | - A "foundations" framework has entered into the codebase. | |
529 | This is mostly just relevant to coders, but it does mean that it's | |
530 | much easier to add database structures that need some entries filled | |
531 | automatically by default. | |
532 | - Refactoring to the authentication code and the reprocessing code | |
533 | ||
a66fbf97 | 534 | |
d4edbfd5 CAW |
535 | 0.5.1 |
536 | ===== | |
537 | ||
538 | v0.5.1 is a bugfix release... the steps are the same as for 0.5.1. | |
539 | ||
540 | **Bugfixes:** | |
541 | ||
542 | - python 2.6 compatibility restored | |
543 | - Fixed last release's release notes ;) | |
544 | ||
545 | ||
a126ef4d RE |
546 | 0.5.0 |
547 | ===== | |
548 | ||
abff297c | 549 | **NOTE:** If using the API is important to you, we're in a state of |
9650aa39 BS |
550 | transition towards a new API via the Pump API. As such, though the old |
551 | API still probably works, some changes have happened to the way OAuth | |
abff297c CAW |
552 | works to make it more Pump-compatible. If you're heavily using |
553 | clients using the old API, you may wish to hold off on upgrading for | |
554 | now. Otherwise, jump in and have fun! :) | |
555 | ||
a126ef4d RE |
556 | **Do this to upgrade** |
557 | ||
558 | 1. Make sure to run | |
559 | ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate`` | |
560 | after upgrading. | |
561 | ||
562 | .. mention something about new, experimental configure && make support | |
563 | ||
564 | 2. Note that a couple of things have changed with ``mediagoblin.ini``. First | |
565 | we have a new Authentication System. You need to add | |
566 | ``[[mediagoblin.plugins.basic_auth]]`` under the ``[plugins]`` section of | |
567 | your config file. Second, media types are now plugins, so you need to add | |
568 | each media type under the ``[plugins]`` section of your config file. | |
569 | ||
570 | ||
571 | 3. We have made a script to transition your ``mediagoblin_local.ini`` file for | |
a0a31ddf | 572 | you. This script can be found at: |
a126ef4d | 573 | |
a0a31ddf | 574 | http://mediagoblin.org/download/0.5.0_config_converter.py |
a126ef4d RE |
575 | |
576 | If you run into problems, don't hesitate to | |
577 | `contact us <http://mediagoblin.org/pages/join.html>`_ | |
578 | (IRC is often best). | |
579 | ||
580 | **New features** | |
581 | ||
582 | * As mentioned above, we now have a plugable Authentication system. You can | |
583 | use any combination of the multiple authentication systems | |
584 | (:ref:`basic_auth-chapter`, :ref:`persona-chapter`, :ref:`openid-chapter`) | |
585 | or write your own! | |
586 | * Media types are now plugins! This means that new media types will | |
587 | be able to do new, fancy things they couldn't in the future. | |
588 | * We now have notification support! This allows you to subscribe to media | |
589 | comments and to be notified when someone comments on your media. | |
590 | * New reprocessing framework! You can now reprocess failed uploads, and | |
591 | send already processed media back to processing to re-transcode or resize | |
592 | media. | |
593 | * Comment preview! | |
594 | * Users now have the ability to change their email associated with their | |
595 | account. | |
9650aa39 BS |
596 | * New OAuth code as we move closer to federation support. |
597 | * Experimental pyconfigure support for GNU-style configure and makefile | |
a126ef4d RE |
598 | deployment. |
599 | * Database foundations! You can now pre-populate the database models. | |
600 | * Way faster unit test run-time via in-memory database. | |
601 | * All mongokit stuff has been cleaned up. | |
9650aa39 | 602 | * Fixes for non-ASCII filenames. |
a126ef4d | 603 | * The option to stay logged in. |
9650aa39 | 604 | * MediaGoblin has been upgraded to use the latest `Celery <http://celeryproject.org/>`_ |
a126ef4d RE |
605 | version. |
606 | * You can now add jinja2 extensions to your config file to use in custom | |
607 | templates. | |
608 | * Fixed video permission issues. | |
9650aa39 BS |
609 | * MediaGoblin docs are now hosted with multiple versions. |
610 | * We removed redundant tooltips from the STL media display. | |
a126ef4d RE |
611 | * We are now using itsdangerous for verification tokens. |
612 | ||
613 | ||
bed9ad06 CAW |
614 | 0.4.1 |
615 | ===== | |
616 | ||
617 | This is a bugfix release for 0.4.0. This only implements one major | |
618 | fix in the newly released document support which prevented the | |
619 | "conversion via libreoffice" feature. | |
620 | ||
621 | If you were running 0.4.0 you can upgrade to v0.4.1 via a simple | |
9650aa39 | 622 | switch and restarting MediaGoblin/Celery with no other actions. |
bed9ad06 | 623 | |
d3b1fd2e CAW |
624 | Otherwise, follow 0.4.0 instructions. |
625 | ||
bed9ad06 | 626 | |
8ca51d32 CAW |
627 | 0.4.0 |
628 | ===== | |
629 | ||
24ede044 | 630 | **Do this to upgrade** |
a66fbf97 | 631 | |
5622cc44 CAW |
632 | 1. Make sure to run |
633 | ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate`` | |
634 | after upgrading. | |
24ede044 CAW |
635 | 2. See "For Theme authors" if you have a custom theme. |
636 | 3. Note that ``./bin/gmg theme assetlink`` is now just | |
637 | ``./bin/gmg assetlink`` and covers both plugins and assets. | |
638 | Keep on reading to hear more about new plugin features. | |
639 | 4. If you want to take advantage of new plugins that have statically | |
640 | served assets, you are going to need to add the new "plugin_static" | |
9650aa39 | 641 | section to your Nginx config. Basically the following for Nginx:: |
24ede044 CAW |
642 | |
643 | # Plugin static files (usually symlinked in) | |
644 | location /plugin_static/ { | |
645 | alias /srv/mediagoblin.example.org/mediagoblin/user_dev/plugin_static/; | |
646 | } | |
647 | ||
51702d5b CAW |
648 | Similarly, if you've got a modified paste config, you may want to |
649 | borrow the app:plugin_static section from the default paste.ini | |
650 | file. | |
651 | 5. We now use itsdangerous for sessions; if you had any references to | |
652 | beaker in your paste config you can remove them. Again, see the | |
653 | default paste.ini config | |
d3b1fd2e | 654 | 6. We also now use git submodules. Please do: |
64ad0bee | 655 | ``git submodule init && git submodule update`` |
d3b1fd2e | 656 | You will need to do this to use the new PDF support. |
51702d5b | 657 | |
8ca51d32 CAW |
658 | **For theme authors** |
659 | ||
660 | If you have your own theme or you have any "user modified templates", | |
661 | please note the following: | |
662 | ||
663 | * mediagoblin/bits/ files above-content.html, body-end.html, | |
664 | body-start.html now are renamed... they have underscores instead of | |
665 | dashes in the filenames now :) | |
666 | * There's a new file: ``mediagoblin/bits/frontpage_welcome.html``. | |
667 | You can easily customize this to give a welcome page appropriate to | |
668 | your site. | |
669 | ||
51702d5b | 670 | |
24ede044 | 671 | **New features** |
b33feb18 | 672 | |
51702d5b CAW |
673 | * PDF media type! |
674 | * Improved plugin system. More flexible, better documented, with a | |
675 | new plugin authoring section of the docs. | |
676 | * itsdangerous based sessions. No more beaker! | |
677 | * New, experimental Piwigo-based API. This means you should be able | |
678 | to use MediaGoblin with something like Shotwell. (Again, a word of | |
679 | caution: this is *very experimental*!) | |
680 | * Human readable timestamps, and the option to display the original | |
681 | date of an image when available (available as the | |
682 | "original_date_visible" variable) | |
683 | * Moved unit testing system from nosetests to py.test so we can better | |
9650aa39 | 684 | handle issues with SQLAlchemy exploding with different database |
51702d5b CAW |
685 | configurations. Long story :) |
686 | * You can now disable the ability to post comments. | |
687 | * Tags now can be up to length 255 characters by default. | |
24ede044 | 688 | |
8ca51d32 | 689 | |
6e2dcbff | 690 | 0.3.3 |
8d19cb24 SS |
691 | ===== |
692 | ||
6e2dcbff CAW |
693 | **Do this to upgrade** |
694 | ||
695 | 1. Make sure to run ``bin/gmg dbupdate`` after upgrading. | |
696 | 2. OpenStreetMap is now a plugin, so if you want to use it, add the | |
997ef976 | 697 | following to your config file: |
6e2dcbff | 698 | |
997ef976 E |
699 | .. code-block:: ini |
700 | ||
5058cd51 SC |
701 | [plugins] |
702 | [[mediagoblin.plugins.geolocation]] | |
6e2dcbff CAW |
703 | |
704 | If you have your own theme, you may need to make some adjustments to | |
a28c6c4c CAW |
705 | it as some theme related things may have changed in this release. If |
706 | you run into problems, don't hesitate to | |
707 | `contact us <http://mediagoblin.org/pages/join.html>`_ | |
708 | (IRC is often best). | |
6e2dcbff | 709 | |
8d19cb24 SS |
710 | **New features** |
711 | ||
6e2dcbff CAW |
712 | * New dropdown menu for accessing various features. |
713 | ||
9650aa39 | 714 | * Significantly improved URL generation. Now MediaGoblin won't give |
6e2dcbff CAW |
715 | up on making a slug if it looks like there will be a duplicate; |
716 | it'll try extra hard to generate a meaningful one instead. | |
717 | ||
718 | Similarly, linking to an id no longer can possibly conflict with | |
719 | linking to a slug; /u/username/m/id:35/ is the kind of reference we | |
720 | now use to linking to entries with ids. However, old links with | |
721 | entries that linked to ids should work just fine with our migration. | |
9650aa39 | 722 | The only URLs that might break in this release are ones using colons |
6e2dcbff CAW |
723 | or equal signs. |
724 | ||
725 | * New template hooks for plugin authoring. | |
726 | ||
727 | * As a demonstration of new template hooks for plugin authoring, | |
9650aa39 | 728 | OpenStreetMap support now moved to a plugin! |
6e2dcbff | 729 | |
a28c6c4c CAW |
730 | * Method to add media to collections switched from icon of paperclip |
731 | to button with "add to collection" text. | |
6e2dcbff CAW |
732 | |
733 | * Bug where videos often failed to produce a proper thumbnail fixed! | |
734 | ||
fda5ea7a | 735 | * Copying around files in MediaGoblin now much more efficient, doesn't |
6e2dcbff CAW |
736 | waste gobs of memory. |
737 | ||
738 | * Video transcoding now optional for videos that meet certain | |
9650aa39 | 739 | criteria. By default, MediaGoblin will not transcode WebM videos |
fda5ea7a | 740 | that are smaller in resolution than the MediaGoblin defaults, and |
9650aa39 | 741 | MediaGoblin can also be configured to allow Theora files to not be |
a28c6c4c | 742 | transcoded as well. |
6e2dcbff CAW |
743 | |
744 | * Per-user license preference option; always want your uploads to be | |
745 | BY-SA and tired of changing that field? You can now set your | |
746 | license preference in your user settings. | |
747 | ||
748 | * Video player now responsive; better for mobile! | |
749 | ||
70177c1f CAW |
750 | * You can now delete your account from the user preferences page if |
751 | you so wish. | |
752 | ||
a28c6c4c | 753 | **Other changes** |
8d19cb24 | 754 | |
b0c8328e SS |
755 | * Plugin writers: Internal restructuring led to mediagoblin.db.sql* be |
756 | mediagoblin.db.* starting from 0.3.3 | |
757 | ||
6e2dcbff CAW |
758 | * Dependency list has been reduced not requiring the "webob" package anymore. |
759 | ||
760 | * And many small fixes/improvements, too numerous to list! | |
761 | ||
8d19cb24 | 762 | |
cacb6fea SS |
763 | 0.3.2 |
764 | ===== | |
765 | ||
766 | This will be the last release that is capable of converting from an earlier | |
767 | MongoDB-based MediaGoblin instance to the newer SQL-based system. | |
768 | ||
1f01df1d CAW |
769 | **Do this to upgrade** |
770 | ||
9650aa39 | 771 | # directory of your MediaGoblin install |
42ce372e ML |
772 | cd /srv/mediagoblin.example.org |
773 | ||
774 | # copy source for this release | |
775 | git fetch | |
776 | git checkout tags/v0.3.2 | |
777 | ||
778 | # perform any needed database updates | |
779 | bin/gmg dbupdate | |
780 | ||
781 | # restart your servers however you do that, e.g., | |
782 | sudo service mediagoblin-paster restart | |
783 | sudo service mediagoblin-celeryd restart | |
1f01df1d | 784 | |
cacb6fea SS |
785 | |
786 | **New features** | |
787 | ||
1f01df1d CAW |
788 | * **3d model support!** |
789 | ||
790 | You can now upload STL and OBJ files and display them in | |
9650aa39 | 791 | MediaGoblin. Requires a recent Blender; for details see: |
1f01df1d | 792 | :ref:`deploying-chapter` |
cacb6fea SS |
793 | |
794 | * **trim_whitespace** | |
795 | ||
796 | We bundle the optional plugin trim_whitespace which reduces the size | |
9650aa39 | 797 | of the delivered HTML output by reducing redundant whitespace. |
cacb6fea SS |
798 | |
799 | See :ref:`core-plugin-section` for plugin documentation | |
800 | ||
1f01df1d CAW |
801 | * **A new API!** |
802 | ||
803 | It isn't well documented yet but we do have an API. There is an | |
804 | `android application in progress <https://gitorious.org/mediagoblin/mediagoblin-android>`_ | |
805 | which makes use of it, and there are some demo applications between | |
806 | `automgtic <https://github.com/jwandborg/automgtic>`_, an | |
807 | automatic media uploader for your desktop | |
808 | and `OMGMG <https://github.com/jwandborg/omgmg>`_, an example of | |
809 | a web application hooking up to the API. | |
810 | ||
9650aa39 | 811 | This is a plugin, so you have to enable it in your MediaGoblin |
1f01df1d CAW |
812 | config file by adding a section under [plugins] like:: |
813 | ||
814 | [plugins] | |
815 | [[mediagoblin.plugins.api]] | |
816 | ||
817 | Note that the API works but is not nailed down... the way it is | |
818 | called may change in future releases. | |
819 | ||
820 | * **OAuth login support** | |
821 | ||
822 | For applications that use OAuth to connect to the API. | |
823 | ||
9650aa39 | 824 | This is a plugin, so you have to enable it in your MediaGoblin |
1f01df1d CAW |
825 | config file by adding a section under [plugins] like:: |
826 | ||
827 | [plugins] | |
828 | [[mediagoblin.plugins.oauth]] | |
829 | ||
830 | * **Collections** | |
831 | ||
832 | We now have user-curated collections support. These are arbitrary | |
833 | galleries that are customizable by users. You can add media to | |
834 | these by clicking on the paperclip icon when logged in and looking | |
835 | at a media entry. | |
836 | ||
837 | * **OpenStreetMap licensing display improvements** | |
838 | ||
839 | More accurate display of OSM licensing, and less disruptive: you | |
840 | click to "expand" the display of said licensing. | |
841 | ||
842 | Geolocation is also now on by default. | |
843 | ||
9650aa39 | 844 | * **Miscellaneous visual improvements** |
1f01df1d CAW |
845 | |
846 | We've made a number of small visual improvements including newer and | |
847 | nicer looking thumbnails and improved checkbox placement. | |
848 | ||
849 | ||
5be6425c | 850 | |
3a438f5e WKG |
851 | 0.3.1 |
852 | ===== | |
853 | ||
9e579cde WKG |
854 | **Do this to upgrade** |
855 | ||
856 | 1. Make sure to run ``bin/gmg dbuptdate`` after upgrading. | |
857 | ||
858 | 2. If you set up your server config with an older version of | |
9650aa39 | 859 | MediaGoblin and the MediaGoblin docs, it's possible you don't |
9e579cde WKG |
860 | have the "theme static files" alias, so double check to make |
861 | sure that section is there if you are having problems. | |
862 | ||
863 | ||
864 | ||
865 | **New features** | |
866 | ||
867 | * **theming support** | |
868 | ||
869 | MediaGoblin now also includes theming support, which you can | |
870 | read about in the section :ref:`theming-chapter`. | |
871 | ||
872 | * **flatpages** | |
873 | ||
874 | MediaGoblin has a flatpages plugin allowing you to add pages that | |
875 | are aren't media-related like "About this site...", "Terms of | |
876 | service...", etc. | |
877 | ||
878 | See :ref:`core-plugin-section` for plugin documentation | |
3a438f5e WKG |
879 | |
880 | ||
6e930791 CAW |
881 | 0.3.0 |
882 | ===== | |
5be6425c E |
883 | |
884 | This release has one important change. You need to act when | |
885 | upgrading from a previous version! | |
886 | ||
887 | This release changes the database system from MongoDB to | |
888 | SQL(alchemy). If you want to setup a fresh instance, just | |
889 | follow the instructions in the deployment chapter. If on | |
890 | the other hand you want to continue to use one instance, | |
891 | read on. | |
892 | ||
dce37922 | 893 | To convert your data from MongoDB to SQL(alchemy), you need |
5be6425c E |
894 | to follow these steps: |
895 | ||
896 | 1. Make sure your MongoDB is still running and has your | |
897 | data, it's needed for the conversion. | |
898 | ||
abe74178 WKG |
899 | 2. Configure the ``sql_engine`` URI in the config to represent |
900 | your target database (see: :ref:`deploying-chapter`) | |
5be6425c E |
901 | |
902 | 3. You need an empty database. | |
903 | ||
904 | 4. Then run the following command:: | |
905 | ||
abe74178 | 906 | bin/gmg [-cf mediagoblin_config.ini] convert_mongo_to_sql |
5be6425c E |
907 | |
908 | 5. Start your server and investigate. | |
909 | ||
910 | 6. That's it. |