Commit | Line | Data |
---|---|---|
5be6425c E |
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 | ||
b21220e9 CAW |
14 | .. _release-notes: |
15 | ||
5be6425c E |
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 | ||
a35b7c7f CAW |
24 | .. note:: |
25 | ||
26 | ALWAYS do backups before upgrading, especially before | |
27 | running migrations! That way if something goes wrong, we can fix | |
28 | things! | |
29 | ||
9650aa39 | 30 | And be sure to shut down your current MediaGoblin/Celery processes |
a35b7c7f CAW |
31 | before upgrading! |
32 | ||
3ae23712 | 33 | |
e77430eb BS |
34 | 0.10.0 |
35 | ====== | |
9d1bb738 | 36 | |
e77430eb BS |
37 | This release includes video subtitles and multiple video qualities and a swathe |
38 | of smaller improvements and bug-fixes listed below. | |
9d1bb738 | 39 | |
7e10cdde BS |
40 | Python 3 is now the default when you install MediaGoblin and is strongly |
41 | recommended. Python 2 installation is still supported in this release with | |
42 | `./configure --without-python3`, but support will likely be removed in the next | |
43 | release. | |
9d1bb738 | 44 | |
e77430eb BS |
45 | FastCGI support has now been deprecated and removed from the documentation as |
46 | our dependency `flup` does not support Python 3. | |
9d1bb738 | 47 | |
e77430eb | 48 | **Upgrade (already on Python 3):** |
464a5d7f | 49 | |
9d1bb738 BS |
50 | 0. Update to the latest release. In your ``mediagoblin`` directory, run: |
51 | ``git fetch && git checkout -q v0.10.0`` | |
e77430eb | 52 | 1. Upgrade MediaGoblin: |
9d1bb738 | 53 | ``./bootstrap.sh && ./configure && make`` |
e77430eb | 54 | 2. Update the database: |
9d1bb738 | 55 | ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate`` |
e77430eb | 56 | 3. Restart MediaGoblin |
9d1bb738 | 57 | |
e77430eb | 58 | **Upgrade (upgrading to Python 3):** |
9d1bb738 | 59 | |
7e10cdde BS |
60 | 0. Refer to the "Dependences" and "Configure PostgreSQL" sections of |
61 | ":doc:`deploying`" to install the necessary Python 3 dependencies. | |
62 | 1. Update to the latest release. In your ``mediagoblin`` directory, run: | |
e77430eb | 63 | ``git fetch && git checkout -q v0.10.0`` |
7e10cdde | 64 | 2. Remove your existing installation: |
e77430eb | 65 | ``rm -rf bin include lib lib64`` |
7e10cdde | 66 | 3. Upgrade MediaGoblin: |
e77430eb | 67 | ``./bootstrap.sh && ./configure && make`` |
7e10cdde BS |
68 | 4. Update the database: |
69 | ``./bin/gmg dbupdate`` | |
70 | 5. Restart MediaGoblin | |
9d1bb738 | 71 | |
7e10cdde | 72 | **Upgrade (remaining on Python 2 - not recommended):** |
16fbe852 | 73 | |
e77430eb BS |
74 | 0. Update to the latest release. In your ``mediagoblin`` directory, run: |
75 | ``git fetch && git checkout -q v0.10.0`` | |
7e10cdde | 76 | 1. Update the database: |
e77430eb | 77 | ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate`` |
7e10cdde | 78 | 2. Restart MediaGoblin |
e77430eb BS |
79 | |
80 | For detailed instructions on installing MediaGoblin, see ":doc:`deploying`". If | |
81 | you have any problems, please drop in to the `#mediagoblin IRC chat | |
82 | <https://webchat.freenode.net/#mediagoblin>`_, report an issue on our `issue | |
83 | tracker <https://issues.mediagoblin.org/>`_ or drop us an email to | |
84 | `mediagoblin-devel@gnu.org <mailto:mediagoblin-devel@gnu.org>`_. | |
85 | ||
86 | **Highlights:** | |
87 | ||
3d8cc5df BS |
88 | - New video subtitles plugin (Saksham Agrawal) see [mailing list post](https://lists.gnu.org/archive/html/mediagoblin-devel/2016-08/msg00002.html) |
89 | - Multiple video qualities (Vijeth Aradhya), see [blog post](https://vijetharadhya.wordpress.com/2017/08/24/gsoc-17-wrap-up-gnu-mediagoblin/) | |
e77430eb BS |
90 | |
91 | **Smaller improvements:** | |
92 | ||
93 | - Make the user panel default to open and remember preference in local storage (Matt Deal) | |
94 | - Use OSM tiles in Geolocation plugin (Olivier Mehani) | |
95 | - Add thumbnail image to Atom feed (Ben Sturmfels) | |
96 | - Add links in site-admin documentation foreword (Alexandre Franke) | |
97 | - Add media_titleinfo template hook (Andrew Browning) | |
98 | - Add video icon to collection thumbnail (Andrew Browning) | |
99 | - Use AJAX for posting comments (Vijeth Aradhya) | |
100 | - Show transcoding progress (Vijeth Aradhya) | |
101 | - Add collection option to 'addmedia' cli uploading (Stéphane Péchard) | |
102 | - Add creator to filter collections (Stéphane Péchard) | |
103 | - Add ARIA attributes to audio player (Boris Bobrov) | |
104 | - Remove tinymce from dependencies (Boris Bobrov) | |
105 | - Add register_captcha template hook (Andrew Browning) | |
106 | - Switch to rabbitmq by default and in docs (Boris Bobrov) | |
107 | - Log IP address for failed login (Andrew Browning) | |
108 | - Handle collection in batchaddmedia command (Simen Heggestøyl) | |
109 | - Allow API upload filename to be provided using custom header (Romain Porte) | |
110 | - Add tags in API (view them and edit them) (Romain Porte) | |
111 | - Remove use of mediagoblin_local.ini (Boris Bobrov) | |
112 | - EXIF rotation to make the image portrait on demand (chrysn) | |
113 | - Add moderation panel thumbnail header [#5563] (Andrew Browning) | |
114 | - Add Creative Commons 4.0 licenses [#955] (Dpg) | |
115 | - Add Python 2 & 3 Docker files for MediaGoblin hacking (Ben Sturmfels) | |
116 | - Add Python 3 docker-compose recipe for MediaGoblin hacking (Ben Sturmfels) | |
117 | - Add basic duplicate detection/prevention for batchaddmedia (Ben Sturmfels) | |
118 | - Add datetime_format config option (Olivier Mehani) | |
119 | - Extend install instructions for raven plugin (Ben Sturmfels) | |
120 | - Add visual feedback on link hover (Muto) | |
121 | - Document SSL/TLS SMTP options (Ben Sturmfels) | |
122 | - Remove flup and fastcgi from documentation (Michael Lynch) | |
123 | - Switch to Python 3 by default (Ben Sturmfels) | |
124 | - Add Python 2 deprecation warning [#5598] (Ben Sturmfels) | |
125 | - Review and update the deploment docs for Debian 10 and CentOS 8 [#5593] (Ben Sturmfels) | |
126 | ||
127 | **Bug fixes:** | |
128 | ||
129 | - Pass test paths to py.test via tox (Boris Bobrov) | |
130 | - Length check for login form (Jonathan Sandoval) | |
131 | - Add padding around form field labels (Josh Crompton) | |
132 | - Fix unhelpful SMTP error (Johnathan Sandoval) | |
133 | - Fix the blog_delete page for admins (宋文武) | |
134 | - Fix add_message inconsistencies [#5451] (Andrew Browning) | |
135 | - Handle no mail server configured (Jonathan Sandoval) | |
136 | - Fixed 'older' and 'newer' arrows for rtl locales (Leah Velleman) | |
137 | - Prevent erroring out in some cases of checking video metadata (Christopher Allan Webber) | |
138 | - Cleanup to avoid duplicated get_upload_file_limits [#928] (Loic Dachary) | |
139 | - Attempt to change email without login [#5462] (Andrew Browning) | |
140 | - Fix text wrapping on thumbnail (Matt Deal) | |
141 | - Modify setup.py version syntax to address #5464 (Andrew Browning) | |
142 | - Fix Python 3 support in pagination (Ben Sturmfels) | |
143 | - Fix typo in user processing panel (Andrew Browning) | |
144 | - Fix text overflow in media headings [#664] (Andrew Browning) | |
145 | - Removed line breaks around the verifier code (vijeth-aradhya) | |
146 | - Fix UnicodeEncodeError in atom feed [#5500] (Andrew Browning) | |
147 | - Commit session after alembic updates have finished (Boris Bobrov) | |
148 | - Add cascade to blog mediatype [#5308] (Robert Smith) | |
149 | - Remove mongodb-related stuff (Boris Bobrov) | |
150 | - Remove exif from blog posts [#830] (Andrew Browning) | |
151 | - Can't delete blog post drafts [#5513] (ayleph) | |
152 | - Fix add to Collection causes server error [#5514] (ayleph) | |
153 | - Fix zero division error in exif.py [#5524] (Andrew Browning) | |
154 | - Support Unicode characters in configuration values (Simen Heggestøyl) | |
155 | - Make admin panel headers readable in Airy theme (Simen Heggestøyl) | |
156 | - Port batchaddmedia command to Python 3 (Simen Heggestøyl) | |
157 | - Fix location of host-meta.xml file [#5543] (Andrew Browning) | |
158 | - Replaced /bin/celeryd by /bin/celery in lazycelery (Romain Porte) | |
159 | - Prevent video plugin from processing svg [#934] (Andrew Browning) | |
160 | - Process videos with incorrect date tags [#5409] (Andrew Browning) | |
161 | - Fix 2 errors in editor views (ĎÚβĨŐÚŚ Dod) | |
162 | - Fix server crash on blog about page [#5572] (Andrew Browning) | |
163 | - Fix default gmg help message (Boris Bobrov) | |
164 | - Remove requirement for the file to be with single dot in name (Boris Bobrov) | |
165 | - Fix auth error and simplify url and email checks (Boris Bobrov) | |
166 | - Finally fix url validator (Boris Bobrov) | |
167 | - Always guess the same filetype (Boris Bobrov) | |
168 | - Fix bulkupload documentation example (Ben Sturmfels) | |
169 | - Fix URL-based importing with batchaddmedia command (Ben Sturmfels) | |
170 | - Update metadata_display plugin for Python 3 (Ben Sturmfels) | |
171 | - Various Guix-related installation fixes/updates (Ben Sturmfels) | |
172 | - Even up top/bottom margins around header dropdown button (Ben Sturmfels) | |
173 | - Prevent warning when importing GstPbutils (Ben Sturmfels) | |
174 | - Pin werkzeug < 1.0.0, handle moved SharedDataMiddleware in werkzeug >= 0.15.0 (Ben Sturmfels) | |
175 | - Remove audio spectrograms due to instability and lack of Python 3 support (Ben Sturmfels) | |
176 | - Decode request.query_string before use (Ben Sturmfels) | |
177 | - Pin jinja2<3.0.0 due to use of f-strings (Ben Sturmfels) | |
178 | - Fix "KeyError: 'No such transport: sqlite. Did you mean sqla?'" in tests (Ben Sturmfels) | |
179 | - Unmute videos by default (Ben Sturmfels) | |
180 | - Properly quote --without-python3 in docs (#5596) (Ben Sturmfels) | |
181 | - Pin all Python 2 dependencies allowing patch version upgrades [#5595] (Ben Sturmfels) | |
182 | ||
183 | ||
9d1bb738 | 184 | |
6686502f CAW |
185 | 0.9.0 |
186 | ===== | |
187 | ||
188 | This release has a number of improvements, but is also a major | |
189 | "plumbing upgrade" release to MediaGoblin. Notably, we now support | |
190 | Python 3, which is pretty cool! | |
191 | ||
192 | **Do this to upgrade** | |
193 | ||
194 | 0. If you haven't already, switch the git remote URL: | |
7ab8ca61 | 195 | ``git remote set-url origin https://git.savannah.gnu.org/git/mediagoblin.git`` |
6686502f CAW |
196 | 1. Update to the latest release. If checked out from git, run: |
197 | ``git fetch && git checkout -q v0.9.0`` | |
198 | 2. Run | |
199 | ``./bootstrap.sh && ./configure && make`` | |
200 | 3. Also run | |
201 | ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate`` | |
202 | ||
203 | **Bugfixes/improvements:** | |
204 | ||
205 | - Python 3 is now a first class citizen! We now support both | |
206 | Python 2.7 and Python 3.4 or later. | |
207 | - Major updates to internal tooling to pave the way for federation. | |
4e284038 | 208 | |
6686502f CAW |
209 | - Massive overhaul to the database layout (particularly in |
210 | permitting generic relations) | |
211 | - OAuth updates | |
212 | - Updating how we handle collections | |
213 | - Add a "graveyard" system with tombstones for keeping information | |
214 | about removed objects | |
215 | - Large overhaul to how "comments" work. In federation, many things | |
216 | can reply to many things, so we had to loosen the model. | |
4e284038 | 217 | |
6686502f CAW |
218 | - If your user has some collections available, these will be presented |
219 | as a dropdown option while submitting media. | |
220 | - Begin using Alembic for migrations | |
221 | - Lots of bugfixes and etc | |
222 | - Many fixes to typos | |
223 | - Some fixes to the blog system | |
224 | - Switch to waitress for development | |
225 | - And more...! | |
226 | ||
227 | ||
9b9c04e6 CAW |
228 | 0.8.1 |
229 | ===== | |
230 | ||
231 | This release is a security and bugfix release. We recommend you upgrade as | |
232 | soon as possible. | |
233 | ||
234 | **Do this to upgrade** | |
235 | ||
236 | 0. If you haven't already, switch the git remote URL: | |
7ab8ca61 | 237 | ``git remote set-url origin https://git.savannah.gnu.org/git/mediagoblin.git`` |
9b9c04e6 CAW |
238 | 1. Update to the latest release. If checked out from git, run: |
239 | ``git fetch && git checkout -q v0.8.1`` | |
240 | 2. Run | |
241 | ``./bootstrap.sh && ./configure && make`` | |
242 | 3. Also run | |
243 | ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate`` | |
244 | ||
245 | (Please check intermediate release steps as well if not upgrading from | |
246 | 0.8.0) | |
247 | ||
248 | **Bugfixes/improvements:** | |
249 | ||
250 | Most importantly, there is an **important security fix**: | |
251 | ||
252 | Quoting here a portion of the | |
253 | `release blogpost <http://mediagoblin.org/news/mediagoblin-0.8.1-security-release.html>`_:: | |
254 | ||
255 | We have had a security problem in our OAuth implementation reported to | |
256 | us privately and have taken steps to address it. The security problem | |
ca3dd10e | 257 | affects all versions of GNU MediaGoblin since 0.5.0. I have created a patch |
9b9c04e6 CAW |
258 | for this and released a minor version 0.8.1. It's strongly advised |
259 | that everyone upgrade as soon as they can. | |
260 | ||
261 | In order to exploit the security issue, an attacker must have had | |
262 | access to a logged in session to your GNU MediaGoblin account. If you | |
263 | have kept your username and password secret, logging in only over | |
264 | HTTPS and you've not left yourself logged in on publicly accessible | |
265 | computers, you should be safe. However it's still advised all users | |
266 | take the following precautions, listed below. | |
267 | ||
268 | Users should check their authorized clients. Any client which looks | |
269 | unfamiliar to you, you should deauthorize. To check this: | |
270 | ||
271 | 1) Log in to the GNU MediaGoblin instance | |
272 | 2) Click the drop down arrow in the upper right | |
273 | 3) Click "Change account settings" | |
274 | 4) At the bottom click the "Deauthorize applications" link | |
275 | ||
276 | If you are unsure of any of these, click "Deauthorize". | |
277 | ||
278 | There are other bugfixes, but they are fairly minor. | |
279 | ||
280 | ||
a87db7f5 CAW |
281 | 0.8.0 |
282 | ===== | |
283 | ||
284 | This release has a number of changes related to the way we recommend | |
285 | building MediaGoblin; upgrade steps are below, but if you run into | |
286 | trouble, consider pinging the MediaGoblin list or IRC channel. | |
287 | ||
288 | **Do this to upgrade** | |
289 | ||
11199c31 | 290 | 0. If you haven't already, switch the git remote URL: |
7ab8ca61 | 291 | ``git remote set-url origin https://git.savannah.gnu.org/git/mediagoblin.git`` |
3169dde0 CAW |
292 | 1. If you don't have node.js installed, you'll need it for handling |
293 | MediaGoblin's static web dependencies. Install this via your | |
294 | distribution! (In the glorious future MediaGoblin will be simply | |
295 | packaged for your distribution so you won't have to worry about | |
296 | this!) | |
297 | 2. Update to the latest release. If checked out from git, run: | |
6adee95a | 298 | ``git fetch && git checkout -q v0.8.0`` |
3169dde0 | 299 | 3. Run |
a87db7f5 | 300 | ``./bootstrap.sh && ./configure && make`` |
3169dde0 | 301 | 4. Also run |
a87db7f5 CAW |
302 | ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate`` |
303 | ||
c2382bd4 CAW |
304 | Please note the important steps of 0 and 2, which have not appeared in |
305 | prior upgrade guides! | |
a87db7f5 CAW |
306 | |
307 | Additionally: | |
308 | ||
309 | - Are you using audio or video media types? In that case, you'll need | |
9650aa39 | 310 | to update your GStreamer instance to 1.0. |
a87db7f5 | 311 | - The Pump API needs some data passed through to the WSGI application, |
9650aa39 | 312 | so if you are using Apache with mod_wsgi you should be sure to make |
a87db7f5 | 313 | sure to add "WSGIPassAuthorization On" to your config. (Using the |
9650aa39 | 314 | default MediaGoblin documentation and config, things should work |
a87db7f5 CAW |
315 | as-is.) |
316 | ||
317 | ||
318 | **Bugfixes/improvements:** | |
319 | ||
320 | - Preliminary / experimental support for Python 3! | |
321 | - Footer forced to the bottom of page | |
322 | - Massive improvements to Pump API support | |
4e284038 | 323 | |
a87db7f5 CAW |
324 | - Able to run on multiple existing Pump clients! Including Pumpa |
325 | and Dianara! | |
4e284038 | 326 | |
a87db7f5 CAW |
327 | - much cleaner ./configure && make support; it's now the default |
328 | - Clearer documentation on permissions and installation | |
329 | - Switched from Transifex, which had become proprietary, to an | |
330 | instance of Pootle hosted for GNU | |
9650aa39 | 331 | - Moved to GStreamer 1.0! This also adds a new thumbnailer which |
a87db7f5 | 332 | gives much better results in |
9650aa39 | 333 | - Removed terrible check-JavaScript-dependencies-into-your-application |
a87db7f5 CAW |
334 | setup, now using Bower for dependency tracking |
335 | - Put some scaffolding in place for Alembic, which will be used for | |
9650aa39 | 336 | future migration work |
a87db7f5 CAW |
337 | - Automatically create a fresh mediagoblin.ini from |
338 | mediagoblin.ini.example | |
339 | - no more need for mediagoblin_local.ini (though it's still supported) | |
340 | - Fix lowercasing of username in auth steps | |
341 | - Slowly moving towards removing global state (a source of many bugs) | |
342 | ||
be1dfb99 CAW |
343 | 0.7.1 |
344 | ===== | |
345 | ||
346 | This is a purely bugfix release. Important changes happened since | |
347 | 0.7.0; if running MediaGoblin 0.7.0, an upgrade is highly recommended; | |
348 | see below. This release is especially useful if you have been running | |
9650aa39 | 349 | PostgreSQL and have been receiving seemingly random database transaction |
be1dfb99 CAW |
350 | errors. |
351 | ||
352 | **Do this to upgrade** | |
353 | ||
354 | 1. Update to the latest release. If checked out from git, run: | |
355 | ``git fetch && git checkout -q v0.7.1 && git submodule init && git submodule update`` | |
356 | 2. Make sure to run | |
357 | ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate`` | |
358 | ||
359 | That's it, probably! If you run into problems, don't hesitate to | |
360 | `contact us <http://mediagoblin.org/pages/join.html>`_ | |
361 | (IRC is often best). | |
362 | ||
363 | **Bugfixes/improvements:** | |
364 | ||
365 | - The *MOST IMPORTANT* change in this release: | |
b95d06f6 | 366 | Disabling a couple of non-critical features that were causing |
be1dfb99 | 367 | database transaction issues. (These should be back by 0.8.0.) |
b95d06f6 CAW |
368 | |
369 | + Disabled the "checking if the database is up to date at | |
9650aa39 | 370 | MediaGoblin startup" feature |
b95d06f6 | 371 | + Disabled the garbage collection stuff by default for now |
9650aa39 | 372 | (You can set garbage_collection under the config MediaGoblin |
be1dfb99 CAW |
373 | header to something other than 0 to turn it back on for now, but |
374 | it's potentially risky for the moment.) | |
b95d06f6 | 375 | |
be1dfb99 CAW |
376 | - Some fixes to the 0.7.0 docs |
377 | - Fixed Sandy 70s speedboat navbar by updating git submodule | |
378 | - Added support for cr2 files in raw_image media type | |
379 | - Added a description to setup.py | |
380 | - Collection and CollectionItem objects now have nicer in-python representations | |
9650aa39 | 381 | - Fixed Unicode error with raw image mediatype logging |
be1dfb99 | 382 | - Fixed #945 "Host metadata does not confirm to spec (/.well-known/meta-data)" |
b95d06f6 CAW |
383 | |
384 | + Add XRD+XML formatting for /.well-known/host-meta | |
385 | + Add /.well-known/webfinger API to lookup user hrefs | |
386 | ||
be1dfb99 CAW |
387 | - deleteuser gmg subcommand now fails gracefully |
388 | - Removed a false download link from setup.py | |
389 | ||
3b56b277 | 390 | 0.7.0 |
2757e76c | 391 | ===== |
3b56b277 CAW |
392 | |
393 | **Do this to upgrade** | |
394 | ||
395 | 1. Update to the latest release. If checked out from git, run: | |
c7690151 | 396 | ``git fetch && git checkout -q v0.7.0 && git submodule init && git submodule update`` |
3b56b277 CAW |
397 | 2. Make sure to run |
398 | ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate`` | |
399 | ||
fcee02a7 CAW |
400 | (NOTE: earlier versions of the 0.7.0 release instructions left out the |
401 | ``git submodule init`` step! If you did an upgrade earlier based on | |
402 | these instructions and your theme looks weirdly aligned, try running | |
403 | the following:) | |
404 | ||
405 | ``git submodule init && git submodule update`` | |
406 | ||
3b56b277 CAW |
407 | That's it, probably! If you run into problems, don't hesitate to |
408 | `contact us <http://mediagoblin.org/pages/join.html>`_ | |
409 | (IRC is often best). | |
410 | ||
411 | **New features:** | |
412 | ||
413 | - New mobile upload API making use of the | |
414 | `Pump API <https://github.com/e14n/pump.io/blob/master/API.md>`_ | |
415 | (which will be the foundation for MediaGoblin's federation) | |
416 | - New theme: Sandy 70s Speedboat! | |
417 | ||
9650aa39 | 418 | - Metadata features! We also now have a JSON-LD context. |
3b56b277 CAW |
419 | |
420 | - Many improvements for archival institutions, including metadata | |
421 | support and featuring items on the homepage. With the (new!) | |
422 | archivalook plugin enabled, featuring media is possible. | |
423 | Additionally, metadata about the particular media item will show up | |
424 | in the sidebar. | |
425 | ||
426 | In the future these plugins may be separated, but for now they have | |
427 | come together as part of the same plugin. | |
428 | ||
429 | - There is a new gmg subcommand called batchaddmedia that allows for | |
430 | uploading many files at once. This is aimed to be useful for | |
431 | archival institutions and groups where there is an already existing | |
432 | and large set of available media that needs to be included. | |
9650aa39 | 433 | - Speaking of, the call to PostgreSQL in the makefile is fixed. |
3b56b277 CAW |
434 | - We have a new, generic media-page context hook that allows for |
435 | adding context depending on the type of media. | |
436 | - Tired of video thumbnails breaking during processing all the time? | |
437 | Good news, everyone! Video thumbnail generation should not fail | |
438 | frequently anymore. (We think...) | |
439 | - You can now set default permissions for new users in the config. | |
440 | ||
441 | - bootstrap.sh / gnu configuration stuff still exists, but moves to be | |
442 | experimental-bootstrap.sh so as to not confuse newcomers. There are | |
443 | some problems currently with the autoconf stuff that we need to work | |
444 | out... we still have interest in supporting it, though help is | |
445 | welcome. | |
446 | ||
447 | - MediaGoblin now checks whether or not the database is up to date | |
448 | when starting. | |
449 | - Switched to `Skeleton <http://www.getskeleton.com/>`_ as a system for | |
450 | graphic design. | |
451 | - New gmg subcommands for administrators: | |
452 | - A "deletemedia" command | |
453 | - A "deleteuser" command | |
454 | - We now have a blogging media type... it's very experimental, | |
455 | however. Use with caution! | |
456 | - We have switched to exifread as an external library for reading EXIF | |
457 | data. It's basically the same thing as before, but packaged | |
458 | separately from MediaGoblin. | |
459 | - Many improvements to internationalization. Also (still rudimentary, | |
9650aa39 | 460 | but existent!) RTL language support! |
3b56b277 CAW |
461 | |
462 | **Known issues:** | |
9650aa39 | 463 | - The host-meta is now JSON by default; in the spec it should be XML by |
3b56b277 CAW |
464 | default. We have done this because of compatibility with the pump |
465 | API. We are checking with upstream to see if there is a way to | |
466 | resolve this discrepancy. | |
467 | ||
468 | ||
29166813 CAW |
469 | 0.6.1 |
470 | ===== | |
471 | ||
472 | This is a short, bugfix release. | |
473 | ||
474 | **Do this to upgrade** | |
475 | ||
476 | 1. Update to the latest release. If checked out from git, run: | |
477 | ``git fetch && git checkout -q v0.6.1`` | |
478 | 2. Make sure to run | |
479 | ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate`` | |
480 | ||
481 | This release switches the default terms of service to be off by | |
482 | default and corrects some mistakes in the default terms of service. | |
483 | ||
484 | Turning the terms of service on is very easy, just set ``show_tos`` in | |
485 | the ``[mediagoblin]`` section of your config to ``true``. | |
486 | ||
487 | ||
2691bfe1 CAW |
488 | 0.6.0 |
489 | ===== | |
490 | ||
491 | **Do this to upgrade** | |
492 | ||
29166813 CAW |
493 | 1. Update to the latest release. If checked out from git, run: |
494 | ``git fetch && git checkout -q v0.6.0`` | |
495 | 2. Make sure to run | |
2691bfe1 | 496 | ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate`` |
2691bfe1 | 497 | |
29166813 | 498 | That's it, probably! If you run into problems, don't hesitate to |
2691bfe1 CAW |
499 | `contact us <http://mediagoblin.org/pages/join.html>`_ |
500 | (IRC is often best). | |
501 | ||
502 | This tool has a lot of new tools for administrators, hence the | |
503 | nickname "Lore of the Admin"! | |
504 | ||
505 | **New features:** | |
506 | ||
507 | - New tools to control how much users can upload, both as a general | |
508 | user limit, or per file. | |
509 | ||
9650aa39 | 510 | You can set this with the following options in your MediaGoblin |
2691bfe1 CAW |
511 | config file: `upload_limit` and `max_file_size`. Both are integers |
512 | in megabytes. | |
513 | ||
514 | There is an option to control how much each individual user can | |
515 | upload too, though an interface for this is not yet exposed. See | |
516 | the "uploaded" field on the core__users table. | |
517 | ||
9650aa39 | 518 | - MediaGoblin now contains an authentication plugin for LDAP! You |
2691bfe1 CAW |
519 | can turn on the mediagoblin.plugins.ldap plugin to make use of |
520 | this. See the documentation: :ref:`ldap-plugin` | |
521 | ||
522 | - There's a new command line upload tool! At long last! See | |
523 | `./bin/gmg addmedia --help` for info on how to use this. | |
524 | ||
525 | - There's now a terms of service document included in MediaGoblin. | |
526 | It's turned on by default, but you can turn it off if you prefer, | |
527 | just set the configuration option of `show_tos` in the [mediagoblin] | |
528 | section of your config to false. | |
529 | ||
530 | Alternately, you can override the template for the terms of service | |
531 | document to set up your own. | |
532 | ||
533 | - We have a lot of new administrative tooling features! | |
4e284038 | 534 | |
2691bfe1 CAW |
535 | - There's a built-in privileges/permissions system now. |
536 | Administrators are given access to modifying these parameters | |
537 | from a user administration panel. | |
538 | - Users can submit reports about other problematic users or media | |
539 | and administrators are given tools to resolve said reports and | |
540 | ban/unban users if needed. | |
541 | ||
542 | - New version of video.js is included with MediaGoblin. Slight | |
543 | amount of skinning to match the MediaGoblin look, otherwise also | |
544 | uses the new default skin. | |
545 | ||
546 | Developer-oriented changes: | |
547 | ||
548 | - New developer tool for quickly setting up a development environment | |
549 | in `devtools/make_example_database.sh`. Requires doing a checkout | |
550 | of our other tool `mg_dev_environments <https://gitorious.org/mediagoblin/mg-dev-environments/>`_ | |
551 | (probably in the parent Directory) though! | |
552 | - A "foundations" framework has entered into the codebase. | |
553 | This is mostly just relevant to coders, but it does mean that it's | |
554 | much easier to add database structures that need some entries filled | |
555 | automatically by default. | |
556 | - Refactoring to the authentication code and the reprocessing code | |
557 | ||
a66fbf97 | 558 | |
d4edbfd5 CAW |
559 | 0.5.1 |
560 | ===== | |
561 | ||
562 | v0.5.1 is a bugfix release... the steps are the same as for 0.5.1. | |
563 | ||
564 | **Bugfixes:** | |
565 | ||
566 | - python 2.6 compatibility restored | |
567 | - Fixed last release's release notes ;) | |
568 | ||
569 | ||
a126ef4d RE |
570 | 0.5.0 |
571 | ===== | |
572 | ||
abff297c | 573 | **NOTE:** If using the API is important to you, we're in a state of |
9650aa39 BS |
574 | transition towards a new API via the Pump API. As such, though the old |
575 | API still probably works, some changes have happened to the way OAuth | |
abff297c CAW |
576 | works to make it more Pump-compatible. If you're heavily using |
577 | clients using the old API, you may wish to hold off on upgrading for | |
578 | now. Otherwise, jump in and have fun! :) | |
579 | ||
a126ef4d RE |
580 | **Do this to upgrade** |
581 | ||
582 | 1. Make sure to run | |
583 | ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate`` | |
584 | after upgrading. | |
585 | ||
586 | .. mention something about new, experimental configure && make support | |
587 | ||
588 | 2. Note that a couple of things have changed with ``mediagoblin.ini``. First | |
589 | we have a new Authentication System. You need to add | |
590 | ``[[mediagoblin.plugins.basic_auth]]`` under the ``[plugins]`` section of | |
591 | your config file. Second, media types are now plugins, so you need to add | |
592 | each media type under the ``[plugins]`` section of your config file. | |
593 | ||
594 | ||
595 | 3. We have made a script to transition your ``mediagoblin_local.ini`` file for | |
a0a31ddf | 596 | you. This script can be found at: |
a126ef4d | 597 | |
a0a31ddf | 598 | http://mediagoblin.org/download/0.5.0_config_converter.py |
a126ef4d RE |
599 | |
600 | If you run into problems, don't hesitate to | |
601 | `contact us <http://mediagoblin.org/pages/join.html>`_ | |
602 | (IRC is often best). | |
603 | ||
604 | **New features** | |
605 | ||
606 | * As mentioned above, we now have a plugable Authentication system. You can | |
607 | use any combination of the multiple authentication systems | |
608 | (:ref:`basic_auth-chapter`, :ref:`persona-chapter`, :ref:`openid-chapter`) | |
609 | or write your own! | |
610 | * Media types are now plugins! This means that new media types will | |
611 | be able to do new, fancy things they couldn't in the future. | |
612 | * We now have notification support! This allows you to subscribe to media | |
613 | comments and to be notified when someone comments on your media. | |
614 | * New reprocessing framework! You can now reprocess failed uploads, and | |
615 | send already processed media back to processing to re-transcode or resize | |
616 | media. | |
617 | * Comment preview! | |
618 | * Users now have the ability to change their email associated with their | |
619 | account. | |
9650aa39 BS |
620 | * New OAuth code as we move closer to federation support. |
621 | * Experimental pyconfigure support for GNU-style configure and makefile | |
a126ef4d RE |
622 | deployment. |
623 | * Database foundations! You can now pre-populate the database models. | |
624 | * Way faster unit test run-time via in-memory database. | |
625 | * All mongokit stuff has been cleaned up. | |
9650aa39 | 626 | * Fixes for non-ASCII filenames. |
a126ef4d | 627 | * The option to stay logged in. |
9650aa39 | 628 | * MediaGoblin has been upgraded to use the latest `Celery <http://celeryproject.org/>`_ |
a126ef4d RE |
629 | version. |
630 | * You can now add jinja2 extensions to your config file to use in custom | |
631 | templates. | |
632 | * Fixed video permission issues. | |
9650aa39 BS |
633 | * MediaGoblin docs are now hosted with multiple versions. |
634 | * We removed redundant tooltips from the STL media display. | |
a126ef4d RE |
635 | * We are now using itsdangerous for verification tokens. |
636 | ||
637 | ||
bed9ad06 CAW |
638 | 0.4.1 |
639 | ===== | |
640 | ||
641 | This is a bugfix release for 0.4.0. This only implements one major | |
642 | fix in the newly released document support which prevented the | |
643 | "conversion via libreoffice" feature. | |
644 | ||
645 | If you were running 0.4.0 you can upgrade to v0.4.1 via a simple | |
9650aa39 | 646 | switch and restarting MediaGoblin/Celery with no other actions. |
bed9ad06 | 647 | |
d3b1fd2e CAW |
648 | Otherwise, follow 0.4.0 instructions. |
649 | ||
bed9ad06 | 650 | |
8ca51d32 CAW |
651 | 0.4.0 |
652 | ===== | |
653 | ||
24ede044 | 654 | **Do this to upgrade** |
a66fbf97 | 655 | |
5622cc44 CAW |
656 | 1. Make sure to run |
657 | ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate`` | |
658 | after upgrading. | |
24ede044 CAW |
659 | 2. See "For Theme authors" if you have a custom theme. |
660 | 3. Note that ``./bin/gmg theme assetlink`` is now just | |
661 | ``./bin/gmg assetlink`` and covers both plugins and assets. | |
662 | Keep on reading to hear more about new plugin features. | |
663 | 4. If you want to take advantage of new plugins that have statically | |
664 | served assets, you are going to need to add the new "plugin_static" | |
9650aa39 | 665 | section to your Nginx config. Basically the following for Nginx:: |
24ede044 CAW |
666 | |
667 | # Plugin static files (usually symlinked in) | |
668 | location /plugin_static/ { | |
669 | alias /srv/mediagoblin.example.org/mediagoblin/user_dev/plugin_static/; | |
670 | } | |
671 | ||
51702d5b CAW |
672 | Similarly, if you've got a modified paste config, you may want to |
673 | borrow the app:plugin_static section from the default paste.ini | |
674 | file. | |
675 | 5. We now use itsdangerous for sessions; if you had any references to | |
676 | beaker in your paste config you can remove them. Again, see the | |
677 | default paste.ini config | |
d3b1fd2e | 678 | 6. We also now use git submodules. Please do: |
64ad0bee | 679 | ``git submodule init && git submodule update`` |
d3b1fd2e | 680 | You will need to do this to use the new PDF support. |
51702d5b | 681 | |
8ca51d32 CAW |
682 | **For theme authors** |
683 | ||
684 | If you have your own theme or you have any "user modified templates", | |
685 | please note the following: | |
686 | ||
687 | * mediagoblin/bits/ files above-content.html, body-end.html, | |
688 | body-start.html now are renamed... they have underscores instead of | |
689 | dashes in the filenames now :) | |
690 | * There's a new file: ``mediagoblin/bits/frontpage_welcome.html``. | |
691 | You can easily customize this to give a welcome page appropriate to | |
692 | your site. | |
693 | ||
51702d5b | 694 | |
24ede044 | 695 | **New features** |
b33feb18 | 696 | |
51702d5b CAW |
697 | * PDF media type! |
698 | * Improved plugin system. More flexible, better documented, with a | |
699 | new plugin authoring section of the docs. | |
700 | * itsdangerous based sessions. No more beaker! | |
701 | * New, experimental Piwigo-based API. This means you should be able | |
702 | to use MediaGoblin with something like Shotwell. (Again, a word of | |
703 | caution: this is *very experimental*!) | |
704 | * Human readable timestamps, and the option to display the original | |
705 | date of an image when available (available as the | |
706 | "original_date_visible" variable) | |
707 | * Moved unit testing system from nosetests to py.test so we can better | |
9650aa39 | 708 | handle issues with SQLAlchemy exploding with different database |
51702d5b CAW |
709 | configurations. Long story :) |
710 | * You can now disable the ability to post comments. | |
711 | * Tags now can be up to length 255 characters by default. | |
24ede044 | 712 | |
8ca51d32 | 713 | |
6e2dcbff | 714 | 0.3.3 |
8d19cb24 SS |
715 | ===== |
716 | ||
6e2dcbff CAW |
717 | **Do this to upgrade** |
718 | ||
719 | 1. Make sure to run ``bin/gmg dbupdate`` after upgrading. | |
720 | 2. OpenStreetMap is now a plugin, so if you want to use it, add the | |
997ef976 | 721 | following to your config file: |
6e2dcbff | 722 | |
997ef976 E |
723 | .. code-block:: ini |
724 | ||
5058cd51 SC |
725 | [plugins] |
726 | [[mediagoblin.plugins.geolocation]] | |
6e2dcbff CAW |
727 | |
728 | If you have your own theme, you may need to make some adjustments to | |
a28c6c4c CAW |
729 | it as some theme related things may have changed in this release. If |
730 | you run into problems, don't hesitate to | |
731 | `contact us <http://mediagoblin.org/pages/join.html>`_ | |
732 | (IRC is often best). | |
6e2dcbff | 733 | |
8d19cb24 SS |
734 | **New features** |
735 | ||
6e2dcbff CAW |
736 | * New dropdown menu for accessing various features. |
737 | ||
9650aa39 | 738 | * Significantly improved URL generation. Now MediaGoblin won't give |
6e2dcbff CAW |
739 | up on making a slug if it looks like there will be a duplicate; |
740 | it'll try extra hard to generate a meaningful one instead. | |
741 | ||
742 | Similarly, linking to an id no longer can possibly conflict with | |
743 | linking to a slug; /u/username/m/id:35/ is the kind of reference we | |
744 | now use to linking to entries with ids. However, old links with | |
745 | entries that linked to ids should work just fine with our migration. | |
9650aa39 | 746 | The only URLs that might break in this release are ones using colons |
6e2dcbff CAW |
747 | or equal signs. |
748 | ||
749 | * New template hooks for plugin authoring. | |
750 | ||
751 | * As a demonstration of new template hooks for plugin authoring, | |
9650aa39 | 752 | OpenStreetMap support now moved to a plugin! |
6e2dcbff | 753 | |
a28c6c4c CAW |
754 | * Method to add media to collections switched from icon of paperclip |
755 | to button with "add to collection" text. | |
6e2dcbff CAW |
756 | |
757 | * Bug where videos often failed to produce a proper thumbnail fixed! | |
758 | ||
fda5ea7a | 759 | * Copying around files in MediaGoblin now much more efficient, doesn't |
6e2dcbff CAW |
760 | waste gobs of memory. |
761 | ||
762 | * Video transcoding now optional for videos that meet certain | |
9650aa39 | 763 | criteria. By default, MediaGoblin will not transcode WebM videos |
fda5ea7a | 764 | that are smaller in resolution than the MediaGoblin defaults, and |
9650aa39 | 765 | MediaGoblin can also be configured to allow Theora files to not be |
a28c6c4c | 766 | transcoded as well. |
6e2dcbff CAW |
767 | |
768 | * Per-user license preference option; always want your uploads to be | |
769 | BY-SA and tired of changing that field? You can now set your | |
770 | license preference in your user settings. | |
771 | ||
772 | * Video player now responsive; better for mobile! | |
773 | ||
70177c1f CAW |
774 | * You can now delete your account from the user preferences page if |
775 | you so wish. | |
776 | ||
a28c6c4c | 777 | **Other changes** |
8d19cb24 | 778 | |
b0c8328e SS |
779 | * Plugin writers: Internal restructuring led to mediagoblin.db.sql* be |
780 | mediagoblin.db.* starting from 0.3.3 | |
781 | ||
6e2dcbff CAW |
782 | * Dependency list has been reduced not requiring the "webob" package anymore. |
783 | ||
784 | * And many small fixes/improvements, too numerous to list! | |
785 | ||
8d19cb24 | 786 | |
cacb6fea SS |
787 | 0.3.2 |
788 | ===== | |
789 | ||
790 | This will be the last release that is capable of converting from an earlier | |
791 | MongoDB-based MediaGoblin instance to the newer SQL-based system. | |
792 | ||
1f01df1d CAW |
793 | **Do this to upgrade** |
794 | ||
9650aa39 | 795 | # directory of your MediaGoblin install |
42ce372e ML |
796 | cd /srv/mediagoblin.example.org |
797 | ||
798 | # copy source for this release | |
799 | git fetch | |
800 | git checkout tags/v0.3.2 | |
801 | ||
802 | # perform any needed database updates | |
803 | bin/gmg dbupdate | |
804 | ||
805 | # restart your servers however you do that, e.g., | |
806 | sudo service mediagoblin-paster restart | |
807 | sudo service mediagoblin-celeryd restart | |
1f01df1d | 808 | |
cacb6fea SS |
809 | |
810 | **New features** | |
811 | ||
1f01df1d CAW |
812 | * **3d model support!** |
813 | ||
814 | You can now upload STL and OBJ files and display them in | |
9650aa39 | 815 | MediaGoblin. Requires a recent Blender; for details see: |
1f01df1d | 816 | :ref:`deploying-chapter` |
cacb6fea SS |
817 | |
818 | * **trim_whitespace** | |
819 | ||
820 | We bundle the optional plugin trim_whitespace which reduces the size | |
9650aa39 | 821 | of the delivered HTML output by reducing redundant whitespace. |
cacb6fea SS |
822 | |
823 | See :ref:`core-plugin-section` for plugin documentation | |
824 | ||
1f01df1d CAW |
825 | * **A new API!** |
826 | ||
827 | It isn't well documented yet but we do have an API. There is an | |
828 | `android application in progress <https://gitorious.org/mediagoblin/mediagoblin-android>`_ | |
829 | which makes use of it, and there are some demo applications between | |
830 | `automgtic <https://github.com/jwandborg/automgtic>`_, an | |
831 | automatic media uploader for your desktop | |
832 | and `OMGMG <https://github.com/jwandborg/omgmg>`_, an example of | |
833 | a web application hooking up to the API. | |
834 | ||
9650aa39 | 835 | This is a plugin, so you have to enable it in your MediaGoblin |
1f01df1d CAW |
836 | config file by adding a section under [plugins] like:: |
837 | ||
838 | [plugins] | |
839 | [[mediagoblin.plugins.api]] | |
840 | ||
841 | Note that the API works but is not nailed down... the way it is | |
842 | called may change in future releases. | |
843 | ||
844 | * **OAuth login support** | |
845 | ||
846 | For applications that use OAuth to connect to the API. | |
847 | ||
9650aa39 | 848 | This is a plugin, so you have to enable it in your MediaGoblin |
1f01df1d CAW |
849 | config file by adding a section under [plugins] like:: |
850 | ||
851 | [plugins] | |
852 | [[mediagoblin.plugins.oauth]] | |
853 | ||
854 | * **Collections** | |
855 | ||
856 | We now have user-curated collections support. These are arbitrary | |
857 | galleries that are customizable by users. You can add media to | |
858 | these by clicking on the paperclip icon when logged in and looking | |
859 | at a media entry. | |
860 | ||
861 | * **OpenStreetMap licensing display improvements** | |
862 | ||
863 | More accurate display of OSM licensing, and less disruptive: you | |
864 | click to "expand" the display of said licensing. | |
865 | ||
866 | Geolocation is also now on by default. | |
867 | ||
9650aa39 | 868 | * **Miscellaneous visual improvements** |
1f01df1d CAW |
869 | |
870 | We've made a number of small visual improvements including newer and | |
871 | nicer looking thumbnails and improved checkbox placement. | |
872 | ||
873 | ||
5be6425c | 874 | |
3a438f5e WKG |
875 | 0.3.1 |
876 | ===== | |
877 | ||
9e579cde WKG |
878 | **Do this to upgrade** |
879 | ||
880 | 1. Make sure to run ``bin/gmg dbuptdate`` after upgrading. | |
881 | ||
882 | 2. If you set up your server config with an older version of | |
9650aa39 | 883 | MediaGoblin and the MediaGoblin docs, it's possible you don't |
9e579cde WKG |
884 | have the "theme static files" alias, so double check to make |
885 | sure that section is there if you are having problems. | |
886 | ||
887 | ||
888 | ||
889 | **New features** | |
890 | ||
891 | * **theming support** | |
892 | ||
893 | MediaGoblin now also includes theming support, which you can | |
894 | read about in the section :ref:`theming-chapter`. | |
895 | ||
896 | * **flatpages** | |
897 | ||
898 | MediaGoblin has a flatpages plugin allowing you to add pages that | |
899 | are aren't media-related like "About this site...", "Terms of | |
900 | service...", etc. | |
901 | ||
902 | See :ref:`core-plugin-section` for plugin documentation | |
3a438f5e WKG |
903 | |
904 | ||
6e930791 CAW |
905 | 0.3.0 |
906 | ===== | |
5be6425c E |
907 | |
908 | This release has one important change. You need to act when | |
909 | upgrading from a previous version! | |
910 | ||
911 | This release changes the database system from MongoDB to | |
912 | SQL(alchemy). If you want to setup a fresh instance, just | |
913 | follow the instructions in the deployment chapter. If on | |
914 | the other hand you want to continue to use one instance, | |
915 | read on. | |
916 | ||
dce37922 | 917 | To convert your data from MongoDB to SQL(alchemy), you need |
5be6425c E |
918 | to follow these steps: |
919 | ||
920 | 1. Make sure your MongoDB is still running and has your | |
921 | data, it's needed for the conversion. | |
922 | ||
abe74178 WKG |
923 | 2. Configure the ``sql_engine`` URI in the config to represent |
924 | your target database (see: :ref:`deploying-chapter`) | |
5be6425c E |
925 | |
926 | 3. You need an empty database. | |
927 | ||
928 | 4. Then run the following command:: | |
929 | ||
abe74178 | 930 | bin/gmg [-cf mediagoblin_config.ini] convert_mongo_to_sql |
5be6425c E |
931 | |
932 | 5. Start your server and investigate. | |
933 | ||
934 | 6. That's it. |