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