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