Released: September 3, 2017
An issue with Django's unquote_plus caused documents being uploaded with an unicode, no English character in an initial metadata value field to fail. The unquote_plus usage was remove in favor of a dedicate URL parsing library called furl. GitLab issue #423. Thanks to Gustavo Teixeira (@gsteixei) for the find.
When Python raises an ImportError exception, it is not possible to determine the cause of the error. The local.py import code was updated to interpret the text of the ImportError exception and ignore it only if the local.py was missing, which is the case during the initialization commands execute after the initial installation. Any error in the local.py file will now cause Mayan to exit. Thanks to MacRobb Simpson for the report and solution.
Python 2.7 uses byte strings by default. Byte strings cannot be used in conjunction with unicode strings. A missing import was causing strings in the local.py file to be interpreted as byte string while the rest of Mayan uses unicode strings. Using non English special characters in a string located in the local.py file would have cause a Unicode errors. For new installations from Mayan version 2.7.1 onwards, the line from __future__ import absolute_imports, unicode_literals is included when generating the local.py for the first time. For existing installations, adding this line at the top is all that's needed. GitLab issue #424. Thanks to Gustavo Teixeira (@gsteixei) for the find and researching the cause.
Type in the console:
$ pip install -U mayan-edms
the requirements will also be updated automatically.
If you installed Mayan EDMS by cloning the Git repository issue the commands:
$ git reset --hard HEAD $ git pull
otherwise download the compressed archived and uncompress it overriding the existing installation.
Next upgrade/add the new requirements:
$ pip install --upgrade -r requirements.txt
Migrate existing database schema with:
$ mayan-edms.py performupgrade
Add new static media:
$ mayan-edms.py collectstatic --noinput
The upgrade procedure is now complete.