Skip to content

chore(release): prepare v0.70.0 release, documentation overhaul, and adapter refinements - #874

Merged
cofin merged 4 commits into
mainfrom
comprehensive_documentation_and_diagrams
Oct 31, 2026
Merged

cofin merged 4 commits into
mainfrom
comprehensive_documentation_and_diagrams

Conversation

@cofin

@cofin cofin commented Oct 31, 2026

Copy link
Copy Markdown
Member

Summary

Prepares the v0.70.0 release alongside a documentation overhaul, generated data dictionary dialect references, DuckDB native relation Arrow materialization, DDL synthesis and migration squash refinements, and self-contained mypyc-compiled adapter core.py modules.

Key Changes

Documentation & API Reference (docs/, README.md, zensical.toml, tools/docs/)

  • Added: Generated dialect-by-dialect Data Dictionary reference documentation (docs/reference/data-dictionary/dialects/) covering DialectConfig settings and all 336 named SQL catalog queries across 13 database dialects via tools/docs/generate_data_dictionary_docs.py, wired into Makefile (docs-generate) and .github/workflows/docs.yml (--check).
  • Added: API reference pages for SAP SQL Anywhere (docs/reference/adapters/sqlanywhere.md) and Sybase ASE (docs/reference/adapters/sybase.md), and updated README.md and documentation adapter tables across all 22 database adapters.
  • Changed: Restored full mkdocstrings-python API rendering (inherited_members: true, source code links, signature annotations, symbol type badges) and compact layout rules in docs/stylesheets/extra.css and tools/docs/templates/python/material/.
  • Changed: Standardized package installation instructions on linked pymdownx.tabbed (uv, pip, pdm, poetry) tabs, added side-by-side SQL and Python tabbed examples for SQLFileLoader, and updated conceptual Mermaid diagrams across docs/.

Database Adapters (sqlspec/adapters/)

  • Changed: Switched DuckDBDriver (sqlspec/adapters/duckdb/driver.py) Arrow table and record-batch reader materialization (select_to_arrow, _execute_and_materialize_select, _open_stream_reader) from DB-API cursor.execute(...).to_arrow_table() to cursor.sql(query, params=...).to_arrow_table() / to_arrow_reader(), avoiding DuckDB 2.0's extra row copy and UserWarning.
  • Changed: Consolidated MySQL-family compiled helpers directly into each adapter's own mypyc-compiled core.py (sqlspec/adapters/{aiomysql,asyncmy,mysqlconnector,pymysql}/core.py) and removed sqlspec/adapters/mysql_common.py.
  • Changed: Kept DuckDB profiling helper functions (create_duckdb_profile_path, cleanup_duckdb_profile_path, read_duckdb_profile_json) self-contained inside sqlspec/adapters/adbc/core.py and sqlspec/adapters/duckdb/core.py.
  • Fixed: Updated Db2DataDictionary.get_columns (sqlspec/adapters/db2/data_dictionary.py) to construct ColumnMetadata directly when schema_name is already resolved on rows.

Migrations, CLI & DDL Synthesis (sqlspec/migrations/, sqlspec/builder/, sqlspec/cli.py, sqlspec/data_dictionary/)

  • Changed: Updated SyncMigrationCommands and AsyncMigrationCommands (sqlspec/migrations/commands.py) to propagate echo and summary flags in upgrade(), downgrade(), and stamp(), and aligned squash() (dry_run, yes, allow_gaps, output_format, update_database) across sync/async command classes and the CLI (sqlspec/cli.py).
  • Changed: Extended MigrationSquasher (sqlspec/migrations/squash.py) and SchemaDDLSynthesizer (sqlspec/builder/_ddl.py) to preserve companion .sql sidecar statements alongside Python migrations, quote reserved-keyword column/index identifiers via SQLGlot dialect rules, group SQLite unnamed composite foreign keys, and support native schema DDL extraction across PostgreSQL, DuckDB, and SQL Server (sqlspec/data_dictionary/dialects/{postgres,duckdb,mssql,sqlite,spanner}/sql/).
  • Fixed: Hardened read_json_fixture and write_json_fixture (sqlspec/utils/fixtures.py) against path traversal outside the base fixtures directory.

Release & Dependencies (pyproject.toml, uv.lock, docs/changelog.md, .github/workflows/)

  • Changed: Bumped package version to 0.70.0, upgraded lockfile dependencies (make upgrade), pinned actions/github-script to its full commit SHA in .github/workflows/ci.yml, and updated docs/changelog.md for v0.70.0.

cofin added 3 commits October 31, 2026 19:11
…n, db2 migration timestamps, and dialect catalog metadata

Restore transpilation for covering index INCLUDE clauses in CreateIndex, add explicit UTC timestamp binding to Db2 migration trackers, and align SQLite composite foreign key and SQL Server catalog metadata queries.
@codecov-commenter

codecov-commenter commented Oct 31, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 72.69155% with 417 lines in your changes missing coverage. Please review.
✅ Project coverage is 80.44%. Comparing base (c47bbd3) to head (856611e).

Files with missing lines Patch % Lines
sqlspec/adapters/mysqlconnector/core.py 65.95% 63 Missing and 33 partials ⚠️
sqlspec/adapters/aiomysql/core.py 68.21% 56 Missing and 33 partials ⚠️
sqlspec/adapters/pymysql/core.py 69.14% 55 Missing and 32 partials ⚠️
sqlspec/adapters/asyncmy/core.py 70.14% 53 Missing and 30 partials ⚠️
sqlspec/adapters/duckdb/driver.py 77.27% 12 Missing and 8 partials ⚠️
sqlspec/migrations/commands.py 86.73% 10 Missing and 3 partials ⚠️
sqlspec/builder/_ddl.py 91.83% 4 Missing and 4 partials ⚠️
sqlspec/adapters/adbc/data_dictionary.py 50.00% 4 Missing and 2 partials ⚠️
sqlspec/driver/_common.py 64.28% 3 Missing and 2 partials ⚠️
sqlspec/cli.py 82.60% 4 Missing ⚠️
... and 3 more
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #874      +/-   ##
==========================================
+ Coverage   80.40%   80.44%   +0.04%     
==========================================
  Files         562      561       -1     
  Lines      100697   101618     +921     
  Branches    19414    19754     +340     
==========================================
+ Hits        80968    81751     +783     
- Misses      14597    14638      +41     
- Partials     5132     5229      +97     
Flag Coverage Δ
cloud-adbc-storage 30.84% <16.37%> (-0.13%) ⬇️
integration 55.73% <48.39%> (-0.02%) ⬇️
mssql-db2 32.23% <17.35%> (-0.14%) ⬇️
mysql-mariadb-embedded 38.16% <47.21%> (+0.13%) ⬆️
oracle 31.38% <16.50%> (-0.14%) ⬇️
postgres-cockroach 40.18% <17.81%> (-0.19%) ⬇️
py3.11 79.03% <71.84%> (+0.03%) ⬆️
py3.12 79.04% <71.84%> (+0.04%) ⬆️
py3.13 79.03% <71.84%> (+0.03%) ⬆️
py3.14 79.83% <71.84%> (+0.03%) ⬆️
unit 73.72% <64.17%> (+0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
sqlspec/adapters/adbc/core.py 82.67% <100.00%> (+0.14%) ⬆️
sqlspec/adapters/db2/data_dictionary.py 99.46% <100.00%> (+0.02%) ⬆️
sqlspec/adapters/db2/migrations.py 100.00% <100.00%> (ø)
sqlspec/adapters/duckdb/core.py 82.30% <100.00%> (+0.03%) ⬆️
sqlspec/adapters/mssql_python/migrations.py 89.33% <100.00%> (+4.14%) ⬆️
sqlspec/adapters/oracledb/migrations.py 77.65% <100.00%> (-0.47%) ⬇️
sqlspec/adapters/pymssql/migrations.py 89.33% <100.00%> (+4.14%) ⬆️
sqlspec/adapters/sqlanywhere/pool.py 64.74% <100.00%> (ø)
sqlspec/migrations/squash.py 71.17% <ø> (+0.69%) ⬆️
sqlspec/migrations/tracker.py 95.39% <ø> (+0.08%) ⬆️
... and 14 more

... and 5 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@cofin
cofin merged commit 67011f0 into main Oct 31, 2026
47 checks passed
@cofin
cofin deleted the comprehensive_documentation_and_diagrams branch October 31, 2026 21:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants