Released: November 3, 2019
The colored log formatter was ported from the versions/next branch. The color of the log output will be determined by the log level.
Extra logging was added to the IMAP source to help with import issues. This relates to GitLab issue #682.
The help message of the
--context option of the
command was fixed to say “YAML” instead of “JSON”.
The Celery and Django Celery dependencies were moved to the task manager app.
Some dependencies were updated to a new version:
Update Django to version 1.11.25.
Update PyYAML to version 5.1.2.
Update celery to version 3.1.26.post2.
Update django-celery to version 3.2.2.
Update pathlib2 to version 2.3.5.
Update whitenoise to version 4.1.4.
Update Pillow to version 6.2.1.
The Mayan EDMS launcher script at get.mayan-edms.com was updated to allow
configuring the wait delay after the PostgreSQL container is launched. The
environment variable for this is called
defaults to 10 seconds to preserve the existing behavior. This closes
GitLab issue #677.
A formatting error was fixed enabling again the use of the MAYAN_GUNICORN_TIMEOUT Docker image setting. Closes GitLab issue #671.
The duplicated document list view logic was improved and will not show documents with trashed duplicates.
Mirrored document entries will now return 1 on their
fixing access errors in some operating systems. Fixes GitLab issue #676.
Instead of adding check to every API endpoint for authentication, the permission was updated to return False to any permission check for anonymous users. This change centralizes this check in a single place and lowers the probability of error on non authenticated API access.
To reduce config file incompatibilities between versions, the setting
namespaces will now include a version attribute. This attribute is
saved along with all the other settings when the
config.yml is saved.
This version attribute will allow apps to read entries in older formats
instead of raising an error.
A new management command was added, this is the
This command does the same things as saving a setting from the user interface,
it will update the
config.yml file or create it, if it doesn’t exists.
Several improvements to the test system were ported from unreleased branches. All the mocked object were moved to their own module called mocks.py for each respective app.
Test were added to the platform app and improved for the dependencies app.
The mixins PermissionTestCaseMixin and SmartSettingTestCaseMixin were added to better organize cache invalidation of both apps for tests.
A message is now displayed when testing a mailing profile.
Granting the workflow view permission to at least on workflow will now enable the workflow main menu workflow link.
Language translations update.
Add makefile target to run all translations targets.
Add makefile target to launch a production staging Docker image.
Backport Docker composer makefile targets.
Rename all instances of the IMAP server variable from mailbox to server for clarity.
Add book link in the about menu.
Add unknown exception handling when checking for the latest version.
Upgrading from a previous version¶
If installed via Python’s PIP¶
Remove deprecated requirements:
sudo -u mayan curl https://gitlab.com/mayan-edms/mayan-edms/raw/master/removals.txt -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.9
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.
Remove deprecated requirements:
$ pip uninstall -y -r removals.txt
Next upgrade/add the new requirements:
$ pip install --upgrade -r requirements.txt
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.conf /etc/supervisor/conf.d/mayan.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_PASSWORD=mayanuserpass MAYAN_DATABASE_USER=mayan \ MAYAN_DATABASE_HOST=127.0.0.1 MAYAN_MEDIA_ROOT=/opt/mayan-edms/media \ /opt/mayan-edms/bin/mayan-edms.py platformtemplate supervisord > /etc/supervisor/conf.d/mayan.conf"
Edit the supervisord configuration file and update any setting the template generator missed:
sudo vi /etc/supervisor/conf.d/mayan.conf
Migrate existing database schema with:
sudo -u mayan MAYAN_DATABASE_ENGINE=django.db.backends.postgresql MAYAN_DATABASE_NAME=mayan \ MAYAN_DATABASE_PASSWORD=mayanuserpass MAYAN_DATABASE_USER=mayan \ MAYAN_DATABASE_HOST=127.0.0.1 MAYAN_MEDIA_ROOT=/opt/mayan-edms/media \ /opt/mayan-edms/bin/mayan-edms.py performupgrade
Add new static media:
sudo -u mayan MAYAN_MEDIA_ROOT=/opt/mayan-edms/media \ /opt/mayan-edms/bin/mayan-edms.py preparestatic --noinput
The upgrade procedure is now complete.
Backward incompatible changes¶
Bugs fixed or issues closed¶
GitLab issue #659 GitLab config: ‘.gitlab-ci.yml’ does not specify the exact version of all dependencies
GitLab issue #676 Access fuse mounted index via samba
GitLab issue #671 [Docker] MAYAN_GUNICORN_TIMEOUT timeout not passed to worker
GitLab issue #677 Django start before PostgreSQL is up.
Forum topic #1347 Workflow state action: perform a POST request