Version 4.1.4

Released: December 1, 2021

Status: Stable



An issue that caused the closing of the responsive menu to trigger the home view navigation was fixed.

Some JavaScript optimizations were added:

  • Cache argument length when in .fn.hasAnyClass.

  • Configure fancybox just once.

  • Set converter image functions as async.

  • Remove jQuery’s one usage.


libjpeg and libpng were added to the development setup makefile target.


An issue with the image generation of the document version first page thumbnail that caused the thumbnail dimensions to be ignored was fixed.

Error logging

The resource locking was removed from the error logging. This fixes the random lock error message when using watch folders running from multiple workers.

The error logging instances are now created when the underlying model instance is also created. This removed the need for the resource locking.

The ErrorLog model was renamed to StoredErrorLog. This change follows the normal paradigm when a service is provided by a model and a runtime class.

The name field of the StoredErrorLog model was updated to be unique. This ensures that get_or_create works in an atomic way when creating the StoredErrorLog instance.

When a model instance is deleted, its error log partition is now deleted too, instead of just deleting the error log partition entries.


Added the AutoHelpTextLabelFieldMixin class. This mixin tries to extract the label and help text from the model field when the serializer field does not specify any.

Filtering was added to the parent field of the index template node serializers. This restricts options to the current index template and allows removing the now redundant validation.

The field index_template_root_node_id was added to the index template serializer.


A memory database is now used when running the tests.


  • Fix the AdvancedSearchViewTestCaseMixin class. It had GenericViewTestCase as a base class when it is supposed to be a mixin and not have any.

  • Changes merged from versions 4.0.20 and 4.0.21.

    • Perform more strict cleanup of test models.

    • Clean up the test model app config cache after the test end not before the test model is created.

    • Improve lock manager test cases.

    • Add standalone Celery beat container.


  • None

Upgrade process

Docker Compose

Check the Docker upgrading chapter for the complete upgrade process.

Backward incompatible changes

  • None

Issues closed

  • GitLab issue #1057 [4.1] Responsive Design: closing navigation menu redirects to home page

  • GitLab issue #1061 [4.1] [API] index_template impossible to create node ONLY from the API

  • GitLab issue #1063 Document version thumbnails are served up as full resolution and not transformed as expected

  • GitLab issue #1065 [4.1.3] Task mayan.apps.sources.tasks.task_source_process_document raises unexpected LockError