<table>
<tr><th>Version</th><th style="min-width:130px">Dates</th><th>Commits</th><th>Highlights</th></tr>
<tr><td valign="top"><b>v1.2.2</b></td><td valign="top">'26 Mar 28</td><td valign="top" align="right">1</td><td valign="top"><ul><li>Fix 4 bugs from code review: Flight state sync after auto-detection, shortcut 409 in single-model mode, test skip guards for optional packages, stateless /v1/validate</li></ul></td></tr>
<tr><td valign="top"><b>v1.2.1</b></td><td valign="top">'26 Mar 27</td><td valign="top" align="right">3</td><td valign="top"><ul><li>Fix 11 bugs from deep code review (CR-01 through CR-11): reversed joins, SQL injection in table refs, default session purge, assert removal, filter value validation, duplicate YAML keys, recursive DFS, PoP fallback</li><li>Publish 11 packages to PyPI (orionbelt-semantic-layer + 10 drivers)</li><li>Prepare driver packages: add LICENSE, README, fix author name and license field</li></ul></td></tr>
<tr><td valign="top"><b>v1.2.0</b></td><td valign="top">'26 Mar 22 – 24</td><td valign="top" align="right">12</td><td valign="top"><ul><li>Bump version to 1.2.0</li><li>DuckDB integration tests for query execution layer</li><li>UnsupportedAggregationError and expose dialect limitations in API</li><li>cumulative metric support to OSI ↔ OBML converter</li><li>PostgreSQL integration tests via testcontainers</li><li>MySQL and ClickHouse integration tests via testcontainers</li><li>ob-* PEP 249 driver integration tests against real databases</li><li>infra/ from repo and gitignore it</li><li>period-over-period (PoP) metrics with 4-CTE date spine architecture</li><li>OSI converter support for period-over-period metrics</li><li>filtered measures with CASE WHEN wrapping and ratio metrics</li></ul></td></tr>
<tr><td valign="top"><b>v1.1.0</b></td><td valign="top">'26 Mar 17 – 22</td><td valign="top" align="right">31</td><td valign="top"><ul><li>Bump version to 1.1.0</li><li>Arrow Flight SQL execute support for all 7 database drivers</li><li>Update docs for Arrow support across all 7 drivers</li><li>Docker Hub pull instructions to README</li><li>TPC-H quickstart notebook, model, and Docker Hub badges</li><li>Update Docker Hub badge link to repositories page</li><li>redundant Docker-ready badge (Docker Hub badge covers it)</li><li>Link Docker Hub section heading to repositories page</li><li>OBML validator namespace, pluralize TPC-H data objects, make database/schema optional</li><li>QUERY_EXECUTE from FLIGHT_ENABLED for REST query execution</li><li>ob_flight __init__.py lazy to avoid pyarrow.flight import on db_router use</li><li>quickstart notebook: show SQL on execute, render mermaid ER dark</li><li>TPC-H composite join, cross-object measures, and notebook enhancements</li><li>NULL padding in CFL for dialects supporting UNION ALL BY NAME</li><li>quickstart notebook link to README Quick Start section</li><li>qualified DataObject.Column references in WHERE filters</li><li>OBML-only properties in OSI custom_extensions for roundtrip</li><li>description property to all OBML model objects and update OSI converter</li><li>filter groups (AND/OR/NOT) and relax dimensionsExclude validation</li><li>cumulative metrics (running total, rolling window, grain-to-date)</li><li>MySQL dialect and ob-mysql PEP 249 driver</li></ul></td></tr>
<tr><td valign="top"><b>v1.0.0</b></td><td valign="top">'26 Mar 16 – 17</td><td valign="top" align="right">14</td><td valign="top"><ul><li>Release v1.0.0: change license from Apache 2.0 to BSL 1.1</li><li>v1.0.0: model discovery API, query explain, /v1/ routing, owner field, prod hardening</li><li>Accept DISABLE_SESSION_LIST=true (403) in cloud run tests</li><li>split SQL/Explain panel in UI with detailed CFL leg explanations</li><li>DB-API 2.0 drivers, Arrow Flight SQL server, and query execution endpoint</li><li>Rename .env.example to .env.template with full settings, add MODEL_DIR for Docker volume mounts</li><li>ob-bigquery DB-API 2.0 driver for BigQuery (7th dialect)</li><li>ob-bigquery to driver tables in README.md and docs/drivers.md</li><li>Arrow Flight SQL and DB-API 2.0 badges and feature entries</li></ul></td></tr>
<tr><td valign="top"><b>v0.8.0</b></td><td valign="top">'26 Mar 11 – 16</td><td valign="top" align="right">11</td><td valign="top"><ul><li>single-model mode, /settings endpoint, and bump to 0.8.0</li><li>dimensionsExclude flag, dimension-only queries, and CFL fixes</li><li>dimensionsExclude feature and dimension-only query improvements</li><li>junction table fanout, remove -- prefix from UI errors</li><li>-- comment prefix to warnings in SQL output</li><li>BigQuery and DuckDB/MotherDuck dialect implementations</li></ul></td></tr>
<tr><td valign="top"><b>v0.7.0</b></td><td valign="top">'26 Mar 10</td><td valign="top" align="right">3</td><td valign="top"><ul><li>OSI conversion REST API endpoints and bump to 0.7.0</li><li>Copy osi-obml converter into API Docker image</li><li>osi-obml from UI Docker image, move jsonschema to main deps</li></ul></td></tr>
<tr><td valign="top"><b>v0.6.0</b></td><td valign="top">'26 Mar 02 – 10</td><td valign="top" align="right">17</td><td valign="top"><ul><li>v0.6.0: Extract MCP server to separate repo, add OBML reference endpoint</li><li>architecture diagram to README and fix table formatting</li><li>structured error details for query compilation failures</li><li>Mermaid download buttons (.md and .png) to ER Diagram tab</li><li>numClass property to DataObjectColumn for LLM aggregation hints</li><li>numClass to YAML example on docs landing page</li><li>numClass to all numeric columns in UI example model</li><li>numClass only on numeric columns (int/float)</li><li>unused sqlalchemy and alembic dependencies</li><li>Update numClass descriptions and add numClass to README example</li><li>Simplify README Cloud Run and ER diagram sections</li><li>Rename Cloud Run section to API and UI Live Demo Hosting</li><li>synonyms property for LLM hints and map directly in OSI converter</li><li>jsonschema to ui extra for OSI validation in Gradio</li><li>Format API error details as readable list in UI compile output</li><li>QueryResolver god-class and remove dead code</li><li>Update OSI spec version from 1.0 to 0.1.1</li></ul></td></tr>
<tr><td valign="top"><b>v0.5.0</b></td><td valign="top">'26 Feb 24 – 27</td><td valign="top" align="right">18</td><td valign="top"><ul><li>Bump to v0.5.0: OSI import/export UI, CFL common root, customExtensions</li><li>osi-obml converter files, list OSI feature in README</li><li>order_by/filter fields, fix CFL filters and ORDER BY</li><li>/ui redirect from API: fixed via LB path rule instead</li><li>request body size limits via Cloud Armor and streaming middleware</li><li>structured errors from load_model, fix mutable defaults in schemas</li><li>load balancer configuration reference</li><li>CSP for Swagger UI and ReDoc doc endpoints</li><li>FastMCP from 2.x to 3.x</li></ul></td></tr>
<tr><td valign="top"><b>v0.4.0</b></td><td valign="top">'26 Feb 21 – 24</td><td valign="top" align="right">13</td><td valign="top"><ul><li>Bump to v0.4.0: expression syntax {[DataObject].[Column]}, fix docs, add deploy script</li><li>Mark resultType as informative only in schema, MCP reference, and docs</li><li>version badge to README and docs link to Gradio UI header</li><li>OBML single source of truth section to CLAUDE.md</li><li>Cloud Armor WAF policy export and apply script</li><li>Update demo link to point to Gradio UI</li><li>Set demo UI link to dark theme by default</li><li>link to ralforion.com on footer logo</li><li>resultType optional with sensible defaults</li><li>API security and split Docker images for Cloud Run</li><li>/robots.txt endpoint to stop crawler 404s</li></ul></td></tr>
<tr><td valign="top"><b>v0.3.0</b></td><td valign="top">'26 Feb 19 – 21</td><td valign="top" align="right">12</td><td valign="top"><ul><li>dialect-specific LISTAGG, ANY_VALUE, MEDIAN, MODE aggregations (v0.3.0)</li><li>version badge below TOC sidebar in MkDocs site</li><li>Hide version badge in left sidebar, show only in TOC sidebar</li><li>version logging to server startups and MCP registry metadata</li><li>Rename package to orionbelt-semantic-layer in pyproject.toml</li><li>MCP server registry metadata and ignore token files</li><li>Dockerfile for Cloud Run deployment with automated integration tests</li><li>Cloud Run integration test script and public API URL to README</li><li>Rewrite CLAUDE.md with commands, pipeline diagram, and architecture details</li><li>fanout detection for CFL multi-fact queries</li><li>query JSON schema, upload buttons, and improve Gradio UI layout</li><li>Gradio UI at /ui inside FastAPI when ui extra is installed</li></ul></td></tr>
<tr><td valign="top"><b>v0.2.1</b></td><td valign="top">'26 Feb 18 – 19</td><td valign="top" align="right">4</td><td valign="top"><ul><li>ER diagram visualization with Mermaid (v0.2.1)</li><li>Update README with ER diagram feature, screenshot, and API endpoint</li><li>SQL Compiler screenshot to README</li><li>Update README with API-first messaging and rename screenshots</li></ul></td></tr>
<tr><td valign="top"><b>v0.2.0</b></td><td valign="top">'26 Feb 18</td><td valign="top" align="right">1</td><td valign="top"><ul><li>secondary joins with usePathNames query support (v0.2.0)</li></ul></td></tr>
<tr><td valign="top"><b>v0.1.0</b></td><td valign="top">'26 Feb 16</td><td valign="top" align="right">1</td><td valign="top"><ul><li>Initial commit: OrionBelt Semantic Layer</li></ul></td></tr>
<tr><td></td><td></td><td align="right"><b>137</b></td><td><i>2026-02-16 – 2026-03-24</i></td></tr>
</table>
