Skip to content

Latest commit

 

History

History
353 lines (281 loc) · 29.4 KB

File metadata and controls

353 lines (281 loc) · 29.4 KB

Changelog

0.22.0

New Features ✨

Cli

  • Add --staged flag and default to HEAD for uncommitted changes by @dcramer in #205
  • Display confidence level in findings output by @dcramer in #194
  • Always-on JSONL logging with repo-local log directory by @dcramer in #179
  • Add --fail-fast flag to stop after first finding by @dcramer in #174
  • Surface failure details for chunk analysis and finding extraction by @dcramer in #162
  • Interactive fix step-through with y/n/a/s/q prompt by @dcramer in #161

Docs

  • Improved landing visuals by @PickleNik in #245
  • Add LLM content negotiation and llms.txt by @dcramer in #178

Runs

  • Write chunk-level JSONL logs by @dcramer in #265
  • Stream in-progress runs via 'warden runs follow' by @dcramer in #261

Skills

  • Consolidate warden-sweep into bundled scripts with prescribed reporting by @dcramer in #201
  • Replace notseer with find-warden-bugs skill by @dcramer in #200
  • Add warden-sweep skill and bundled skill installation by @dcramer in #196
  • Add agent discovery alongside skills by @dcramer in #136

Sweep

  • Add --skill flag to scan.py by @dcramer in #211
  • Add master tracking issue for sweep PRs by @dcramer in #210

Telemetry

  • Add skill and model attribution to metrics by @gricha in #231
  • Add namespaced fix-eval feedback metrics by @dcramer in #229
  • Add global scope attributes, run metric, and trace ID surfacing by @dcramer in #166
  • Add input/output attributes to gen_ai spans by @dcramer in #142
  • Add per-turn tracing for Claude Code SDK agent calls by @dcramer in #141

Other

  • (action) Write structured findings JSON and expose as output by @gricha in #233
  • (config) Make auxiliary max retries configurable via defaults.auxiliaryMaxRetries by @dcramer in #175
  • (dedup) Add intra-batch finding consolidation by @dcramer in #135
  • (init) Add section-based output and interactive skill prompt by @dcramer in #182
  • (o11y) Capture run failures in JSONL output by @dcramer in #259
  • (output) Default to COMMENT instead of REQUEST_CHANGES on PRs by @dcramer in #137
  • (runner) Global concurrency pool for file analyses by @dcramer in #158
  • (sdk) Store Claude SDK sessions in .warden/sessions/ by @dcramer in #193
  • Add verification field and confidence filtering by @dcramer in #191
  • Pnpm workspace monorepo with docs migration by @dcramer in #185
  • Adopt dotagents for skill management by @dcramer in #168
  • Cross-location finding merge by @dcramer in #148
  • Add env vars to generated workflow and docs by @dcramer in #138
  • Add Sentry observability (errors, tracing, metrics, structured logs) by @dcramer in #133
  • Split failOn into independent requestChanges and failCheck controls by @dcramer in #129

Bug Fixes 🐛

Action

  • Handle missing warden.toml gracefully by @gricha in #235
  • Thread maxContextFiles config through Action workflows by @dcramer in #216

Cli

  • Replace process.exit(130) with thrown error for graceful cleanup by @dcramer in #213
  • Write --output file on auth error early exit by @dcramer in #214
  • Normalize path separators in synthetic file changes by @dcramer in #217
  • Exclude node_modules from gitignore file discovery by @dcramer in #220
  • Collapse skipped files into a single count on Ctrl+C by @dcramer in #172
  • Render warnings through Ink's Static component by @dcramer in #170
  • Cap 'Other Files' list in prompts for CLI mode by @dcramer in #171
  • Move completed files to Static to prevent flickering by @dcramer in #149
  • Run all skills locally regardless of trigger type by @gricha in #145
  • Resolve remote config for --skill flag by @dcramer in #130

Output

  • List only successfully applied fixes in PR body by @dcramer in #219
  • Use backticks instead of brackets in attribution footer by @dcramer in #197

Sdk

  • Strip invalid suggested fixes from reports by @dcramer in #228
  • Prevent Warden sessions from polluting Claude Code history by @dcramer in #202
  • Handle EPIPE errors from Claude subprocess failures by @dcramer in #198
  • Add verification checklist and Glob tool to reduce analysis hallucinations by @dcramer in #173
  • Constrain skill findings to diff hunk line range by @dcramer in #151

Sweep

  • Add self-validation to fix subagent prompt by @dcramer in #223
  • Branch worktrees from default branch instead of HEAD by @dcramer in #221

Telemetry

  • Improve OTel GenAI semantic convention compliance by @dcramer in #140
  • Fix missing Sentry traces and negative token costs by @dcramer in #139

Other

  • (ci) Enable auto-generated changelogs for GitHub releases by @gricha in #234
  • (config) Add missing fields to TOML writer for config round-trip by @dcramer in #218
  • (evals) Update default model to claude-sonnet-4-6 by @dcramer in #163
  • (o11y) Add gen_ai.request.model attribute by @obostjancic in #247
  • (prepare) Skip files with zero content automatically by @dcramer in #226
  • (review) Preserve active Warden threads by @dcramer in #272
  • (skills) Support private repos in warden add --remote by @dcramer in #187
  • (usage) Normalize inputTokens to include cached and cache-write tokens by @vgrozdanic in #143
  • Handle multi-line YAML scalar values in SKILL.md frontmatter by @odysseus0 in #243
  • Server error handler calls process.exit() bypassing cleanup by @dcramer in #206
  • Preserve error chains across error wrapping boundaries by @dcramer in #215
  • Respect ignorePaths in all code paths by @dcramer in #204
  • Exclude dev files and secrets from npm package by @dcramer in #186
  • Clean up orphaned Warden comments when no triggers match by @dcramer in #134
  • Show findings in PR review body when inline comments fail by @dcramer in #128
  • Show skipped status for files not processed during Ctrl+C by @dcramer in #127

Documentation 📚

  • (homepage) Redesign to lead with skills by @dcramer in #238
  • Use scoped Warden package in npx examples by @dcramer in #273
  • Lead homepage with GitHub PR review story by @dcramer in #240
  • Add org-wide GitHub setup guide by @dcramer in #239
  • Replace non-existent skill names with generic placeholders by @dcramer in #199
  • Simplify getting started guide to use native warden add --remote by @dcramer in #164
  • Fix documentation inconsistencies with codebase by @dcramer in #147
  • Update config reference with missing fields by @dcramer in #132

Internal Changes 🔧

  • (agents) Update configured skills list by @dcramer in #241
  • (cli) Use git ls-files for .gitignore discovery by @dcramer in #222
  • (config) Exclude evals directory from warden analysis by @dcramer in #203
  • (deps) Bump yaml from 2.8.2 to 2.8.3 by @dependabot in #254
  • (dotagents) Gitignore auto-generated files instead of tracking them by @gricha in #246
  • (output) Clean up GitHub finding rendering by @dcramer in #176
  • (sdk) Extract applyMergeGroups to unify cross-location merge logic by @dcramer in #153
  • (skills) Restructure distributed Warden skills by @dcramer in #268
  • (sweep) Clean up warden-sweep skill per skill-creator review by @dcramer in #225
  • Add .serena to gitignore by @ericapisani in #180
  • Extract shared skill selection and validate setup-app args by @dcramer in #208
  • Combine multiple reduce operations into single pass by @dcramer in #207
  • Simplify repetitive column width calculations in logs by @dcramer in #209
  • Collapse severity to 3 levels, add warden logs command by @dcramer in #192
  • Migrate to dotagents and add skills reference to AGENTS.md by @dcramer in #195
  • Tighten weak mock assertions in test suite by @dcramer in #160
  • Add conductor.json configuration by @dcramer in #159
  • Remove generated artifacts from dist, keep only ncc bundle by @dcramer in #131
  • Replace batch-based concurrency with sliding window pool by @dcramer in #126

Other

  • release: 0.21.0 by @getsentry-bot in 2795626e
  • Docs UI improvements by @PickleNik in #248
  • release: 0.20.0 by @getsentry-bot in e7dbd6eb
  • release: 0.19.0 by @getsentry-bot in 0096b702
  • chores(docs): Add instruction for creating org rulesets by @Jeffreyhung in #244
  • release: 0.18.0 by @getsentry-bot in e3691621
  • release: 0.17.0 by @getsentry-bot in d6132a96
  • release: 0.16.0 by @getsentry-bot in 62909fe4
  • release: 0.15.0 by @getsentry-bot in d9905cee
  • release: 0.14.0 by @getsentry-bot in 538f13b4
  • release: 0.13.0 by @getsentry-bot in 063517a9
  • release: 0.12.0 by @getsentry-bot in 7177c99f
  • Remove outdated SPEC.md by @dcramer in #181
  • release: 0.11.0 by @getsentry-bot in b5525e63
  • release: 0.10.0 by @getsentry-bot in 5762bc7a
  • Add repository and source context to skill metrics by @dcramer in #165
  • Add end-to-end eval system with LLM judge by @dcramer in #152
  • release: 0.9.0 by @getsentry-bot in d36b060f
  • release: 0.8.0 by @getsentry-bot in 7f71a98d
  • release: 0.7.0 by @getsentry-bot in b6e61976
  • Remove dist/action from main, build at release time by @dcramer in #101

0.21.0

New Features ✨

Cli

  • Add --staged flag and default to HEAD for uncommitted changes by @dcramer in #205
  • Display confidence level in findings output by @dcramer in #194
  • Always-on JSONL logging with repo-local log directory by @dcramer in #179
  • Add --fail-fast flag to stop after first finding by @dcramer in #174
  • Surface failure details for chunk analysis and finding extraction by @dcramer in #162
  • Interactive fix step-through with y/n/a/s/q prompt by @dcramer in #161

Docs

  • Improved landing visuals by @PickleNik in #245
  • Add LLM content negotiation and llms.txt by @dcramer in #178

Skills

  • Consolidate warden-sweep into bundled scripts with prescribed reporting by @dcramer in #201
  • Replace notseer with find-warden-bugs skill by @dcramer in #200
  • Add warden-sweep skill and bundled skill installation by @dcramer in #196
  • Add agent discovery alongside skills by @dcramer in #136

Sweep

  • Add --skill flag to scan.py by @dcramer in #211
  • Add master tracking issue for sweep PRs by @dcramer in #210

Telemetry

  • Add skill and model attribution to metrics by @gricha in #231
  • Add namespaced fix-eval feedback metrics by @dcramer in #229
  • Add global scope attributes, run metric, and trace ID surfacing by @dcramer in #166
  • Add input/output attributes to gen_ai spans by @dcramer in #142
  • Add per-turn tracing for Claude Code SDK agent calls by @dcramer in #141

Other

  • (action) Write structured findings JSON and expose as output by @gricha in #233
  • (config) Make auxiliary max retries configurable via defaults.auxiliaryMaxRetries by @dcramer in #175
  • (dedup) Add intra-batch finding consolidation by @dcramer in #135
  • (init) Add section-based output and interactive skill prompt by @dcramer in #182
  • (o11y) Capture run failures in JSONL output by @dcramer in #259
  • (output) Default to COMMENT instead of REQUEST_CHANGES on PRs by @dcramer in #137
  • (runner) Global concurrency pool for file analyses by @dcramer in #158
  • (runs) Stream in-progress runs via 'warden runs follow' by @dcramer in #261
  • (sdk) Store Claude SDK sessions in .warden/sessions/ by @dcramer in #193
  • Add verification field and confidence filtering by @dcramer in #191
  • Pnpm workspace monorepo with docs migration by @dcramer in #185
  • Adopt dotagents for skill management by @dcramer in #168
  • Cross-location finding merge by @dcramer in #148
  • Add env vars to generated workflow and docs by @dcramer in #138
  • Add Sentry observability (errors, tracing, metrics, structured logs) by @dcramer in #133
  • Split failOn into independent requestChanges and failCheck controls by @dcramer in #129

Bug Fixes 🐛

Action

  • Handle missing warden.toml gracefully by @gricha in #235
  • Thread maxContextFiles config through Action workflows by @dcramer in #216

Cli

  • Replace process.exit(130) with thrown error for graceful cleanup by @dcramer in #213
  • Write --output file on auth error early exit by @dcramer in #214
  • Normalize path separators in synthetic file changes by @dcramer in #217
  • Exclude node_modules from gitignore file discovery by @dcramer in #220
  • Collapse skipped files into a single count on Ctrl+C by @dcramer in #172
  • Render warnings through Ink's Static component by @dcramer in #170
  • Cap 'Other Files' list in prompts for CLI mode by @dcramer in #171
  • Move completed files to Static to prevent flickering by @dcramer in #149
  • Run all skills locally regardless of trigger type by @gricha in #145
  • Resolve remote config for --skill flag by @dcramer in #130

Output

  • List only successfully applied fixes in PR body by @dcramer in #219
  • Use backticks instead of brackets in attribution footer by @dcramer in #197

Sdk

  • Strip invalid suggested fixes from reports by @dcramer in #228
  • Prevent Warden sessions from polluting Claude Code history by @dcramer in #202
  • Handle EPIPE errors from Claude subprocess failures by @dcramer in #198
  • Add verification checklist and Glob tool to reduce analysis hallucinations by @dcramer in #173
  • Constrain skill findings to diff hunk line range by @dcramer in #151

Sweep

  • Add self-validation to fix subagent prompt by @dcramer in #223
  • Branch worktrees from default branch instead of HEAD by @dcramer in #221

Telemetry

  • Improve OTel GenAI semantic convention compliance by @dcramer in #140
  • Fix missing Sentry traces and negative token costs by @dcramer in #139

Other

  • (ci) Enable auto-generated changelogs for GitHub releases by @gricha in #234
  • (config) Add missing fields to TOML writer for config round-trip by @dcramer in #218
  • (evals) Update default model to claude-sonnet-4-6 by @dcramer in #163
  • (o11y) Add gen_ai.request.model attribute by @obostjancic in #247
  • (prepare) Skip files with zero content automatically by @dcramer in #226
  • (skills) Support private repos in warden add --remote by @dcramer in #187
  • (usage) Normalize inputTokens to include cached and cache-write tokens by @vgrozdanic in #143
  • Handle multi-line YAML scalar values in SKILL.md frontmatter by @odysseus0 in #243
  • Server error handler calls process.exit() bypassing cleanup by @dcramer in #206
  • Preserve error chains across error wrapping boundaries by @dcramer in #215
  • Respect ignorePaths in all code paths by @dcramer in #204
  • Exclude dev files and secrets from npm package by @dcramer in #186
  • Clean up orphaned Warden comments when no triggers match by @dcramer in #134
  • Show findings in PR review body when inline comments fail by @dcramer in #128
  • Show skipped status for files not processed during Ctrl+C by @dcramer in #127

Documentation 📚

  • (homepage) Redesign to lead with skills by @dcramer in #238
  • Lead homepage with GitHub PR review story by @dcramer in #240
  • Add org-wide GitHub setup guide by @dcramer in #239
  • Replace non-existent skill names with generic placeholders by @dcramer in #199
  • Simplify getting started guide to use native warden add --remote by @dcramer in #164
  • Fix documentation inconsistencies with codebase by @dcramer in #147
  • Update config reference with missing fields by @dcramer in #132

Internal Changes 🔧

  • (agents) Update configured skills list by @dcramer in #241
  • (cli) Use git ls-files for .gitignore discovery by @dcramer in #222
  • (config) Exclude evals directory from warden analysis by @dcramer in #203
  • (deps) Bump yaml from 2.8.2 to 2.8.3 by @dependabot in #254
  • (dotagents) Gitignore auto-generated files instead of tracking them by @gricha in #246
  • (output) Clean up GitHub finding rendering by @dcramer in #176
  • (sdk) Extract applyMergeGroups to unify cross-location merge logic by @dcramer in #153
  • (sweep) Clean up warden-sweep skill per skill-creator review by @dcramer in #225
  • Add .serena to gitignore by @ericapisani in #180
  • Extract shared skill selection and validate setup-app args by @dcramer in #208
  • Combine multiple reduce operations into single pass by @dcramer in #207
  • Simplify repetitive column width calculations in logs by @dcramer in #209
  • Collapse severity to 3 levels, add warden logs command by @dcramer in #192
  • Migrate to dotagents and add skills reference to AGENTS.md by @dcramer in #195
  • Tighten weak mock assertions in test suite by @dcramer in #160
  • Add conductor.json configuration by @dcramer in #159
  • Remove generated artifacts from dist, keep only ncc bundle by @dcramer in #131
  • Replace batch-based concurrency with sliding window pool by @dcramer in #126

Other

  • Docs UI improvements by @PickleNik in #248
  • release: 0.20.0 by @getsentry-bot in e7dbd6eb
  • release: 0.19.0 by @getsentry-bot in 0096b702
  • chores(docs): Add instruction for creating org rulesets by @Jeffreyhung in #244
  • release: 0.18.0 by @getsentry-bot in e3691621
  • release: 0.17.0 by @getsentry-bot in d6132a96
  • release: 0.16.0 by @getsentry-bot in 62909fe4
  • release: 0.15.0 by @getsentry-bot in d9905cee
  • release: 0.14.0 by @getsentry-bot in 538f13b4
  • release: 0.13.0 by @getsentry-bot in 063517a9
  • release: 0.12.0 by @getsentry-bot in 7177c99f
  • Remove outdated SPEC.md by @dcramer in #181
  • release: 0.11.0 by @getsentry-bot in b5525e63
  • release: 0.10.0 by @getsentry-bot in 5762bc7a
  • Add repository and source context to skill metrics by @dcramer in #165
  • Add end-to-end eval system with LLM judge by @dcramer in #152
  • release: 0.9.0 by @getsentry-bot in d36b060f
  • release: 0.8.0 by @getsentry-bot in 7f71a98d
  • release: 0.7.0 by @getsentry-bot in b6e61976
  • Remove dist/action from main, build at release time by @dcramer in #101