fix incorrect syntax in docs (bug 5310)
[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
be1dfb99
CAW
240.7.1
25=====
26
27This is a purely bugfix release. Important changes happened since
280.7.0; if running MediaGoblin 0.7.0, an upgrade is highly recommended;
29see below. This release is especially useful if you have been running
30postgres and have been receiving seemingly random database transaction
31errors.
32
33**Do this to upgrade**
34
351. Update to the latest release. If checked out from git, run:
36 ``git fetch && git checkout -q v0.7.1 && git submodule init && git submodule update``
372. Make sure to run
38 ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate``
39
40That's it, probably! If you run into problems, don't hesitate to
41`contact us <http://mediagoblin.org/pages/join.html>`_
42(IRC is often best).
43
44**Bugfixes/improvements:**
45
46- The *MOST IMPORTANT* change in this release:
b95d06f6 47 Disabling a couple of non-critical features that were causing
be1dfb99 48 database transaction issues. (These should be back by 0.8.0.)
b95d06f6
CAW
49
50 + Disabled the "checking if the database is up to date at
be1dfb99 51 mediagoblin startup" feature
b95d06f6 52 + Disabled the garbage collection stuff by default for now
be1dfb99
CAW
53 (You can set garbage_collection under the config mediagoblin
54 header to something other than 0 to turn it back on for now, but
55 it's potentially risky for the moment.)
b95d06f6 56
be1dfb99
CAW
57- Some fixes to the 0.7.0 docs
58- Fixed Sandy 70s speedboat navbar by updating git submodule
59- Added support for cr2 files in raw_image media type
60- Added a description to setup.py
61- Collection and CollectionItem objects now have nicer in-python representations
62- Fixed unicode error with raw image mediatype logging
63- Fixed #945 "Host metadata does not confirm to spec (/.well-known/meta-data)"
b95d06f6
CAW
64
65 + Add XRD+XML formatting for /.well-known/host-meta
66 + Add /.well-known/webfinger API to lookup user hrefs
67
be1dfb99
CAW
68- deleteuser gmg subcommand now fails gracefully
69- Removed a false download link from setup.py
70
3b56b277 710.7.0
2757e76c 72=====
3b56b277
CAW
73
74**Do this to upgrade**
75
761. Update to the latest release. If checked out from git, run:
c7690151 77 ``git fetch && git checkout -q v0.7.0 && git submodule init && git submodule update``
3b56b277
CAW
782. Make sure to run
79 ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate``
80
fcee02a7
CAW
81(NOTE: earlier versions of the 0.7.0 release instructions left out the
82``git submodule init`` step! If you did an upgrade earlier based on
83these instructions and your theme looks weirdly aligned, try running
84the following:)
85
86 ``git submodule init && git submodule update``
87
3b56b277
CAW
88That's it, probably! If you run into problems, don't hesitate to
89`contact us <http://mediagoblin.org/pages/join.html>`_
90(IRC is often best).
91
92**New features:**
93
94- New mobile upload API making use of the
95 `Pump API <https://github.com/e14n/pump.io/blob/master/API.md>`_
96 (which will be the foundation for MediaGoblin's federation)
97- New theme: Sandy 70s Speedboat!
98
99- Metadata features! We also now have a json-ld context.
100
101- Many improvements for archival institutions, including metadata
102 support and featuring items on the homepage. With the (new!)
103 archivalook plugin enabled, featuring media is possible.
104 Additionally, metadata about the particular media item will show up
105 in the sidebar.
106
107 In the future these plugins may be separated, but for now they have
108 come together as part of the same plugin.
109
110- There is a new gmg subcommand called batchaddmedia that allows for
111 uploading many files at once. This is aimed to be useful for
112 archival institutions and groups where there is an already existing
113 and large set of available media that needs to be included.
114- Speaking of, the call to postgres in the makefile is fixed.
115- We have a new, generic media-page context hook that allows for
116 adding context depending on the type of media.
117- Tired of video thumbnails breaking during processing all the time?
118 Good news, everyone! Video thumbnail generation should not fail
119 frequently anymore. (We think...)
120- You can now set default permissions for new users in the config.
121
122- bootstrap.sh / gnu configuration stuff still exists, but moves to be
123 experimental-bootstrap.sh so as to not confuse newcomers. There are
124 some problems currently with the autoconf stuff that we need to work
125 out... we still have interest in supporting it, though help is
126 welcome.
127
128- MediaGoblin now checks whether or not the database is up to date
129 when starting.
130- Switched to `Skeleton <http://www.getskeleton.com/>`_ as a system for
131 graphic design.
132- New gmg subcommands for administrators:
133 - A "deletemedia" command
134 - A "deleteuser" command
135- We now have a blogging media type... it's very experimental,
136 however. Use with caution!
137- We have switched to exifread as an external library for reading EXIF
138 data. It's basically the same thing as before, but packaged
139 separately from MediaGoblin.
140- Many improvements to internationalization. Also (still rudimentary,
141 but existant!) RTL language support!
142
143**Known issues:**
cb9f5570 144 - The host-meta is now json by default; in the spec it should be xml by
3b56b277
CAW
145 default. We have done this because of compatibility with the pump
146 API. We are checking with upstream to see if there is a way to
147 resolve this discrepancy.
148
149
29166813
CAW
1500.6.1
151=====
152
153This is a short, bugfix release.
154
155**Do this to upgrade**
156
1571. Update to the latest release. If checked out from git, run:
158 ``git fetch && git checkout -q v0.6.1``
1592. Make sure to run
160 ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate``
161
162This release switches the default terms of service to be off by
163default and corrects some mistakes in the default terms of service.
164
165Turning the terms of service on is very easy, just set ``show_tos`` in
166the ``[mediagoblin]`` section of your config to ``true``.
167
168
2691bfe1
CAW
1690.6.0
170=====
171
172**Do this to upgrade**
173
29166813
CAW
1741. Update to the latest release. If checked out from git, run:
175 ``git fetch && git checkout -q v0.6.0``
1762. Make sure to run
2691bfe1 177 ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate``
2691bfe1 178
29166813 179That's it, probably! If you run into problems, don't hesitate to
2691bfe1
CAW
180`contact us <http://mediagoblin.org/pages/join.html>`_
181(IRC is often best).
182
183This tool has a lot of new tools for administrators, hence the
184nickname "Lore of the Admin"!
185
186**New features:**
187
188- New tools to control how much users can upload, both as a general
189 user limit, or per file.
190
191 You can set this with the following options in your mediagoblin
192 config file: `upload_limit` and `max_file_size`. Both are integers
193 in megabytes.
194
195 There is an option to control how much each individual user can
196 upload too, though an interface for this is not yet exposed. See
197 the "uploaded" field on the core__users table.
198
199- MediaGoblin now contains an authentication plugin for ldap! You
200 can turn on the mediagoblin.plugins.ldap plugin to make use of
201 this. See the documentation: :ref:`ldap-plugin`
202
203- There's a new command line upload tool! At long last! See
204 `./bin/gmg addmedia --help` for info on how to use this.
205
206- There's now a terms of service document included in MediaGoblin.
207 It's turned on by default, but you can turn it off if you prefer,
208 just set the configuration option of `show_tos` in the [mediagoblin]
209 section of your config to false.
210
211 Alternately, you can override the template for the terms of service
212 document to set up your own.
213
214- We have a lot of new administrative tooling features!
215 - There's a built-in privileges/permissions system now.
216 Administrators are given access to modifying these parameters
217 from a user administration panel.
218 - Users can submit reports about other problematic users or media
219 and administrators are given tools to resolve said reports and
220 ban/unban users if needed.
221
222- New version of video.js is included with MediaGoblin. Slight
223 amount of skinning to match the MediaGoblin look, otherwise also
224 uses the new default skin.
225
226Developer-oriented changes:
227
228- New developer tool for quickly setting up a development environment
229 in `devtools/make_example_database.sh`. Requires doing a checkout
230 of our other tool `mg_dev_environments <https://gitorious.org/mediagoblin/mg-dev-environments/>`_
231 (probably in the parent Directory) though!
232- A "foundations" framework has entered into the codebase.
233 This is mostly just relevant to coders, but it does mean that it's
234 much easier to add database structures that need some entries filled
235 automatically by default.
236- Refactoring to the authentication code and the reprocessing code
237
a66fbf97 238
d4edbfd5
CAW
2390.5.1
240=====
241
242v0.5.1 is a bugfix release... the steps are the same as for 0.5.1.
243
244**Bugfixes:**
245
246- python 2.6 compatibility restored
247- Fixed last release's release notes ;)
248
249
a126ef4d
RE
2500.5.0
251=====
252
abff297c
CAW
253**NOTE:** If using the API is important to you, we're in a state of
254ransition towards a new API via the Pump API. As such, though the old
255API still probably works, some changes have happened to the way oauth
256works to make it more Pump-compatible. If you're heavily using
257clients using the old API, you may wish to hold off on upgrading for
258now. Otherwise, jump in and have fun! :)
259
a126ef4d
RE
260**Do this to upgrade**
261
2621. Make sure to run
263 ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate``
264 after upgrading.
265
266.. mention something about new, experimental configure && make support
267
2682. Note that a couple of things have changed with ``mediagoblin.ini``. First
269 we have a new Authentication System. You need to add
270 ``[[mediagoblin.plugins.basic_auth]]`` under the ``[plugins]`` section of
271 your config file. Second, media types are now plugins, so you need to add
272 each media type under the ``[plugins]`` section of your config file.
273
274
2753. We have made a script to transition your ``mediagoblin_local.ini`` file for
a0a31ddf 276 you. This script can be found at:
a126ef4d 277
a0a31ddf 278 http://mediagoblin.org/download/0.5.0_config_converter.py
a126ef4d
RE
279
280If you run into problems, don't hesitate to
281`contact us <http://mediagoblin.org/pages/join.html>`_
282(IRC is often best).
283
284**New features**
285
286* As mentioned above, we now have a plugable Authentication system. You can
287 use any combination of the multiple authentication systems
288 (:ref:`basic_auth-chapter`, :ref:`persona-chapter`, :ref:`openid-chapter`)
289 or write your own!
290* Media types are now plugins! This means that new media types will
291 be able to do new, fancy things they couldn't in the future.
292* We now have notification support! This allows you to subscribe to media
293 comments and to be notified when someone comments on your media.
294* New reprocessing framework! You can now reprocess failed uploads, and
295 send already processed media back to processing to re-transcode or resize
296 media.
297* Comment preview!
298* Users now have the ability to change their email associated with their
299 account.
300* New oauth code as we move closer to federation support.
301* Experimental pyconfigure support for GNU-style configue and makefile
302 deployment.
303* Database foundations! You can now pre-populate the database models.
304* Way faster unit test run-time via in-memory database.
305* All mongokit stuff has been cleaned up.
306* Fixes for non-ascii filenames.
307* The option to stay logged in.
308* Mediagoblin has been upgraded to use the latest `celery <http://celeryproject.org/>`_
309 version.
310* You can now add jinja2 extensions to your config file to use in custom
311 templates.
312* Fixed video permission issues.
313* Mediagoblin docs are now hosted with multiple versions.
314* We removed redundent tooltips from the STL media display.
315* We are now using itsdangerous for verification tokens.
316
317
bed9ad06
CAW
3180.4.1
319=====
320
321This is a bugfix release for 0.4.0. This only implements one major
322fix in the newly released document support which prevented the
323"conversion via libreoffice" feature.
324
325If you were running 0.4.0 you can upgrade to v0.4.1 via a simple
326switch and restarting mediagoblin/celery with no other actions.
327
d3b1fd2e
CAW
328Otherwise, follow 0.4.0 instructions.
329
bed9ad06 330
8ca51d32
CAW
3310.4.0
332=====
333
24ede044 334**Do this to upgrade**
a66fbf97 335
5622cc44
CAW
3361. Make sure to run
337 ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate``
338 after upgrading.
24ede044
CAW
3392. See "For Theme authors" if you have a custom theme.
3403. Note that ``./bin/gmg theme assetlink`` is now just
341 ``./bin/gmg assetlink`` and covers both plugins and assets.
342 Keep on reading to hear more about new plugin features.
3434. If you want to take advantage of new plugins that have statically
344 served assets, you are going to need to add the new "plugin_static"
345 section to your nginx config. Basically the following for nginx::
346
347 # Plugin static files (usually symlinked in)
348 location /plugin_static/ {
349 alias /srv/mediagoblin.example.org/mediagoblin/user_dev/plugin_static/;
350 }
351
51702d5b
CAW
352 Similarly, if you've got a modified paste config, you may want to
353 borrow the app:plugin_static section from the default paste.ini
354 file.
3555. We now use itsdangerous for sessions; if you had any references to
356 beaker in your paste config you can remove them. Again, see the
357 default paste.ini config
d3b1fd2e 3586. We also now use git submodules. Please do:
64ad0bee 359 ``git submodule init && git submodule update``
d3b1fd2e 360 You will need to do this to use the new PDF support.
51702d5b 361
8ca51d32
CAW
362**For theme authors**
363
364If you have your own theme or you have any "user modified templates",
365please note the following:
366
367* mediagoblin/bits/ files above-content.html, body-end.html,
368 body-start.html now are renamed... they have underscores instead of
369 dashes in the filenames now :)
370* There's a new file: ``mediagoblin/bits/frontpage_welcome.html``.
371 You can easily customize this to give a welcome page appropriate to
372 your site.
373
51702d5b 374
24ede044 375**New features**
b33feb18 376
51702d5b
CAW
377* PDF media type!
378* Improved plugin system. More flexible, better documented, with a
379 new plugin authoring section of the docs.
380* itsdangerous based sessions. No more beaker!
381* New, experimental Piwigo-based API. This means you should be able
382 to use MediaGoblin with something like Shotwell. (Again, a word of
383 caution: this is *very experimental*!)
384* Human readable timestamps, and the option to display the original
385 date of an image when available (available as the
386 "original_date_visible" variable)
387* Moved unit testing system from nosetests to py.test so we can better
388 handle issues with sqlalchemy exploding with different database
389 configurations. Long story :)
390* You can now disable the ability to post comments.
391* Tags now can be up to length 255 characters by default.
24ede044 392
8ca51d32 393
6e2dcbff 3940.3.3
8d19cb24
SS
395=====
396
6e2dcbff
CAW
397**Do this to upgrade**
398
3991. Make sure to run ``bin/gmg dbupdate`` after upgrading.
4002. OpenStreetMap is now a plugin, so if you want to use it, add the
997ef976 401 following to your config file:
6e2dcbff 402
997ef976
E
403 .. code-block:: ini
404
5058cd51
SC
405 [plugins]
406 [[mediagoblin.plugins.geolocation]]
6e2dcbff
CAW
407
408If you have your own theme, you may need to make some adjustments to
a28c6c4c
CAW
409it as some theme related things may have changed in this release. If
410you run into problems, don't hesitate to
411`contact us <http://mediagoblin.org/pages/join.html>`_
412(IRC is often best).
6e2dcbff 413
8d19cb24
SS
414**New features**
415
6e2dcbff
CAW
416* New dropdown menu for accessing various features.
417
418* Significantly improved URL generation. Now mediagoblin won't give
419 up on making a slug if it looks like there will be a duplicate;
420 it'll try extra hard to generate a meaningful one instead.
421
422 Similarly, linking to an id no longer can possibly conflict with
423 linking to a slug; /u/username/m/id:35/ is the kind of reference we
424 now use to linking to entries with ids. However, old links with
425 entries that linked to ids should work just fine with our migration.
426 The only urls that might break in this release are ones using colons
427 or equal signs.
428
429* New template hooks for plugin authoring.
430
431* As a demonstration of new template hooks for plugin authoring,
432 openstreetmap support now moved to a plugin!
433
a28c6c4c
CAW
434* Method to add media to collections switched from icon of paperclip
435 to button with "add to collection" text.
6e2dcbff
CAW
436
437* Bug where videos often failed to produce a proper thumbnail fixed!
438
fda5ea7a 439* Copying around files in MediaGoblin now much more efficient, doesn't
6e2dcbff
CAW
440 waste gobs of memory.
441
442* Video transcoding now optional for videos that meet certain
fda5ea7a
CAW
443 criteria. By default, MediaGoblin will not transcode webm videos
444 that are smaller in resolution than the MediaGoblin defaults, and
445 MediaGoblin can also be configured to allow theora files to not be
a28c6c4c 446 transcoded as well.
6e2dcbff
CAW
447
448* Per-user license preference option; always want your uploads to be
449 BY-SA and tired of changing that field? You can now set your
450 license preference in your user settings.
451
452* Video player now responsive; better for mobile!
453
70177c1f
CAW
454* You can now delete your account from the user preferences page if
455 you so wish.
456
a28c6c4c 457**Other changes**
8d19cb24 458
b0c8328e
SS
459* Plugin writers: Internal restructuring led to mediagoblin.db.sql* be
460 mediagoblin.db.* starting from 0.3.3
461
6e2dcbff
CAW
462* Dependency list has been reduced not requiring the "webob" package anymore.
463
464* And many small fixes/improvements, too numerous to list!
465
8d19cb24 466
cacb6fea
SS
4670.3.2
468=====
469
470This will be the last release that is capable of converting from an earlier
471MongoDB-based MediaGoblin instance to the newer SQL-based system.
472
1f01df1d
CAW
473**Do this to upgrade**
474
42ce372e
ML
475 # directory of your mediagoblin install
476 cd /srv/mediagoblin.example.org
477
478 # copy source for this release
479 git fetch
480 git checkout tags/v0.3.2
481
482 # perform any needed database updates
483 bin/gmg dbupdate
484
485 # restart your servers however you do that, e.g.,
486 sudo service mediagoblin-paster restart
487 sudo service mediagoblin-celeryd restart
1f01df1d 488
cacb6fea
SS
489
490**New features**
491
1f01df1d
CAW
492* **3d model support!**
493
494 You can now upload STL and OBJ files and display them in
495 MediaGoblin. Requires a recent-ish Blender; for details see:
496 :ref:`deploying-chapter`
cacb6fea
SS
497
498* **trim_whitespace**
499
500 We bundle the optional plugin trim_whitespace which reduces the size
501 of the delivered html output by reducing redundant whitespace.
502
503 See :ref:`core-plugin-section` for plugin documentation
504
1f01df1d
CAW
505* **A new API!**
506
507 It isn't well documented yet but we do have an API. There is an
508 `android application in progress <https://gitorious.org/mediagoblin/mediagoblin-android>`_
509 which makes use of it, and there are some demo applications between
510 `automgtic <https://github.com/jwandborg/automgtic>`_, an
511 automatic media uploader for your desktop
512 and `OMGMG <https://github.com/jwandborg/omgmg>`_, an example of
513 a web application hooking up to the API.
514
515 This is a plugin, so you have to enable it in your mediagoblin
516 config file by adding a section under [plugins] like::
517
518 [plugins]
519 [[mediagoblin.plugins.api]]
520
521 Note that the API works but is not nailed down... the way it is
522 called may change in future releases.
523
524* **OAuth login support**
525
526 For applications that use OAuth to connect to the API.
527
528 This is a plugin, so you have to enable it in your mediagoblin
529 config file by adding a section under [plugins] like::
530
531 [plugins]
532 [[mediagoblin.plugins.oauth]]
533
534* **Collections**
535
536 We now have user-curated collections support. These are arbitrary
537 galleries that are customizable by users. You can add media to
538 these by clicking on the paperclip icon when logged in and looking
539 at a media entry.
540
541* **OpenStreetMap licensing display improvements**
542
543 More accurate display of OSM licensing, and less disruptive: you
544 click to "expand" the display of said licensing.
545
546 Geolocation is also now on by default.
547
548* **Miscelaneous visual improvements**
549
550 We've made a number of small visual improvements including newer and
551 nicer looking thumbnails and improved checkbox placement.
552
553
5be6425c 554
3a438f5e
WKG
5550.3.1
556=====
557
9e579cde
WKG
558**Do this to upgrade**
559
5601. Make sure to run ``bin/gmg dbuptdate`` after upgrading.
561
5622. If you set up your server config with an older version of
563 mediagoblin and the mediagoblin docs, it's possible you don't
564 have the "theme static files" alias, so double check to make
565 sure that section is there if you are having problems.
566
567
568
569**New features**
570
571* **theming support**
572
573 MediaGoblin now also includes theming support, which you can
574 read about in the section :ref:`theming-chapter`.
575
576* **flatpages**
577
578 MediaGoblin has a flatpages plugin allowing you to add pages that
579 are aren't media-related like "About this site...", "Terms of
580 service...", etc.
581
582 See :ref:`core-plugin-section` for plugin documentation
3a438f5e
WKG
583
584
6e930791
CAW
5850.3.0
586=====
5be6425c
E
587
588This release has one important change. You need to act when
589upgrading from a previous version!
590
591This release changes the database system from MongoDB to
592SQL(alchemy). If you want to setup a fresh instance, just
593follow the instructions in the deployment chapter. If on
594the other hand you want to continue to use one instance,
595read on.
596
dce37922 597To convert your data from MongoDB to SQL(alchemy), you need
5be6425c
E
598to follow these steps:
599
6001. Make sure your MongoDB is still running and has your
601 data, it's needed for the conversion.
602
abe74178
WKG
6032. Configure the ``sql_engine`` URI in the config to represent
604 your target database (see: :ref:`deploying-chapter`)
5be6425c
E
605
6063. You need an empty database.
607
6084. Then run the following command::
609
abe74178 610 bin/gmg [-cf mediagoblin_config.ini] convert_mongo_to_sql
5be6425c
E
611
6125. Start your server and investigate.
613
6146. That's it.