# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.0.40] - 2026-07-06

### Added
- Added non-extension session parity so managed and CDP-connected sessions can share the same runtime capability surface without requiring the Chrome extension path.

### Changed
- Aligned release-facing package, lockfile, extension manifest, extension package metadata, and evidence docs for `0.0.40`.
- Tightened workflow readiness and shopping-report gates so authority sidecars, compact output tokens, and product-readiness evidence stay aligned with runtime behavior.

### Fixed
- Hardened Codex bundled skill sync so OpenDevBrowser skills coalesce through the shared Agents root and avoid duplicate `opendevbrowser-*` discovery entries.
- Closed workflow-readiness review blockers around output authority, evidence gates, and stale runtime assertions.

## [0.0.39] - 2026-07-02

### Changed
- Aligned release-facing package, lockfile, extension manifest, extension package metadata, and evidence docs for `0.0.39`.
- Updated skill install and runtime guidance so Agents global and project-local skill targets are documented as managed sync destinations.

### Fixed
- Hardened bundled OpenDevBrowser skill lifecycle sync so npm install and update paths can refresh Agents skill roots without overwriting unrelated user-authored packs.
- Stabilized Pinterest Inspiredesign pin-media capture setup so manifest-backed pin media can satisfy product-ready authority instead of diagnostic-only output.

## [0.0.38] - 2026-07-01

### Changed
- Aligned release-facing package, lockfile, extension manifest, extension package metadata, and evidence docs for `0.0.38`.
- Recorded the local-token release order: publish npm first, then dispatch the GitHub release workflow with `publish_npm=false`.
- Preserved Chrome Web Store lane status as blocked pending credentials or an authenticated dashboard session.

## [0.0.37] - 2026-06-28

### Changed
- Aligned release-facing package, lockfile, extension manifest, extension package metadata, and evidence docs for `0.0.37`.
- Updated Inspiredesign public guidance so product-ready output requires `productSuccess=true`, `artifactAuthority=product_ready`, and manifest-backed evidence authority.

### Fixed
- Hardened canonical Pinterest Inspiredesign readiness so `/pin/...` references require manifest-backed `pin_media_ready` evidence for product-ready output.
- Improved Inspiredesign design artifacts and handoffs with run-specific media evidence, advisory-only media-analysis provenance, and separate light/dark token strategies.
- Kept Pinterest `search_shell` classification diagnostic when rendered canonical pin links can still produce first-party pin-media authority.

## [0.0.36] - 2026-06-19

### Changed
- Refreshed agent guidance for current module ownership, provider workflow artifact storage, release evidence pointers, and generated artifact cleanup boundaries.
- Aligned release-facing package, lockfile, extension manifest, extension package metadata, and evidence docs for `0.0.36`.

### Fixed
- Documented the extension ops `page.dialog` command in layered agent guidance.
- Removed dead local prompt-export and transient skill-pack planning references from tracked plan and review docs.

## [0.0.35] - 2026-06-12

### Added
- Added public surface and docs coverage for provider-scoped Pinterest URL recovery with explicit `--url` inputs.

### Changed
- Inspiredesign CLI completion now reports workflow readiness when available.
- Omitted screenshot calls now persist `.opendevbrowser/screenshot/<uuid>/capture.png` and return `path` plus `artifact_path` instead of base64 by default.
- Omitted screencast calls now persist replay artifacts under `.opendevbrowser/screencast/<uuid>` while preserving explicit caller paths.

### Fixed
- Documented `ranked-references.json.rejectedReferences` diagnostics for captured-but-rejected `interface_chrome_shell` evidence without weakening reference promotion rules.

## [0.0.34] - 2026-05-22

### Changed
- Release-facing package, lockfile, extension manifest, extension package metadata, and evidence docs are aligned for `0.0.34`.

## [0.0.33] - 2026-05-21

### Added
- Added typed guidance recipes and browser-native site recipes so workflows can provide status-aware next steps with concrete examples.
- Added Pinterest browser-native Inspired Design harvesting support with design-readiness gating and diagnostic recovery guidance.

### Changed
- Canvas continuation is now blocked until Inspired Design evidence is ready, preventing diagnostic-only harvests from being treated as design-ready.
- Release-facing package, lockfile, extension manifest, extension package metadata, and evidence docs are aligned for `0.0.33`.

### Fixed
- Rejected Pinterest interface chrome and off-brief references no longer leak into design-facing Inspired Design artifacts, Canvas plans, or handoff prompts.

## [0.0.32] - 2026-05-19

### Removed
- Removed tracked planning and investigation artifacts from `docs/plans` and `docs/investigations`.

### Changed
- Refreshed package, lockfile, extension manifest, extension package metadata, and release-facing docs for `0.0.32`.

## [0.0.31] - 2026-05-17

### Changed
- `opendevbrowser --update` now describes its repair scope consistently across CLI help, public-surface metadata, and troubleshooting docs.

### Fixed
- OpenCode cache repair now documents and validates the active `packages/opendevbrowser@latest` alias cache path.
- The update command has real CLI entrypoint regression coverage proving isolated `OPENCODE_CACHE_DIR` repair removes only opendevbrowser cache entries while preserving unrelated package aliases.

## [0.0.30] - 2026-05-16

### Changed
- Workflow-generated artifacts now use one output-root contract across CLI, daemon RPC, OpenCode direct tools, and provider workflows.
- Omitted workflow outputs resolve under the project `.opendevbrowser/<workflow>/<uuid>` tree while preserving explicit output directories.

### Fixed
- Direct OpenCode-style workflow calls no longer drift into transient `/var/folders` or other process temp roots when `outputDir` is omitted.

## [0.0.21] - 2026-04-19

### Added
- Workflow success handoff guidance now ships across the first-class research, shopping, product-video, and Inspire Design lanes so successful runs can hand operators a concrete next action.

### Changed
- Help and release-facing docs now treat Inspire Design's canvas handoff as the reference workflow contract for next-step guidance.

### Fixed
- `macro-resolve --execute` now reports blocked executions from preserved blocker metadata instead of claiming unconditional success.
- Live release validation is more stable because extension relay reuse, product-video brief follow-through, and timeout teardown no longer drift into false failures.

## [0.0.20] - 2026-04-17

### Added
- First-class operator review and inspection surfaces, including review-desktop, session-inspector audit or plan flows, capability status reporting, and next-step guidance in the CLI or tool surface.
- First-class Inspire Design workflow coverage with provider contracts, capture flows, docs, and parity-focused tests.

### Changed
- Canonicalized generated help and public-surface metadata so release-facing discoverability and workflow guidance stay aligned across CLI docs, onboarding, and mirrored website inputs.
- Expanded the bundled best-practices and design-agent skill packs with the new operator, canvas, and workflow guidance used by the current runtime.

### Fixed
- Hardened live audit and release harnesses so env-limited verdicts, relay-instance ownership, desktop observation capture, and shopping follow-up classification no longer drift into false failure states.
- Stabilized extension reconnect or warning states, canvas live workflow closure, screencast completion, and package-script execution around the new operator surfaces.

## [0.0.19] - 2026-04-13

### Added
- Post-publish registry-consumer smoke validation via `scripts/registry-consumer-smoke.mjs`, including fresh-install help/version checks and captured consumer dependency-graph evidence.
- A concrete browser-scoped computer-use entry command in generated help, onboarding metadata, and release-facing docs.

### Changed
- Clarified the boundary between local source-tarball validation and published npm proof across README, CLI docs, onboarding, release runbooks, and distribution docs.
- Clarified the `0.0.18` npm parity investigation chronology so it distinguishes the release-aligned parity snapshot from later local worktree drift.

### Fixed
- Browser screencast recording no longer schedules a later frame when stop is requested during the first in-flight capture.

## [0.0.18] - 2026-04-12

### Added
- Public-surface manifest generation, onboarding metadata, workflow inventory reporting, and direct-run release probes now drive generated help, docs parity, release evidence, and mirrored website inputs.
- Review, session-inspector, upload, and pointer interaction surfaces landed across the CLI and tool registry, alongside stronger first-run onboarding smoke and skill-runtime audit coverage.
- Public read-only desktop observation now ships as a sibling runtime with dedicated audit and permission checks, while challenge automation keeps its browser-scoped helper boundary explicit.

### Changed
- Hardened the design-canvas runtime after the `v0.0.17` release with stronger extension editor flows, adapter-plugin validation, starter or inventory lanes, framework-adapter code sync, and release-facing docs.
- Refreshed GitHub/npm/Chrome release operations with tighter runbooks, deterministic store asset generation, clearer website-sync inputs, and release-proof scripts that track the current public surface.
- Tightened generated help, onboarding, and privacy wording so browser replay, desktop observation, and browser-scoped computer-use guidance stay aligned across docs and store-facing copy.
- Regenerated live Chrome Web Store screenshots and refreshed store asset specs, listing guidance, and release-facing documentation for the current extension UI.

### Fixed
- Private website dispatch no longer fails public pushes when the sync token cannot access the configured private repo.
- Provider fallback recovery, shopping outputs, extension attach recovery, and release validation lanes are more stable on the post-`v0.0.17` mainline.

## [0.0.17] - 2026-03-13

### Added
- Design canvas runtime delivery across core, CLI, tool, relay, and extension surfaces, including the extension-hosted `canvas.html` editor, overlay coordination, preview feedback, and repo-backed code-sync flows.
- Canvas governance/supporting asset pack updates for `opendevbrowser-best-practices`, including `/canvas` handshake, blocker, feedback-evaluation, and robustness templates.
- Release-cycle documents for v0.0.17, including current evidence tracking and a restored cutover checklist for the public/private website handoff.

### Changed
- Updated repo-wide active release docs, onboarding examples, and distribution runbooks to target `0.0.17`.
- Release artifact paths now follow the active release version in workflows/runtime scripts instead of staying pinned to `v0.0.16`.
- Packaging docs now align GitHub release, npm tarball, extension packaging, and private-site sync guidance around the current release cycle.

### Fixed
- `npm run extension:sync` now syncs both `extension/manifest.json` and `extension/package.json`, matching the `version:check` contract.
- Active documentation references no longer point at the removed cutover doc or stale `0.0.16` packaging examples.

## [0.0.16] - 2026-02-28

### Added
- Release hardening automation scripts for preflight and compliance:
  - `scripts/audit-zombie-files.mjs`
  - `scripts/docs-drift-check.mjs`
  - `scripts/chrome-store-compliance-check.mjs`
  - `scripts/provider-live-scenarios.mjs`
  - `scripts/release-gate-test-groups.mjs`
- PR and release workflow gates for zombie-file audit, docs drift, extension-store compliance, and optional strict live release lanes.
- Grouped release-gate npm scripts (`test:release-gate`, `test:release-gate:g1..g5`) for deterministic reruns.

### Changed
- Compared to `v0.0.15`, this release consolidates automation platform/runtime work (provider workflows, macro execute, blocker envelopes, debug-trace surfaces), multitab governance hardening, and release governance/documentation upgrades.
- `live-regression-matrix` now supports strict `--release-gate` mode, extension readiness recovery, stale worker cleanup, declared-divergence handling, and stronger scenario summarization semantics.
- `provider-live-matrix` now supports strict release-gate mode with provider coverage assertions, nested live-matrix orchestration controls, extension-launch recovery, and deterministic high-friction/auth-gated handling.
- CLI launch behavior now derives daemon RPC timeout from `--wait-timeout-ms` hints to prevent premature timeout failures during extension waits.
- Macro execute daemon path now accepts bounded runtime timeout overrides and maps them into provider operation budgets.
- CLI `--version` output is sourced from `package.json` (removed stale hardcoded version path).
- Version verification now enforces parity across `package.json`, `extension/manifest.json`, and `extension/package.json`.

### Fixed
- Relay extension-mode CDP connect now retries known stale-tab `Target.setAutoAttach` failure paths before failing.
- Extension TypeScript event typing drift (`TabChangeInfo` -> `OnUpdatedInfo`) and CDP command param typing were tightened to avoid compile/runtime mismatch edges.
- Provider runtime circuit-breaker timing assertions were stabilized in tests to reduce flaky cooldown-window checks.

### Removed
- Stale planning/design artifacts and prototypes that are no longer release sources of truth.
- Legacy/unneeded local artifacts and stale helper scripts superseded by explicit release-gate automation.

### Documentation
- Swept and refreshed release-facing docs and runbooks across architecture, CLI, troubleshooting, onboarding, extension release, distribution, asset inventory, and dependency inventory surfaces.
- Updated release evidence ledger and strict gate references for v0.0.16 operations.

### Tests
- Added regression coverage for:
  - launch timeout derivation and daemon call timeout forwarding
  - relay stale-tab attach retry behavior
  - release audit scripts and grouped release-gate orchestration
- Preserved full-repo coverage threshold expectations (`>=97%`) while expanding release-governance checks.

## [0.0.15] - 2026-02-08

### Added
- Release distribution plan for npm, GitHub branch/PR flow, and GitHub Releases (`docs/DISTRIBUTION_PLAN.md`).

### Changed
- Updated README/CLI/extension guidance and project metadata.
- Bumped package and extension versions to `0.0.15`.

### Fixed
- Completed extension-mode remediation and native host automation flow.
- Hardened extension Ops/CDP handling and cleaned up Ops sessions on disconnect.
- Resolved typecheck/lint edge cases in Ops-related paths.

### Tests
- Expanded browser and target coverage.
- Stabilized CLI native status assertions.

## [0.0.14] - 2026-02-02

### Added
- Ops parity and end-to-end coverage across daemon and relay.
- Multi-client session tracking in core runtime.
- Expanded DOM query and interaction tools/CLI commands.
- Multi-client extension CDP router improvements.

### Changed
- Strengthened relay, extension, and daemon reliability paths.
- Refreshed CLI/extension/docs guidance for new workflows.
- Updated extension assets packaging flow during `extension:build`.

### Fixed
- Relay binding contention and extension instance mismatch cases.
- Native host and extension-mode workflow edge cases.

### Security
- Hardened relay authentication, token handling, and connection checks.

## [0.0.13] - 2026-01-19

### Added
- Hub daemon mode for centralized browser management
- Remote relay support for distributed setups
- Extension relay with flat session support (Chrome 125+)
- Multi-client CDP broker capability
- FIFO lease management for shared resources
- Annotation system for visual debugging
- Skill pack discovery and loading system

### Changed
- Refactored browser manager for hub compatibility
- Improved session lifecycle management
- Enhanced CDP connection handling

### Fixed
- Session cleanup on abrupt disconnections
- Target manager race conditions
- Snapshot pipeline edge cases

## [0.0.12] - 2026-01-11

### Added
- 41 browser automation tools
- Chrome extension for relay mode
- Snapshot-based interaction system
- DevTools integration (console, network, performance)
- Page export capabilities (React component cloning)
- Script runner for custom automation
- Configuration system with JSONC support

### Changed
- Migrated to Playwright for browser control
- Improved AX-tree snapshot accuracy
- Enhanced ref management system

## [0.0.11] - 2026-01-02

### Added
- Initial OpenCode plugin implementation
- CDP-based browser automation
- Basic tool set (launch, snapshot, click, type)
- CLI interface for automation scripts
- TypeScript support with strict mode

## [0.0.10] - 2026-01-02

### Added
- Project bootstrap
- Initial architecture design
- Core browser management
- Basic snapshot pipeline

[Unreleased]: https://github.com/freshtechbro/opendevbrowser/compare/v0.0.40...HEAD
[0.0.40]: https://github.com/freshtechbro/opendevbrowser/compare/v0.0.39...v0.0.40
[0.0.39]: https://github.com/freshtechbro/opendevbrowser/compare/v0.0.38...v0.0.39
[0.0.38]: https://github.com/freshtechbro/opendevbrowser/compare/v0.0.37...v0.0.38
[0.0.37]: https://github.com/freshtechbro/opendevbrowser/compare/v0.0.36...v0.0.37
[0.0.36]: https://github.com/freshtechbro/opendevbrowser/compare/v0.0.35...v0.0.36
[0.0.35]: https://github.com/freshtechbro/opendevbrowser/compare/v0.0.34...v0.0.35
[0.0.34]: https://github.com/freshtechbro/opendevbrowser/compare/v0.0.33...v0.0.34
[0.0.33]: https://github.com/freshtechbro/opendevbrowser/compare/v0.0.32...v0.0.33
[0.0.32]: https://github.com/freshtechbro/opendevbrowser/compare/v0.0.31...v0.0.32
[0.0.31]: https://github.com/freshtechbro/opendevbrowser/compare/v0.0.30...v0.0.31
[0.0.30]: https://github.com/freshtechbro/opendevbrowser/compare/v0.0.29...v0.0.30
[0.0.21]: https://github.com/freshtechbro/opendevbrowser/compare/v0.0.20...v0.0.21
[0.0.20]: https://github.com/freshtechbro/opendevbrowser/compare/v0.0.19...v0.0.20
[0.0.19]: https://github.com/freshtechbro/opendevbrowser/compare/v0.0.18...v0.0.19
[0.0.18]: https://github.com/freshtechbro/opendevbrowser/compare/v0.0.17...v0.0.18
[0.0.17]: https://github.com/freshtechbro/opendevbrowser/compare/v0.0.16...v0.0.17
[0.0.16]: https://github.com/freshtechbro/opendevbrowser/compare/v0.0.15...v0.0.16
[0.0.15]: https://github.com/freshtechbro/opendevbrowser/compare/ebb109e...eaced1e
[0.0.14]: https://github.com/freshtechbro/opendevbrowser/compare/v0.0.13...ebb109e
[0.0.13]: https://github.com/freshtechbro/opendevbrowser/compare/v0.0.12...v0.0.13
[0.0.12]: https://github.com/freshtechbro/opendevbrowser/compare/v0.0.11...v0.0.12
[0.0.11]: https://github.com/freshtechbro/opendevbrowser/compare/v0.0.10...v0.0.11
[0.0.10]: https://github.com/freshtechbro/opendevbrowser/releases/tag/v0.0.10
