Version 3.2.10

Released: November 19, 2019



App dependencies are now automatically imported ensuring there are no missing dependencies when installing or upgrading.

For developers this means that the line:

from .dependencies import *  # NOQA

is no longer needed.


Improvements in the settings chapter.

The file paths in the documentation are now inserted programmatically. This ensures consistency and avoid human error when copying and pasting path when writing documentation chapters.


New targets for the makefile to run all tests in debug mode. This mode is more strict and sidesteps a Django bug that causes errors in the template code that to be silent during tests.

Renamed the expected_content_type to expected_content_types and allow a list of content types to be specified.

Added missing Event class cache invalidation when calling the refresh() method.

Python 3

Fixed an issue with the NamedMultiWidget class on Python 3. This issue affected the document checkout form. This closes GitLab issue #683. Thanks to John Bentley (@johnbentleyii) for the report.


Statistics code were updated to use timezone aware date. This solves a few off-by-one-day results.


When renaming custom workflow state actions, the workflow system would error out when trying to show the label of the deleted or removed class. A placeholder label will now be shown on invalid action classes reading “Unknown action type”.

The help text for workflows was improved.


The missing label for document metadata and file metadata model properties entries were added. No functional changes were made just visual.


  • None

Upgrading from a previous version

If installed via Python’s PIP

Remove deprecated requirements:

sudo -u mayan curl -o /tmp/removals.txt && sudo -u mayan /opt/mayan-edms/bin/pip uninstall -y -r /tmp/removals.txt

Type in the console:

sudo -u mayan /opt/mayan-edms/bin/pip install mayan-edms==3.2.10

the requirements will also be updated automatically.

Using Git

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.

Remove deprecated requirements:

$ pip uninstall -y -r removals.txt

Next upgrade/add the new requirements:

$ pip install --upgrade -r requirements.txt

Common steps

Perform these steps after updating the code from either step above.

Make a backup of your supervisord file:

sudo cp /etc/supervisor/conf.d/mayan-edms.conf /etc/supervisor/conf.d/mayan-edms.conf.bck

Update the supervisord configuration file. Replace the environment variables values show here with your respective settings. This step will refresh the supervisord configuration file with the new queues and the latest recommended layout:

sudo sh -c "MAYAN_DATABASE_ENGINE=django.db.backends.postgresql MAYAN_DATABASE_NAME=mayan \
MAYAN_DATABASE_HOST= MAYAN_MEDIA_ROOT=/opt/mayan-edms/media/ \
/opt/mayan-edms/bin/ platformtemplate supervisord > /etc/supervisor/conf.d/mayan-edms.conf"

Edit the supervisord configuration file and update any setting the template generator missed:

sudo vi /etc/supervisor/conf.d/mayan-edms.conf

Migrate existing database schema with:

sudo -u mayan MAYAN_DATABASE_ENGINE=django.db.backends.postgresql MAYAN_DATABASE_NAME=mayan \
MAYAN_DATABASE_HOST= MAYAN_MEDIA_ROOT=/opt/mayan-edms/media/ \
/opt/mayan-edms/bin/ performupgrade

Add new static media:

sudo -u mayan MAYAN_MEDIA_ROOT=/opt/mayan-edms/media/ \
/opt/mayan-edms/bin/ preparestatic --noinput

The upgrade procedure is now complete.

Backward incompatible changes

  • None

Bugs fixed or issues closed