# Changelog

## Unreleased

- Browser OAuth now completes through a validated loopback callback and logs the CLI in automatically.
- Feature sync now establishes the official catalogue-only lifecycle with `DUCTAPE_SYNC_MODE=1` and exposes filtered ownership through `DUCTAPE_FEATURE_FILTER` before project bootstrap.

## 0.3.0 - 2026-07-26

- Added AI-led migration planning with new-codebase defaults and immutable original E2E gates.
- Added review ledgers, parity slices, multi-repository verification, SCC partition proposals, and semantic database evidence.
- Added frontend, session, resilience, component, runtime, SDK, generated/vendor, and third-party assurance matrices.
- Added verified product-environment create/update commands, secured artifacts, Ed25519 signatures, and parallel-review merging.

## Unreleased

### Added

- Canonical one-topic-per-file Events validation, `events topics validate`, preflighted `create-all`, publisher-reference checks, and an init-generated `ductape/validate-events.sh` CI script.
- `ductape apps import <file> --type postman|openapi` (Postman v2.1 / OpenAPI 3.0)
- Project config uses `workspace_tag` (CLI resolves `workspace_id` automatically)
- `ductape products` and `ductape apps` CRUD (workspace REST + sdk-proxy update)
- `ductape products apps list --product <id>`
- CLI docs split into `docs/docs/cli/` folder with per-topic pages
- Interactive workspace selection after `ductape login` (stored in `~/.ductape/config.json`)
- `ductape workspaces current`, `workspaces switch`, `workspaces refresh`
- `ductape login --workspace`, `--skip-workspace-select`
- `ductape link` defaults to active workspace; `whoami` shows `active_workspace`
- Switching workspaces updates linked `ductape/config.json` when present

## 0.2.0

### Added

- OAuth login: `ductape login --browser`, `ductape login --token`
- `ductape install`, `ductape unlink`, `ductape workspaces list|use`
- `ductape graph <verb>` (graph-proxy, persisted graph context)
- Expanded `ductape db` (db-proxy, `db context`, more methods)
- `ductape secrets` CRUD
- `ductape generate payload|snippet`
- Shell completions: `ductape completion bash|zsh`
- Language bootstrap templates (TypeScript, Python, Go, .NET)
- Gzip support for large proxy payloads
- Runtime context store (`~/.ductape/runtime-context.json`)
- Unit tests (`npm test`)

## 0.1.0

- Initial CLI: login, profiles, link, init, start/stop/status, resources CRUD, cloud, db basics
