Skip to content

v0.10.0

Choose a tag to compare

@github-actions github-actions released this 15 Sep 01:29
· 799 commits to main since this release
Immutable release. Only release title and notes can be modified.

devin-2api v0.10.0

Full Changelog: v0.9.0...v0.10.0

Features

  • feat(dashboard): serve raw stage bytes and flag binary payloads
  • feat(skills): add orchestrating-agents for budgeted subagent trees
  • feat(anthropic): accept client-executed tool types and surface dropped input
  • feat(chat): accept legacy function-calling dialect
  • feat(gate): replace token bucket with upstream-aligned minute window

Fixes

  • fix(debuglog): warn when index.jsonl outgrows the replay window
  • perf(debuglog): lowercase filter query once before the scan
  • fix(scripts): default quota probe output path and precheck crossnote sources
  • fix(panel): unify burn-forecast wording, clean matrix ARIA and dead css
  • fix(panel): harden shared helpers, request filters, usage sort and zoom
  • fix(devin): write gate state file under mu to avoid stale latch resurrection
  • fix(devin): cancel superseded pump on reopen, classify connect failures
  • fix(app): surface Retry-After on upstream catalog failures
  • fix(debuglog): redact modelassignmentjwt in sanitized payloads
  • fix(debuglog): retry index tail read once before declaring replay done
  • fix(obs): exclude stale and future buckets from rates window
  • fix(dashboard): mask rotated upstream tokens and reset sessions on password change
  • fix(dashboard): keep unreported quota fields distinct from 0%
  • fix(main): probe port holder on the bound host, not always loopback
  • fix(dashboard): keep unreported quota fields distinct from 0%
  • fix(responses): hold reasoning item open across signature fragments
  • fix(debuglog): count write-after-close drops in droppedTotal
  • perf(dashboard): serve latency-only usage summary on /stats
  • fix(anthropic): placeholder for unsupported tool_result content blocks
  • fix(chat): ledger non-positive token and top_k fields as dropped
  • fix(responses): reject empty input and ledger orphan reasoning drops
  • fix(scripts): preserve listen host when smoke.sh rewrites the port
  • fix(upstreamstub): heartbeat for the life of the connection
  • fix(loadtest): surface truncated upstream streams
  • fix(protocensus): count retry attempt wire requests in census
  • fix(devin-2api): share reuseport on pprof listener, gate samplers on bind
  • fix(debuglog): classify disconnects by result before status code
  • fix(app): disarm ws replacement replay inside finalizeReplacement
  • fix(anthropic): hold thinking block open across signature fragments
  • fix(adapter,app): close two real defects found in review
  • fix(upstreamstub): reject unknown scenario names at startup
  • fix(probe): tolerate numeric enum strings when stripping stop reason
  • fix(dashboard): surface constructor failure and login error content type
  • fix(common): honor spec tool_choice spellings and soften hosted-tool choice
  • fix(anthropic): deliver thinking signatures and redacted blocks per spec
  • fix(api): key encoder state per block, dedupe output ids, iterate in order
  • fix(api): strip codex permissions block via sanitize rules
  • fix(devin): isolate streamed partial across pump and consumer
  • fix(devin): unify retry bookkeeping and bind per-call request fields
  • fix(devin): recheck cancellation on gate wake and honor injected clock
  • fix(debuglog): strip retry attempt shards during payload retention
  • fix(debuglog): return early when Complete runs twice
  • fix(app): close drain races and record the status actually sent
  • fix(scripts): verify pid before killing and harden GitHub resolution
  • fix(build): align Dockerfile toolchain with go.mod
  • fix(panel): surface upstream errors and repair merged view
  • fix(debuglog): wire io_errors and fix retention aging
  • fix(api): align the three protocol frontends on edge semantics
  • fix(adapter): rearm no-progress watchdog and stop encoder data loss
  • fix(app): attribute cancellations correctly and tighten stream edges

Other

  • refactor(probe): route through production wire plumbing
  • refactor(config,devin): export token discovery and client identity
  • refactor(devin): unexport gateEventCap
  • refactor(app): label WS responses turns at the call site
  • refactor(app): share turn admission between HTTP and WS
  • refactor(debuglog): name error stages as constants
  • refactor(llm): drop wire-dead ToolResultMessage.ToolName
  • chore(taskfile): drop dead CONNECT_GO_VERSION variable
  • refactor(devin): drop dead Config.ModelAssignmentJWT
  • docs(errors): note 499 also covers locally-initiated upstream cancel
  • test(app): expect [DONE] terminator after stream error chunk
  • docs(debuglog): correct rate_limited and flush-durability comments
  • docs(skills): simplify orchestrating-agents to plain principles
  • build(proto): align generated go.mod go directive with root 1.27.1
  • ci(security): pin govulncheck to v1.8.0
  • docs(skills): drop agent-count budget machinery, spawn limits live in settings
  • docs(skills): drop brief template and same-skill mandate
  • refactor(api): share the stream-failure prelude in common.StreamError
  • refactor(errors): finish llm.Failure migration for leftover call sites
  • docs(skills): rewrite orchestrating-agents skill in Chinese
  • refactor(protoextract): drop dead descriptor map and unused param
  • test(config): assert every config field is classified on reload
  • refactor(llm): demote orphan tool results once on RequestMessages
  • refactor(errors): move classification into llm and carry Failure through stream flatten points
  • refactor(dashboard): ship attribution and labels from server, drop JS policy replicas
  • refactor(errors): carry typed llm.Failure records instead of re-parsing text
  • refactor(probe): resolve the token once in main
  • refactor(dashboard): drop dead prefix param from shortEnum
  • refactor(dashboard): reuse debuglog primitives in panel reads
  • refactor(upstream): drop NewBasicAuthTransport in favor of the func variant
  • refactor(llm): drop never-populated fields and simplify IsJSONObject
  • refactor(api): assemble error payloads through the shared builder
  • chore: ignore local build artifacts
  • refactor(app): name debug stages and SSE marker via constants
  • refactor(api): share usage totals, reasoning items and content helpers
  • refactor(obs): drop impossible nil guard on Finish
  • refactor(devin): drop contract-dead guards and document internals
  • refactor(devin): group rate-gate knobs under GateConfig
  • refactor(debuglog): drop never-populated projection keys
  • refactor(debuglog): extract sanitize module and name stage files
  • chore(cmd): drop model and status probes superseded by probe
  • ci: gate docker latest on stable versions and enforce go mod tidy
  • test(server): cover reload validation, proxy redaction, and login sweep
  • docs(rate-limit): record aligned fixed-window shaping decision
  • chore(agents): vendor refactoring and debugging skills