Commit | Line | Data |
---|---|---|
5be6425c E |
1 | .. MediaGoblin Documentation |
2 | ||
3 | Written in 2012 by MediaGoblin contributors | |
4 | ||
5 | To the extent possible under law, the author(s) have dedicated all | |
6 | copyright and related and neighboring rights to this software to | |
7 | the public domain worldwide. This software is distributed without | |
8 | any warranty. | |
9 | ||
10 | You should have received a copy of the CC0 Public Domain | |
11 | Dedication along with this software. If not, see | |
12 | <http://creativecommons.org/publicdomain/zero/1.0/>. | |
13 | ||
b21220e9 CAW |
14 | .. _release-notes: |
15 | ||
5be6425c E |
16 | ============= |
17 | Release Notes | |
18 | ============= | |
19 | ||
20 | This chapter has important information for releases in it. | |
21 | If you're upgrading from a previous release, please read it | |
22 | carefully, or at least skim over it. | |
23 | ||
a35b7c7f CAW |
24 | .. note:: |
25 | ||
26 | ALWAYS do backups before upgrading, especially before | |
27 | running migrations! That way if something goes wrong, we can fix | |
28 | things! | |
29 | ||
9650aa39 | 30 | And be sure to shut down your current MediaGoblin/Celery processes |
a35b7c7f CAW |
31 | before upgrading! |
32 | ||
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 | ||
7ab8ca61 | 39 | git remote set-url origin https://git.savannah.gnu.org/git/mediagoblin.git |
50c6dc2b | 40 | |
3ae23712 | 41 | |
6686502f CAW |
42 | 0.9.0 |
43 | ===== | |
44 | ||
45 | This release has a number of improvements, but is also a major | |
46 | "plumbing upgrade" release to MediaGoblin. Notably, we now support | |
47 | Python 3, which is pretty cool! | |
48 | ||
49 | **Do this to upgrade** | |
50 | ||
51 | 0. If you haven't already, switch the git remote URL: | |
7ab8ca61 | 52 | ``git remote set-url origin https://git.savannah.gnu.org/git/mediagoblin.git`` |
6686502f CAW |
53 | 1. Update to the latest release. If checked out from git, run: |
54 | ``git fetch && git checkout -q v0.9.0`` | |
55 | 2. Run | |
56 | ``./bootstrap.sh && ./configure && make`` | |
57 | 3. 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 |
83 | 0.8.1 |
84 | ===== | |
85 | ||
86 | This release is a security and bugfix release. We recommend you upgrade as | |
87 | soon as possible. | |
88 | ||
89 | **Do this to upgrade** | |
90 | ||
91 | 0. If you haven't already, switch the git remote URL: | |
7ab8ca61 | 92 | ``git remote set-url origin https://git.savannah.gnu.org/git/mediagoblin.git`` |
9b9c04e6 CAW |
93 | 1. Update to the latest release. If checked out from git, run: |
94 | ``git fetch && git checkout -q v0.8.1`` | |
95 | 2. Run | |
96 | ``./bootstrap.sh && ./configure && make`` | |
97 | 3. 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 | |
101 | 0.8.0) | |
102 | ||
103 | **Bugfixes/improvements:** | |
104 | ||
105 | Most importantly, there is an **important security fix**: | |
106 | ||
107 | Quoting 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 | ||
133 | There are other bugfixes, but they are fairly minor. | |
134 | ||
135 | ||
a87db7f5 CAW |
136 | 0.8.0 |
137 | ===== | |
138 | ||
139 | This release has a number of changes related to the way we recommend | |
140 | building MediaGoblin; upgrade steps are below, but if you run into | |
141 | trouble, consider pinging the MediaGoblin list or IRC channel. | |
142 | ||
143 | **Do this to upgrade** | |
144 | ||
11199c31 | 145 | 0. If you haven't already, switch the git remote URL: |
7ab8ca61 | 146 | ``git remote set-url origin https://git.savannah.gnu.org/git/mediagoblin.git`` |
3169dde0 CAW |
147 | 1. 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!) | |
152 | 2. Update to the latest release. If checked out from git, run: | |
6adee95a | 153 | ``git fetch && git checkout -q v0.8.0`` |
3169dde0 | 154 | 3. Run |
a87db7f5 | 155 | ``./bootstrap.sh && ./configure && make`` |
3169dde0 | 156 | 4. Also run |
a87db7f5 CAW |
157 | ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate`` |
158 | ||
c2382bd4 CAW |
159 | Please note the important steps of 0 and 2, which have not appeared in |
160 | prior upgrade guides! | |
a87db7f5 CAW |
161 | |
162 | Additionally: | |
163 | ||
164 | - Are you using audio or video media types? In that case, you'll need | |
9650aa39 | 165 | to update your GStreamer instance to 1.0. |
a87db7f5 | 166 | - The Pump API needs some data passed through to the WSGI application, |
9650aa39 | 167 | so if you are using Apache with mod_wsgi you should be sure to make |
a87db7f5 | 168 | sure to add "WSGIPassAuthorization On" to your config. (Using the |
9650aa39 | 169 | default MediaGoblin documentation and config, things should work |
a87db7f5 CAW |
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 | |
9650aa39 | 184 | - Moved to GStreamer 1.0! This also adds a new thumbnailer which |
a87db7f5 | 185 | gives much better results in |
9650aa39 | 186 | - Removed terrible check-JavaScript-dependencies-into-your-application |
a87db7f5 CAW |
187 | setup, now using Bower for dependency tracking |
188 | - Put some scaffolding in place for Alembic, which will be used for | |
9650aa39 | 189 | future migration work |
a87db7f5 CAW |
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 |
196 | 0.7.1 |
197 | ===== | |
198 | ||
199 | This is a purely bugfix release. Important changes happened since | |
200 | 0.7.0; if running MediaGoblin 0.7.0, an upgrade is highly recommended; | |
201 | see below. This release is especially useful if you have been running | |
9650aa39 | 202 | PostgreSQL and have been receiving seemingly random database transaction |
be1dfb99 CAW |
203 | errors. |
204 | ||
205 | **Do this to upgrade** | |
206 | ||
207 | 1. 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`` | |
209 | 2. Make sure to run | |
210 | ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate`` | |
211 | ||
212 | That'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 | |
9650aa39 | 223 | MediaGoblin startup" feature |
b95d06f6 | 224 | + Disabled the garbage collection stuff by default for now |
9650aa39 | 225 | (You can set garbage_collection under the config MediaGoblin |
be1dfb99 CAW |
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 | |
9650aa39 | 234 | - Fixed Unicode error with raw image mediatype logging |
be1dfb99 | 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 | 243 | 0.7.0 |
2757e76c | 244 | ===== |
3b56b277 CAW |
245 | |
246 | **Do this to upgrade** | |
247 | ||
248 | 1. 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 |
250 | 2. 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 | |
255 | these instructions and your theme looks weirdly aligned, try running | |
256 | the following:) | |
257 | ||
258 | ``git submodule init && git submodule update`` | |
259 | ||
3b56b277 CAW |
260 | That'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 | ||
9650aa39 | 271 | - Metadata features! We also now have a JSON-LD context. |
3b56b277 CAW |
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. | |
9650aa39 | 286 | - Speaking of, the call to PostgreSQL in the makefile is fixed. |
3b56b277 CAW |
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, | |
9650aa39 | 313 | but existent!) RTL language support! |
3b56b277 CAW |
314 | |
315 | **Known issues:** | |
9650aa39 | 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 |
322 | 0.6.1 |
323 | ===== | |
324 | ||
325 | This is a short, bugfix release. | |
326 | ||
327 | **Do this to upgrade** | |
328 | ||
329 | 1. Update to the latest release. If checked out from git, run: | |
330 | ``git fetch && git checkout -q v0.6.1`` | |
331 | 2. Make sure to run | |
332 | ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate`` | |
333 | ||
334 | This release switches the default terms of service to be off by | |
335 | default and corrects some mistakes in the default terms of service. | |
336 | ||
337 | Turning the terms of service on is very easy, just set ``show_tos`` in | |
338 | the ``[mediagoblin]`` section of your config to ``true``. | |
339 | ||
340 | ||
2691bfe1 CAW |
341 | 0.6.0 |
342 | ===== | |
343 | ||
344 | **Do this to upgrade** | |
345 | ||
29166813 CAW |
346 | 1. Update to the latest release. If checked out from git, run: |
347 | ``git fetch && git checkout -q v0.6.0`` | |
348 | 2. Make sure to run | |
2691bfe1 | 349 | ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate`` |
2691bfe1 | 350 | |
29166813 | 351 | That'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 | ||
355 | This tool has a lot of new tools for administrators, hence the | |
356 | nickname "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 | ||
9650aa39 | 363 | You can set this with the following options in your MediaGoblin |
2691bfe1 CAW |
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 | ||
9650aa39 | 371 | - MediaGoblin now contains an authentication plugin for LDAP! You |
2691bfe1 CAW |
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 | ||
398 | Developer-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 |
411 | 0.5.1 |
412 | ===== | |
413 | ||
414 | v0.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 |
422 | 0.5.0 |
423 | ===== | |
424 | ||
abff297c | 425 | **NOTE:** If using the API is important to you, we're in a state of |
9650aa39 BS |
426 | transition towards a new API via the Pump API. As such, though the old |
427 | API still probably works, some changes have happened to the way OAuth | |
abff297c CAW |
428 | works to make it more Pump-compatible. If you're heavily using |
429 | clients using the old API, you may wish to hold off on upgrading for | |
430 | now. Otherwise, jump in and have fun! :) | |
431 | ||
a126ef4d RE |
432 | **Do this to upgrade** |
433 | ||
434 | 1. 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 | ||
440 | 2. 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 | ||
447 | 3. 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 | |
452 | If 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. | |
9650aa39 BS |
472 | * New OAuth code as we move closer to federation support. |
473 | * Experimental pyconfigure support for GNU-style configure and makefile | |
a126ef4d RE |
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. | |
9650aa39 | 478 | * Fixes for non-ASCII filenames. |
a126ef4d | 479 | * The option to stay logged in. |
9650aa39 | 480 | * MediaGoblin has been upgraded to use the latest `Celery <http://celeryproject.org/>`_ |
a126ef4d RE |
481 | version. |
482 | * You can now add jinja2 extensions to your config file to use in custom | |
483 | templates. | |
484 | * Fixed video permission issues. | |
9650aa39 BS |
485 | * MediaGoblin docs are now hosted with multiple versions. |
486 | * We removed redundant tooltips from the STL media display. | |
a126ef4d RE |
487 | * We are now using itsdangerous for verification tokens. |
488 | ||
489 | ||
bed9ad06 CAW |
490 | 0.4.1 |
491 | ===== | |
492 | ||
493 | This is a bugfix release for 0.4.0. This only implements one major | |
494 | fix in the newly released document support which prevented the | |
495 | "conversion via libreoffice" feature. | |
496 | ||
497 | If you were running 0.4.0 you can upgrade to v0.4.1 via a simple | |
9650aa39 | 498 | switch and restarting MediaGoblin/Celery with no other actions. |
bed9ad06 | 499 | |
d3b1fd2e CAW |
500 | Otherwise, follow 0.4.0 instructions. |
501 | ||
bed9ad06 | 502 | |
8ca51d32 CAW |
503 | 0.4.0 |
504 | ===== | |
505 | ||
24ede044 | 506 | **Do this to upgrade** |
a66fbf97 | 507 | |
5622cc44 CAW |
508 | 1. Make sure to run |
509 | ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate`` | |
510 | after upgrading. | |
24ede044 CAW |
511 | 2. See "For Theme authors" if you have a custom theme. |
512 | 3. 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. | |
515 | 4. 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" | |
9650aa39 | 517 | section to your Nginx config. Basically the following for Nginx:: |
24ede044 CAW |
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. | |
527 | 5. 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 | 530 | 6. 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 | ||
536 | If you have your own theme or you have any "user modified templates", | |
537 | please 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 | |
9650aa39 | 560 | handle issues with SQLAlchemy exploding with different database |
51702d5b CAW |
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 | 566 | 0.3.3 |
8d19cb24 SS |
567 | ===== |
568 | ||
6e2dcbff CAW |
569 | **Do this to upgrade** |
570 | ||
571 | 1. Make sure to run ``bin/gmg dbupdate`` after upgrading. | |
572 | 2. 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 | |
580 | If you have your own theme, you may need to make some adjustments to | |
a28c6c4c CAW |
581 | it as some theme related things may have changed in this release. If |
582 | you 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 | ||
9650aa39 | 590 | * Significantly improved URL generation. Now MediaGoblin won't give |
6e2dcbff CAW |
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. | |
9650aa39 | 598 | The only URLs that might break in this release are ones using colons |
6e2dcbff CAW |
599 | or equal signs. |
600 | ||
601 | * New template hooks for plugin authoring. | |
602 | ||
603 | * As a demonstration of new template hooks for plugin authoring, | |
9650aa39 | 604 | OpenStreetMap support now moved to a plugin! |
6e2dcbff | 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 | |
9650aa39 | 615 | criteria. By default, MediaGoblin will not transcode WebM videos |
fda5ea7a | 616 | that are smaller in resolution than the MediaGoblin defaults, and |
9650aa39 | 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 |
639 | 0.3.2 |
640 | ===== | |
641 | ||
642 | This will be the last release that is capable of converting from an earlier | |
643 | MongoDB-based MediaGoblin instance to the newer SQL-based system. | |
644 | ||
1f01df1d CAW |
645 | **Do this to upgrade** |
646 | ||
9650aa39 | 647 | # directory of your MediaGoblin install |
42ce372e ML |
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 | |
9650aa39 | 667 | MediaGoblin. Requires a recent Blender; for details see: |
1f01df1d | 668 | :ref:`deploying-chapter` |
cacb6fea SS |
669 | |
670 | * **trim_whitespace** | |
671 | ||
672 | We bundle the optional plugin trim_whitespace which reduces the size | |
9650aa39 | 673 | of the delivered HTML output by reducing redundant whitespace. |
cacb6fea SS |
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 | ||
9650aa39 | 687 | This is a plugin, so you have to enable it in your MediaGoblin |
1f01df1d CAW |
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 | ||
9650aa39 | 700 | This is a plugin, so you have to enable it in your MediaGoblin |
1f01df1d CAW |
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 | ||
9650aa39 | 720 | * **Miscellaneous visual improvements** |
1f01df1d CAW |
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 |
727 | 0.3.1 |
728 | ===== | |
729 | ||
9e579cde WKG |
730 | **Do this to upgrade** |
731 | ||
732 | 1. Make sure to run ``bin/gmg dbuptdate`` after upgrading. | |
733 | ||
734 | 2. If you set up your server config with an older version of | |
9650aa39 | 735 | MediaGoblin and the MediaGoblin docs, it's possible you don't |
9e579cde WKG |
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 |
757 | 0.3.0 |
758 | ===== | |
5be6425c E |
759 | |
760 | This release has one important change. You need to act when | |
761 | upgrading from a previous version! | |
762 | ||
763 | This release changes the database system from MongoDB to | |
764 | SQL(alchemy). If you want to setup a fresh instance, just | |
765 | follow the instructions in the deployment chapter. If on | |
766 | the other hand you want to continue to use one instance, | |
767 | read on. | |
768 | ||
dce37922 | 769 | To convert your data from MongoDB to SQL(alchemy), you need |
5be6425c E |
770 | to follow these steps: |
771 | ||
772 | 1. Make sure your MongoDB is still running and has your | |
773 | data, it's needed for the conversion. | |
774 | ||
abe74178 WKG |
775 | 2. Configure the ``sql_engine`` URI in the config to represent |
776 | your target database (see: :ref:`deploying-chapter`) | |
5be6425c E |
777 | |
778 | 3. You need an empty database. | |
779 | ||
780 | 4. Then run the following command:: | |
781 | ||
abe74178 | 782 | bin/gmg [-cf mediagoblin_config.ini] convert_mongo_to_sql |
5be6425c E |
783 | |
784 | 5. Start your server and investigate. | |
785 | ||
786 | 6. That's it. |