Change history
4.0.0 (2026-04-13)
Major release
Warning
This version combines the Objects API and Objecttypes into a single application named Open Object. This application no longer supports objecttypes hosted in an external application. Before upgrading to 4.0.0, it is required to first update to Objects API version 3.6.0 and run an import command to locally import the objecttypes (make sure to read ObjectTypes API migration for more details).
Warning
From version 4.0.0 onward, the Docker images for Open Object will be published under the
Dockerhub repository maykinmedia/open-object. If you want to use Open Object and you are
using maykinmedia/objects-api, make sure to change to the new repository before deploying.
💥 Breaking changes
[#564] Combine Objects API and Objecttypes API into Open Object and only allow usage of local objecttypes
Note
The API now ignores the domain used in objecttype URLs and only checks if an objecttype exists for that UUID in the Open Object database. This means that applications that still use URLs that have the domain of the old Objecttypes API instance for requests to Open Object will not break.
Changes for Open Telemetry
Change namespace for metrics from
objectstoopenobjectand add metrics for Objecttypes (see Metrics)Change default for environment variable
OTEL_SERVICE_NAMEfromobjectstoopenobject(with postfixes for celery, flower)
Changes to
setup_configuration(see Configuration (CLI))Remove the
SitesConfigurationStep, make sure to remove the namespacesites_configfrom yoursetup_configurationdataRemove the attribute
service_identifierforObjectTypesConfigurationStep(namespaceobjecttypes)Remove the attribute
fieldsanduse_fieldsforTokenAuthConfigurationStep(namespacetokenauth)
Changes to environment variables
[#730] Rename
ENABLE_STRUCTLOG_REQUESTStoLOG_REQUESTS[#730] Rename
LOG_REQUESTStoLOG_OUTGOING_REQUESTS[#730] Use the environment variable
CELERY_BROKER_URLfor the Celery broker URL setting, previously this incorrectly usedCELERY_RESULT_BACKENDfor this setting.[#730] Remove django.contrib.sites and related code, this makes
SITE_DOMAINa required environment variable!
[#730] Remove redirect for deprecated API schema URLs. The schema is now only available under
/api/v2/openapi.jsonor/api/v2/openapi.yaml[#142] Update API response error format to be compliant with
application/problem+json
New features
[#565] Implement import-export functionality for Objecttypes with optional UUID retention (see Export and import object types)
Bugfixes
[#718] Fix 500 error on duplicate UUID when creating objects
Fix styling for
account_blockedpage
Maintenance
[#211] Optimize memory usage for uWSGI and celery-flower
Make sure uWSGI workers restart after 1000 requests
Set
FLOWER_MAX_TASKS=1000andFLOWER_MAX_WORKERS=50
Upgrade python dependencies
djangoto 5.2.13pyjwtto 2.12.1open-api-frameworkto 0.13.4cryptographyto 46.0.6pyopensslto 26.0.0mozilla-django-oidcto 5.0.2mozilla-django-oidc-dbto 2.0.1commonground-api-commonto 2.11.0attrsto 25.4.0cbor2to 5.9.0cffito 2.0.0requeststo 2.33.1
Upgrade npm dependencies
[#728] Improve setup for bencher
Removed unnecessary dev packages from docker build
Fix CodeQL warning for codeql-analysis action
Add explicit least privilege permissions for each workflow
Documentation
[#205] Describe version policy + supported versions in documentation (see Versioning policy)
3.6.0 (2026-02-06)
New features
[#564] Add ObjectType fields & ObjectTypeVersion model
[#564] Add command to import objecttypes from API for 4.0.0 migration (see ObjectTypes API migration for more information)
[#712] Ensure token authorization display name is unique identifier in admin
[#708] Support Open Archiefbeheer destruction in objects api
Add
referencesfield to ObjectRecord to link objecten to zakenEmit
zaak-gekoppeldandzaak-ontkoppeldcloud events when an object is linked to or unlinked from a zaak (can be enabled withENABLE_CLOUD_EVENTSenvironment variable)
Warning
The zaak-gekoppeld and zaak-ontkoppeld pattern is still under active development
and could be subject to change in future releases. It is not recommended to rely on this pattern
in production yet.
[#724] Remove
linkable_to_zakenfrom ObjectType
Maintenance
Fix factory invocations
Avoid using event key in uwsgi logs
[#197] use commonground-api-common pagination
Upgrade python dependencies
asgiref to 3.11.0
cbor2 to 5.8.0
django to 5.2.11
open-api-framework to 0.13.3
urllib3 to 2.6.3
wheel to 0.46.3
protobuf to 6.33.5
pip to 26.1
virtualenv to 20.36.1
filelock to 3.20.3
factory-boy to 3.3.3
[#197] commonground-api-common to 2.10.7
Documentation
[#171] Add connection pooling changelog warning
3.5.0 (2025-12-01)
Warning
Changes to format of setup_configuration data for OpenID connect
In this release, mozilla-django-oidc-db has been updated to version 1.1.1, which requires the new data format.
The old format is deprecated and will be removed in future releases.
The new configuration must be used, as it splits the previous solo model configuration into OIDCProvider and OIDCClient
configurations, making it easier to re-use identity provider settings across multiple client IDs.
Additionally, any configuration using django-setup-configuration must be updated to reflect these changes,
as it is now split into two distinct sections: one for providers and one for clients.
This separation also exists in the admin interface, so both sections can be configured directly through the user interface.
For example:
providers:
- identifier: example-provider
# other provider settings
clients:
- identifier: admin-oidc
oidc_provider_identifier: example-provider
# other client settings
For detailed configuration, see Admin OIDC Configuration Step.
Make sure to check which fields are marked as DEPRECATED and replace them with the fields that are mentioned as replacements.
New features
[#152] Add OpenTelemetry (
OTel) for collecting and exporting application metrics.Metrics now exposed include:
HTTP request durations.
Number of active requests.
Number of users, logins, logouts, failed logins, and account lockouts.
CRUD operations for the
/objectsendpoint.
All metrics are exported using the OpenTelemetry standard, enabling seamless integration with existing monitoring and visualization platforms.
Note
The OpenTelemetry SDK is enabled by default.
If you do not have an endpoint to send system telemetry to, update your deployment to disable it by setting the environment variable:
OTEL_SDK_DISABLED=true
If this is not done, warnings will be emitted to the container logs. The application will continue to function normally.
All available metrics and details can be found in the Observability documentation.
[#188] Add CSV option to
dump_data.shscript (see Scripts for more information)[#621] Improve admin search bar for JSON data using key-value patterns, see Search objects in the admin
Bugfixes
[#134] Fix exceptions in API endpoints not forwarded to Sentry when
DEBUG=False
Maintenance
[#191]
nodejsto v24[#31]
codeqlto v4[#188] Update docker backend image to
python:3.12-slim-trixieand frontend image tonode:24-trixie-slimUpgrade python dependencies
[#171]
open-api-frameworkto 0.13.2commonground-api-commonto 2.10.5notifications-api-commonto 0.9.0django-setup-configurationto 0.11.0mozilla-django-oidc-dbto 1.1.1maykin-commonto 0.11.0djangoto 5.2.8uwsgito 2.0.31pipto 25.3
Documentation
3.4.0 (2025-10-28)
Warning
This version contains a data migration which denormalizes the object_type on the ObjectRecord
model to make queries more performant, by avoiding additional JOINs.
This data migration can take around 40 minutes to 1.5 hours, dependent on the amount of ObjectRecords in the database. It was tested on a dataset of 3.8 million ObjectRecords, for which this migration took 45 minutes. This data migration does handle newly created ObjectRecords if the Objects API is still running simultaneously.
If the Objects API is still running while this migration is applied and if there is
always a constant influx of created ObjectRecords, this migration could theoretically
keep running indefinitely, or there could be a small window (if the data migration does finish)
where the NOT NULL constraint is not yet applied and NULL values are being inserted,
causing errors. Although this is unlikely, if your instance is at risk for this,
it could be safer to take the Objects API offline before migrating to avoid this.
Performance optimizations
[#677] Denormalize
ObjectRecordby adding_object_typeto avoid additional JOINs in queries. This improves performance for read operations via the API.
Project maintenance
3.3.1 (2025-10-16)
Bugfixes/QOL
[#621] Add environment variable
OBJECTS_ADMIN_SEARCH_DISABLED(default:False) to disable the search bar in the Objects admin list view
3.3.0 (2025-10-06)
New features
[#653] Add
created_on&modified_ontoObject&ObjectRecordmodels to allow sorting and filtering in the admin UI[#175] Changes to logging of handled and unhandled exceptions (see Exceptions)
Log events for handled API exceptions (e.g. HTTP 400) now include
dataLog events for unhandled API exceptions (e.g. HTTP 500) now include the traceback via
exception
[#184]
setup_configurationnow supports pulling values from environment variables in YAML configuration by usingvalue_from(see setup_configuration documentation for more information)
Project maintenance
3.2.0 (2025-09-16)
Warning
This release adds a GINIndex on data_attrs, which might slow down writes to ObjectRecord
occasionally, when this index is updated. The migration that adds this index concurrently, so it
does not lock the table while migrating, but adding the index might take some time (several minutes) if the table
contains a lot of ObjectRecords.
No additional Postgres extensions are required to use this index.
Features
[#661] Add GINIndex on ObjectRecord.data to improve performance when filtering on
data_attrs
Project maintenance
[#85] Set the default number of threads used by uWSGI to 4
3.1.4 (2025-08-28)
Maintenance
[#157] Add script for management information datadump exporting relevant component data (see Scripts)
[#179] Add monkeypatch to requests applying a default timeout to all requests calls
Upgrade dependencies
zgw-consumersto 1.0.0
Documentation
[#159] Add functionality to create model image for Objects API and ObjectTypes API(see UML Diagrams)
3.1.3 (2025-08-04)
Bugfixes/QOL
Upgrade kombu to ensure celery worker properly reestablishes connection to redis on restart
Maintenance
Add environment variable
CELERY_RESULT_EXPIRESto change how long the results will be stored in Redis (see Environment configuration reference > Celery for more information)Upgrade dependencies
celeryto 5.5.3kombuto 5.5.4packagingto 25.0billiardto 4.2.1tzdatato 2052.2
3.1.2 (2025-07-22)
Bugfixes/QOL
Fix Elastic APM not showing time spent in database when using connection pooling via envvars
Maintenance
Add environment variable
DB_DISABLE_SERVER_SIDE_CURSORSto disable server side cursors (see Environment configuration reference > Database for more information)Upgrade dependencies
django-privatesto 3.1.1commonground-api-commonto 2.7.0open-api-frameworkto 0.12.0
Use DB connection pooling settings from
open-api-framework
Warning
The connection pooling settings (via environment variables) apply to each uWSGI process and each replica, this means that when running with 2 replicas and 4 processes for example, there will effectively be 8 connection pools with the above settings.
Documentation
3.1.1 (2025-07-04)
Bugfixes
[#619] Fix unstructured logs still being emitted by the Celery container
Project maintenance
[#587] Add rule to disallow direct
loggingimports[#151] Move
ruffandbump-my-versionconfigurations intopyproject.toml[#149] Add dark/light theme toggle to the admin interface
[#139] Integrate
django-upgrade-checkto ensure that all required versions are correctly handled during instance upgradesUpgrade dependencies: * django to 5.2.3 * notifications-api-common to 0.7.3 * commonground-api-common to 2.6.7 * open-api-framework to 0.11.0 * django-setup-configuration to 0.8.2 * django-debug-toolbar to 5.2.0 * zgw-consumers to 0.38.1 * requests to 2.32.4 * urllib3 to 2.5.0 * vcrpy to 7.0.0
Performance optimizations
[#615] Improve admin
listviewsearch performance and usability
3.1.0 (2025-05-26)
New features
Note
The logging format has been changed from unstructured to structured with structlog. For more information on the available log events and their context, see Logging.
[#586] Add log events for creation/updating of objects via the API
Performance optimizations
[#538] Apply caching to
reversecalls inObjectUrlFieldto avoid additional overhead[#538] Avoid doing more queries than necessary for
/objectsendpoint
Bugfixes and QOL
[#576] Add missing
type: objectproperty toObjectRecordin OASDo not use
save_outgoing_requestslog handler ifLOG_REQUESTSis set to false
Project maintenance
[#562] Fix security issues by upgrading packages in Dockerfile
Upgrade dependencies:
tornadoto 6.5.0 to fix security issuesjosepyto 1.14.0django-formtoolsto 2.5.1open-api-frameworkto 0.10.1commonground-api-commonto 2.6.4
[#140] Upgrade python to 3.12
Replace OAS workflows with single workflow
[#133] Replace black, isort and flake8 with
ruffand updatecode-qualityworkflowRemove references to API test platform in README/documentation
3.0.4 (2025-05-13)
Warning
This release upgrades Django to version 5.2.1, which requires PostgreSQL version 14 or higher. Attempting to deploy with PostgreSQL <14 will cause errors during deployment.
Bugfixes and QOL
[#570] Removed broken ObjectRecord geometry map widget.
[#374] Fixed empty token auth field when creating Permission for Token authorization.
Project maintenance
Add additional performance tests for pagination
Upgrade dependencies
django to 5.2.1
django-setup-configuration to 0.7.2
commonground-api-common to 2.6.2
httpcore to 1.0.9
h11 to 0.16.0
Upgrade dev dependencies
django-webtest to 1.9.13
Upgrade npm packages to fix vulnerabilities
Fixed admin logout button
[#550] Implement cache for objecttypes
[#550] add OBJECTTYPE_VERSION_CACHE_TIMEOUT environment variable (see documentation for environment variables for caching)
[#572] Add db connection pooling environment variables (see documentation for environment variables for database)
DB_POOL_ENABLED
DB_POOL_MIN_SIZE
DB_POOL_MAX_SIZE
DB_POOL_TIMEOUT
DB_POOL_MAX_WAITING
DB_POOL_MAX_LIFETIME
DB_POOL_MAX_IDLE
DB_POOL_RECONNECT_TIMEOUT
DB_POOL_NUM_WORKERS
Warning
Experimental: — connection pooling is not yet recommended for production use. It may not behave as expected when running uWSGI with multiple processes or threads. Use this feature cautiously and test thoroughly before deployment. See the documentation for details.
[#566] Add DB_CONN_MAX_AGE environment variable (see documentation for environment variables for database)
Warning
Experimental: — connection pooling is not yet recommended for production use. It may not behave as expected when running uWSGI with multiple processes or threads. Use this feature cautiously and test thoroughly before deployment. See the documentation for details.
3.0.3 (2025-04-03)
Project maintenance
[#59] Deprecate django.contrib.sites and add
SITE_DOMAINenvironment variable as a replacement (see Environment configuration reference > Optional for more information)[#125] Upgrade docker image to debian-bookworm
[#117] Confirm support for Postgres 17 and drop (verified) support for Postgres 12
Confirm support for Postgis 3.2/3.5 and drop (verified) support for Postgis 2.5
Upgrade nodejs version in Docker image to 20
Upgrade dependencies
open-api-framework to 0.9.6
commonground-api-common to 2.5.5
notifications-api-common to 0.7.2
Upgrade dev dependencies
black to 25.1.0
flake to 7.1.2
isort to 6.0.1
[#116] Fix codecov publish
[#115] Fix oas CI check
3.0.2 (2025-03-07)
Bugfixes and QOL
[#538] Optimize objects list performance
[#523] Added help text in Permission admin view to explain that authorization fields are reset when the Object type is changed
Project maintenance
Upgrade dependencies:
[#541] Upgrade kombu to 5.4.2, this should fix the issue that caused Celery workers to not be able to reestablish connections with Redis
Upgrade Django to 4.2.20
Upgrade jinja2 to 3.1.6 to fix security issue
[#538] Add performance test for objects API list
[#538] Add django-silk for performance profiling in development environment
3.0.1 (2025-03-04)
Bugfixes and QOL
[#464] improved performance of the permission page in the Admin :zap:
[#79] disabled admin nav sidebar
Project maintenance
bumped python dependencies: open-api-framework to 0.9.3, commonground-api-common to 2.5.0, django to 4.2.19, cryptography to 44.0.1
[#529] added bump-my-version to dev dependencies
[#44] added workflow to CI to auto-update open-api-framework
[#509, #104] updated quick-start workflow to test docker-compose.yml
[#165] remove unused celery worker command line args
Documentation
[#521] updated documentation for
django-setup-configurationsteps with YAML example directive
3.0.0 (2025-01-22)
Breaking changes
removed objects-api V1 [#453]
2.5.0 (2025-01-09)
Breaking changes
upgraded
django-setup-configurationto0.5.0
Warning
Previous configuration files used for setup_configuration do not work.
See Configuration (CLI) for the available settings that can now be configured through setup_configuration.
added support for configuring permissions through
django-setup-configurationversion0.4.0[#497]added support for configuring token authorizations through
django-setup-configurationversion0.4.0[#485]added support for configuring
mozilla-django-oidc-dbthroughdjango-setup-configurationversion0.4.0[#490]added support for configuring
OBJECTTYPE’s throughdjango-setup-configurationversion0.4.0[#467]added support for configuring Notificatiescomponentconfiguratie through
django-setup-configurationversion0.4.0[#484]
New features
added the new
data_attrsquery parameter for theOBJECT’s resource [#472]
Warning
Usage of the data_attr query parameter is deprecated. Usage of the new data_attrs query parameter is recommended.
updated OAF version to 0.9.1. This upgrade allows admin users managing their sessions through the admin.
Bugfixes and QOL
fixed
latestdocker image tag not being pushed [open-api-framework/#92]fixed documentation building in CI [#501]
included
gettextin docker images [#495]updated zgw-consumers to 0.35.1 [open-api-framework/#66]
Warning
Configuring external services is now done through the Service model. This
replaces the APICredential model in the admin interface. A data migration
was added to move to the Service model. It is advised to verify the Service
instances in the admin to check that the data migration was ran as expected.
updated PATCH request behaviour for the
datafield [#466]fixed CSP errors [open-api-framework/#68]
Project maintenance
implementend CI action to create a PR with latest OAF version [open-api-framework/#44]
security updates [open-api-framework/#93]
switched from
pip-compiletouv[open-api-framework/#81]pinned
publishworkflow tov3.0.1[#504]implementend open-api-workflows [open-api-framework/#13]
Documentation
added documentation for notification retry behavior [#403]
added missing changelog entry [#455]
2.4.4 (2024-10-01)
Bugfixes and QOL
fixed CSP errors on the OAS page (#458)
fixed OIDC login by making SameSite setting lax (#458)
fixed adding permissions in the Admin (#449)
fixed
NOTIFICATIONS_DISABLEDsetting (#452)
Project maintenance
added CI action to check if OAF is up-to-date (#443)
2.4.3 (2024-09-18)
New features
added an endpoint to retrieve a specific object version (#328)
supported the in operator in data_attrs to match one element (#414)
Bugfixes and QOL
hid previous records available on particular date even if they match search parameters (#324)
fixed 2FA app title (#442)
bumped setuptools and npm dependencies (#441)
Project maintenance
disabled configuration steps by default (#446)
increase default values for uwsgi processes and threads (#448)
Warning
All configuration steps are now disabled by default. To enable them use the correspondent environment variables
2.4.2 (2024-08-26)
New features
updated open-api-framework to 0.8.0, which includes adding CSRF, CSP and HSTS settings (#438). All new environment variables are added to the documentation
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 and QOL
bumped python dependencies due to security issues: django, celery, certifi, maykin-2fa, mozilla-django-oidc-db, sentry-sdk, webob and others (#428)
bumped
zgw-consumersto 0.29.0 and updated a code for clients, because of zgw-consumers breaking change.paginated
/api/v2/objects/{uuid}/historyendpoint (#329)fixed
"register_kanalencommand (#426)fixed notification page link (open-zaak/open-notificaties#171)
** Documentation**
updated the documentation of environment variables using open-api-framework (open-zaak/open-zaak#1649)
2.4.1 (2024-08-06)
Bugfixes and QOL
added Celery healthcheck
made user emails unique to prevent two users logging in with the same email, causing an error
Project maintenance
added CI-job to check for unexpected changes in the OAS (#420)
Warning
User email addresses will now be unique on a database level. The database migration will fail if there are already two or more users with the same email address. You must ensure this is not the case before upgrading.
2.4.0 (2024-07-05)
New features
added superuser permissions to API (#369)
added setup_configuration management command which can configure API with environment variables (#368)
added Record.data as a search filter in the Admin (#381)
displayed Objecttype.uuid in the Objecttype and Object admin pages (#315)
Bugfixes and QOL
supported correctionFor = null in POST/PUT requests (#268)
added tests for additionalProperties keyword in JSON schema (#330)
fixed creating objects with empty data (#371)
fixed displaying the Token admin page if Object Types API is unavailable (#373)
fixed styling of OIDC login page (#392)
fixed styling of the help text icon in the Admin (#421)
updated demo data used in quick start process (#398, #400)
Project maintenance
updated Python to 3.11 (#379)
added open-api-framework dependency (#358)
refactored settings using open-api-framework (#413)
added logging of outgoind requests (#344)
added Trivy into the CI as an docker image scaner (#402)
added GitHub issue templates (#389)
merged quick start and regular docker compose files into one (#408)
changed caching backend from LocMem to Redis
Elastic APM service name can now be configured with
ELASTIC_APM_SERVICE_NAMEenvvar
Documentation
added security policy (#390)
updated Quick start documentation (#348)
Warning
Because the caching backend was changed to Redis, existing deployments must add a Redis container or Redis instance
(see Installation > Environment configuration reference in the documentation on how to configure) the connection with Redis
Warning
The service name for Elastic APM is now configurable via the ELASTIC_APM_SERVICE_NAME environment variable.
The default value changed from Objects API to objects - <ENVIRONMENT>
2.3.2 (2024-05-03)
Bugfix release
This release addresses a security weakness.
[GHSA-3wcp-29hm-g82c] replaced PK for Token model.
2.3.1 (2024-03-22)
Bugfixes and QOL
fixed celery docker container (#376)
configured caches with redis (#377)
added flower to monitor celery tasks (#378)
Note
Flower is added to the docker, so now flower container could be deployed for monitoring purposes.
2.3.0 (2024-03-15)
Updated to Django 4.2.
Warning
Celery (and thus Redis) is now a required dependency.
Two-factor authentication is enabled by default. The DISABLE_2FA environment variable
can be used to disable it if needed.
2.2.1 (2024-03-02)
Bugfixes and QOL
fixes OIDC config page by adding
django_jsonformtoINSTALLED_APPS(#350)added
USE_X_FORWARDED_HOSTenvironment variable (#353)added email environment variables (#366)
2.2.0 (2024-01-30)
Component changes
Bugfixes and QOL
fixed Permission form in the Admin (#309)
added
ENVIRONMENTenvironment variable (#310)updated python from 3.7 to 3.10 (#357)
bumped Django to 3.2 (#357)
bumped python libraries including mozilla-django-oidc, mozilla-django-oidc-db, zgw-consumers, uwsgi (#357, #338)
removed hijack library (#357)
updated base for docker image from Debian 10 to Debian 12 (#357)
API 2.2.0 changes
New features
added typeVersion query parameter (#306)
supported JSON merge when doing a partial update on
dataattribute (#351)
Bugfixes
added typeVersion query parameter (#306)
fixed date-time parsing in API filtering (#308)
Warning
Change in deployment is required. /media/ volume should be configured to share OAS files.
Explanation:
The new version of zgw_consumers library adds oas_file filed to Service model.
This field saves OAS file into MEDIA_ROOT folder.
The deployment now should have a volume for it.
Please look at the example in docker-compose.yml
2.1.1 (2022-06-24)
Bugfixes and QOL
fixed updating objects with earlier startAt attribute (#282)
removed boostrap from the landing page (#294)
bumped to newer versions of pyjwt (#299)
fixed Elastic APM configuration (#289)
2.1.0 (2022-05-17)
Component changes
Bugfixes and QOL
managed 2FA authentication using environment variables (#250)
integrated with OpenID Connect (#246)
create initial superuser with environment variables (#254)
removed non-actual results when filtering on data_attr query param (#260)
supported objecttypes with json schemas without properties in the Objects Admin (#273)
bumped to newer versions of mozilla-django-oidc-db (#264), django, lxml, babel, waitress(#293), pillow (#285) and npm packages (#279)
remove swagger2openapi from dependencies (#292)
Deployment tooling / infrastructure
use ansible collections from Ansible Galaxy (#241)
API 1.3.0 changes
New features
supported numeric values for icontains query param (#262)
supported validation on hasGeometry field in the Objecttypes API (#263)
API 2.1.0 changes
New features
supported numeric values for icontains query param (#262)
supported validation on hasGeometry field in the Objecttypes API (#263)
supported ordering query param which allows to sort the results (#274)
2.0.0 (2021-09-22)
Component changes
Supports API 2.0.0 and API 1.2.0
API 1.2.0 changes
New features
supported having several API versions at the same time (#195)
enabled selecting set of fields for every object type version which are allowed to display in the API (#79)
sent notifications when the objects are changed in the API using Notificaties API. Sending notifications is an optional feature that can be disabled (#221, #237)
added an endpoint to show which API permissions the client has (#81)
made geometry field non-required for the search endpoint (#236)
supported dates in the data_attrs= query param (#214)
supported icontains operator in the data_attrs= query param, which allows case-insensitive search on the part of the string (#235)
added two-factor authentication for the Objects Admin (#232)
Bugfixes and QOL
bumped to newer versions of django, django-debug-toolbar, urllib3, sqlparse (#225, #243)
added superuser for quick-start (#203)
tested the performance of the API per version (#219)
Documentation
marked read-only fields as non-required in OAS (#210)
described how to configure authorization with the set of allowed fields in the admin (#79)
documented how to configure notifications (#245)
API 2.0.0 changes
Breaking features
paginated API responses (#148)
New features
supported data_icontains query param which requires Postgres 12+ (#235)
Deployment tooling / infrastructure
updated Postgres version in the Objects API Helm chart (#242)
1.1.1 (2021-06-22)
Bugfixes and QOL
Fixed OAS generation: remove unrelated error response bodies and headers, swap the notion of material and formal history (#197, #201)
Tested the implementation of the material and formal history (#168)
Documentation
Documented how to use the Objecttypes admin and the Objects admin (#60)
1.1.0 (2021-04-21)
New features
Decoupled authentication tokens from users in the admin (#115)
Added additional fields for tokens to store extra information (#155)
Adhered the Objecttypes API to API principles API-09, API-18, API-19, API-51 defined in API Design Rules of Nederlandse API Strategie (#46, #174)
Supported fields= query param and display only selected fields in the API response (#174)
Added length validation fo url fields (#154)
Improved the Admin UI:
Include uuid field to the “object” page (#156)
Make object_type field immutable (#150)
Add filtering on object_type to the “object” page (#157)
Bugfixes and QOL
Improved performance with database query optimization (#136) :zap:
Bumped to newer versions of Django, Jinja2, Pillow, PyYAML, pip-tools including security fixes (#183, #182, #184, #176, #193)
Fixed a crash when creating an object without a version in the admin (#146)
Deployment tooling / infrastructure
Added Helm chart to deploy the Objects API on Kubernetes (#180)
Added Ansible configuration to deploy the Objects API on single server (#59)
Documentation
Added a tutorial how to use the Objects API and the Objecttypes API with examples (#61)
Documented how to configure authentication and authorization for the Objects API and the Objecttypes API (#179)
Documented deployment of the Objects API and the Objecttypes API on single server and Kubernetes (#59)
Translated descriptions for Content-Crs and Accept-Crs headers from Dutch to English in the OAS (#106)
Added information about validation to the OAS (#106)
1.0.0 (2021-01-13)
🎉 First release of Objects API.