Version 3.1.11
==============

Released: April XX, 2019


Changes
-------

Memory usage
^^^^^^^^^^^^

The ``DOCUMENTS_HASH_BLOCK_SIZE`` setting was added to limit the number of
bytes that will be read into memory when calculating the checksum of a new
document. For compatibility with the current bevahor this setting defaults to
0 which means that it is disabled. Disabling the setting will cause the
entire document's file to be loaded into memory. If documents are not
processing due to out of memory errors (large documents or devices with
limited memory), set ``DOCUMENTS_HASH_BLOCK_SIZE`` to a value other than 0.
Limited tests suggest 65535 to be a good alternative.


Tag wizard step
^^^^^^^^^^^^^^^

The tag wizard step was fixed and will now allow attaching multple tags to a
new document.


Permissions
^^^^^^^^^^^

Previously the document checkout information link required one of the following
permissions: document check in, document check in override, or document
checkout. Meanwhile the document checkout information view would require the
document checkout detail view permission. This difference in permissions
has been eliminated and the link will now required the document checkout
detail view permission, same as the view. Update your user role permissions
accordingly.


Other changes
^^^^^^^^^^^^^

* Lower the log severity when links don't resolve.


Removals
--------

* None


Upgrading from a previous version
---------------------------------

If installed via Python's PIP
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Remove deprecated requirements::

    $ curl https://gitlab.com/mayan-edms/mayan-edms/raw/master/removals.txt | pip uninstall -r /dev/stdin

Type in the console::

    $ pip install mayan-edms==3.1.11

the requirements will also be updated automatically.

Migrate existing database schema with::

    $ mayan-edms.py performupgrade

Add new static media::

    $ mayan-edms.py collectstatic --noinput

The upgrade procedure is now complete.


If installed using a direct deployment
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Remove deprecated requirements::

    $ curl https://gitlab.com/mayan-edms/mayan-edms/raw/master/removals.txt | sudo -u mayan /opt/mayan-edms/bin/pip uninstall -r /dev/stdin

Download and install the new version::

    $ sudo -u mayan /opt/mayan-edms/bin/pip install --no-cache-dir --no-use-pep517 mayan-edms==3.1.11

the requirements will also be updated automatically.

Run the upgrade command::

    $ 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 any new static files::

    $ sudo -u mayan MAYAN_MEDIA_ROOT=/opt/mayan-edms/media /opt/mayan-edms/bin/mayan-edms.py collectstatic --noinput

The upgrade procedure is now complete.

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

Migrate existing database schema with::

    $ mayan-edms.py performupgrade

Add new static media::

    $ mayan-edms.py collectstatic --noinput

The upgrade procedure is now complete.


Backward incompatible changes
-----------------------------

* None


Bugs fixed or issues closed
---------------------------

* None

.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
