v0.9.0
·
900 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
devin-2api v0.9.0
Full Changelog: v0.7.0...v0.9.0
Note
v0.8.0 was tagged on a commit whose Windows cross-compile failed, so it never produced a release. v0.9.0 supersedes it entirely — its changelog is folded in below.
Features
- feat(panel): filter aria-labels, KPI tooltips and topnav overflow
- feat(panel): health-matrix endpoint, keyboard grid, truncation banner
- feat(deploy): zero-downtime restart via SO_REUSEPORT handoff
- feat(panel): keyboard access, view prefs, polish
- feat(scripts): add perf-snapshot and bench baseline workflows
- feat(upstreamstub): add stream scenario with tunable frame pacing
- feat(debug): add optional pprof/fgprof listener on a dedicated port
- feat(debuglog): add five-stage latency decomposition markers
- feat(dashboard): surface local rejects beyond the system tab
- feat(obs): flag rate-limited requests including in-stream 429
- feat(deploy): wait for in-flight requests before restart
- feat(gate): record latch transitions and expose token/waiter stats
- feat(obs): split pre-pipeline rejects by reason and ring recent events
- feat(devin): add no-progress deadline and post-stopReason tail grace
- feat(cmd): add badflags, end-hang and heartbeat stub scenarios
- feat(dashboard): unify hover tooltip styling across matrix and charts
- feat(dashboard): drop avg markLine and add req/min axis to traffic chart
- feat(cmd): extend upstreamstub with clean-eof, end-stream, bad-frame and stall scenarios
- feat(dashboard): layer RPS curve over instantaneous rate bars in traffic chart
- feat(dashboard): reshape health matrix into waveform bars with anchored tooltip
- feat(cmd): add upstreamstub connect-stream truncation injector
- feat(dashboard): poll live tabs at 1s and add 10s matrix with hover tooltip
- feat(obs): tighten request trend buckets to 10s granularity
- feat(dashboard): per-model health matrix, SLA KPIs, verdict, and retry chain
- feat(debuglog): attribute faults by owner, add SLA rate, retries, and until filter
- feat(scripts): add deploy-windows.ps1 for Windows console deployment
- feat(dashboard): surface gate state, config view/reload, and alert gaps
- feat(scripts): harden deploy UX with preflight, config bootstrap and upstream smoke
- feat(scripts): add smoke.sh for throwaway-instance verification
- feat(dashboard): report absent alias targets in apiStatus
- feat(dashboard): expose config view, hot reload, and gate stats
- feat(gate): persist cooldown latch and expose gate stats
Fixes
- fix(scripts): tag the CI-verified commit instead of current HEAD
- fix(build): compile SO_REUSEPORT sockopt only on unix
- fix(panel): quota period display and single-series bar chart
- fix(panel): realign active-request rows and keep window-lock hint
- perf(dashboard): gzip embedded statics and defer echarts
- fix(debuglog): tag RequestMeta fields with wire names
- fix(dashboard): serve static assets with ETag and private no-cache
- perf(debuglog): cache parsed index tail for ListRequests
- perf(debuglog): defer event projections to the log worker
- fix(dashboard): tag 429 samples with error stage and split local-gate rows
- fix(dashboard): keep chart tooltips alive and on-token during polling
- fix(responses): read reasoning_text parts and guard usage zero-overwrite
- fix(responses): omit reasoning_tokens when upstream reports none
- fix(api): emit placeholder text for unsupported document/file parts
- fix(api): demote id-less tool results to user text instead of rejecting
- fix(devin): extend protocol-error match to CodeInternal framing failures
- fix(devin): classify mid-payload envelope truncation as retryable transport fault
- fix(devin): classify connect-wrapped transport breaks as retryable transport faults
- fix(scripts): parse single-quoted yaml scalars and resolve latest tag via redirect
Other
- refactor(panel): drop redundant cost-tier column from model table
- chore(vscode): enable MPE preview env backed by gitignored .crossnote
- build(panel): replace stock echarts with a custom 630KB bundle
- refactor(panel): ES modules + morphdom rendering
- docs: add performance workflow guide
- build: add PGO profile sampled under stub load
- refactor(cmd): replace conctest with loadtest reporting TTFB and totals
- refactor(dashboard): consolidate font-size, line-height and radius into tokens
- refactor(dashboard): route remaining style literals through tokens and classes
- docs: reflect dual-layer watchdog and tail grace in stub matrix
- docs: document new upstreamstub scenarios and watchdog boundary
- chore: gitignore dated quota-probe outputs
- docs: cover rate-limit gate fields and panel hot reload in READMEs
- docs(config): tighten example defaults
- docs: document config endpoints, gate state file, and smoke script
- docs: record issue #2 root cause and premature flag semantics
- docs(app): note task-end false positive in prematureEndTurn