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