Version 4.1.11
Released: March 08, 2023
Status: End of life
Changes
This version includes fixes and backports from series 4.3, 4.4, and 4.5dev0.
Dependencies
The Python Transifex client was remove and replace with the new Go based client. This client is OS dependent and needs to be installed manually when working with translations (https://github.com/transifex/cli).
Pin Jinja2 version to workaround Sphinx bug. Sphinx Jinja2 dependency is not pinned or immutable, and causes the installation of an incompatible version breaking builds.
Improved the Python 3.10 compatibility. Add a compatibility module to
encapsulate import of the Iterable
class. Python 3.10 is not supported.
This change was merged to allow automated rendering of platform files like
GitLab CI and Docker build file.
REST API
The validation errors in the document metadata API were incorrectly causing HTTP 500 server errors. A custom REST API exception handler was added to workaround inconsistent validation exception behavior in the Django REST framework and ensure validation error raise a HTTP 400 error instead.
Testing
Support multi psycopg2
versions for testing. Upgrade testing now uses
PYTHON_PSYCOPG_VERSION_PREVIOUS
to install the previous version of the
library.
Other
Install OS and Python dependencies as separate makefile targets.
Support a local environment config file names
config-local.env
. This file is ignored by Git and meant to override values ofconfig.env
. against PostgreSQL.Move
SearchModel.flatten_list
to the common apputils.py
module.Move the helper module
version.py
to the dependencies app.GitOps improvements and backports:
Add configurable remote branch for GitOps.
Add makefile targets to trigger standalone builds.
Reuse Python build in stages.
Convert branches into literals.
Remove duplicated code in jobs.
Split GitLab CI targets into their own makefile.
Increase artifact expiration.
Add PIP and APT caching to documentation and python build stages.
Add GitLab CI job dependencies.
Enable Buildkit builds.
Use APT proxy and cache in more places.
Cache Alpine APK packages.
Clean up cache directory definitions.
Update APT cache to be at
.cache/apt
.Add multi cache support.
Add GitLab CI cache template tags.
Update deployment stages.
Removals
Transifex Python client
Upgrade process
Important
If using a direct deployment, Supervisord must be upgraded to version 4.2.2.
Docker Compose
Check the Docker upgrading chapter for the complete upgrade process.
Backward incompatible changes
None
Issues closed
None