Changelog
0.13.3 (2026-01-28)
Bugfixes
[#196] Fix errors raised when using
open-api-frameworkwithout optional dependencies
Project maintenance
Remove Django 4.2 from CI (pyproject.toml enforces >=5.2)
0.13.2 (2025-11-13)
Documentation
Updated the help text of
DB_POOL_ENABLEDto indicate that connection pooling is experimental and not recommended for production use.Added a reference to the connection pooling documentation.
0.13.1 (2025-10-03)
Bugfixes
Avoid duplicate
commonground_api_commonlogs by setting propagate toFalseand use the correct handlers for this logger
0.13.0 (2025-09-18)
New features
[#178] Add logging envvars:
LOG_FORMAT_CONSOLEENABLE_STRUCTLOG_REQUESTS
[#178] Specify optional dependency groups:
structlog:
structlog,django-structlogstructlog-celery:
structlog,django-structlog[celery]
[#178] Add option to configure whether to use structlog or standard logging (default: stdlib logging). To enable structlog, downstream projects can do the following in their base settings:
os.environ["_USE_STRUCTLOG"] = "True" from open_api_framework.conf.base import * # noqa
Bugfixes/QOL
Fix casting DB_PORT “” to int
Maintenance
Pin
`django-csp`to 4.0 or higher.
Warning
The CSP environment variables function the same as with 3.8, but if any changes are made to CSP settings for downstream projects (like adding extra values to directives via the old 3.8 settings), manual action is needed to make sure it works with 4.0 (see documentation)
Documentation
[#171] Add documentation for connection pooling behaviour.
0.12.0 (2025-07-15)
💥 Breaking changes
Specify optional dependency groups:
celery:
celery,flowercors:
django-cors-headersmarkup:
django-markupgeo:
djangorestframework-giscsp:
django-cspcommonground:
commonground-api-commoninclusions:
djangorestframework-inclusionssanitization:
bleachserver:
uwsgiredis:
django-redis
New features
Add DB connection pooling envvars + configuration (with workaround to make sure it works with APM)
DB_POOL_ENABLEDDB_POOL_MIN_SIZEDB_POOL_MAX_SIZEDB_POOL_TIMEOUTDB_POOL_MAX_WAITINGDB_POOL_MAX_LIFETIMEDB_POOL_MAX_IDLEDB_POOL_RECONNECT_TIMEOUTDB_POOL_NUM_WORKERS
Add
DB_CONN_MAX_AGEenvvar (automatically set to 0 if connection pooling is enabled)
Maintenance
Pin
`commonground-api-common`to 2.7.0 or higher
0.11.0 (2025-07-03)
New features
Replace
psycopg2withpsycopg[binary]to support connection pooling
0.10.3 (2025-06-17)
Bugfixes
[maykinmedia/objects-api#620] Change
LOG_LEVELenvironment variable default value fromWARNINGtoINFO
0.10.2 (2025-06-11)
New features
[#139] Add
django-upgrade-checkdependency and set Python 3.12 as the minimum required version
0.10.1 (2025-05-26)
Bugfixes
Do not use
save_outgoing_requestslog handler ifLOG_REQUESTSis set to false
Maintenance
[#132] Replace
check_sphinx.pywithmake[#133] Replace
black,isortandflake8withruffand update code-quality workflow[#140] Upgrade python to 3.12
Upgrade codecov action to v4
0.10.0 (2025-05-19)
New features
Add separate “Logging” group for logging related environment variables in docs
Add
open_api_framework.conf.utils.mute_loggingutil to silence logging in CI[maykinmedia/objects-api#592] Silence log events in Sentry if structlog is used
Bugfixes
[#127] Make
LOGIN_URLnon-lazy to avoid errors when usingdjango-rosetta
0.9.6 (2025-03-28)
Maintenance
[#59] Set
SITE_DOMAINdefault to an empty string and addSITE_ID
0.9.5 (2025-03-24)
Maintenance
[#open-zaak/open-zaak#1856] Allow Django 5 as a dependency.
0.9.4 (2025-03-20)
Maintenance
[#59] Remove
django.contrib.sitesdependency and addSITE_DOMAINenvironment variable
0.9.3 (2025-02-24)
Bugfixes
[#88] Automatically initialize Sentry when importing base settings and expose
SENTRY_CONFIGsettingWarning
The
init_sentryfunction was removed and now Sentry is initialized immediately inopen_api_framework/conf/base.py. If your project requires additional parameters to be specified (e.g. abefore_sendhook), it is best to reinitialize Sentry manually in your project’s base setting:from open_api_framework.conf.base import * # noqa from open_api_framework.conf.utils import get_sentry_integrations from your_project.utils import before_send_hook # Reinitialize Sentry to add the before_send hook SENTRY_CONFIG["before_send"] = before_send_hook sentry_sdk.init( **SENTRY_CONFIG, integrations=get_sentry_integrations(), send_default_pii=True, )
Maintenance
[#90] bump commonground api version to 2.1.2
Documentation
[#108] Mention in docs that importing anything from
base.pycauses all settings to be loaded
0.9.2 (2025-01-02)
Security updates
Upgrade django to 4.2.17
0.9.1 (2024-12-16)
Bugfixes/QOL
Change
LOG_STDOUTdefault value to TrueRe-add separate
CELERY_LOGLEVELconfiguration setting
0.9.0 (2024-11-11)
New Features
Add
SESSION_COOKIE_AGEconfigurable settingAdd user session management admin
Note
SessionProfile admin should be added to admin index and its fixture.
Bugfixes/QOL
fix runtime configuration for django-log-outgoing-requests
0.8.1 (2024-09-26)
Bugfixes/QOL
Change SESSION_COOKIE_SAMESITE to “Lax” to fix OIDC (#72)
Remove url from SECRET_KEY help text (#76)
Change CSP headers to support API schema page
0.8.0 (2024-08-22)
New features
Add Django CSP with configurable settings
Add SECURE_HSTS_SECONDS and CSRF_COOKIE_HTTPONLY settings
Warning
SECURE_HSTS_SECONDS has been added with a default of 31536000 seconds, ensure that before upgrading to this version of open-api-framework, your entire application is served over HTTPS, otherwise this setting can break parts of your application (see https://docs.djangoproject.com/en/4.2/ref/middleware/#http-strict-transport-security)
Bugfixes/QOL
Fix rendering for envvar defaults (previously quotes were escaped)
Move
CACHE_DEFAULT,CACHE_AXES,EMAIL_HOSTenvvars to Required group (because they are required for Docker)Add CI job to check if all envvars are either documented or excluded from documentation
0.7.1 (2024-08-16)
Bugfixes
Add missing help_text for SESSION_COOKIE_SAMESITE and CSRF_COOKIE_SAMESITE envvars
0.7.0 (2024-08-15)
New features
Management command to generate documentation for environment variables
Made SESSION_COOKIE_SAMESITE and CSRF_COOKIE_SAMESITE configurable via environment variables (default
Strict)
0.6.1 (2024-07-31)
Project maintenance and QOL
- Updated dependencies:
django
4.2.11+to4.2.14+django-axes
6.3.0+to6.5.1+django-cors-headers
4.3.1+to4.4.0+django-jsonform
2.21.4+to2.22.0+djangorestframework
3.12.4+to3.15.2+django-filter
23.2+to24.2+drf-spectacular
0.27.0+to0.27.2+mozilla-django-oidc-db
0.14.1+to0.19.0+requests
2.31.0+to2.32.3+sentry-sdk
1.39.2+to2.11.0+elastic-apm
6.20.0+to6.22.0+celery
5.2.7+to5.4.0+maykin-2fa
1.0.0+to1.0.1+
0.6.0 (2024-07-04)
New features
Use the callback class from mozilla-django-oidc-db to allow for a custom error view
0.5.0 (2024-06-27)
New features
Add password to
AXES_SENSITIVE_PARAMETERS- Use stricter
django-axessettings AXES_FAILURE_LIMITchanged from10to5AXES_COOLOFF_TIMEchanged from1to5minutes
- Use stricter
- Make more
log-outgoing-requestssettings configurable LOG_OUTGOING_REQUESTS_EMIT_BODY(defaultTrue)LOG_OUTGOING_REQUESTS_DB_SAVE_BODY(defaultTrue)
- Make more
Add base template to display current version in admin
Bugfixes
Remove FIXTURE_DIRS setting and add root level app to INSTALLED_APPS
Other
Move documentation to readthedocs
0.4.2 (2024-06-20)
Bugfixes
Add missing settings for
TWO_FACTOR_WEBAUTHN
0.4.1 (2024-06-13)
Bugfixes
Add
ordered_modeltoINSTALLED_APPS(required fordjango-admin-index)Add
two_factor.plugins.webauthntoINSTALLED_APPS(required formaykin_2fa)
0.4.0 (2024-06-06)
New features
Add django-setup-configuration to deps
Add ELASTIC_APM_TRANSACTION_SAMPLE_RATE
0.3.0 (2024-05-17)
New features
[#14] Add django-log-outgoing-requests to deps
[open-zaak/open-zaak#1629] Add generic base settings file
0.2.0 (2024-03-22)
New features
Add support for python 3.10
Upgrade to Django 4.2
Add maykin-2fa
0.1.0 (2024-01-30)
Initial release as a metapackage to pin several dependencies