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