OntoBricks — Release Notes V0.5.2 #81
benoitcayladbx
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
OntoBricks — Release Notes V0.5.2
Release date: 2026-06-22
Type: Patch — two targeted fixes
Test status: 2283 passing, 15 skipped (unit tier).
Summary
v0.5.2 is a stability patch with two independent fixes:
No schema changes. No configuration changes. No migration scripts required.
Fixes
1. Deterministic R2RML serialization
Symptom: Two successive exports of the same domain mapping produced R2RML files with attributes in a different order, making version diffs noisy and breaking any pipeline that checksummed the output.
Root cause:
R2RMLGenerator._add_entity_mapping()iterated overattribute_mappings(a plaindict) without sorting, so insertion order determined output order — non-deterministic across Python versions and dict mutations.Fix:
attribute_mappings.items()is now wrapped insorted(), producing stable alphabetical order.File changed:
src/back/core/w3c/r2rml/R2RMLGenerator.pyTests updated:
tests/units/mapping/test_r2rml_generator.py— assertions updated to match sorted order.Special THANKS to Ulrik Møller
2. MCP server retry on 502/503 (Databricks Apps cold-start)
Symptom: The first MCP tool call after an idle period failed immediately with a 502 or 503 error. The MCP client received a hard failure instead of waiting for the app to wake up.
Root cause:
_getand_postin the MCP server calledraise_for_status()immediately on any non-2xx response, including transient 502/503 responses emitted by the Databricks Apps proxy during cold-start.Fix: Both
_getand_postnow retry up to 3 times on 502/503, with progressive back-off (5 s → 10 s → 20 s). Each retry is logged atWARNINGlevel. If all three retries are exhausted the final response still raises viaraise_for_status().File changed:
src/mcp-server/server/app.pyUpgrade Notes
New deploys (v0.5.2 from scratch)
No action required. Both fixes are code-only with no schema or configuration changes.
Upgrading from v0.5.1
No migration needed. Deploy the new app bundle — both fixes take effect immediately on restart.
Upgrading from v0.5.0
Apply the v0.5.1 upgrade steps first (no schema migration required), then deploy v0.5.2.
Changes
src/back/core/w3c/r2rml/R2RMLGenerator.pysorted()onattribute_mappings.items()for deterministic outputtests/units/mapping/test_r2rml_generator.pysrc/mcp-server/server/app.py_getand_postpyproject.toml0.5.2What is NOT changed
All reactions