Skip to content

Commit 51c6f4e

Browse files
committed
🔖 [#730] Release version 4.0.0
1 parent e4748e1 commit 51c6f4e

12 files changed

Lines changed: 127 additions & 21 deletions

File tree

CHANGELOG.rst

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,100 @@
22
Change history
33
==============
44

5+
4.0.0 (2026-04-09)
6+
------------------
7+
8+
Major release
9+
10+
.. warning::
11+
12+
This version combines the Objects API and Objecttypes into a single application named
13+
Open Object. This application no longer supports objecttypes hosted in an external application.
14+
Before upgrading to 4.0.0, it is required to first update to Objects API version 3.6.0 and run an import command
15+
to locally import the objecttypes (make sure to read :ref:`objecttype_migration` for more details).
16+
17+
.. warning::
18+
19+
From version 4.0.0 onward, the Docker images for Open Object will be published under the
20+
Dockerhub repository ``maykinmedia/open-object``. If you want to use Open Object and you are
21+
using ``maykinmedia/objects-api``, make sure to change to the new repository before deploying.
22+
23+
**💥 Breaking changes**
24+
25+
* [:objects-api:`564`] Combine Objects API and Objecttypes API into Open Object and only allow usage of local objecttypes
26+
27+
.. note::
28+
29+
The API now ignores the domain used in objecttype URLs and only checks
30+
if an objecttype exists for that UUID in the Open Object database. This means that applications that
31+
still use URLs that have the domain of the old Objecttypes API instance for requests
32+
to Open Object will not break.
33+
34+
* Changes for Open Telemetry
35+
36+
* Change namespace for metrics from ``objects`` to ``openobject`` and add metrics for Objecttypes (see :ref:`installation_observability_metrics`)
37+
* Change default for environment variable ``OTEL_SERVICE_NAME`` from ``objects`` to ``openobject`` (with postfixes for celery, flower)
38+
39+
* Changes to ``setup_configuration`` (see :ref:`installation_config_cli`)
40+
41+
* Remove the ``SitesConfigurationStep``, make sure to remove the namespace ``sites_config``
42+
from your ``setup_configuration`` data
43+
* Remove the attribute ``service_identifier`` for ``ObjectTypesConfigurationStep`` (namespace ``objecttypes``)
44+
* Remove the attribute ``fields`` and ``use_fields`` for ``TokenAuthConfigurationStep`` (namespace ``tokenauth``)
45+
46+
* Changes to environment variables
47+
48+
* [:objects-api:`730`] Rename ``ENABLE_STRUCTLOG_REQUESTS`` to ``LOG_REQUESTS``
49+
* [:objects-api:`730`] Rename ``LOG_REQUESTS`` to ``LOG_OUTGOING_REQUESTS``
50+
* [:objects-api:`730`] Use the environment variable ``CELERY_BROKER_URL`` for the Celery broker URL setting,
51+
previously this incorrectly used ``CELERY_RESULT_BACKEND`` for this setting.
52+
* [:objects-api:`730`] Remove django.contrib.sites and related code, this makes ``SITE_DOMAIN`` a required environment variable!
53+
54+
* [:objects-api:`730`] Remove redirect for deprecated API schema URLs. The schema is now only available
55+
under ``/api/v2/openapi.json`` or ``/api/v2/openapi.yaml``
56+
* [:commonground-api-common:`142`] Update API response error format to be compliant with ``application/problem+json``
57+
58+
**New features**
59+
60+
* [:objects-api:`565`] Implement import-export functionality for Objecttypes with optional UUID retention (see :ref:`import_export_objecttypes`)
61+
62+
**Bugfixes**
63+
64+
* [:objects-api:`718`] Fix 500 error on duplicate UUID when creating objects
65+
* Fix styling for ``account_blocked`` page
66+
67+
**Maintenance**
68+
69+
* [:open-api-framework:`211`] Optimize memory usage for uWSGI and celery-flower
70+
71+
* Make sure uWSGI workers restart after 1000 requests
72+
* Set ``FLOWER_MAX_TASKS=1000`` and ``FLOWER_MAX_WORKERS=50``
73+
74+
* Upgrade python dependencies
75+
76+
* ``django`` to 5.2.13
77+
* ``pyjwt`` to 2.12.1
78+
* ``open-api-framework`` to 0.13.4
79+
* ``cryptography`` to 46.0.6
80+
* ``pyopenssl`` to 26.0.0
81+
* ``mozilla-django-oidc`` to 5.0.2
82+
* ``mozilla-django-oidc-db`` to 2.0.1
83+
* ``commonground-api-common`` to 2.11.0
84+
* ``attrs`` to 25.4.0
85+
* ``cbor2`` to 5.9.0
86+
* ``cffi`` to 2.0.0
87+
* ``requests`` to 2.33.1
88+
89+
* Upgrade npm dependencies
90+
* [:objects-api:`728`] Improve setup for bencher
91+
* Removed unnecessary dev packages from docker build
92+
* Fix CodeQL warning for codeql-analysis action
93+
* Add explicit least privilege permissions for each workflow
94+
95+
**Documentation**
96+
97+
* [:open-api-framework:`205`] Describe version policy + supported versions in documentation (see :ref:`versioning_policy`)
98+
599
3.6.0 (2026-02-06)
6100
------------------
7101

README.NL.rst

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
Open Object
33
=============
44

5-
:Version: 3.6.0
5+
:Version: 4.0.0
66
:Source: https://github.com/maykinmedia/open-object
77
:Keywords: objecten, assets, zaakobjecten
88

@@ -34,7 +34,10 @@ Applicatie versie Release datum API specificatie
3434
================= ============== =============================
3535
latest n/a `ReDoc <https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/maykinmedia/open-object/master/src/objects/api/v2/openapi.yaml>`_,
3636
`Swagger <https://petstore.swagger.io/?url=https://raw.githubusercontent.com/maykinmedia/open-object/master/src/objects/api/v2/openapi.yaml>`_,
37-
(`verschillen <https://github.com/maykinmedia/open-object/compare/3.6.0..master>`_)
37+
(`verschillen <https://github.com/maykinmedia/open-object/compare/4.0.0..master>`_)
38+
4.0.0 2026-04-09 `ReDoc <https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/maykinmedia/open-object/4.0.0/src/objects/api/v2/openapi.yaml>`_,
39+
`Swagger <https://petstore.swagger.io/?url=https://raw.githubusercontent.com/maykinmedia/open-object/4.0.0/src/objects/api/v2/openapi.yaml>`_
40+
(`verschillen <https://github.com/maykinmedia/open-object/compare/3.6.0..4.0.0>`_)
3841
3.6.0 2026-02-06 `ReDoc <https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/maykinmedia/open-object/3.6.0/src/objects/api/v2/openapi.yaml>`_,
3942
`Swagger <https://petstore.swagger.io/?url=https://raw.githubusercontent.com/maykinmedia/open-object/3.6.0/src/objects/api/v2/openapi.yaml>`_
4043
(`verschillen <https://github.com/maykinmedia/open-object/compare/3.5.0..3.6.0>`_)

README.rst

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
Open Object
33
=============
44

5-
:Version: 3.6.0
5+
:Version: 4.0.0
66
:Source: https://github.com/maykinmedia/open-object
77
:Keywords: objects, assets, zaakobjecten
88

@@ -32,7 +32,10 @@ Application version Release date API specification
3232
=================== ============== =============================
3333
latest n/a `ReDoc <https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/maykinmedia/open-object/master/src/objects/api/v2/openapi.yaml>`_,
3434
`Swagger <https://petstore.swagger.io/?url=https://raw.githubusercontent.com/maykinmedia/open-object/master/src/objects/api/v2/openapi.yaml>`_,
35-
(`diff <https://github.com/maykinmedia/open-object/compare/3.6.0..master>`_)
35+
(`diff <https://github.com/maykinmedia/open-object/compare/4.0.0..master>`_)
36+
4.0.0 2026-04-09 `ReDoc <https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/maykinmedia/open-object/4.0.0/src/objects/api/v2/openapi.yaml>`_,
37+
`Swagger <https://petstore.swagger.io/?url=https://raw.githubusercontent.com/maykinmedia/open-object/4.0.0/src/objects/api/v2/openapi.yaml>`_
38+
(`diff <https://github.com/maykinmedia/open-object/compare/3.6.0..4.0.0>`_)
3639
3.6.0 2026-02-06 `ReDoc <https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/maykinmedia/open-object/3.6.0/src/objects/api/v2/openapi.yaml>`_,
3740
`Swagger <https://petstore.swagger.io/?url=https://raw.githubusercontent.com/maykinmedia/open-object/3.6.0/src/objects/api/v2/openapi.yaml>`_
3841
(`diff <https://github.com/maykinmedia/open-object/compare/3.5.0..3.6.0>`_)

docs/admin/objecttype.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@ if you click on the "history" button in the top right corner of the object type
129129

130130
You can see all the versions, their statuses, the creation dates and the related JSON shemas.
131131

132+
.. _import_export_objecttypes:
132133

133134
Export and import object types
134135
------------------------------

docs/api/index.rst

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,10 @@ API-specifications
77
====================== ==========================================
88
API Specification version(s)
99
====================== ==========================================
10-
`Open Object`_ 2.6.0 (
11-
`Redoc <https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/maykinmedia/open-object/3.6.0/src/objects/api/v2/openapi.yaml>`__,
12-
`Swagger <https://petstore.swagger.io/?url=https://raw.githubusercontent.com/maykinmedia/open-object/3.6.0/src/objects/api/v2/openapi.yaml>`__)
10+
`Open Object`_ 2.7.0 (
11+
`Redoc <https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/maykinmedia/open-object/4.0.0/src/objects/api/v2/openapi.yaml>`__,
12+
`Swagger <https://petstore.swagger.io/?url=https://raw.githubusercontent.com/maykinmedia/open-object/4.0.0/src/objects/api/v2/openapi.yaml>`__
13+
)
1314
====================== ==========================================
1415

1516
See the repository for the latest and previous versions.

docs/introduction/versioning.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ Open Object
2626
+=======+=========+===============+==========================+
2727
| 4.x | | | |
2828
+-------+---------+---------------+--------------------------+
29-
| | 4.0.x | TBD | TBD |
29+
| | 4.0.x | 2026-04-09 | |
3030
+-------+---------+---------------+--------------------------+
3131

3232
Objects API
@@ -42,7 +42,7 @@ Objects API
4242
+=======+=========+===============+==========================+
4343
| 3.x | | | |
4444
+-------+---------+---------------+--------------------------+
45-
| | 3.6.x | 2026-02-06 | |
45+
| | 3.6.x | 2026-02-06 | 2028-04-09 |
4646
+-------+---------+---------------+--------------------------+
4747
| | 3.5.x | 2025-12-01 | 2026-06-01 |
4848
+-------+---------+---------------+--------------------------+
@@ -89,7 +89,7 @@ Objecttypes API
8989
+=======+=========+===============+==========================+
9090
| 3.x | | | |
9191
+-------+---------+---------------+--------------------------+
92-
| | 3.4.x | 2025-12-01 | |
92+
| | 3.4.x | 2025-12-01 | 2028-04-09 |
9393
+-------+---------+---------------+--------------------------+
9494
| | 3.3.x | 2025-10-06 | 2026-04-06 |
9595
+-------+---------+---------------+--------------------------+

docs/manual/migration.rst

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,15 @@ and update existing objecttypes or create new ones if they have not been added t
3636
3737
Please note that after running this import command, the objecttypes API is still being used in Objects API version <4.0.0, the command only fetches and imports the data to prepare for the 4.0 upgrade.
3838

39-
With ``check_for_external_objecttypes`` you can check if there are any remaining external objecttypes.
39+
.. note::
4040

41-
.. code-block:: bash
41+
The API now ignores the domain used in objecttype URLs and only checks
42+
if an objecttype exists for that UUID in the Open Object database. This means that applications that
43+
still use URLs that have the domain of the old Objecttypes API instance for requests
44+
to Open Object will not break.
4245

43-
src/manage.py check_for_external_objecttypes
46+
For example: doing a POST on ``/objects`` with a ``type`` like ``https://<objecttypes-api-domain>/api/v2/objecttypes/<uuid>``,
47+
will still succeed if an objecttype with the specified UUID exists in the Open Object database.
4448

4549
Setup configuration
4650
-------------------

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "objects",
3-
"version": "3.6.0",
3+
"version": "4.0.0",
44
"description": "objects project",
55
"main": "src/objects/static/bundles/objects-js.js",
66
"directories": {

publiccode.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ publiccodeYmlVersion: '0.2'
77
name: Open Object
88
url: 'http://github.com/maykinmedia/open-object.git'
99
softwareType: standalone/backend
10-
softwareVersion: 3.6.0
11-
releaseDate: '2026-02-06'
10+
softwareVersion: 4.0.0
11+
releaseDate: '2026-04-09'
1212
logo: 'https://github.com/maykinmedia/open-object/blob/master/docs/logo.png'
1313
platforms:
1414
- web

0 commit comments

Comments
 (0)