Skip to content

v1.29.0

Choose a tag to compare

@github-actions github-actions released this 18 Jun 16:10
f4feb8f

Behavioral compatibility notes

The following merged PRs were labeled release-note-required and are called out explicitly in this release:

What's Changed

  • [codex] Require chat-template tokenizer for custom token counts by @neubig in #3625
  • Clamp max_tokens for Bedrock joint input/output budget by @juanmichelini in #3622
  • Add private shell AST command view helpers by @Fieldnote-Echo in #3609
  • test(sdk): add golden-snapshot oracle for the rendered system prompt by @VascoSch92 in #3624
  • fix(sdk): sort skill/plugin/extension discovery for deterministic prompts by @VascoSch92 in #3630
  • [Prompt registry] Phase 1 — Typed core (PromptSection / PromptContext / PromptRegistry) by @VascoSch92 in #3634
  • refactor(sdk): curate ACP model lists — verified against pinned CLIs, current generations only by @simonrosenberg in #3653
  • feat(sdk): deprecate ACPAgentSettings.llm credentials — create_agent no longer reads llm.api_key/base_url by @simonrosenberg in #3652
  • fix(sdk): apply claude-code initial ACP model via set_session_model (claude-agent-acp ignores _meta) by @simonrosenberg in #3655
  • ci: validate deprecation runway schedules by @enyst in #3657
  • refactor(metrics): surface cache-hit-rate as a derived Metrics property by @VascoSch92 in #3650
  • fix(sdk): pin lmnr below incompatible release by @enyst in #3662
  • fix(llm): enable prompt caching for claude-fable-5 by @juanmichelini in #3661
  • [codex] Isolate ACP npx launches from npm env by @neubig in #3665
  • feat: add SOUL.md support for agent identity customization by @smolpaws in #3535
  • chore(llm): simplify model feature cache list by @enyst in #3674
  • chore: remove the cloud_proxy router by @hieptl in #3326
  • fix(terminal): disable interactive pagers to prevent PTY hijack by @VascoSch92 in #3684
  • feat: load multiple org/user skill repositories per request by @hieptl in #3680
  • Add LLM subscription auth endpoints by @neubig in #3367
  • Add conversation observability metadata by @neubig in #3270
  • Add conversation attribution to Laminar traces by @neubig in #3580
  • [codex] fix ACP MCP auth forwarding by @neubig in #3667
  • Fix Apptainer tokenizer binds and token condensation by @neubig in #3641
  • fix: redact credentials from plugin/extension URL logs by @jpshackelford in #2154
  • [codex] Refresh condenser LLM on model switch by @neubig in #3499
  • ci: accept cloud-proxy REST API breakage by @enyst in #3687
  • [codex] Support regex CORS origins by @neubig in #3664
  • fix(file_editor): write atomically and fall back to UTF-8 to prevent data loss by @shanemort1982 in #3679
  • feat(subagent): give spawned sub-agents a condenser by default by @ak684 in #3696
  • feat(workflow): add wf.pipeline for barrier-free staged fan-out by @ak684 in #3697
  • feat(workflow): drop whole elements when truncating reduce input by @ak684 in #3700
  • feat(task): enforce a per-run cost budget for agents and sub-agents by @ak684 in #3703
  • [Prompt registry] Phase 2 — Port static-tier sections behind the snap… by @VascoSch92 in #3659
  • chore: remove already-removable deprecated leftovers (marketplace comment, skills tombstone, display_dict) by @VascoSch92 in #3734
  • test(settings): add ACPAgentSettings mcp_config secret-preservation tests by @simonrosenberg in #3711
  • [Prompt registry] Phase 2 — Port dynamic-tier sections behind the snapshot by @VascoSch92 in #3683
  • feat(settings): delegate PersistedSettings.update to apply_agent_settings_diff by @simonrosenberg in #3712
  • feat(acp): carry provider key onto ACPAgent via create_agent by @simonrosenberg in #3692
  • ci: pin oasdiff version to avoid GitHub API rate-limit flake by @VascoSch92 in #3739
  • fix: PLTF-2955 skip PR description validation for Dependabot PRs by @aivong-openhands in #3685
  • fix: coerce list-of-strings to string for str-only tool args by @VascoSch92 in #3735
  • Align PR template human section validation by @enyst in #3693
  • fix: expand secrets in MCP tool parameters by @jpshackelford in #3278
  • fix(subagent): freshen explicit condensers per spawn by @ak684 in #3743
  • fix(sdk): normalize empty assistant chat content by @bozhnyukAlex in #3766
  • fix(acp): persist pre-session model switch instead of raising by @simonrosenberg in #3764
  • [Prompt registry] Phase 3 — Cutover: route default path through the registry by @VascoSch92 in #3745
  • fix(skills): mask Skill.mcp_tools credentials at rest by @simonrosenberg in #3774
  • fix: expand per-conversation secrets in plugin source/ref before fetch by @jpshackelford in #3758
  • [AgentProfile][sdk] AgentProfile kind-discriminated union by @simonrosenberg in #3757
  • [AgentProfile][sdk] AgentProfileStore + FK lifecycle by @simonrosenberg in #3775
  • fix(acp): require tokens key before selecting chatgpt auth method by @simonrosenberg in #3628
  • Fix async ACP restart loopback secret lookup deadlock by @neubig in #3737
  • fix: redact credentials from GitCommandError.command field by @simonrosenberg in #3689
  • feat(agent-server): add deferred-init / dormant mode by @tofarr in #3287
  • feat(acp): bump ACP provider CLIs (claude 0.44, codex 0.16, gemini 0.46) + configOptions model selection by @simonrosenberg in #3773
  • [AgentProfile][sdk] resolve_agent_profile() by @simonrosenberg in #3780
  • [AgentProfile][agent-server] active_agent_profile_id + /api/agent-profiles router + migration seed by @simonrosenberg in #3781
  • [AgentProfile][agent-server] materialize endpoint (resolve dry-run) by @simonrosenberg in #3783
  • feat(sdk): add /goal SDK core (judge-driven goal-completion loop) by @VascoSch92 in #3769
  • [AgentProfile][agent-server] agent_profile_id at conversation start + LaunchedProfile provenance by @simonrosenberg in #3784
  • fix(acp): surface the real cause behind opaque "Internal error" failures by @simonrosenberg in #3756
  • feat: API design: launched agent profile provenance names by @enyst in #3788
  • [codex] Fix ACP model selection methods by @neubig in #3688
  • Redact git credentials at remaining URL log/serialization sites (fixes #3751) by @simonrosenberg in #3792
  • feat(agent-server): add /goal agent-server endpoint, background loop, and stop/resume by @VascoSch92 in #3770
  • Fix 16_deferred_init example: poll on real execution-status values by @VascoSch92 in #3793
  • Release v1.29.0 by @all-hands-bot in #3787

New Contributors

Full Changelog: v1.28.1...v1.29.0