From 2f4dc2b83734491a70d872394fa104caa3292e8b Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Fri, 13 Dec 2019 04:57:55 -0400 Subject: [PATCH] Add release notes Signed-off-by: Roberto Rosario --- HISTORY.rst | 8 +- docs/releases/3.3.5.txt | 266 ++++++++++++++++++++++++++++++++++++++++ docs/releases/index.txt | 1 + 3 files changed, 271 insertions(+), 4 deletions(-) create mode 100644 docs/releases/3.3.5.txt diff --git a/HISTORY.rst b/HISTORY.rst index 19456f2e6b..9b9ae2c203 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -1,5 +1,5 @@ -3.3.5 (2019-XX-XX) -================= +3.3.5 (2019-12-13) +================== - Pin django-timezone-field to version 3.1. GitLab issue #698. Thanks to Rob de Canha-Knight (@rssfed23) for the report and research. @@ -7,7 +7,7 @@ Rob de Canha-Knight (@rssfed23) for the report and the research. - Update instances of the word "weblink" to "web link". - Unify the creation of the temporary config file used in tests. -- Update all 0001 setting migrations to not accept manually migrated +- Update all 0001 setting migrations to accept manually migrated settings. - Update TemplateField to concatenate existing help texts. - Don't show the edit and delete links for resolved web links. @@ -21,7 +21,7 @@ - Add BaseTransformationType metaclass in a way compatible with Python 2 and Python 3. - Remove Django DownloadView library. Implement downloads natively - using modified port of Django 2.2 FileResponse. + using a modified port of Django 2.2 FileResponse. - Increase the role label field size from 64 to 128 characters. - Increase the smart link label size from 96 to 128 characters. - Increase the source label field size from 64 to 128 characters. diff --git a/docs/releases/3.3.5.txt b/docs/releases/3.3.5.txt new file mode 100644 index 0000000000..3212dd28fe --- /dev/null +++ b/docs/releases/3.3.5.txt @@ -0,0 +1,266 @@ +Version 3.3.5 +============= + +Released: December 13, 2019 + + +Changes +------- + + +Checkouts +^^^^^^^^^ + +The ID and URL of the checkout model was added the serializer. This adds +these two fields to the entries of the checkout list API view. This change +makes it easy to determine which checkout resource to delete to check in a +document. + + +Database +^^^^^^^^ + +The size of several fields was increased. These were: +role label field size from 64 to 128 characters, smart link label size from +96 to 128 characters, and the source label field size from 64 to 128 +characters. + +Migrations were added to all changes and these will me applied automatically +during upgrade. + + +Dependencies +^^^^^^^^^^^^ + +Versions of django-timezone-field and kombu were pinned to specific version +known to work correctly. This avoids two installations of Mayan EDMS to end +up with different versions of these two libraries. + + +Downloads +^^^^^^^^^ + +The library Django DownloadView was removed. The code to support all +downloads (document, version, keys, signatures) was been implement natively +using a modified port of Django 2.2 FileResponse. + + +Settings +^^^^^^^^ + +All initial setting migrations have been updated to accept manually migrated +settings too. + + +Templating +^^^^^^^^^^ + +The web link template field and the smart links fields were updated to use +the new TemplateField form field. This is the same field used in the +templating sandbox. + + +Testing +^^^^^^^ + +The of creating the temporary config file used in setting tests has been +unified. All setting tests create the test config file in a predictable way +now. + + +User interface +^^^^^^^^^^^^^^ + +Some remaining instances of the word "weblink" were renamed to "web link". + +It was a Mayan EDMS anti-pattern to have the resolved web links and smart +links show their template edit and delete buttons. This has been rectified +in this version. + +Missing link icons were added for several apps. Likewise some missing field +help texts were also added. + + +Other +^^^^^ + +The TemplateField field now shows the available variable in the help text +automatically. There is no need to modify the help text anymore. + +The method to add the BaseTransformationTypemetaclass metaclass to the +BaseTransformation class, has been updated again to make it compatible with +Python 2 and Python 3. + + +Removals +-------- + +- Django download views library. + + +Upgrading process +----------------- + +#. Stop supervisord:: + + sudo systemctl stop supervisor + + +Upgrading from Mayan EDMS 3.2.x +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +#. Install the Python 3 development OS package: + + .. code-block:: bash + + sudo apt-get install python3-dev + + +#. Update the virtualenv to use Python 3: + + .. code-block:: bash + + sudo -u mayan virtualenv --clear /opt/mayan-edms -p /usr/bin/python3 + + +#. Create a home directory for the Mayan EDMS system user: + + .. code-block:: bash + + mkdir /home/mayan + + +#. Grant ownership to the Mayan EDMS system user: + + .. code-block:: bash + + chown mayan:mayan /home/mayan + +#. Reinstall the Python client for PostgreSQL and Redis: + + .. code-block:: bash + + sudo -u mayan |MAYAN_PIP_BIN| install --no-use-pep517 psycopg2==|PYTHON_PSYCOPG2_VERSION| redis==|PYTHON_REDIS_VERSION| + + .. note:: + + Platforms with the ARM CPU might also need additional requirements: + + .. code-block:: bash + + sudo -u mayan |MAYAN_PIP_BIN| install --no-use-pep517 psutil==|PYTHON_PSUTIL_VERSION| + + +#. Reinstall the Python client for RabbitMQ if you are using RabbitMQ as a broker: + + .. code-block:: bash + + sudo -u mayan |MAYAN_PIP_BIN| install --no-use-pep517 amqp==|PYTHON_AMQP_VERSION| + + +Upgrade steps from any previous version of Mayan EDMS +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +#. Remove deprecated requirements: + + .. code-block:: bash + + sudo -u mayan curl |SOURCE_CODE_REPOSITORY|raw/master/removals.txt -o /tmp/removals.txt \ + && sudo -u mayan |MAYAN_PIP_BIN| uninstall -y -r /tmp/removals.txt + + +#. Update the Mayan EDMS Python package: + + .. code-block:: bash + + sudo -u mayan |MAYAN_PIP_BIN| install mayan-edms==3.3.5 + + the requirements will also be updated automatically. + + +#. Make a backup of your supervisord file: + + .. code-block:: bash + + sudo cp |MAYAN_SUPERVISOR_CONF| |MAYAN_SUPERVISOR_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: + + .. code-block:: bash + + 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=|MAYAN_MEDIA_ROOT| \ + |MAYAN_BIN| platformtemplate supervisord | sudo sh -c "cat > |MAYAN_SUPERVISOR_CONF|" + + or: + + .. code-block:: bash + + sudo -u mayan MAYAN_DATABASES=\"{'default':{'ENGINE':'django.db.backends.postgresql','NAME':'mayan','PASSWORD':'mayanuserpass','USER':'mayan','HOST':'127.0.0.1'}}\" \ + MAYAN_MEDIA_ROOT=|MAYAN_MEDIA_ROOT| \ + |MAYAN_BIN| platformtemplate supervisord | sudo sh -c "cat > |MAYAN_SUPERVISOR_CONF|" + + +#. Edit the supervisord configuration file and update any setting specific to your installation: + + .. code-block:: bash + + sudo vi |MAYAN_SUPERVISOR_CONF| + + +#. Migrate existing database schema with: + + .. code-block:: bash + + 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=|MAYAN_MEDIA_ROOT| \ + |MAYAN_BIN| performupgrade + + or: + + .. code-block:: bash + + sudo -u mayan MAYAN_DATABASES="{'default':{'ENGINE':'django.db.backends.postgresql','NAME':'mayan','PASSWORD':'mayanuserpass','USER':'mayan','HOST':'127.0.0.1'}}" \ + MAYAN_MEDIA_ROOT=|MAYAN_MEDIA_ROOT| \ + |MAYAN_BIN| performupgrade + + +#. Add new static media: + + .. code-block:: bash + + sudo -u mayan MAYAN_MEDIA_ROOT=|MAYAN_MEDIA_ROOT| \ + |MAYAN_BIN| preparestatic --noinput + + +#. Start supervisord: + + .. code-block:: bash + + sudo systemctl start supervisor + + +The upgrade procedure is now complete. + + +Backward incompatible changes +----------------------------- + +- None + + +Bugs fixed or issues closed +--------------------------- + +- :gitlab-issue:`698` 3.3.3 install - ERROR: django-timezone-field 4.0 has requirement django>=2.2, but you'll have django 1.11.26 which is incompatible. +- :gitlab-issue:`699` 3.3.3 - TypeError: can't pickle memoryview objects + + + +.. _PyPI: https://pypi.python.org/pypi/mayan-edms/ diff --git a/docs/releases/index.txt b/docs/releases/index.txt index a0000395b7..a79fc968cf 100644 --- a/docs/releases/index.txt +++ b/docs/releases/index.txt @@ -20,6 +20,7 @@ versions of the documentation contain the release notes for any later releases. .. toctree:: :maxdepth: 1 + 3.3.5 3.3.4 3.3.3 3.3.2