Skip to main content

Changelog

See what's new with Windmill.

See the Windmill roadmap and what's coming next

Roadmap

Workspace forks now get an isolated data environment per DuckLake by default. Materializing pipelines in a fork write to a fork-scoped metadata schema and bucket prefix instead of the parent's tables, and tables the fork has not materialized yet are read from the parent through read-only defer views, so one node can be iterated on without rebuilding upstream. The fork-creation dialog adds a per-lake Isolated / Shared with parent choice, the pipeline graph shows deferred vs fork chips on DuckLake assets, and deleting a fork can drop its forked namespaces.

New features

  • Forks default to an isolated data environment per lake: a fork-scoped metadata schema and a __wm_forks/<fork id>/ bucket prefix, with unchanged ducklake:// URIs and annotations
  • Read-defer to the parent: tables the fork has not materialized are read through read-only views over the parent data, including the <table>_current companion view of SCD2 targets
  • Parent lakes are attached read-only in forks, so a fork job cannot write parent data through DuckLake
  • Fork-creation dialog gains a Ducklake data environment section with a per-lake Isolated (default) or Shared with parent choice; shared forks read and write the parent lake directly
  • Pipeline graph marks each DuckLake asset in a fork with an amber deferred or emerald fork chip, with a matching banner in the details pane
  • Fork deletion offers to drop forked DuckLake namespaces; also available as POST /w/<workspace>/workspaces/drop_forked_ducklake_namespaces