Version 4.1.5

Released: February 4, 2022

Status: Stable

Changes

Logging

Error log entries are now created for objects that existed before the last error log changes. This fixes the ErrorLogPartition matching query does not exist issue.

Sources

Fixed email sources processing a single message but performing cleanup on multiple messages. The intended behavior is restored which is to processed one message and clean up the processed message only.

Context managers are now used for the IMAP and POP3 sources to perform automatic cleanup and remove the possibility of orphaned descriptors. This update also fixed the reference to shared_uploaded_files before the variable being available.

Workflows

The workflow template now exposes the auto_launch field via the REST API.

The EmailAction subclass was added for backwards compatibility with existing email workflow state actions.

Other

  • Fix CAA document links. Closes GitLab issue #1068. Thanks to Matthias Löblich (@startmat) for the report.

  • Remove superfluous apostrophe character in sort heading markup.

  • Expose the checkout datetime, expiration datetime and user fields via the REST API. Thanks to forum user @qra for the request.

  • Fix GitLab CI upgrade test stage.

  • Add integrations settings module.

  • Print configuration path value when failing to access error is raised.

  • Fix references to the SourceBackendSANEScanner source backend class.

Removals

  • None

Upgrade process

Important

If using a direct deployment, Supervisord must be upgraded to version 4.2.2. See troubleshooting section: After upgrade to version 4.1

Upgrading from Mayan EDMS 3.5.x

Direct deployment

  1. Stop supervisord:

    sudo systemctl stop supervisor
    
  2. Make a backup of your supervisord file:

    sudo cp /etc/supervisor/conf.d/mayan-edms.conf /etc/supervisor/conf.d/mayan-edms.conf.bck
    
  3. Make a backup of your database:

    Use the respective backup command for the database:

  4. Upgrade to the latest pip version:

    sudo --user=mayan /opt/mayan-edms/bin/pip install --upgrade pip
    
  5. Remove deprecated requirements:

    sudo --user=mayan curl https://gitlab.com/mayan-edms/mayan-edms/raw/master/removals.txt --output /tmp/removals.txt \
    && sudo --user=mayan /opt/mayan-edms/bin/pip uninstall --requirement /tmp/removals.txt --yes
    
  6. Update the Mayan EDMS Python package:

    sudo --user=mayan /opt/mayan-edms/bin/pip install mayan-edms==4.3.1
    

    the requirements will also be updated automatically.

  7. Update the Redis configuration to serve at least 3 databases:

    Replace:

    databases ...
    

    with:

    databases 3
    
  8. Restart Redis for the changes to take effect:

    sudo systemctl restart redis
    
  9. Edit the config file at /opt/mayan-edms/media/config.yml:

    Replace:

    LOCK_MANAGER_BACKEND: ...
    LOCK_MANAGER_BACKEND_ARGUMENTS: ...
    

    with:

    LOCK_MANAGER_BACKEND: mayan.apps.lock_manager.backends.redis_lock.RedisLock
    LOCK_MANAGER_BACKEND_ARGUMENTS: {'redis_url':'redis://:mayanredispassword@<IP address of Redis server>:6379/2'}
    
  10. Update the supervisord configuration file. Replace the environment variables values shown here with your respective settings. This step will refresh the supervisord configuration file with the new queues and the latest recommended layout:

    sudo --user=mayan MAYAN_MEDIA_ROOT=/opt/mayan-edms/media/ \
    /opt/mayan-edms/bin/mayan-edms.py platformtemplate supervisord | sudo sh -c "cat > /etc/supervisor/conf.d/mayan-edms.conf"
    
  11. Edit the supervisord configuration file and update any setting specific to your installation:

    sudo vi /etc/supervisor/conf.d/mayan-edms.conf
    
  12. Migrate existing database schema and static media files with:

    sudo --user=mayan MAYAN_MEDIA_ROOT=/opt/mayan-edms/media/ \
    /opt/mayan-edms/bin/mayan-edms.py performupgrade
    
  13. Start supervisord:

    sudo systemctl start supervisor
    
  14. Clear the browser cache to avoid loading old web assets.

The upgrade procedure is now complete.

Docker Compose

Check the Docker upgrading chapter for the complete upgrade process.

Troubleshooting

Follow the solutions outlined in the troubleshooting section: After upgrade to version 4.1

Backward incompatible changes

  • None

Issues closed

  • GitLab issue #1068 links in CONTRIBUTING.md to caa_individual.rst and caa_entity.rst are broken

  • GitLab issue #1069 ‘ErrorLogPartition matching query does not exist’ errors after upgrading 4.1.3 to 4.1.4