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