Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,37 @@
Change history
==============

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 ``ObjectRecord`` by adding ``_object_type`` to avoid additional JOINs in queries.
This improves performance for read operations via the API.

**Project maintenance**

* [:open-api-framework:`163`] Integrate django-common to make uses of shared views/templates
* [:objects-api:`663`] Upload performance tests results to bencher
* [:open-api-workflows:`30`] Run API Design Rules linter on OpenAPI specification in CI

3.3.1 (2025-10-16)
------------------

Expand Down
10 changes: 8 additions & 2 deletions README.NL.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Objecten API
============

:Version: 3.3.1
:Version: 3.4.0
:Source: https://github.com/maykinmedia/objecttypes-api
:Keywords: objecten, assets, zaakobjecten

Expand Down Expand Up @@ -38,7 +38,13 @@ Applicatie versie Release datum API specificatie
================= ============== =============================
latest n/a `ReDoc <https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/maykinmedia/objects-api/master/src/objects/api/v2/openapi.yaml>`_,
`Swagger <https://petstore.swagger.io/?url=https://raw.githubusercontent.com/maykinmedia/objects-api/master/src/objects/api/v2/openapi.yaml>`_,
(`verschillen <https://github.com/maykinmedia/objects-api/compare/3.3.0..master>`_)
(`verschillen <https://github.com/maykinmedia/objects-api/compare/3.4.0..master>`_)
3.4.0 2025-10-28 `ReDoc <https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/maykinmedia/objects-api/3.4.0/src/objects/api/v2/openapi.yaml>`_,
`Swagger <https://petstore.swagger.io/?url=https://raw.githubusercontent.com/maykinmedia/objects-api/3.4.0/src/objects/api/v2/openapi.yaml>`_
(`verschillen <https://github.com/maykinmedia/objects-api/compare/3.3.1..3.4.0>`_)
3.3.1 2025-10-16 `ReDoc <https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/maykinmedia/objects-api/3.3.1/src/objects/api/v2/openapi.yaml>`_,
`Swagger <https://petstore.swagger.io/?url=https://raw.githubusercontent.com/maykinmedia/objects-api/3.3.1/src/objects/api/v2/openapi.yaml>`_
(`verschillen <https://github.com/maykinmedia/objects-api/compare/3.3.0..3.3.1>`_)
3.3.0 2025-10-02 `ReDoc <https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/maykinmedia/objects-api/3.3.0/src/objects/api/v2/openapi.yaml>`_,
`Swagger <https://petstore.swagger.io/?url=https://raw.githubusercontent.com/maykinmedia/objects-api/3.3.0/src/objects/api/v2/openapi.yaml>`_
(`verschillen <https://github.com/maykinmedia/objects-api/compare/3.2.0..3.3.0>`_)
Expand Down
10 changes: 8 additions & 2 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Objects API
===========

:Version: 3.3.1
:Version: 3.4.0
:Source: https://github.com/maykinmedia/objects-api
:Keywords: objects, assets, zaakobjecten

Expand Down Expand Up @@ -36,7 +36,13 @@ Application version Release date API specification
=================== ============== =============================
latest n/a `ReDoc <https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/maykinmedia/objects-api/master/src/objects/api/v2/openapi.yaml>`_,
`Swagger <https://petstore.swagger.io/?url=https://raw.githubusercontent.com/maykinmedia/objects-api/master/src/objects/api/v2/openapi.yaml>`_,
(`diff <https://github.com/maykinmedia/objects-api/compare/3.3.0..master>`_)
(`diff <https://github.com/maykinmedia/objects-api/compare/3.4.0..master>`_)
3.4.0 2025-10-28 `ReDoc <https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/maykinmedia/objects-api/3.4.0/src/objects/api/v2/openapi.yaml>`_,
`Swagger <https://petstore.swagger.io/?url=https://raw.githubusercontent.com/maykinmedia/objects-api/3.4.0/src/objects/api/v2/openapi.yaml>`_
(`diff <https://github.com/maykinmedia/objects-api/compare/3.3.1..3.4.0>`_)
3.3.1 2025-10-16 `ReDoc <https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/maykinmedia/objects-api/3.3.1/src/objects/api/v2/openapi.yaml>`_,
`Swagger <https://petstore.swagger.io/?url=https://raw.githubusercontent.com/maykinmedia/objects-api/3.3.1/src/objects/api/v2/openapi.yaml>`_
(`diff <https://github.com/maykinmedia/objects-api/compare/3.3.0..3.3.1>`_)
3.3.0 2025-10-02 `ReDoc <https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/maykinmedia/objects-api/3.3.0/src/objects/api/v2/openapi.yaml>`_,
`Swagger <https://petstore.swagger.io/?url=https://raw.githubusercontent.com/maykinmedia/objects-api/3.3.0/src/objects/api/v2/openapi.yaml>`_
(`diff <https://github.com/maykinmedia/objects-api/compare/3.2.0..3.3.0>`_)
Expand Down
6 changes: 3 additions & 3 deletions docs/api/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@ API Specification version(s)
`Redoc <https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/maykinmedia/objecttypes-api/3.0.3/src/objecttypes/api/v2/openapi.yaml>`__,
`Swagger <https://petstore.swagger.io/?url=https://raw.githubusercontent.com/maykinmedia/objecttypes-api/3.0.3/src/objecttypes/api/v2/openapi.yaml>`__
)
`Objects API`_ 2.4.4 (
`Redoc <https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/maykinmedia/objects-api/3.3.1/src/objects/api/v2/openapi.yaml>`__,
`Swagger <https://petstore.swagger.io/?url=https://raw.githubusercontent.com/maykinmedia/objects-api/3.3.1/src/objects/api/v2/openapi.yaml>`__
`Objects API`_ 2.5.0 (
`Redoc <https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/maykinmedia/objects-api/3.4.0/src/objects/api/v2/openapi.yaml>`__,
`Swagger <https://petstore.swagger.io/?url=https://raw.githubusercontent.com/maykinmedia/objects-api/3.4.0/src/objects/api/v2/openapi.yaml>`__
)
====================== ==========================================

Expand Down
4 changes: 4 additions & 0 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,10 @@
"https://github.com/maykinmedia/open-api-framework/issues/%s",
"#%s",
),
"open-api-workflows": (
"https://github.com/maykinmedia/open-api-workflows/issues/%s",
"#%s",
),
"charts": (
"https://github.com/maykinmedia/charts/issues/%s",
"#%s",
Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "objects",
"version": "3.3.1",
"version": "3.4.0",
"description": "objects project",
"main": "src/objects/static/bundles/objects-js.js",
"directories": {
Expand Down
4 changes: 2 additions & 2 deletions publiccode.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ publiccodeYmlVersion: '0.2'
name: Objects API
url: 'http://github.com/maykinmedia/objects-api.git'
softwareType: standalone/backend
softwareVersion: 3.3.1
releaseDate: '2025-10-16'
softwareVersion: 3.4.0
releaseDate: '2025-10-28'
logo: 'https://github.com/maykinmedia/objects-api/blob/master/docs/logo.png'
platforms:
- web
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ requires-python = "== 3.12"
[tool.bumpversion]
commit = false
tag = false
current_version = "3.3.1"
current_version = "3.4.0"
pre_commit_hooks = [
"npm i", # ensure that package-lock.json is updated
]
Expand Down
2 changes: 1 addition & 1 deletion requirements/dev.txt
Original file line number Diff line number Diff line change
Expand Up @@ -595,7 +595,7 @@ phonenumberslite==8.13.30
# -c requirements/ci.txt
# -r requirements/ci.txt
# django-two-factor-auth
pip==25.2
pip==25.3
# via pip-tools
pip-tools==7.4.1
# via -r requirements/dev.in
Expand Down
2 changes: 1 addition & 1 deletion src/objects/__init__.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from .celery import app as celery_app

__all__ = ("celery_app",)
__version__ = "3.3.1"
__version__ = "3.4.0"
__author__ = "Maykin Media"
__homepage__ = "https://github.com/maykinmedia/objects-api"
2 changes: 1 addition & 1 deletion src/objects/api/v2/openapi.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
openapi: 3.0.3
info:
title: Objects API
version: 2.4.4
version: 2.5.0
description: |
An API to manage Objects.

Expand Down Expand Up @@ -853,7 +853,7 @@
description: OK
components:
schemas:
GeoJSONGeometry:

Check warning on line 856 in src/objects/api/v2/openapi.yaml

View workflow job for this annotation

GitHub Actions / Checks / Lint OAS

schema-camel-case Schema name should be CamelCase in #/components/schemas/GeoJSONGeometry

Check warning on line 856 in src/objects/api/v2/openapi.yaml

View workflow job for this annotation

GitHub Actions / Checks / Lint OAS

schema-camel-case Schema name should be CamelCase in #/components/schemas/GeoJSONGeometry
title: GeoJSONGeometry
type: object
oneOf:
Expand Down Expand Up @@ -1302,7 +1302,7 @@
name: Authorization
description: Token-based authentication with required prefix "Token"
servers:
- url: /api/v2

Check warning on line 1305 in src/objects/api/v2/openapi.yaml

View workflow job for this annotation

GitHub Actions / Checks / Lint OAS

servers-use-https Server URL /api/v2 "/api/v2" must match the pattern "^https://.*".

Check warning on line 1305 in src/objects/api/v2/openapi.yaml

View workflow job for this annotation

GitHub Actions / Checks / Lint OAS

servers-use-https Server URL /api/v2 "/api/v2" must match the pattern "^https://.*".
tags:
- name: objects
- name: permissions
Expand Down
2 changes: 1 addition & 1 deletion src/objects/conf/api.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
API_VERSION = "2.4.4"
API_VERSION = "2.5.0"

# api settings
REST_FRAMEWORK = {
Expand Down