docs: Document video resolution config.
[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 24
3ae23712 25
e2b35228
BS
260.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
380.10.0
39======
9d1bb738 40
e77430eb
BS
41This release includes video subtitles and multiple video qualities and a swathe
42of smaller improvements and bug-fixes listed below.
9d1bb738 43
7e10cdde
BS
44Python 3 is now the default when you install MediaGoblin and is strongly
45recommended. Python 2 installation is still supported in this release with
46`./configure --without-python3`, but support will likely be removed in the next
47release.
9d1bb738 48
e77430eb
BS
49FastCGI support has now been deprecated and removed from the documentation as
50our dependency `flup` does not support Python 3.
9d1bb738 51
7981fdaf
BS
52**Upgrading:**
53
54For detailed instructions on installing or upgrading, see ":doc:`deploying`" and
55":doc:`upgrading`".
56
57If 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
59tracker <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
1610.9.0
162=====
163
164This release has a number of improvements, but is also a major
165"plumbing upgrade" release to MediaGoblin. Notably, we now support
166Python 3, which is pretty cool!
167
168**Do this to upgrade**
169
1700. 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
1721. Update to the latest release. If checked out from git, run:
173 ``git fetch && git checkout -q v0.9.0``
1742. Run
175 ``./bootstrap.sh && ./configure && make``
1763. 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
2040.8.1
205=====
206
207This release is a security and bugfix release. We recommend you upgrade as
208soon as possible.
209
210**Do this to upgrade**
211
2120. 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
2141. Update to the latest release. If checked out from git, run:
215 ``git fetch && git checkout -q v0.8.1``
2162. Run
217 ``./bootstrap.sh && ./configure && make``
2183. 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
2220.8.0)
223
224**Bugfixes/improvements:**
225
226Most importantly, there is an **important security fix**:
227
228Quoting 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
254There are other bugfixes, but they are fairly minor.
255
256
a87db7f5
CAW
2570.8.0
258=====
259
260This release has a number of changes related to the way we recommend
261building MediaGoblin; upgrade steps are below, but if you run into
262trouble, consider pinging the MediaGoblin list or IRC channel.
263
264**Do this to upgrade**
265
11199c31 2660. 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
2681. 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!)
2732. Update to the latest release. If checked out from git, run:
6adee95a 274 ``git fetch && git checkout -q v0.8.0``
3169dde0 2753. Run
a87db7f5 276 ``./bootstrap.sh && ./configure && make``
3169dde0 2774. Also run
a87db7f5
CAW
278 ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate``
279
c2382bd4
CAW
280Please note the important steps of 0 and 2, which have not appeared in
281prior upgrade guides!
a87db7f5
CAW
282
283Additionally:
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
3190.7.1
320=====
321
322This is a purely bugfix release. Important changes happened since
3230.7.0; if running MediaGoblin 0.7.0, an upgrade is highly recommended;
324see below. This release is especially useful if you have been running
9650aa39 325PostgreSQL and have been receiving seemingly random database transaction
be1dfb99
CAW
326errors.
327
328**Do this to upgrade**
329
3301. 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``
3322. Make sure to run
333 ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate``
334
335That'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 3660.7.0
2757e76c 367=====
3b56b277
CAW
368
369**Do this to upgrade**
370
3711. 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
3732. 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
378these instructions and your theme looks weirdly aligned, try running
379the following:)
380
381 ``git submodule init && git submodule update``
382
3b56b277
CAW
383That'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
4450.6.1
446=====
447
448This is a short, bugfix release.
449
450**Do this to upgrade**
451
4521. Update to the latest release. If checked out from git, run:
453 ``git fetch && git checkout -q v0.6.1``
4542. Make sure to run
455 ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate``
456
457This release switches the default terms of service to be off by
458default and corrects some mistakes in the default terms of service.
459
460Turning the terms of service on is very easy, just set ``show_tos`` in
461the ``[mediagoblin]`` section of your config to ``true``.
462
463
2691bfe1
CAW
4640.6.0
465=====
466
467**Do this to upgrade**
468
29166813
CAW
4691. Update to the latest release. If checked out from git, run:
470 ``git fetch && git checkout -q v0.6.0``
4712. Make sure to run
2691bfe1 472 ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate``
2691bfe1 473
29166813 474That'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
478This tool has a lot of new tools for administrators, hence the
479nickname "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
522Developer-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
5350.5.1
536=====
537
538v0.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
5460.5.0
547=====
548
abff297c 549**NOTE:** If using the API is important to you, we're in a state of
9650aa39
BS
550transition towards a new API via the Pump API. As such, though the old
551API still probably works, some changes have happened to the way OAuth
abff297c
CAW
552works to make it more Pump-compatible. If you're heavily using
553clients using the old API, you may wish to hold off on upgrading for
554now. Otherwise, jump in and have fun! :)
555
a126ef4d
RE
556**Do this to upgrade**
557
5581. 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
5642. 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
5713. 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
576If 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
6140.4.1
615=====
616
617This is a bugfix release for 0.4.0. This only implements one major
618fix in the newly released document support which prevented the
619"conversion via libreoffice" feature.
620
621If you were running 0.4.0 you can upgrade to v0.4.1 via a simple
9650aa39 622switch and restarting MediaGoblin/Celery with no other actions.
bed9ad06 623
d3b1fd2e
CAW
624Otherwise, follow 0.4.0 instructions.
625
bed9ad06 626
8ca51d32
CAW
6270.4.0
628=====
629
24ede044 630**Do this to upgrade**
a66fbf97 631
5622cc44
CAW
6321. Make sure to run
633 ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate``
634 after upgrading.
24ede044
CAW
6352. See "For Theme authors" if you have a custom theme.
6363. 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.
6394. 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.
6515. 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 6546. 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
660If you have your own theme or you have any "user modified templates",
661please 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 6900.3.3
8d19cb24
SS
691=====
692
6e2dcbff
CAW
693**Do this to upgrade**
694
6951. Make sure to run ``bin/gmg dbupdate`` after upgrading.
6962. 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
704If you have your own theme, you may need to make some adjustments to
a28c6c4c
CAW
705it as some theme related things may have changed in this release. If
706you 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
7630.3.2
764=====
765
766This will be the last release that is capable of converting from an earlier
767MongoDB-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
8510.3.1
852=====
853
9e579cde
WKG
854**Do this to upgrade**
855
8561. Make sure to run ``bin/gmg dbuptdate`` after upgrading.
857
8582. 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
8810.3.0
882=====
5be6425c
E
883
884This release has one important change. You need to act when
885upgrading from a previous version!
886
887This release changes the database system from MongoDB to
888SQL(alchemy). If you want to setup a fresh instance, just
889follow the instructions in the deployment chapter. If on
890the other hand you want to continue to use one instance,
891read on.
892
dce37922 893To convert your data from MongoDB to SQL(alchemy), you need
5be6425c
E
894to follow these steps:
895
8961. Make sure your MongoDB is still running and has your
897 data, it's needed for the conversion.
898
abe74178
WKG
8992. Configure the ``sql_engine`` URI in the config to represent
900 your target database (see: :ref:`deploying-chapter`)
5be6425c
E
901
9023. You need an empty database.
903
9044. Then run the following command::
905
abe74178 906 bin/gmg [-cf mediagoblin_config.ini] convert_mongo_to_sql
5be6425c
E
907
9085. Start your server and investigate.
909
9106. That's it.