Changelog¶
All notable changes to this project are recorded here. The file is maintained by release-please from conventional commit messages.
0.13.1 (2026-10-20)¶
Documentation¶
0.13.0 (2026-10-20)¶
⚠ BREAKING CHANGES¶
- Everything after
paramsonjob()andtask(), afteronlyonrun()andstart(), and afterkeyoncheck()is keyword-only.task()gainsname=. pytest_databricks_lakeflow.serialiseis gone: callrun.as_dict().EphemeralJob.pipelinesispipeline_copies, also as a constructor keyword.- Tests that caught
LakeflowErrorfor a wrong argument must catchValueError: a choice outside the listed values, a reserved__pytest_name, a setup or teardown step the plugin cannot ship, atask_paramsorfor_each_inputsshape, atask_overridesfield, aforce_conditionsoutcome, a stub value or output, atriggervalue, anenvironmentsoverride, a lint rule name,stop_afterlonger than itstimeout,replaywithoutonly, andupstream_fromorreplayof another job. Theteardown_atmessage readsteardown_at must be one of run, close, got 'x'.
Features¶
- add a recipes section to the docs with an "I want to..." index (de95d69)
- raise ValueError for a wrong argument and LakeflowError for a bundle, job or workspace problem (de95d69)
- replace serialise(run) with JobRun.as_dict() and EphemeralJob.pipelines with pipeline_copies (de95d69)
- take the options of job(), task(), run(), start() and check() by keyword (de95d69)
0.12.0 (2026-10-20)¶
Features¶
- add session defaults on Lakeflow for per-call options (#200) (bf20100)
- add wheel, library, dashed-key and trigger rules to Lakeflow.check (#202) (4f6da3c)
- close the sweep's notebook and schema gaps and add Lakeflow.sweep() (#204) (0269c70)
- inline saved queries with saved_queries="inline" so sql_result holds their rows (#206) (8174faf)
- parse dbt artefacts with dbt_artifacts=True and pass dbt_commands per run (#205) (016c53b)
- warn once when a workspace overrides PERFORMANCE_OPTIMIZED (#199) (26b6135)
Bug Fixes¶
Documentation¶
0.11.0 (2026-10-20)¶
Features¶
- cap active runs per process with --lakeflow-max-concurrent-runs (#194) (8ea383a)
- collect one check per job template with --lakeflow-check (#193) (264bfce)
- run a for-each body once with lakeflow.task("job.loop.body", input=...) (#196) (312f56e)
- surface for-each iterations and stats on TaskRun (#195) (329ba50)
Bug Fixes¶
- land the wave 7 and wave 8 review notes (#197) (f429f87)
- settle the wave 8 for-each gaps: nested task_params, serverless retries in loops and task values that iterations cannot set (#198) (7764d6d)
0.10.0 (2026-10-20)¶
Features¶
- add --lakeflow-live and run(stream=True) to print task progress to the terminal (#185) (03b36be)
- add Lakeflow.attach(run_id) to rebuild a JobRun from a kept job's run (#186) (be675cf)
- add teardown_at="close" to run the teardown task when the job closes (fdf6825)
- refuse an empty dbt command list, keep dbt artefact headers out of report.json and document dbt tasks (#188) (7cffc0d)
Bug Fixes¶
- land the wave 6 and wave 7 review notes (#189) (ff08b27)
- refuse running a disabled task through only= (#190) (725256a)
0.9.0 (2026-10-20)¶
Features¶
- add Lakeflow.check() to lint job templates without running them (#176) (e9fdff8)
- copy bundle pipelines into a test schema with lakeflow.pipeline() and pipelines="copy" (#178) (be367ef)
- override for_each_task inputs on the ephemeral copy (#177) (d7b2f8c)
- simulate trigger context with trigger= on job() and task() (#179) (5a91a4f)
Bug Fixes¶
- land the wave 5 and wave 6 review notes (#181) (84dee67)
- settle the wave 6 bugs in pipeline copies, for-each inputs and trigger references (#182) (be1688b)
0.8.0 (2026-10-20)¶
Features¶
- check permissions and run_as before deploying or creating a copy (#163) (cd5fd42)
- expose the pipeline update of a pipeline task and cover a full refresh end to end (#161) (a60402d)
- stub {{tasks.<key>.output.*}} references with Stub(values=, outputs=) (#162) (e76111e)
- warn when extra_dependencies cannot reach notebook tasks (#167) (ba5b580)
- write a debug notebook that replays a failed notebook task's resolved parameters (#164) (36cc166)
Bug Fixes¶
- file tasks downstream of a disabled task under disabled_tasks and report an all-disabled run honestly (#165) (2e5e011)
- land the wave 4 and wave 5 review notes and run the integration suite at -n 8 (#170) (6e75576)
- settle the wave 5 bugs in pipeline, alert and debug notebook reporting and check the host before deploying (#171) (174d65e)
- spread the workspace client retries of xdist workers that race on the CLI token refresh (#166) (dd2a14e)
Documentation¶
0.7.0 (2026-10-19)¶
Features¶
- accept SQL statements or a notebook file for setup= and teardown= (#153) (09eb4d5)
- add run(stop_after=) so streaming runs return a cancelled JobRun (#155) (3f5a238)
- resolve local wheels with extras in extra_dependencies and warn on stale uploads (#154) (90126b4)
- stub upstream tasks on job() and replay a run's task values into them (#150) (3962ff3)
Bug Fixes¶
0.6.0 (2026-10-19)¶
Features¶
- add --lakeflow-report-dir with a report.json per test, raw logs and notebooks (#142) (6513ee2)
- add task_overrides to job() and task() and lengthen the job timeout for long runs (#145) (aa4f0fb)
- add task_params to job() and task(), warning on job-parameter collisions (#141) (84bb2f2)
- widen --lakeflow-sweep to all creators, schemas, notebooks, a dry run, a report and a keep TTL (#144) (9c172d7)
Bug Fixes¶
0.5.0 (2026-10-19)¶
Features¶
- add per-job serverless environment overrides to job() and task() (#128) (5f9cd3f)
- add start() and RunHandle, a poll interval and task states on timeout (#130) (3b9ec27)
- read the rows of a SQL file task into TaskRun.sql_result (#131) (d152151)
- replay a task test with the task values a previous run captured (#129) (2a8974d)
Bug Fixes¶
0.4.0 (2026-10-19)¶
Features¶
- add extra_dependencies and a warning for unversioned wheel artifacts (#120) (70b3084)
- add setup and teardown functions that run on the job's compute (#122) (f3cca22)
- expose notebook cell outputs and printed text through runs/export (#121) (522c6d5)
- force an if/else branch in a job copy with force_conditions= (#119) (328476d)
Bug Fixes¶
- keep only the stdout stream in notebook stdout and tidy wave 1 review notes (#123) (af2aa78)
- raise the databricks-sdk floor to 0.100 so alert tasks survive the copy (#118) (7f78c5c)
0.3.0 (2026-10-19)¶
Features¶
- add raise_for_failure, root cause, error code and json output to run results (#76) (0ec51a8)
- add single_node to run the copy's job clusters on one node (#96) (38e5b3c)
- add test_marker to declare a __pytest_test_id job parameter on every copy (#99) (1094fb1)
- build run.task(key).child_run as a JobRun for run job tasks (#97) (425141f)
- expose condition outcomes and branch states on task and job runs (#87) (02dabe2)
- expose resolved job and task parameters on run results (#78) (ed7a5fc)
- expose sql, alert, run-job, dbt, dashboard and clean room task outputs (#90) (54ff46f)
- expose the timing breakdown and effective performance target (#86) (33909f2)
- fail clearly on a cli and sdk host mismatch and pass bundle variables (#91) (3964df3)
- log task state changes while a run is in flight (#88) (8f27f2b)
- make TaskError.root_cause follow Python chained exceptions (#93) (e73853a)
- mirror the timeout on the job and expose attempts and timed_out (#82) (0fea9df)
- pass extra bundle deploy flags and document per-branch test deployments (#89) (ea5d5e1)
- pass pipeline refresh options through job.run (#94) (4c0b386)
- pause subscriptions in ephemeral jobs and let tests disable tasks (#84) (ee71149)
- send an idempotency token, performance_target and queue with run_now (#75) (257a1cd)
- set permissions on ephemeral jobs and allow run_as to be kept or named (#79) (f3d61d3)
- show resolved parameters in failure messages and the lakeflow section (#98) (b9eb4cc)
- tag ephemeral jobs with ci url, user, commit and branch (#80) (47c5570)
- warn or refuse when a copied job runs a deployed child job (#95) (535c7bf)
Bug Fixes¶
- add compute knobs for ephemeral jobs and fix two serverless gaps in sanitise (#83) (6ccd411)
- read disabled tasks from the job copy and restore the sdk 0.66 floor (#85) (37942ea)
- read resolved task parameters from each task run (#115) (e454e89)
- report lakeflow coordinates on every phase and summarise kept jobs (#77) (30a8beb)
Documentation¶
- record the code style and test conventions from the simplification pass (#114) (f6dda1f)
- use Lakeflow variables in the per-branch deployment recipe (#92) (2001268)
0.2.1 (2026-10-18)¶
Bug Fixes¶
- release automatically after the release PR merge (#4) (0d2357f)
- run the release automation with a GitHub App token (#6) (a257b01)
0.2.0 (2026-10-18)¶
⚠ BREAKING CHANGES¶
- rename task value arguments and attributes (#2)
Features¶
0.1.0 (2026-10-17)¶
Features¶
- First release: job and task tests for Lakeflow Jobs defined in a Databricks Asset Bundle, with temporary schemas, task value stubs and probes, keep and sweep rules, and pytest-xdist support.