Releases: vb-dbrks/schemax
Releases · vb-dbrks/schemax
Release list
v0.2.11
v0.2.9
v0.2.8
v0.2.7
What's Changed
- Hard-cutover to explicit multi-catalog Unity model (legacy implicit workspaces now fail fast with deterministic error handling)
- Fix scoped live import safety to preserve non-target catalogs/schemas/tables during catalog/schema/table-scoped imports
- Feat/undo button by @vb-dbrks in #111
- Update PyPI Downloads badge style in README by @vb-dbrks in #109
- Release/versioning hardening (centralized SDK version constant + safer bump/sync tooling)
Full Changelog: v0.2.6...v0.2.7
v0.2.6
What's Changed
- Python-first architecture hardening across CLI/SDK and VS Code extension command flows.
- Standardized JSON envelope behavior for error/success paths and improved CLI exit/contract consistency.
- Improved snapshot and rollback reliability:
- clearer stale snapshot JSON errors
- stronger rebase result signaling (success vs conflict)
- rollback/error-path resilience updates.
- Extended provider architecture groundwork:
- capability/manifest contract cleanups
- Hive provider validation and SQL-generation robustness improvements.
- Expanded test depth and quality gates:
- new integration and contract tests (including DDL parser branch coverage work)
- improved workspace/repository and command-path coverage
- CI/lint/typecheck stabilization.
- Release/developer-experience updates:
- coordinated 0.2.6 version alignment across Python SDK, extension, and docs
- release automation helpers and version-sync checks
- coverage/tooling and docs refresh.
- Extension UI polish:
- sidebar pending-tag flush + improved add-dialog interactions
- additional UI test coverage.
Full Changelog: v0.2.5...v0.2.6
0.2.5
What's in 0.2.5
Bulk operations
- Apply the same grant or tag to many objects at once from the Designer.
- Select a catalog or schema in the tree, then click Bulk operations in the detail panel.
- Add one grant (principal + privileges) or one tag (name + value) to all securables in scope—catalogs, schemas, tables, views, volumes, functions, and materialized views as applicable.
- Operations are appended to the changelog like individual edits; generate SQL or run
schemax applyas usual.
Docs and UI
- README — New SchemaX text logo (PNG); previous SVG logo removed.
- Docs — Internal links updated for
routeBasePath: '/docs/'; Contributing added to the docs footer.
Under the hood
- Library refactoring — Internal refactoring of validate, snapshot rebase, and test utilities (operation builders). No functional changes for users.
- Test API —
OperationBuildernow uses a container API: usebuilder.catalog.add_catalog(...)(andbuilder.schema.*,builder.table.*, etc.) in tests. Seetests/utils/operation_builders.py.
Full Changelog: v0.2.1...v0.2.5
v0.2.1
What's in 0.2.1
Volumes, functions, and materialized views
- Design and manage Unity Catalog volumes, functions, and materialized views in the SchemaX Designer.
- Generate and apply SQL from the CLI; import from Databricks or from a SQL file.
- Full support: create, comment, grant, and control deployment scope per environment.
View and materialized view dependencies
- See and edit which tables or views your views and materialized views depend on (in View and MV details).
- Dependencies are inferred from SQL; you can add or remove them manually.
- Generated migrations create base tables and views first, so apply order is correct.
Grant editing
- Edit grants on catalogs, schemas, tables, views, volumes, functions, and materialized views from the UI.
- Change principals and privileges in the edit dialog; generated GRANT/REVOKE SQL stays in sync.
Fixes and improvements
- First deployment — Apply and deployment tracking work when deploying to an environment for the first time (no “table not found” errors).
- Import with materialized views — Import from Databricks works when your workspace contains materialized views.
Full Changelog: v0.2.0...v0.2.1
v0.2.0
SchemaX v0.2.0
Import from SQL file
You can now bring existing DDL into SchemaX from a SQL file instead of a live Databricks workspace.
- CLI:
schemax import --from-sql path/to/schema.sql [--mode diff|replace] [--dry-run] [--target ENV]--mode diff(default): Compare the parsed file to your current project and append the difference to the changelog.--mode replace: Treat the file as the new baseline (diff against empty state).
- VS Code: Import assets → From SQL file tab: pick a file, set mode/target/dry-run, and run the same flow from the UI.
- Supported DDL: CREATE CATALOG/SCHEMA/TABLE/VIEW, COMMENT ON, and ALTER TABLE (ADD/DROP/RENAME column, ALTER COLUMN, RENAME TO, SET TBLPROPERTIES), plus ALTER CATALOG/SCHEMA/TABLE SET TAGS. Statements are applied in file order (e.g. CREATE TABLE then ALTER TABLE ADD COLUMN).
- Diff mode with
--target: Usesprepare_import_stateso IDs align with your project and catalog mappings are updated when needed, avoiding spurious drop+recreate when names match.
Other improvements
- SQL statement splitting (
schemax.core.sql_utils.split_sql_statements): Correct handling of quoted semicolons and inline comments after a semicolon (e.g.SELECT 1; -- commentno longer yields a second statement). - DDL parser: Trailing semicolons in catalog/schema names are stripped; explicit CREATE CATALOG after CREATE SCHEMA for the same catalog now keeps comment/tags.
- Import panel (VS Code): Tab/tabpanel accessibility fixed with stable IDs and
aria-controls/aria-labelledbyfor screen readers. - Docs: CLI reference and workflows updated for import-from-SQL; Python requirement set to 3.11+;
.schemax/used consistently.
Full changelog
Full Changelog: v0.1.4...v0.2.0
Contributors @vb-dbrks
v0.1.4
v0.1.3
SchemaX v0.1.3
Release date: 2025-02-12
This release adds Unity Catalog grants, deployment scope (governance-only and existing-catalog workflows), and a documentation site (Docusaurus). It also fixes the broken "Docs" button in the Environment summary.
Highlights
Grants (Unity Catalog)
- Add and revoke grants on catalogs, schemas, tables, and views from the Security Governance UI.
- State differ and SQL generator support grant operations; generated SQL includes full GRANT/REVOKE output.
- Docs: Unity Catalog grants
Deployment scope
- Managed categories: Limit which DDL SchemaX emits per environment (e.g. governance-only — comments, tags, grants, row filters, column masks, no CREATE catalog/schema/table).
- Existing objects: Skip
CREATE CATALOGfor catalogs that already exist in the target (e.g. created by Terraform or manually). - Configure in Project Settings → Environment → Deployment scope and Existing objects. Same behavior for
schemax sql --target ENVandschemax apply --target ENV. - Docs: Environments and deployment scope
Documentation
- Contributing and long-form docs moved to a Docusaurus site (single source for quickstart, architecture, workflows, CLI, development, testing, provider contract, contributing).
- Docs button in the Environment summary now opens the environments-and-scope guide in the browser (no more broken link to the old quickstart file).
- Docs site
Other
- Security Governance UI: clearer layout and styling for grants, row filters, and column masks.
- Python SDK: catalog mapping for deployment tracking simplified; deployment tracker no longer runs migration for
previous_deployment_id. SQL generation includes comments and tags foradd_catalogandadd_schema.
VS Code Extension
Install: SchemaX on VS Code Marketplace or install from the Extensions view (schemax).
Changes:
- Added: Grants in Security Governance; deployment scope (managed categories + existing objects) in Project Settings; Docs button opens docs site.
- Changed: Docs live on Docusaurus; Security Governance UI layout and styling.
- Fixed: "Docs" button no longer fails after docs were moved.
Python SDK (schemaxpy)
Install: pip install schemaxpy==0.1.3
Changes:
- Added: Grant operations (
add_grant,revoke_grant); deployment scope (managedCategories,existingObjects); scope filter used byschemax sqlandschemax apply; comments/tags in SQL for catalog and schema; tests for scope filter, grants, and workflows. - Changed: Apply/sql use env
topLevelNamefor catalog mapping; scope filter applied before SQL generation. - Fixed: Catalog mapping logic aligned across rollback, record-deployment, and CLI.
- Removed: Deployment tracker migration for
previous_deployment_id.
Links
- Documentation: vb-dbrks.github.io/schemax-vscode
- VS Code Extension: Marketplace
- PyPI: schemaxpy
- Repository: vb-dbrks/schemax-vscode