Merge remote-tracking branch 'origin/versions/micro' into versions/minor

Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
This commit is contained in:
Roberto Rosario
2019-11-03 19:55:54 -04:00
6 changed files with 158 additions and 54 deletions

View File

@@ -105,7 +105,7 @@
least one workflow.
- Add ACL support to smart links.
3.2.9 (2019-XX-XX)
3.2.9 (2019-11-03)
==================
- Move IMAPMockServer to its own module.
- Display feedback message when testing a mailing profile.
@@ -135,17 +135,17 @@
- Fix MAYAN_GUNICORN_TIMEOUT Docker image setting. GitLab issue #671.
Thanks to Lennart Sauerbeck (@lennart_s) for the report.
- Add makefile target to launch a production staging Docker image.
- Improve duplicated document list view logic to not show
- Improve duplicated document list view logic to not show
documents with trashed duplicates.
- Backport Docker composer makefile targets.
- Add PermissionTestCaseMixin and SmartSettingTestCaseMixin to better
organize cache invalidation of both apps for tests.
- Add a version attribute to setting namespace. These are dumped
- Add a version attribute to setting namespace. These are dumped
as SMART_SETTINGS_NAMESPACES.
- Add savesettings command.
- Add extra logging to the IMAP email source. GitLab issue #682.
Thanks to Patrick Hütter (@PatrickHuetter) for the report.
- Rename all instances of the IMAP server from mailbox to
- Rename all instances of the IMAP server from mailbox to
server for clarity.
- Add book link in the about menu.
- Add unknown exception handling when checking for the latest

View File

@@ -502,6 +502,7 @@ Release checklist
make generate-setup
#. Commit as version bump.
#. Build source package and test:
::
@@ -529,18 +530,18 @@ Release checklist
Release using GitLab CI
-----------------------
#. Switch to the ``releases/all`` branch and merge the latest changes:
#. Delete the corresponding ``releases/`` branch:
::
git checkout releases/all
git merge <corresponding branch>
git push origin :releases/<branch>
#. Push code to trigger builds:
#. Push the current branch to the corresponding origin ``releases/`` branch:
::
git push
git push origin <local branch> releases/<branch>
#. Push tag upstream:
#. Push the new tags:
::
git push --tags

View File

@@ -1,25 +1,30 @@
Version 3.2.9
=============
Released: October XX, 2019
Released: November 3, 2019
Changes
-------
- Move IMAPMockServer to its own module.
- Display feedback message when testing a mailing profile.
- Add tests to the platform app.
- Fix platformtemplate command --context option help message.
- Language translations update.
- Add target to run all translations targets.
- Backport color log formatter from branch version/next.
- Don't raise error checking AnonymousUser for permissions.
Instead return always False.
- Enable the main menu workflow runtime link when the workflow view
permission is granted to at least one workflow.
- Make Postgres container wait delay configurable. GitLab issue #677.
Thanks to Antenore Gatta (@antenore) for the report.
Debugging
^^^^^^^^^
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.
Dependencies
^^^^^^^^^^^^
The help message of the ``--context`` option of the ``platformtemplate``
command was fixed to say "YAML" instead of "JSON".
- Update Django to version 1.11.25.
- Update PyYAML to version 5.1.2.
- Update celery to version 3.1.26.post2.
@@ -29,12 +34,93 @@ Changes
- Update Pillow to version 6.2.1.
- Move Celery and Django Celery dependencies
to the task manager app.
- Improve dependecies app tests.
- Return st_nlink of 1 files in mirrored indexes. GitLab issue #676.
Thanks to Ezio Vernacotola (@eziove) for the report and solution.
- Fix MAYAN_GUNICORN_TIMEOUT Docker image setting. GitLab issue #671.
Thanks to Lennart Sauerbeck (@lennart_s) for the report.
Docker
^^^^^^
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 ``DOCKER_POSTGRES_DELAY`` and
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.
Duplicates
^^^^^^^^^^
The duplicated document list view logic was improved and will not show
documents with trashed duplicates.
Mirroring
^^^^^^^^^
Mirrored document entries will now return 1 on their ``st_nlink`` attribute,
fixing access errors in some operating systems. Fixes GitLab issue #676.
Permissions
^^^^^^^^^^^
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.
Settings
^^^^^^^^
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 ``savesettings`` command.
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.
Testing
^^^^^^^
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.
User interface
^^^^^^^^^^^^^^
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.
Other changes
^^^^^^^^^^^^^
- 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.
Removals

View File

@@ -4,6 +4,18 @@ import os
from django.conf import settings
MOCK_SEARCH_KEYS_RESPONSE = [
{
'algo': u'1',
'date': u'1311475606',
'expires': u'1643601600',
'keyid': u'607138F1AECC5A5CA31CB7715F3F7F75D210724D',
'length': u'2048',
'type': u'pub',
'uids': [u'Roberto Rosario <roberto.rosario.gonzalez@gmail.com>']
}
]
TEST_DETACHED_SIGNATURE = os.path.join(
settings.BASE_DIR, 'apps', 'django_gpg', 'tests', 'contrib',
'test_files', 'test_file.txt.asc'

View File

@@ -0,0 +1,25 @@
from __future__ import unicode_literals
from .literals import TEST_RECEIVE_KEY, TEST_SEARCH_FINGERPRINT
MOCK_SEARCH_KEYS_RESPONSE = [
{
'algo': u'1',
'date': u'1311475606',
'expires': u'1643601600',
'keyid': u'607138F1AECC5A5CA31CB7715F3F7F75D210724D',
'length': u'2048',
'type': u'pub',
'uids': [u'Roberto Rosario <roberto.rosario.gonzalez@gmail.com>']
}
]
def mock_recv_keys(self, keyserver, *keyids):
class ImportResult(object):
count = 1
fingerprints = [TEST_SEARCH_FINGERPRINT]
self.import_keys(TEST_RECEIVE_KEY)
return ImportResult()

View File

@@ -17,32 +17,12 @@ from ..exceptions import (
from ..models import Key
from .literals import (
TEST_DETACHED_SIGNATURE, TEST_FILE, TEST_KEY_DATA, TEST_KEY_FINGERPRINT,
TEST_KEY_PASSPHRASE, TEST_RECEIVE_KEY, TEST_SEARCH_FINGERPRINT,
TEST_SEARCH_UID, TEST_SIGNED_FILE, TEST_SIGNED_FILE_CONTENT
MOCK_SEARCH_KEYS_RESPONSE, TEST_DETACHED_SIGNATURE, TEST_FILE,
TEST_KEY_DATA, TEST_KEY_FINGERPRINT, TEST_KEY_PASSPHRASE,
TEST_SEARCH_FINGERPRINT, TEST_SEARCH_UID, TEST_SIGNED_FILE,
TEST_SIGNED_FILE_CONTENT
)
MOCK_SEARCH_KEYS_RESPONSE = [
{
'algo': u'1',
'date': u'1311475606',
'expires': u'1643601600',
'keyid': u'607138F1AECC5A5CA31CB7715F3F7F75D210724D',
'length': u'2048',
'type': u'pub',
'uids': [u'Roberto Rosario <roberto.rosario.gonzalez@gmail.com>']
}
]
def mock_recv_keys(self, keyserver, *keyids):
class ImportResult(object):
count = 1
fingerprints = [TEST_SEARCH_FINGERPRINT]
self.import_keys(TEST_RECEIVE_KEY)
return ImportResult()
from .mocks import mock_recv_keys
class KeyTestCase(BaseTestCase):