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