Releases: get-dre/dre
Release list
DRE v0.2.1
DRE 0.2.1: per-profile default targets, as in dbt
0.2.0 gave every run one target for all profiles, read a default from dre_project.yml, and
silently skipped a destination with no entry for the target, so --target prd delivered nothing
and still succeeded. 0.2.1 returns to dbt's model. It breaks some 0.2.0 projects; see "0.2.0 to
0.2.1" in the migration guide (docs/migrating-to-0.2.md).
- Each profile the run uses picks its entry: --target, else DRE_TARGET (either sets every
profile), else the profile's owntarget:in profiles.yml (restored), elsedev. - A used profile without that entry is an error before anything runs, in run, compile and
validate, naming each profile and the entries it has. Destinations are no longer skipped.
Profiles the run doesn't use aren't checked. A profile's owntarget:naming none of its
entries is a load error. - New: a destination entry
{deliver: false}delivers nowhere on purpose, logged on each run and
recorded in run_results.json asnot_delivered(each delivery also records itstarget).
Connections reject it. - Removed:
target:in dre_project.yml. It's an error (removed-key) naming the replacement.
Theprofile-target-ignoredwarning is gone. target.nameis the run's target (--target, DRE_TARGET, else dev), never a profile's default;
connection.targetanddestination.targetare each profile's entry. The manifest's
project.targetis the run's target.dre runanddre validateprintTarget dev (default)plus each profile whose entry
differs, and warn (target-mismatch) when every used profile is on one other target.dre initwrites the profile'starget:when the chosen target isn'tdev.
Plugins: no change; duckdb, postgres and databricks 1.1.0 still apply.
Skills: 2.1.0 (skills-v2.1.0) supports dre >=0.2.1, <0.3.0.
Install: curl -fsSL https://github.com/get-dre/dre/releases/latest/download/install.sh | sh, pip install dre-cli, or see the README. Plugins are released separately (<package>-v<version> releases) and installed by dre on demand.
What's Changed
- Skills: connection and database, not source by @allenhori in #94
- Per-profile default targets, missing entries are errors, deliver: false by @allenhori in #95
- Release 0.2.1; skills 2.1.0 by @allenhori in #96
Full Changelog: v0.2.0...v0.2.1
DRE skills 2.1.0
DRE agent skills 2.1.0 for dre >=0.2.1, <0.3.0: per-profile target:, deliver: false for destinations that shouldn't deliver on dev, the missing-entry error, and the target-mismatch warning. Needs dre 0.2.1 or later.
DRE's agent skills, 2.1.0. Supported dre: >=0.2.1, <0.3.0.
Install or update:
- Claude Code:
claude plugin marketplace add get-dre/dre, thenclaude plugin install dre@dre(to update:claude plugin marketplace update dre, thenclaude plugin update dre@dre). - Other agents (Codex, Cursor, GitHub Copilot, Gemini CLI, ...):
npx skills add get-dre/dre#skills-v2.1.0for this release, or#skills-latestfor the newest.
See skills/README.md.
DRE v0.2.0
Connections and sources: one report can read from several systems. Each query can run on its own connection (queries[].profile), dbt-style sources declare the tables a project reads (sources/*.yml, {{ source('shop', 'orders') }}, dre run -s source:shop.orders, dre ls --resource-type source, dre validate --live checks declared columns), and DRE finds each query's connection without connecting by rendering every query once in a parse pass. A workbook can hold DuckDB, Postgres and Databricks tabs side by side. One session per connection; queries still run one at a time, in YAML order.
Needs the duckdb, postgres and databricks plugins 1.1.0 or later (they report their identifier quote character). Skills 2.0.0 support this release.
Breaking changes (see https://getdre.com/docs/migrating-to-0.2/):
- profiles.yml:
sources:is nowconnections:(sources:still works this release, with a warning). A profile's owntarget:is ignored: every run has one target, from--target,DRE_TARGET,target:in dre_project.yml, elsedev. A destination with no entry for the target is skipped and logged. - Templates:
connection.*replacestarget.<field>,run.profileandrun.source_type;targethas onlyname;profile(role='source')isrole='connection';destination.*is new. Each removed name is an error saying what to write instead. - Every
profile:value may use Jinja (var(),env_var(),run.*,target.name). - The manifest is schema 2 (a
sourcessection,project.target, each query'sconnectionanddepends_on); run_results.json records each result set's connection. - Schedules:
schedule-needs-anchor,schedule-too-frequentandschedule-secondsare now errors, as 0.1.2 announced. dre new --source <plugin>isdre new --type <plugin>(--sourcestill works).
Install: curl -fsSL https://github.com/get-dre/dre/releases/latest/download/install.sh | sh, pip install dre-cli, or see the README. Plugins are released separately (<package>-v<version> releases) and installed by dre on demand.
What's Changed
- Skills 1.1.0: write, preview and orchestrate schedules by @allenhori in #91
- Harden secret redaction across source diagnostics by @nijanthan-dev in #79
- Move CLI DuckDB seeding into a private test helper by @nijanthan-dev in #81
- Per-query connections, dbt-style sources and one target per run (0.2) by @allenhori in #92
- Release 0.2.0; skills 2.0.0 by @allenhori in #93
Full Changelog: v0.1.2...v0.2.0
DRE v0.1.2
Schedule occurrences: dre schedule ls lists when each schedule fires, with the exact command and environment for each firing (a table, or versioned JSON for orchestrators). Also: shared timings in timings.yml; except and also dates; enabled: false to pause a schedule; starting and at on rrule schedules; DRE_RUN_AT to pin the scheduled instant (run.scheduled_at); and dre run --schedule <name> -s <report> --set <set> to run one Binding of a schedule. No breaking changes; plugins and skills unchanged.
New warnings that become errors in 0.2.0 (dre schedule ls lists such schedules under problems; dre run --schedule still runs them):
- A timing without
startingthat needs one:every, or an rrule withINTERVALabove 1, aCOUNT, or a day it takes from its start. FREQ=SECONDLYorFREQ=MINUTELYin an rrule.BYSECONDin an rrule.
Install: curl -fsSL https://github.com/get-dre/dre/releases/latest/download/install.sh | sh, pip install dre-cli, or see the README. Plugins are released separately (<package>-v<version> releases) and installed by dre on demand.
What's Changed
- ci: one shared, smaller Rust cache, saved only from master by @allenhori in #83
- Templates: Python-style methods and mutable list()/dict() by @allenhori in #84
- ci: the skills check reuses the Linux test job's cache by @allenhori in #86
- test: make the plugin-manager tests fast on Linux by @allenhori in #85
- ci: run tests with nextest, so test binaries run in parallel by @allenhori in #88
- Schedule occurrences: dre schedule ls, timings.yml, DRE_RUN_AT by @allenhori in #89
- Release 0.1.2: schedule occurrences, timings.yml, DRE_RUN_AT by @allenhori in #90
Full Changelog: v0.1.1...v0.1.2
DRE skills 2.0.0
Skills for dre 0.2: connections and sources. The skills now write profiles.yml with connections: and one target per run, declare tables as dbt-style sources and read them with source(), give a query its own connection for a workbook that spans systems, use connection.* in templates, and walk a 0.1 project through the upgrade. Supports dre >=0.2.0, <0.3.0; for dre 0.1, stay on skills 1.x (skills-v1.1.0).
DRE's agent skills, 2.0.0. Supported dre: >=0.2.0, <0.3.0.
Install or update:
- Claude Code:
claude plugin marketplace add get-dre/dre, thenclaude plugin install dre@dre(to update:claude plugin marketplace update dre, thenclaude plugin update dre@dre). - Other agents (Codex, Cursor, GitHub Copilot, Gemini CLI, ...):
npx skills add get-dre/dre#skills-v2.0.0for this release, or#skills-latestfor the newest.
See skills/README.md.
DRE skills 1.1.0
Schedules: turn plain-English timings into cron, iCalendar rules and shared timings, check them with dre schedule ls, rerun a firing with DRE_RUN_AT, run one Binding of a schedule, and wire an orchestrator from the recipe. The schedule features need dre 0.1.2 or later.
DRE's agent skills, 1.1.0. Supported dre: >=0.1.0, <0.2.0.
Install or update:
- Claude Code:
claude plugin marketplace add get-dre/dre, thenclaude plugin install dre@dre(to update:claude plugin marketplace update dre, thenclaude plugin update dre@dre). - Other agents (Codex, Cursor, GitHub Copilot, Gemini CLI, ...):
npx skills add get-dre/dre#skills-v1.1.0for this release, or#skills-latestfor the newest.
See skills/README.md.
postgres plugin 1.1.0
Reports its identifier quote character in describe, which DRE 0.2 uses to quote sources (quoting:).
The postgres plugin package, 1.1.0. dre installs it on demand for projects that declare postgres under plugins:; dre plugin update postgres moves a project to it.
duckdb plugin 1.1.0
Reports its identifier quote character in describe, which DRE 0.2 uses to quote sources (quoting:).
The duckdb plugin package, 1.1.0. dre installs it on demand for projects that declare duckdb under plugins:; dre plugin update duckdb moves a project to it.
databricks plugin 1.1.0
Reports its identifier quote character in describe, which DRE 0.2 uses to quote sources (quoting:).
The databricks plugin package, 1.1.0. dre installs it on demand for projects that declare databricks under plugins:; dre plugin update databricks moves a project to it.
DRE v0.1.1
Docs, JSON Schemas and editor setup, plus the schema line in dre new. No breaking changes; plugins and skills unchanged.
Install: curl -fsSL https://github.com/get-dre/dre/releases/latest/download/install.sh | sh, pip install dre-cli, or see the README. Plugins are released separately (<package>-v<version> releases) and installed by dre on demand.
What's Changed
- Release: rebuild getdre.com after a stable core release by @allenhori in #66
- README: SVG logo with a dark-mode variant by @allenhori in #67
- Split the README into docs pages by @allenhori in #68
- Redact DRE_SECRET_* in JSON before serializing by @allenhori in #75
- JSON Schemas for DRE's YAML files, with a generated reference by @allenhori in #76
- Docs: email always attaches the file; DRE creates no download links by @allenhori in #77
- Short install URL and a SECURITY.md by @allenhori in #78
- Release 0.1.1 by @allenhori in #80
Full Changelog: v0.1.0...v0.1.1