doc: 0.9.0 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
30 And be sure to shut down your current mediagoblin/celery processes
31 before upgrading!
32
9fa1e602
CAW
33.. note::
34
35 The MediaGoblin repository used to be on gitorious.org, but since
36 gitorious.org shut down, we had to move. We are presently on
37 Savannah. You may need to update your git repository location::
38
39 git remote set-url origin git://git.savannah.gnu.org/mediagoblin.git
50c6dc2b 40
3ae23712 41
6686502f
CAW
420.9.0
43=====
44
45This release has a number of improvements, but is also a major
46"plumbing upgrade" release to MediaGoblin. Notably, we now support
47Python 3, which is pretty cool!
48
49**Do this to upgrade**
50
510. If you haven't already, switch the git remote URL:
52 ``git remote set-url origin git://git.savannah.gnu.org/mediagoblin.git``
531. Update to the latest release. If checked out from git, run:
54 ``git fetch && git checkout -q v0.9.0``
552. Run
56 ``./bootstrap.sh && ./configure && make``
573. Also run
58 ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate``
59
60**Bugfixes/improvements:**
61
62- Python 3 is now a first class citizen! We now support both
63 Python 2.7 and Python 3.4 or later.
64- Major updates to internal tooling to pave the way for federation.
65 - Massive overhaul to the database layout (particularly in
66 permitting generic relations)
67 - OAuth updates
68 - Updating how we handle collections
69 - Add a "graveyard" system with tombstones for keeping information
70 about removed objects
71 - Large overhaul to how "comments" work. In federation, many things
72 can reply to many things, so we had to loosen the model.
73- If your user has some collections available, these will be presented
74 as a dropdown option while submitting media.
75- Begin using Alembic for migrations
76- Lots of bugfixes and etc
77 - Many fixes to typos
78 - Some fixes to the blog system
79 - Switch to waitress for development
80 - And more...!
81
82
9b9c04e6
CAW
830.8.1
84=====
85
86This release is a security and bugfix release. We recommend you upgrade as
87soon as possible.
88
89**Do this to upgrade**
90
910. If you haven't already, switch the git remote URL:
92 ``git remote set-url origin git://git.savannah.gnu.org/mediagoblin.git``
931. Update to the latest release. If checked out from git, run:
94 ``git fetch && git checkout -q v0.8.1``
952. Run
96 ``./bootstrap.sh && ./configure && make``
973. Also run
98 ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate``
99
100(Please check intermediate release steps as well if not upgrading from
1010.8.0)
102
103**Bugfixes/improvements:**
104
105Most importantly, there is an **important security fix**:
106
107Quoting here a portion of the
108`release blogpost <http://mediagoblin.org/news/mediagoblin-0.8.1-security-release.html>`_::
109
110 We have had a security problem in our OAuth implementation reported to
111 us privately and have taken steps to address it. The security problem
ca3dd10e 112 affects all versions of GNU MediaGoblin since 0.5.0. I have created a patch
9b9c04e6
CAW
113 for this and released a minor version 0.8.1. It's strongly advised
114 that everyone upgrade as soon as they can.
115
116 In order to exploit the security issue, an attacker must have had
117 access to a logged in session to your GNU MediaGoblin account. If you
118 have kept your username and password secret, logging in only over
119 HTTPS and you've not left yourself logged in on publicly accessible
120 computers, you should be safe. However it's still advised all users
121 take the following precautions, listed below.
122
123 Users should check their authorized clients. Any client which looks
124 unfamiliar to you, you should deauthorize. To check this:
125
126 1) Log in to the GNU MediaGoblin instance
127 2) Click the drop down arrow in the upper right
128 3) Click "Change account settings"
129 4) At the bottom click the "Deauthorize applications" link
130
131 If you are unsure of any of these, click "Deauthorize".
132
133There are other bugfixes, but they are fairly minor.
134
135
a87db7f5
CAW
1360.8.0
137=====
138
139This release has a number of changes related to the way we recommend
140building MediaGoblin; upgrade steps are below, but if you run into
141trouble, consider pinging the MediaGoblin list or IRC channel.
142
143**Do this to upgrade**
144
11199c31
CAW
1450. If you haven't already, switch the git remote URL:
146 ``git remote set-url origin git://git.savannah.gnu.org/mediagoblin.git``
3169dde0
CAW
1471. If you don't have node.js installed, you'll need it for handling
148 MediaGoblin's static web dependencies. Install this via your
149 distribution! (In the glorious future MediaGoblin will be simply
150 packaged for your distribution so you won't have to worry about
151 this!)
1522. Update to the latest release. If checked out from git, run:
6adee95a 153 ``git fetch && git checkout -q v0.8.0``
3169dde0 1543. Run
a87db7f5 155 ``./bootstrap.sh && ./configure && make``
3169dde0 1564. Also run
a87db7f5
CAW
157 ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate``
158
c2382bd4
CAW
159Please note the important steps of 0 and 2, which have not appeared in
160prior upgrade guides!
a87db7f5
CAW
161
162Additionally:
163
164- Are you using audio or video media types? In that case, you'll need
165 to update your Gstreamer instance to 1.0.
166- The Pump API needs some data passed through to the WSGI application,
167 so if you are using apache with mod_wsgi you should be sure to make
168 sure to add "WSGIPassAuthorization On" to your config. (Using the
169 default MediaGoblin documnetation and config, things should work
170 as-is.)
171
172
173**Bugfixes/improvements:**
174
175- Preliminary / experimental support for Python 3!
176- Footer forced to the bottom of page
177- Massive improvements to Pump API support
178 - Able to run on multiple existing Pump clients! Including Pumpa
179 and Dianara!
180- much cleaner ./configure && make support; it's now the default
181- Clearer documentation on permissions and installation
182- Switched from Transifex, which had become proprietary, to an
183 instance of Pootle hosted for GNU
184- Moved to Gstreamer 1.0! This also adds a new thumbnailer which
185 gives much better results in
186- Removed terrible check-javascript-dependencies-into-your-application
187 setup, now using Bower for dependency tracking
188- Put some scaffolding in place for Alembic, which will be used for
189 future mitration work
190- Automatically create a fresh mediagoblin.ini from
191 mediagoblin.ini.example
192- no more need for mediagoblin_local.ini (though it's still supported)
193- Fix lowercasing of username in auth steps
194- Slowly moving towards removing global state (a source of many bugs)
195
be1dfb99
CAW
1960.7.1
197=====
198
199This is a purely bugfix release. Important changes happened since
2000.7.0; if running MediaGoblin 0.7.0, an upgrade is highly recommended;
201see below. This release is especially useful if you have been running
202postgres and have been receiving seemingly random database transaction
203errors.
204
205**Do this to upgrade**
206
2071. Update to the latest release. If checked out from git, run:
208 ``git fetch && git checkout -q v0.7.1 && git submodule init && git submodule update``
2092. Make sure to run
210 ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate``
211
212That's it, probably! If you run into problems, don't hesitate to
213`contact us <http://mediagoblin.org/pages/join.html>`_
214(IRC is often best).
215
216**Bugfixes/improvements:**
217
218- The *MOST IMPORTANT* change in this release:
b95d06f6 219 Disabling a couple of non-critical features that were causing
be1dfb99 220 database transaction issues. (These should be back by 0.8.0.)
b95d06f6
CAW
221
222 + Disabled the "checking if the database is up to date at
be1dfb99 223 mediagoblin startup" feature
b95d06f6 224 + Disabled the garbage collection stuff by default for now
be1dfb99
CAW
225 (You can set garbage_collection under the config mediagoblin
226 header to something other than 0 to turn it back on for now, but
227 it's potentially risky for the moment.)
b95d06f6 228
be1dfb99
CAW
229- Some fixes to the 0.7.0 docs
230- Fixed Sandy 70s speedboat navbar by updating git submodule
231- Added support for cr2 files in raw_image media type
232- Added a description to setup.py
233- Collection and CollectionItem objects now have nicer in-python representations
234- Fixed unicode error with raw image mediatype logging
235- Fixed #945 "Host metadata does not confirm to spec (/.well-known/meta-data)"
b95d06f6
CAW
236
237 + Add XRD+XML formatting for /.well-known/host-meta
238 + Add /.well-known/webfinger API to lookup user hrefs
239
be1dfb99
CAW
240- deleteuser gmg subcommand now fails gracefully
241- Removed a false download link from setup.py
242
3b56b277 2430.7.0
2757e76c 244=====
3b56b277
CAW
245
246**Do this to upgrade**
247
2481. Update to the latest release. If checked out from git, run:
c7690151 249 ``git fetch && git checkout -q v0.7.0 && git submodule init && git submodule update``
3b56b277
CAW
2502. Make sure to run
251 ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate``
252
fcee02a7
CAW
253(NOTE: earlier versions of the 0.7.0 release instructions left out the
254``git submodule init`` step! If you did an upgrade earlier based on
255these instructions and your theme looks weirdly aligned, try running
256the following:)
257
258 ``git submodule init && git submodule update``
259
3b56b277
CAW
260That's it, probably! If you run into problems, don't hesitate to
261`contact us <http://mediagoblin.org/pages/join.html>`_
262(IRC is often best).
263
264**New features:**
265
266- New mobile upload API making use of the
267 `Pump API <https://github.com/e14n/pump.io/blob/master/API.md>`_
268 (which will be the foundation for MediaGoblin's federation)
269- New theme: Sandy 70s Speedboat!
270
271- Metadata features! We also now have a json-ld context.
272
273- Many improvements for archival institutions, including metadata
274 support and featuring items on the homepage. With the (new!)
275 archivalook plugin enabled, featuring media is possible.
276 Additionally, metadata about the particular media item will show up
277 in the sidebar.
278
279 In the future these plugins may be separated, but for now they have
280 come together as part of the same plugin.
281
282- There is a new gmg subcommand called batchaddmedia that allows for
283 uploading many files at once. This is aimed to be useful for
284 archival institutions and groups where there is an already existing
285 and large set of available media that needs to be included.
286- Speaking of, the call to postgres in the makefile is fixed.
287- We have a new, generic media-page context hook that allows for
288 adding context depending on the type of media.
289- Tired of video thumbnails breaking during processing all the time?
290 Good news, everyone! Video thumbnail generation should not fail
291 frequently anymore. (We think...)
292- You can now set default permissions for new users in the config.
293
294- bootstrap.sh / gnu configuration stuff still exists, but moves to be
295 experimental-bootstrap.sh so as to not confuse newcomers. There are
296 some problems currently with the autoconf stuff that we need to work
297 out... we still have interest in supporting it, though help is
298 welcome.
299
300- MediaGoblin now checks whether or not the database is up to date
301 when starting.
302- Switched to `Skeleton <http://www.getskeleton.com/>`_ as a system for
303 graphic design.
304- New gmg subcommands for administrators:
305 - A "deletemedia" command
306 - A "deleteuser" command
307- We now have a blogging media type... it's very experimental,
308 however. Use with caution!
309- We have switched to exifread as an external library for reading EXIF
310 data. It's basically the same thing as before, but packaged
311 separately from MediaGoblin.
312- Many improvements to internationalization. Also (still rudimentary,
313 but existant!) RTL language support!
314
315**Known issues:**
cb9f5570 316 - The host-meta is now json by default; in the spec it should be xml by
3b56b277
CAW
317 default. We have done this because of compatibility with the pump
318 API. We are checking with upstream to see if there is a way to
319 resolve this discrepancy.
320
321
29166813
CAW
3220.6.1
323=====
324
325This is a short, bugfix release.
326
327**Do this to upgrade**
328
3291. Update to the latest release. If checked out from git, run:
330 ``git fetch && git checkout -q v0.6.1``
3312. Make sure to run
332 ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate``
333
334This release switches the default terms of service to be off by
335default and corrects some mistakes in the default terms of service.
336
337Turning the terms of service on is very easy, just set ``show_tos`` in
338the ``[mediagoblin]`` section of your config to ``true``.
339
340
2691bfe1
CAW
3410.6.0
342=====
343
344**Do this to upgrade**
345
29166813
CAW
3461. Update to the latest release. If checked out from git, run:
347 ``git fetch && git checkout -q v0.6.0``
3482. Make sure to run
2691bfe1 349 ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate``
2691bfe1 350
29166813 351That's it, probably! If you run into problems, don't hesitate to
2691bfe1
CAW
352`contact us <http://mediagoblin.org/pages/join.html>`_
353(IRC is often best).
354
355This tool has a lot of new tools for administrators, hence the
356nickname "Lore of the Admin"!
357
358**New features:**
359
360- New tools to control how much users can upload, both as a general
361 user limit, or per file.
362
363 You can set this with the following options in your mediagoblin
364 config file: `upload_limit` and `max_file_size`. Both are integers
365 in megabytes.
366
367 There is an option to control how much each individual user can
368 upload too, though an interface for this is not yet exposed. See
369 the "uploaded" field on the core__users table.
370
371- MediaGoblin now contains an authentication plugin for ldap! You
372 can turn on the mediagoblin.plugins.ldap plugin to make use of
373 this. See the documentation: :ref:`ldap-plugin`
374
375- There's a new command line upload tool! At long last! See
376 `./bin/gmg addmedia --help` for info on how to use this.
377
378- There's now a terms of service document included in MediaGoblin.
379 It's turned on by default, but you can turn it off if you prefer,
380 just set the configuration option of `show_tos` in the [mediagoblin]
381 section of your config to false.
382
383 Alternately, you can override the template for the terms of service
384 document to set up your own.
385
386- We have a lot of new administrative tooling features!
387 - There's a built-in privileges/permissions system now.
388 Administrators are given access to modifying these parameters
389 from a user administration panel.
390 - Users can submit reports about other problematic users or media
391 and administrators are given tools to resolve said reports and
392 ban/unban users if needed.
393
394- New version of video.js is included with MediaGoblin. Slight
395 amount of skinning to match the MediaGoblin look, otherwise also
396 uses the new default skin.
397
398Developer-oriented changes:
399
400- New developer tool for quickly setting up a development environment
401 in `devtools/make_example_database.sh`. Requires doing a checkout
402 of our other tool `mg_dev_environments <https://gitorious.org/mediagoblin/mg-dev-environments/>`_
403 (probably in the parent Directory) though!
404- A "foundations" framework has entered into the codebase.
405 This is mostly just relevant to coders, but it does mean that it's
406 much easier to add database structures that need some entries filled
407 automatically by default.
408- Refactoring to the authentication code and the reprocessing code
409
a66fbf97 410
d4edbfd5
CAW
4110.5.1
412=====
413
414v0.5.1 is a bugfix release... the steps are the same as for 0.5.1.
415
416**Bugfixes:**
417
418- python 2.6 compatibility restored
419- Fixed last release's release notes ;)
420
421
a126ef4d
RE
4220.5.0
423=====
424
abff297c
CAW
425**NOTE:** If using the API is important to you, we're in a state of
426ransition towards a new API via the Pump API. As such, though the old
427API still probably works, some changes have happened to the way oauth
428works to make it more Pump-compatible. If you're heavily using
429clients using the old API, you may wish to hold off on upgrading for
430now. Otherwise, jump in and have fun! :)
431
a126ef4d
RE
432**Do this to upgrade**
433
4341. Make sure to run
435 ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate``
436 after upgrading.
437
438.. mention something about new, experimental configure && make support
439
4402. Note that a couple of things have changed with ``mediagoblin.ini``. First
441 we have a new Authentication System. You need to add
442 ``[[mediagoblin.plugins.basic_auth]]`` under the ``[plugins]`` section of
443 your config file. Second, media types are now plugins, so you need to add
444 each media type under the ``[plugins]`` section of your config file.
445
446
4473. We have made a script to transition your ``mediagoblin_local.ini`` file for
a0a31ddf 448 you. This script can be found at:
a126ef4d 449
a0a31ddf 450 http://mediagoblin.org/download/0.5.0_config_converter.py
a126ef4d
RE
451
452If you run into problems, don't hesitate to
453`contact us <http://mediagoblin.org/pages/join.html>`_
454(IRC is often best).
455
456**New features**
457
458* As mentioned above, we now have a plugable Authentication system. You can
459 use any combination of the multiple authentication systems
460 (:ref:`basic_auth-chapter`, :ref:`persona-chapter`, :ref:`openid-chapter`)
461 or write your own!
462* Media types are now plugins! This means that new media types will
463 be able to do new, fancy things they couldn't in the future.
464* We now have notification support! This allows you to subscribe to media
465 comments and to be notified when someone comments on your media.
466* New reprocessing framework! You can now reprocess failed uploads, and
467 send already processed media back to processing to re-transcode or resize
468 media.
469* Comment preview!
470* Users now have the ability to change their email associated with their
471 account.
472* New oauth code as we move closer to federation support.
473* Experimental pyconfigure support for GNU-style configue and makefile
474 deployment.
475* Database foundations! You can now pre-populate the database models.
476* Way faster unit test run-time via in-memory database.
477* All mongokit stuff has been cleaned up.
478* Fixes for non-ascii filenames.
479* The option to stay logged in.
480* Mediagoblin has been upgraded to use the latest `celery <http://celeryproject.org/>`_
481 version.
482* You can now add jinja2 extensions to your config file to use in custom
483 templates.
484* Fixed video permission issues.
485* Mediagoblin docs are now hosted with multiple versions.
486* We removed redundent tooltips from the STL media display.
487* We are now using itsdangerous for verification tokens.
488
489
bed9ad06
CAW
4900.4.1
491=====
492
493This is a bugfix release for 0.4.0. This only implements one major
494fix in the newly released document support which prevented the
495"conversion via libreoffice" feature.
496
497If you were running 0.4.0 you can upgrade to v0.4.1 via a simple
498switch and restarting mediagoblin/celery with no other actions.
499
d3b1fd2e
CAW
500Otherwise, follow 0.4.0 instructions.
501
bed9ad06 502
8ca51d32
CAW
5030.4.0
504=====
505
24ede044 506**Do this to upgrade**
a66fbf97 507
5622cc44
CAW
5081. Make sure to run
509 ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate``
510 after upgrading.
24ede044
CAW
5112. See "For Theme authors" if you have a custom theme.
5123. Note that ``./bin/gmg theme assetlink`` is now just
513 ``./bin/gmg assetlink`` and covers both plugins and assets.
514 Keep on reading to hear more about new plugin features.
5154. If you want to take advantage of new plugins that have statically
516 served assets, you are going to need to add the new "plugin_static"
517 section to your nginx config. Basically the following for nginx::
518
519 # Plugin static files (usually symlinked in)
520 location /plugin_static/ {
521 alias /srv/mediagoblin.example.org/mediagoblin/user_dev/plugin_static/;
522 }
523
51702d5b
CAW
524 Similarly, if you've got a modified paste config, you may want to
525 borrow the app:plugin_static section from the default paste.ini
526 file.
5275. We now use itsdangerous for sessions; if you had any references to
528 beaker in your paste config you can remove them. Again, see the
529 default paste.ini config
d3b1fd2e 5306. We also now use git submodules. Please do:
64ad0bee 531 ``git submodule init && git submodule update``
d3b1fd2e 532 You will need to do this to use the new PDF support.
51702d5b 533
8ca51d32
CAW
534**For theme authors**
535
536If you have your own theme or you have any "user modified templates",
537please note the following:
538
539* mediagoblin/bits/ files above-content.html, body-end.html,
540 body-start.html now are renamed... they have underscores instead of
541 dashes in the filenames now :)
542* There's a new file: ``mediagoblin/bits/frontpage_welcome.html``.
543 You can easily customize this to give a welcome page appropriate to
544 your site.
545
51702d5b 546
24ede044 547**New features**
b33feb18 548
51702d5b
CAW
549* PDF media type!
550* Improved plugin system. More flexible, better documented, with a
551 new plugin authoring section of the docs.
552* itsdangerous based sessions. No more beaker!
553* New, experimental Piwigo-based API. This means you should be able
554 to use MediaGoblin with something like Shotwell. (Again, a word of
555 caution: this is *very experimental*!)
556* Human readable timestamps, and the option to display the original
557 date of an image when available (available as the
558 "original_date_visible" variable)
559* Moved unit testing system from nosetests to py.test so we can better
560 handle issues with sqlalchemy exploding with different database
561 configurations. Long story :)
562* You can now disable the ability to post comments.
563* Tags now can be up to length 255 characters by default.
24ede044 564
8ca51d32 565
6e2dcbff 5660.3.3
8d19cb24
SS
567=====
568
6e2dcbff
CAW
569**Do this to upgrade**
570
5711. Make sure to run ``bin/gmg dbupdate`` after upgrading.
5722. OpenStreetMap is now a plugin, so if you want to use it, add the
997ef976 573 following to your config file:
6e2dcbff 574
997ef976
E
575 .. code-block:: ini
576
5058cd51
SC
577 [plugins]
578 [[mediagoblin.plugins.geolocation]]
6e2dcbff
CAW
579
580If you have your own theme, you may need to make some adjustments to
a28c6c4c
CAW
581it as some theme related things may have changed in this release. If
582you run into problems, don't hesitate to
583`contact us <http://mediagoblin.org/pages/join.html>`_
584(IRC is often best).
6e2dcbff 585
8d19cb24
SS
586**New features**
587
6e2dcbff
CAW
588* New dropdown menu for accessing various features.
589
590* Significantly improved URL generation. Now mediagoblin won't give
591 up on making a slug if it looks like there will be a duplicate;
592 it'll try extra hard to generate a meaningful one instead.
593
594 Similarly, linking to an id no longer can possibly conflict with
595 linking to a slug; /u/username/m/id:35/ is the kind of reference we
596 now use to linking to entries with ids. However, old links with
597 entries that linked to ids should work just fine with our migration.
598 The only urls that might break in this release are ones using colons
599 or equal signs.
600
601* New template hooks for plugin authoring.
602
603* As a demonstration of new template hooks for plugin authoring,
604 openstreetmap support now moved to a plugin!
605
a28c6c4c
CAW
606* Method to add media to collections switched from icon of paperclip
607 to button with "add to collection" text.
6e2dcbff
CAW
608
609* Bug where videos often failed to produce a proper thumbnail fixed!
610
fda5ea7a 611* Copying around files in MediaGoblin now much more efficient, doesn't
6e2dcbff
CAW
612 waste gobs of memory.
613
614* Video transcoding now optional for videos that meet certain
fda5ea7a
CAW
615 criteria. By default, MediaGoblin will not transcode webm videos
616 that are smaller in resolution than the MediaGoblin defaults, and
617 MediaGoblin can also be configured to allow theora files to not be
a28c6c4c 618 transcoded as well.
6e2dcbff
CAW
619
620* Per-user license preference option; always want your uploads to be
621 BY-SA and tired of changing that field? You can now set your
622 license preference in your user settings.
623
624* Video player now responsive; better for mobile!
625
70177c1f
CAW
626* You can now delete your account from the user preferences page if
627 you so wish.
628
a28c6c4c 629**Other changes**
8d19cb24 630
b0c8328e
SS
631* Plugin writers: Internal restructuring led to mediagoblin.db.sql* be
632 mediagoblin.db.* starting from 0.3.3
633
6e2dcbff
CAW
634* Dependency list has been reduced not requiring the "webob" package anymore.
635
636* And many small fixes/improvements, too numerous to list!
637
8d19cb24 638
cacb6fea
SS
6390.3.2
640=====
641
642This will be the last release that is capable of converting from an earlier
643MongoDB-based MediaGoblin instance to the newer SQL-based system.
644
1f01df1d
CAW
645**Do this to upgrade**
646
42ce372e
ML
647 # directory of your mediagoblin install
648 cd /srv/mediagoblin.example.org
649
650 # copy source for this release
651 git fetch
652 git checkout tags/v0.3.2
653
654 # perform any needed database updates
655 bin/gmg dbupdate
656
657 # restart your servers however you do that, e.g.,
658 sudo service mediagoblin-paster restart
659 sudo service mediagoblin-celeryd restart
1f01df1d 660
cacb6fea
SS
661
662**New features**
663
1f01df1d
CAW
664* **3d model support!**
665
666 You can now upload STL and OBJ files and display them in
667 MediaGoblin. Requires a recent-ish Blender; for details see:
668 :ref:`deploying-chapter`
cacb6fea
SS
669
670* **trim_whitespace**
671
672 We bundle the optional plugin trim_whitespace which reduces the size
673 of the delivered html output by reducing redundant whitespace.
674
675 See :ref:`core-plugin-section` for plugin documentation
676
1f01df1d
CAW
677* **A new API!**
678
679 It isn't well documented yet but we do have an API. There is an
680 `android application in progress <https://gitorious.org/mediagoblin/mediagoblin-android>`_
681 which makes use of it, and there are some demo applications between
682 `automgtic <https://github.com/jwandborg/automgtic>`_, an
683 automatic media uploader for your desktop
684 and `OMGMG <https://github.com/jwandborg/omgmg>`_, an example of
685 a web application hooking up to the API.
686
687 This is a plugin, so you have to enable it in your mediagoblin
688 config file by adding a section under [plugins] like::
689
690 [plugins]
691 [[mediagoblin.plugins.api]]
692
693 Note that the API works but is not nailed down... the way it is
694 called may change in future releases.
695
696* **OAuth login support**
697
698 For applications that use OAuth to connect to the API.
699
700 This is a plugin, so you have to enable it in your mediagoblin
701 config file by adding a section under [plugins] like::
702
703 [plugins]
704 [[mediagoblin.plugins.oauth]]
705
706* **Collections**
707
708 We now have user-curated collections support. These are arbitrary
709 galleries that are customizable by users. You can add media to
710 these by clicking on the paperclip icon when logged in and looking
711 at a media entry.
712
713* **OpenStreetMap licensing display improvements**
714
715 More accurate display of OSM licensing, and less disruptive: you
716 click to "expand" the display of said licensing.
717
718 Geolocation is also now on by default.
719
720* **Miscelaneous visual improvements**
721
722 We've made a number of small visual improvements including newer and
723 nicer looking thumbnails and improved checkbox placement.
724
725
5be6425c 726
3a438f5e
WKG
7270.3.1
728=====
729
9e579cde
WKG
730**Do this to upgrade**
731
7321. Make sure to run ``bin/gmg dbuptdate`` after upgrading.
733
7342. If you set up your server config with an older version of
735 mediagoblin and the mediagoblin docs, it's possible you don't
736 have the "theme static files" alias, so double check to make
737 sure that section is there if you are having problems.
738
739
740
741**New features**
742
743* **theming support**
744
745 MediaGoblin now also includes theming support, which you can
746 read about in the section :ref:`theming-chapter`.
747
748* **flatpages**
749
750 MediaGoblin has a flatpages plugin allowing you to add pages that
751 are aren't media-related like "About this site...", "Terms of
752 service...", etc.
753
754 See :ref:`core-plugin-section` for plugin documentation
3a438f5e
WKG
755
756
6e930791
CAW
7570.3.0
758=====
5be6425c
E
759
760This release has one important change. You need to act when
761upgrading from a previous version!
762
763This release changes the database system from MongoDB to
764SQL(alchemy). If you want to setup a fresh instance, just
765follow the instructions in the deployment chapter. If on
766the other hand you want to continue to use one instance,
767read on.
768
dce37922 769To convert your data from MongoDB to SQL(alchemy), you need
5be6425c
E
770to follow these steps:
771
7721. Make sure your MongoDB is still running and has your
773 data, it's needed for the conversion.
774
abe74178
WKG
7752. Configure the ``sql_engine`` URI in the config to represent
776 your target database (see: :ref:`deploying-chapter`)
5be6425c
E
777
7783. You need an empty database.
779
7804. Then run the following command::
781
abe74178 782 bin/gmg [-cf mediagoblin_config.ini] convert_mongo_to_sql
5be6425c
E
783
7845. Start your server and investigate.
785
7866. That's it.