Actually link to the script
[mediagoblin.git] / docs / source / siteadmin / relnotes.rst
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
14 .. _release-notes:
15
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
24
25 0.5.0
26 =====
27
28 **NOTE:** If using the API is important to you, we're in a state of
29 ransition towards a new API via the Pump API. As such, though the old
30 API still probably works, some changes have happened to the way oauth
31 works to make it more Pump-compatible. If you're heavily using
32 clients using the old API, you may wish to hold off on upgrading for
33 now. Otherwise, jump in and have fun! :)
34
35 **Do this to upgrade**
36
37 1. Make sure to run
38 ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate``
39 after upgrading.
40
41 .. mention something about new, experimental configure && make support
42
43 2. Note that a couple of things have changed with ``mediagoblin.ini``. First
44 we have a new Authentication System. You need to add
45 ``[[mediagoblin.plugins.basic_auth]]`` under the ``[plugins]`` section of
46 your config file. Second, media types are now plugins, so you need to add
47 each media type under the ``[plugins]`` section of your config file.
48
49
50 3. We have made a script to transition your ``mediagoblin_local.ini`` file for
51 you. This script can be found at:
52
53 http://mediagoblin.org/download/0.5.0_config_converter.py
54
55 If you run into problems, don't hesitate to
56 `contact us <http://mediagoblin.org/pages/join.html>`_
57 (IRC is often best).
58
59 **New features**
60
61 * As mentioned above, we now have a plugable Authentication system. You can
62 use any combination of the multiple authentication systems
63 (:ref:`basic_auth-chapter`, :ref:`persona-chapter`, :ref:`openid-chapter`)
64 or write your own!
65 * Media types are now plugins! This means that new media types will
66 be able to do new, fancy things they couldn't in the future.
67 * We now have notification support! This allows you to subscribe to media
68 comments and to be notified when someone comments on your media.
69 * New reprocessing framework! You can now reprocess failed uploads, and
70 send already processed media back to processing to re-transcode or resize
71 media.
72 * Comment preview!
73 * Users now have the ability to change their email associated with their
74 account.
75 * New oauth code as we move closer to federation support.
76 * Experimental pyconfigure support for GNU-style configue and makefile
77 deployment.
78 * Database foundations! You can now pre-populate the database models.
79 * Way faster unit test run-time via in-memory database.
80 * All mongokit stuff has been cleaned up.
81 * Fixes for non-ascii filenames.
82 * The option to stay logged in.
83 * Mediagoblin has been upgraded to use the latest `celery <http://celeryproject.org/>`_
84 version.
85 * You can now add jinja2 extensions to your config file to use in custom
86 templates.
87 * Fixed video permission issues.
88 * Mediagoblin docs are now hosted with multiple versions.
89 * We removed redundent tooltips from the STL media display.
90 * We are now using itsdangerous for verification tokens.
91
92
93 0.4.1
94 =====
95
96 This is a bugfix release for 0.4.0. This only implements one major
97 fix in the newly released document support which prevented the
98 "conversion via libreoffice" feature.
99
100 If you were running 0.4.0 you can upgrade to v0.4.1 via a simple
101 switch and restarting mediagoblin/celery with no other actions.
102
103 Otherwise, follow 0.4.0 instructions.
104
105
106 0.4.0
107 =====
108
109 **Do this to upgrade**
110
111 1. Make sure to run
112 ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate``
113 after upgrading.
114 2. See "For Theme authors" if you have a custom theme.
115 3. Note that ``./bin/gmg theme assetlink`` is now just
116 ``./bin/gmg assetlink`` and covers both plugins and assets.
117 Keep on reading to hear more about new plugin features.
118 4. If you want to take advantage of new plugins that have statically
119 served assets, you are going to need to add the new "plugin_static"
120 section to your nginx config. Basically the following for nginx::
121
122 # Plugin static files (usually symlinked in)
123 location /plugin_static/ {
124 alias /srv/mediagoblin.example.org/mediagoblin/user_dev/plugin_static/;
125 }
126
127 Similarly, if you've got a modified paste config, you may want to
128 borrow the app:plugin_static section from the default paste.ini
129 file.
130 5. We now use itsdangerous for sessions; if you had any references to
131 beaker in your paste config you can remove them. Again, see the
132 default paste.ini config
133 6. We also now use git submodules. Please do:
134 ``git submodule init && git submodule update``
135 You will need to do this to use the new PDF support.
136
137 **For theme authors**
138
139 If you have your own theme or you have any "user modified templates",
140 please note the following:
141
142 * mediagoblin/bits/ files above-content.html, body-end.html,
143 body-start.html now are renamed... they have underscores instead of
144 dashes in the filenames now :)
145 * There's a new file: ``mediagoblin/bits/frontpage_welcome.html``.
146 You can easily customize this to give a welcome page appropriate to
147 your site.
148
149
150 **New features**
151
152 * PDF media type!
153 * Improved plugin system. More flexible, better documented, with a
154 new plugin authoring section of the docs.
155 * itsdangerous based sessions. No more beaker!
156 * New, experimental Piwigo-based API. This means you should be able
157 to use MediaGoblin with something like Shotwell. (Again, a word of
158 caution: this is *very experimental*!)
159 * Human readable timestamps, and the option to display the original
160 date of an image when available (available as the
161 "original_date_visible" variable)
162 * Moved unit testing system from nosetests to py.test so we can better
163 handle issues with sqlalchemy exploding with different database
164 configurations. Long story :)
165 * You can now disable the ability to post comments.
166 * Tags now can be up to length 255 characters by default.
167
168
169 0.3.3
170 =====
171
172 **Do this to upgrade**
173
174 1. Make sure to run ``bin/gmg dbupdate`` after upgrading.
175 2. OpenStreetMap is now a plugin, so if you want to use it, add the
176 following to your config file:
177
178 .. code-block:: ini
179
180 [plugins]
181 [[mediagoblin.plugins.geolocation]]
182
183 If you have your own theme, you may need to make some adjustments to
184 it as some theme related things may have changed in this release. If
185 you run into problems, don't hesitate to
186 `contact us <http://mediagoblin.org/pages/join.html>`_
187 (IRC is often best).
188
189 **New features**
190
191 * New dropdown menu for accessing various features.
192
193 * Significantly improved URL generation. Now mediagoblin won't give
194 up on making a slug if it looks like there will be a duplicate;
195 it'll try extra hard to generate a meaningful one instead.
196
197 Similarly, linking to an id no longer can possibly conflict with
198 linking to a slug; /u/username/m/id:35/ is the kind of reference we
199 now use to linking to entries with ids. However, old links with
200 entries that linked to ids should work just fine with our migration.
201 The only urls that might break in this release are ones using colons
202 or equal signs.
203
204 * New template hooks for plugin authoring.
205
206 * As a demonstration of new template hooks for plugin authoring,
207 openstreetmap support now moved to a plugin!
208
209 * Method to add media to collections switched from icon of paperclip
210 to button with "add to collection" text.
211
212 * Bug where videos often failed to produce a proper thumbnail fixed!
213
214 * Copying around files in MediaGoblin now much more efficient, doesn't
215 waste gobs of memory.
216
217 * Video transcoding now optional for videos that meet certain
218 criteria. By default, MediaGoblin will not transcode webm videos
219 that are smaller in resolution than the MediaGoblin defaults, and
220 MediaGoblin can also be configured to allow theora files to not be
221 transcoded as well.
222
223 * Per-user license preference option; always want your uploads to be
224 BY-SA and tired of changing that field? You can now set your
225 license preference in your user settings.
226
227 * Video player now responsive; better for mobile!
228
229 * You can now delete your account from the user preferences page if
230 you so wish.
231
232 **Other changes**
233
234 * Plugin writers: Internal restructuring led to mediagoblin.db.sql* be
235 mediagoblin.db.* starting from 0.3.3
236
237 * Dependency list has been reduced not requiring the "webob" package anymore.
238
239 * And many small fixes/improvements, too numerous to list!
240
241
242 0.3.2
243 =====
244
245 This will be the last release that is capable of converting from an earlier
246 MongoDB-based MediaGoblin instance to the newer SQL-based system.
247
248 **Do this to upgrade**
249
250 # directory of your mediagoblin install
251 cd /srv/mediagoblin.example.org
252
253 # copy source for this release
254 git fetch
255 git checkout tags/v0.3.2
256
257 # perform any needed database updates
258 bin/gmg dbupdate
259
260 # restart your servers however you do that, e.g.,
261 sudo service mediagoblin-paster restart
262 sudo service mediagoblin-celeryd restart
263
264
265 **New features**
266
267 * **3d model support!**
268
269 You can now upload STL and OBJ files and display them in
270 MediaGoblin. Requires a recent-ish Blender; for details see:
271 :ref:`deploying-chapter`
272
273 * **trim_whitespace**
274
275 We bundle the optional plugin trim_whitespace which reduces the size
276 of the delivered html output by reducing redundant whitespace.
277
278 See :ref:`core-plugin-section` for plugin documentation
279
280 * **A new API!**
281
282 It isn't well documented yet but we do have an API. There is an
283 `android application in progress <https://gitorious.org/mediagoblin/mediagoblin-android>`_
284 which makes use of it, and there are some demo applications between
285 `automgtic <https://github.com/jwandborg/automgtic>`_, an
286 automatic media uploader for your desktop
287 and `OMGMG <https://github.com/jwandborg/omgmg>`_, an example of
288 a web application hooking up to the API.
289
290 This is a plugin, so you have to enable it in your mediagoblin
291 config file by adding a section under [plugins] like::
292
293 [plugins]
294 [[mediagoblin.plugins.api]]
295
296 Note that the API works but is not nailed down... the way it is
297 called may change in future releases.
298
299 * **OAuth login support**
300
301 For applications that use OAuth to connect to the API.
302
303 This is a plugin, so you have to enable it in your mediagoblin
304 config file by adding a section under [plugins] like::
305
306 [plugins]
307 [[mediagoblin.plugins.oauth]]
308
309 * **Collections**
310
311 We now have user-curated collections support. These are arbitrary
312 galleries that are customizable by users. You can add media to
313 these by clicking on the paperclip icon when logged in and looking
314 at a media entry.
315
316 * **OpenStreetMap licensing display improvements**
317
318 More accurate display of OSM licensing, and less disruptive: you
319 click to "expand" the display of said licensing.
320
321 Geolocation is also now on by default.
322
323 * **Miscelaneous visual improvements**
324
325 We've made a number of small visual improvements including newer and
326 nicer looking thumbnails and improved checkbox placement.
327
328
329
330 0.3.1
331 =====
332
333 **Do this to upgrade**
334
335 1. Make sure to run ``bin/gmg dbuptdate`` after upgrading.
336
337 2. If you set up your server config with an older version of
338 mediagoblin and the mediagoblin docs, it's possible you don't
339 have the "theme static files" alias, so double check to make
340 sure that section is there if you are having problems.
341
342
343
344 **New features**
345
346 * **theming support**
347
348 MediaGoblin now also includes theming support, which you can
349 read about in the section :ref:`theming-chapter`.
350
351 * **flatpages**
352
353 MediaGoblin has a flatpages plugin allowing you to add pages that
354 are aren't media-related like "About this site...", "Terms of
355 service...", etc.
356
357 See :ref:`core-plugin-section` for plugin documentation
358
359
360 0.3.0
361 =====
362
363 This release has one important change. You need to act when
364 upgrading from a previous version!
365
366 This release changes the database system from MongoDB to
367 SQL(alchemy). If you want to setup a fresh instance, just
368 follow the instructions in the deployment chapter. If on
369 the other hand you want to continue to use one instance,
370 read on.
371
372 To convert your data from MongoDB to SQL(alchemy), you need
373 to follow these steps:
374
375 1. Make sure your MongoDB is still running and has your
376 data, it's needed for the conversion.
377
378 2. Configure the ``sql_engine`` URI in the config to represent
379 your target database (see: :ref:`deploying-chapter`)
380
381 3. You need an empty database.
382
383 4. Then run the following command::
384
385 bin/gmg [-cf mediagoblin_config.ini] convert_mongo_to_sql
386
387 5. Start your server and investigate.
388
389 6. That's it.