|
2 | 2 | Change history |
3 | 3 | ============== |
4 | 4 |
|
| 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 | + |
5 | 99 | 3.6.0 (2026-02-06) |
6 | 100 | ------------------ |
7 | 101 |
|
|
0 commit comments