Changelog
v0.1.0
New Features
- Windows PowerShell deploy script —
scripts/deploy_app.ps1is a native port ofscripts/deploy_app.shusingrobocopy+ thedatabricksCLI. No Git Bash / WSL / Python required. Mirrors the bash flow (stage → sync → deploy) and adds a CRLF → LF normalization pass sostart.shreaches the Linux App container with LF endings. Uses-DatabricksProfileto avoid shadowing PowerShell's built-in$PROFILEvariable. See databricks_app/WINDOWS_DEPLOY.md. - Apps UI + Git folder deploy path — click-only alternative documented in databricks_app/UI_GIT_DEPLOY.md. Create a Databricks Git folder pointing at the repo, aim the App at
databricks_app/only, andstart.sh's Mode B clones the fullsdp-metarepo into/tmp/sdp-metaat container start. - Repo-wide line-ending policy —
.gitattributespins LF for shell/Python/YAML/JSON/template files, CRLF for.bat/.cmd, binary for images/archives. Prevents thebad interpreter: /bin/bash\rApp-container crash from recurring via any tooling path. - Automatic liquid clustering (
cluster_by_auto) for bronze and silver tables. When set totrue, Databricks automatically determines the optimal clustering columns. Works alongside explicitcluster_byto define initial keys followed by automatic optimization. Supported forbronze_cluster_by_auto,bronze_quarantine_table_cluster_by_auto, andsilver_cluster_by_auto. (Issue #238) - MCP Server support — opt-in
mcpCLI command (databricks labs sdp-meta mcp) exposes sdp-meta over stdio so MCP-capable clients (Claude Code, Cursor, Claude Desktop) can drive scaffolding and inspection. Install withpip install databricks-labs-sdp-meta[mcp]. - Declarative Automation Bundle (DAB) template with
bundle-init --quickstartzero-prompt fast path for instant bundle scaffolding. New CLI commands:bundle-init,bundle-add-flow,bundle-prepare-wheel,bundle-validate. Packaged template includes onboarding job, Lakeflow Spark Declarative Pipelines, runner notebook, and four flow-generation recipes. - Row filter support —
where_clausein silver transformations files for pipeline-time row filtering, with coverage for multi-source CDC flows. - Multi-source AUTO CDC — multiple CDC sources can now feed into a single target via
create_auto_cdc_flow. - End-to-end YAML support — onboarding, DQE rules, silver transformations, and packaged demos all accept YAML in addition to JSON.
build-and-upload-whlflag foronboardanddeploy— builds the local sdp-meta wheel, uploads it to a UC volume, and bakes the path into the runner notebook's%pip install(avoids needing PyPI access on the pipeline cluster).- Databricks App refactor — monolithic
app.pysplit intoroutes/(8 blueprints) +services/onboarding/helpers, input validation hardened, renamedlakehouse_app→databricks_app, PyPI install option added, UC preflight probe surfaces requiredGRANTSQL before demos. - Docs site migrated to Docusaurus 3 — 34 pages across Getting Started, Concepts, Reference, Guides, Operations, and Contributing sections.
- DAB conf staging for serverless onboarding jobs — new
stage_confwheel entry point stages bundleconf/files to a Unity Catalog Volume and rewrites${workspace.file_path}/confreferences before onboarding, so DAB-deployed onboarding jobs work on serverless compute. (PR #350) - Agent Skill for SDP-META — added
skills/sdp-meta/with workflow guidance and references for onboarding specs, CLI/DAB usage, MCP tools, and a zero-to-running walkthrough. (PR #356) - Databricks App documentation refresh — added app screenshots, a documentation map, clearer service-principal permission steps, post-deploy guidance, and matching Docusaurus App guide updates. (PR #352)
Breaking Changes
- PyPI package renamed:
dlt-meta→databricks-labs-sdp-meta - CLI commands renamed:
databricks labs dlt-meta→databricks labs sdp-meta - Python imports changed:
from dlt_meta import ...→from databricks.labs.sdp_meta import ... - Main class renamed:
DLTMeta→SDPMeta - Source layout changed: flat
src/→src/databricks/labs/sdp_meta/namespace package - Lakeflow Spark Declarative Pipelines API: DLT decorators/APIs migrated to
pyspark.pipelines. Update references that import fromdltto use the newpyspark.pipelinesmodule. (Issue #274) quarantine_tablefield: Renamedquarantine_table_nametoquarantine_tablein dataflow specs for naming consistency. (Issue #243)
Bug Fixes & Improvements
- Git portability for DAB template filenames — renamed three template files under
src/databricks/labs/sdp_meta/templates/dab/template/{{.bundle_name}}/conf/(onboarding.*.tmpl,silver_transformations.*.tmpl,dqe/example_table/bronze_expectations.*.tmpl) to use Gotext/templatebacktick string literals instead of double-quoted ones. The literal"in the previous filenames clashed with Git'score.protectNTFS=true(default on all platforms since Git 2.22, 2019) and causederror: invalid pathon checkout. Functionally identical todatabricks bundle init. - Security: Replaced unsafe
eval()onuc_enabledwidget with a strict parser. (Issue #260) - Performance: O(N+M) schema modification for wide tables in CDC flows (was previously O(N×M)). (Issue #284)
- Fixed cross-platform file URI handling in CLI; updated cloudFiles demo clustering metadata.
- Fixed SCD Type 2 processing; renamed demo tables to
sdp_meta. - Switched demo paths from DBFS to UC Volumes.
- Renamed references from "Lakeflow Declarative Pipelines" to "Lakeflow Spark Declarative Pipelines".
- DAB quickstart is more robust: validated overrides, clearer
output-dirsemantics, recovered bare--quickstartparsing, and scaffold version stamping. (PR #350) - Demo launchers and integration tests now tolerate both
schema=and legacytarget=forms forpipelines.create. (PR #354) - MCP server path/profile handling was hardened with root confinement, symlink escape checks, profile validation, and stricter
bundle_add_flowidentifiers. (PR #350) - Databricks App terminal output now escapes CLI stdout/stderr before ANSI colorization to prevent injected HTML. (PR #350)
- Onboarding fixes cover quarantine table comments, row-filter validation, snapshot source path validation, non-UC silver/multi-source CDC errors, typed
dataflowIdsfiltering, and SCD Type 2 explicit-schema fields. (PR #350)
Backward Compatibility
The dlt-meta compatibility wrapper package re-exports all symbols and forwards CLI commands. Existing code continues to work with deprecation warnings. src.* imports are supported via a sys.modules shim (removed in v0.2.0).
See the Migration guide for full details.
v0.0.10
Breaking Changes
- DPM mode removed: Pipelines using the Legacy Publishing Mode (DPM) flag must be migrated to the default publishing mode before upgrading. Follow Migrate to the default publishing mode. This migration is irreversible.
- Multi-level namespace qualifiers: Custom schema qualification in table names is no longer supported. Tables must be created without database qualifiers in the pipeline context.
invoke_dlt_pipelineargument names: Method arguments now require layer-specific prefixes (bronze_orsilver_). Replacecustom_transform_funcwithbronze_custom_transform_func, andnext_snapshot_and_versionwithbronze_next_snapshot_and_version.
Enhancements
apply_changes_from_snapshotsupport in the silver layer- Databricks App UI for onboarding and deploy commands
- Non-Delta sink support (Delta and Kafka sinks) via
bronze_sink/silver_sink - Quarantine support in the silver layer for data quality rules
- Table comments, column comments, and
cluster_bysupport - Catalog support for
sourceDetailsandtargetDetails - DBDemos integration
- YAML support for onboarding files
- Multiple column support for
create_auto_cdc_flow - Custom transformations support for Kafka and Delta sources
Migration
See the Migration guide.
v0.0.9
Enhancements
apply_changes_from_snapshotAPI support in the bronze layerappend_flowAPI support for the silver layer- File metadata column support for Autoloader
- Bring-your-own custom transformation support
- UC Volume and serverless support for CLI, integration tests, and demos
- Bronze/silver pipeline chaining into a single Declarative Pipeline
- Liquid clustering support
- Silver fanout demo
v0.0.8
Enhancements
append_flowAPI support for bronze and silver layers- File metadata columns for Autoloader
- Custom transformation support
- Silver fanout demo and unit tests
v0.0.7
Enhancements
- Fixed mismatched key:
read_dlt_delta()updated to usesource_databaseinstead ofdatabase
v0.0.6
Enhancements
- Migrated to
create_streaming_tableAPI from deprecatedcreate_streaming_live_table - Data quality support for the silver layer
- Unity Catalog integration test framework
v0.0.5
New Features
- Unity Catalog support
- Databricks Labs CLI support with
onboardanddeploycommands
v0.0.4
Bug Fixes
- New
eventhub.accessKeySecretNameoption for Event Hubs source
v0.0.3
Bug Fixes
- Infer datatypes from
sequence_byfor__START_AT/__END_ATin theapply_changesAPI
v0.0.2
New Features
- Table properties support for bronze, quarantine, and silver tables
track_history_columnsupport inapply_changes- Delta source support
- Bronze/silver onboarding validation
v0.0.1
Initial release.