This release includes 1 breaking change for platform teams planning a safe upgrade.
✓ No known CVEs patched in this version
Topics
+9 more
Summary
AI summaryTeam Mode introduces real multi‑agent coordination with dedicated tools, tmux visualization, hyperplan and security‑research skills.
Full changelog
🎉 v4.0.0 — Finally, Team Mode
You waited. We cooked. Team Mode lands today.
This is the release that turns oh-my-opencode from "one agent with subagents" into a real multi-agent system — multiple agents, real-time coordination, side-by-side tmux visualization, all of it.
👥 Team Mode
A lead agent orchestrates a team of category-specialized members, all running in parallel and communicating through dedicated tools (team_create, team_send_message, team_task_create). Watch every member work simultaneously in a dedicated tmux layout — focus and grid windows let you zoom into one teammate without losing the bigger picture.
It powers everything new in this release:
hyperplanskill — 5 hostile agents tear apart your plan from orthogonal angles before a single line of code is writtensecurity-researchskill — 3 vulnerability hunters + 2 PoC engineers auditing your codebase in parallel, with severity calibrated by actual exploitability- Hand-tuned member prompts so the team contract isn't accidentally bypassed via
delegate_task
Opt in: set team_mode.enabled = true in your config and restart opencode. Off by default — enable it when you want it.
🧠 Model-Specific Agent Prompts
GPT-5.2 and GPT-5.3-codex now ship with category-tailored system prompts. Oracle, Momus, and the deep category each get a model-specific overlay tuned to that model's strengths.
🛡️ Reliability Hardening
- Ralph loop stops cascading runtime errors — retries are guarded, atlas re-attempts boulders, ultrawork has full retry coverage.
- Desktop plugin boots cleanly without Bun on Electron —
bun:sqliteis hidden from the Node ESM loader. - Agent name sanitization — backslashes/quotes can no longer poison agent launches.
- Doctor catches unexpected failures with actionable diagnostics instead of silent exit 137.
- Credit-balance fallback — low balance correctly classifies as
quota_exceededand triggers the fallback chain. - PostHog billing trimmed — feature flags disabled,
plugin_loadedevent removed.
📚 Docs
Team mode and tmux-subagent features documented end-to-end across EN / KO / JA / RU / ZH-CN READMEs. New AGENTS.md sections for team-mode and tmux-subagent internals.
⚠️ Behavioral Changes
delegate_task(deepcategory): one goal per call is now enforced. Bundle multiple goals into parallel calls, not one bundled call.- When team mode is enabled, members orchestrate via
team_*tools, notdelegate_task.
Minor Compatibility and Stability Release
This release carries compatibility-facing behavior changes and operational hardening. Read the summary below before upgrading or publishing.
- Rename transition updates across package detection, plugin/config compatibility, and install surfaces.
- Task and tool behavior updates, including delegate-task contract and runtime registration behavior.
- Task-system default behavior alignment so omitted configuration behaves consistently across runtime paths.
- Install and publish workflow hardening, including safer release sequencing and package/install fixes.
Commit Summary
- 6b49e3bd test agent runtime sort behavior
- ee938aa0 fix full-suite isolation regressions
- 102b5f96 fix(delegate-task): require one goal per
deepcall - 788fbec0 fix desktop plugin startup without Bun
- 4bcbbdd9 Merge pull request #3832 from herjarsa/fix/desktop-electron-bun-protocol-compat
- df48af33 Merge pull request #3830 from code-yeongyu/fix/posthog-billing-optimization
- 98615104 @herjarsa has signed the CLA in code-yeongyu/oh-my-openagent#3832
- 3a93a40e fix(desktop): hide bun:sqlite import from Node.js/Electron ESM loader
- 8586cb89 fix(posthog): disable feature flags, remove plugin_loaded event for billing optimization
- 10f9559c Merge pull request #3810 from code-yeongyu/fix/ralph-loop-retry-runtime-errors-v2
- dfc7dfae feat(delegate-task): add GPT-5.3-codex specialized deep category prompt
- 5eea7024 feat(agents): add GPT-5.2 specialized prompts for oracle and momus
- ebe26eab fix(ralph-loop): guard runtime error retries
- 83ec3528 merge dev into continuation runtime retry
- 2c70938d test(ralph-loop): cover ultrawork runtime retry
- 6a2d19d6 fix(atlas): retry boulder after runtime errors
- cd88e356 chore(gitignore): ignore session/debugging artifacts and tool caches
- 40ded422 chore(drafts): remove stale gpt-5.5 prompt drafts
- 51908052 @oyi77 has signed the CLA in code-yeongyu/oh-my-openagent#3823
- 1ad0fd4a Merge pull request #3748 from code-yeongyu/fix/simple-github-bugs-1948-3564
- ef66516e Merge pull request #3801 from code-yeongyu/fix/directory-agents-non-string-output
- 7bd863b2 Merge pull request #3813 from code-yeongyu/fix/agent-name-backslash-sanitize
- d9ef03f1 test(agent): guard queueItem assertion against empty queue race
- 25d183fb fix(agent): sanitize backslash/quote from agent name in launch() and background-executor
- 66a6f42d fix(todo-continuation-enforcer): preserve overload countdown
- 89c95995 fix(team-mode): gate tmux layout cleanup by config
- b4791c85 fix(team-mode): keep tmux visualization in caller window
- 675f7880 fix(team-mode): resolve caller tmux window target
- 9dd0e9fb Merge pull request #3622 from MoerAI/fix/truncate-tool-error-output
- 44948872 Merge pull request #3612 from MoerAI/fix/doctor-exit-137-handling
- 462d774d Merge pull request #3610 from MoerAI/fix/credit-balance-too-low-fallback
- 29713229 fix(doctor): catch unexpected failures and provide actionable diagnostics (fixes #3345)
- a22416d2 fix(error-classifier): classify credit balance too low as quota_exceeded for fallback (fixes #3571)
- 7ac11096 Merge pull request #3636 from lucasyounger/codex/fix-3629-worktree-plan-path
- 37d981ef Merge pull request #3634 from auyua9/fix/ast-grep-pattern-hints
- 0a7306c6 Merge pull request #3637 from ihoooohi/fix/claude-thinking-legacy-alias-collision
- 7e43beaa Merge pull request #3620 from MoerAI/fix/sisyphus-prompt-plan-reference
- 62a7356d Merge pull request #3621 from MoerAI/fix/skill-tool-respects-plugins-config
- 9b87fd50 Merge pull request #3744 from Arcadi4/dev
- 6a341fcb Merge pull request #3595 from samuele-ruffino96/feature/opencode-go-model-upgrade
- f31860b1 fix(docs): resolve model table inconsistencies in installation guide
- df7f64db fix(docs): correct Explore and Librarian fallback chains in installation guide
- 467a4a5e fix(test): use toContain instead of providers[0].toBe for multi-provider entries
- b7d77da8 fix(capabilities): add kimi-k2.6 to supplemental model entries
- 1e93d37d docs(opencode-go): update docs and fallback chain tables to reflect glm-5.1, kimi-k2.6, qwen3.5-plus
- 6cd40df4 feat(opencode-go): upgrade glm-5 → glm-5.1 and kimi-k2.5 → kimi-k2.6 in fallback chains
- 0727d9a1 fix(opencode-go): replace non-existent minimax-m2.7-highspeed with qwen3.5-plus
- ad2255e5 Merge pull request #2227 from DEAN-Cherry/docs/speed-up-fallback
- d1a7c8f1 Merge pull request #3096 from s2mr/fix/git-master-language-agnostic-support
- b0c7c9f0 Merge pull request #3811 from code-yeongyu/feat/readme-dori-image-update-v2
- abba70cb Merge pull request #3691 from islee23520/chore/gpt-5.5-followup-cleanup
- 4deecdf9 Merge pull request #3358 from lrq3000/patch-1
- 56243933 Merge pull request #3783 from matchai/feat/walk-up-config-discovery
- c04f7723 docs(readme): replace dated star-count copy in banner with timeless site catchphrases
- 2bdd9121 docs(install): extend rebrand to all bunx/npx oh-my-* commands for consistency
- 766cdaf8 docs: align GPT-5.5 model references
- 3aa6ff90 Merge pull request #3741 from hashen10/patch-1
- f940cb43 docs(install): Update installation commands for humans in documentation to oh-my-openagent
- 13c70cff docs(config): document hierarchical config discovery
- eb1e1047 refactor(config): tighten walk-up config discovery from oracle review
- cc1d9cf0 feat(config): walk up directory tree to merge ancestor plugin configs
- 47b5c566 fix(ralph-loop): retry runtime errors immediately
- 3bf0b897 Merge pull request #3809 from code-yeongyu/feat/readme-dori-image-update
- 8e171996 fix(ralph-loop): retry runtime errors immediately
- a0be4963 docs(readme): update Sisyphus Labs banner to new Dori branding
- 53fc2a57 fix(bug-report): keep required: true for latest version checkbox
- fe0fcd56 Update bug report template for openagent
- 01c8a2a9 feat(shared): add findProjectOpencodePluginConfigFiles walker
- 44216a53 Merge pull request #3578 from xiaolai/fix/nlpm-agents-missing-frontmatter
- 3749656a Merge pull request #3784 from matchai/chore/remove-redundant-env-restore
- 9e4a621f Merge pull request #3008 from YanzheL/fix/configuration-schema-issues
- 573a5301 Merge pull request #3006 from YanzheL/docs/fix-sisyphus-tasks-config-reference
- 227c1149 Merge pull request #3044 from haimingZZ/docs/fix-install-guide-link
- 17f51acd Merge pull request #3009 from YanzheL/fix/ollama-ndjson-markup
- 3dd12545 Merge pull request #3007 from YanzheL/fix/example-schema-urls
- cedcd2d8 Merge pull request #3808 from code-yeongyu/feat/team-mode
- 35426eb2 docs(readme): add Vercel to adopters list across all languages
- cf3e05c9 Merge pull request #3807 from code-yeongyu/feat/team-mode
- 44de4c53 docs(readme): rebrand Sisyphus Labs banner to Dori across all languages
- 612680a8 Merge pull request #3493 from code-yeongyu/feat/team-mode
- 8bcd236b docs(readme): align English banner wording with Korean source of truth
- 4e5980d7 fix(tmux): avoid Bun global in runner bundle
- 8003d1a1 test(ci): isolate stateful tests in CI runner
- 786b0651 test(background-task): mock notification shell chain
- 2fd6be06 test(cli): update model fallback snapshots
- 2d37df48 refactor(team-mode): use dedicated focus and grid windows for team layout
- 503df291 fix(team-mode): register spawned sessions early
- cb819307 fix(team-mode): stop tmux freeze when many teammates spawn
- e6cd50cc fix(team-mode): preserve tmux focus during layout
- b99325f2 fix(skills): make hyperplan deep member optional
- 12484500 fix(keyword-detector): pin hyperplan roster hint
- 8f48277e fix(builtin-commands): pin hyperplan roster contract
- ca8732f8 fix(team-mode): reject incomplete hyperplan teams
- ea5e3e03 fix(model): allow artistry category fallbacks
- 267745fa test(plugin): remove forbidden assertions in event tests
- d737f2e2 test(background-agent): remove forbidden assertions in manager tests
- c90be7f9 feat(team-mode): align member and lead prompts with Claude Code free-code reference
- f6643e7e fix(keyword-detector): yield to slash commands so /hyperplan executes its template
- d8f89b69 fix(team-mode): preserve per-category model for kind:"category" members
- cc178086 chore(schema): regenerate JSON schema for hyperplan-ultrawork keyword
- 5c674820 feat(keyword-detector): add hyperplan-ultrawork combo + tuple refactor
- 09fe4ca3 fix(hyperplan): align keyword detector and command template with mandatory plan handoff
- 0b4390b1 feat(skills/hyperplan): mandate plan agent handoff after adversarial distillation
- 9a0aec00 feat(skills): add hyperplan skill
- 83449970 assets: regenerate oh-my-opencode schema with hyperplan
- 3befe5fa feat(keyword-detector): add hyperplan toast and planner filtering to hook
- 5af41606 feat(builtin-commands): register hyperplan builtin command
- 65e26437 feat(keyword-detector): add hyperplan to detector types list
- b32f2744 feat(keyword-detector): register hyperplan in keyword detectors array
- f025a4ca feat(keyword-detector): add hyperplan keyword pattern, message and test
- a75a24df feat(builtin-commands): add hyperplan command template
- 592308de feat(builtin-commands): add hyperplan to command name type
- 4af7d62f feat(config): add hyperplan to keyword detector type schema
- 585ad6d8 feat(config): add hyperplan to builtin command schema
- 91b7fcab fix(plugin): replace any type with explicit summarize overloads in event handler
- 924dd853 fix(hephaestus): restore autonomy prompt section
- b54922de fix(team-mode): forbid delegate-task in member guidance
- 4d448778 fix(team-mode): reject empty team_create lead session override
- 91c0d755 feat(keyword-detector): add per-keyword disable config
- 25d94375 feat(keyword-detector): add team mode keyword detection
- 2ffe5afe feat(shared): add supplemental model capability entries for team-mode
- c79addb6 test(shared): expand migrate-legacy-config-file tests for team-mode
- 34b659a3 feat(shared): update agent display names for team-mode
- 20a66f70 feat(plugin): wire team-mode into tool-guard and transform hook creation
- f3b9a8a0 assets: update omo.png
- 22056bd9 docs(readme): update zh-cn README for team-mode
- c142f6de docs(readme): update ru README for team-mode
- 073328b8 docs(readme): update ja README for team-mode
- 5c04f3a7 docs(readme): update ko README for team-mode
- dcd5beb1 docs(readme): update en README for team-mode
- d7d95646 docs: add AGENTS.md for team-mode and tmux-subagent features
- dc027676 docs: update overview, features reference and AGENTS.md for team-mode
- c3884cc5 docs(guide): update agent-model-matching with team-mode
- 6e1df2cb docs(guide): add team-mode guide
- 83eff39c assets: regenerate oh-my-opencode schema json with team-mode
- 1168e3a5 test(perf): add plugin init team-mode resume-defer benchmark
- a475e456 feat(cli): add doctor check for team-mode dependencies
- 855c848b feat(opencode-skill-loader): adapt skill resolution and discovery for team-mode
- 7fbefa4c feat(claude-code-loader): adapt plugin discovery for team-mode
- 15a0e104 feat(background-agent): adapt task poller for team-mode work distribution
- 00a66470 feat(background-agent): adapt idle event handler for team-mode sessions
- a0d122b1 feat(background-agent): integrate team-mode into background manager
- 417a368a feat(background-agent): extend types for team-mode background tasks
- 2e6bb341 feat(builtin-commands): adapt commands and templates for team-mode
- 39f27b91 feat(tools): wire team-mode into skill and subagent resolvers
- 2078f9ca feat(tools): extend delegate-task types for team-mode subagents
- fc31524d feat(tools): register team-mode skill tooling and update exports
- 75fc915f test(agents): expand hephaestus and utils tests for team-mode
- 527ab51a feat(agents): adapt momus agent for team-mode context
- 98a69b93 feat(agents): adapt agent-skill-resolution for team-mode skills
- a110c739 feat(agents): register team-mode in builtin and general agent definitions
- 6327a7ac feat(agents): add available-skills resolution with tests
- 79ba0e6f feat(hooks): add aggressive truncation strategy tests for context-window recovery
- d2a28c19 feat(hooks): adapt session-recovery for team-mode session semantics
- 473062d9 feat(hooks): export team-mode hooks from central index
- d67e57ef feat(plugin): include team-mode in message transform and skill context
- dabd35f2 feat(plugin): integrate team-mode into session events and synthetic idles
- f882f04b feat(plugin): add team-mode gating to tool execute hooks
- 47e0fbad feat(plugin): register team-mode tools and expand registry tests
- 2258c009 feat(plugin-handlers): wire team-mode into agent, command and tool config handlers
- 2c48cabb feat(plugin): initialize team-mode at plugin entry and config merge
- ecd9cee2 feat(hooks): add team tool gating hook with tests
- 438806e7 feat(hooks): add team member status handler with tests
- 384132cb feat(hooks): add team member error handler with tests
- de88241f feat(hooks): add team lead orphan handler with tests
- c16c67c2 feat(hooks): add team idle wake hint handler with tests
- bd768a46 feat(hooks): add team-mode status injector hook with tests
- 7f8034c8 feat(hooks): add team mailbox injector hook with tests
- 844dcd4e feat(builtin-skills): register team-mode skill in exports
- c9fdb042 feat(builtin-skills): add team-mode skill implementation with tests
- d3c020c4 feat(team-mode): export team-tools barrel
- f2555fea feat(team-mode): add team tasks tools with tests
- b71c6e19 feat(team-mode): add team query tools with tests
- 379b3fde feat(team-mode): add team messaging tools with missing-session tests
- f4327987 feat(team-mode): add team lifecycle tools with inline spec tests
- a10ab16c feat(team-mode): export team-runtime barrel
- c657dff8 feat(team-mode): add team runtime shutdown helpers and tests
- cb1c7508 feat(team-mode): add team runtime resource cleanup with tests
- 62d40908 feat(team-mode): add team runtime delete with background cancellation tests
- 4645d56d feat(team-mode): add team runtime layout activation with tests
- d958b7f1 feat(team-mode): add team runtime member dependency resolution
- a65d54ca feat(team-mode): add team runtime member resolver with tests
- 301e02cd feat(team-mode): add team runtime status query with tests
- d9785c7c feat(team-mode): add team runtime create with tests
- 51382c10 test(team-mode): add live tmux smoke test for team layout
- f78b1e62 feat(team-mode): add sweep-stale-team-sessions with tests
- 2b8096fc feat(team-mode): add resolve-caller-tmux-session helper with tests
- eb61091f feat(team-mode): add rebalance-team-window command with tests
- a13ef03f feat(team-mode): add close-team-member-pane command with tests
- c5df7810 feat(team-mode): add tmux team layout creation and removal
- 0f20a1b7 feat(team-mode): export team-mailbox barrel
- 01aeeedc feat(team-mode): add team mailbox reservation logic
- 2ce86ff9 feat(team-mode): add team mailbox poll with tests
- 3f693339 feat(team-mode): add team mailbox ack with tests
- 07368b46 feat(team-mode): add team mailbox send with tests
- 85cc30a8 feat(team-mode): add team mailbox inbox with tests
- 796143aa feat(team-mode): export team-tasklist barrel
- b34cd874 feat(team-mode): add team tasklist test-support utilities
- f7259373 feat(team-mode): add team tasklist update with tests
- 205ce936 feat(team-mode): add team tasklist dependencies with tests
- 4270af3a feat(team-mode): add team tasklist claim with tests
- 04334844 feat(team-mode): add team tasklist list with tests
- 031a7a4d feat(team-mode): add team tasklist get with tests
- 6e0f6aef feat(team-mode): add team tasklist store with tests
- 23e6a53e feat(team-mode): export team-state-store barrel
- 274df1f2 feat(team-mode): add team state store resume logic with tests
- 79fb12e2 feat(team-mode): add team state store locks with tests
- 1bec921a feat(team-mode): add team state store with tests
- 48bac223 feat(team-mode): export team-registry barrel
- 2866d327 feat(team-mode): add team registry validator with tests
- cf050dc6 feat(team-mode): add team spec input normalizer with tests
- de30721f feat(team-mode): add team registry loader with normalization tests
- b2359c0a feat(team-mode): add team registry path utilities with tests
- a9102396 feat(team-mode): add team session registry with tests
- 3a93cb77 test(team-mode): add integration test for team-mode lifecycle
- 8c4c4ff6 feat(team-mode): add caller team-lead resolution with tests
- 41d6e12f feat(team-mode): add member session resolution and routing logic
- 8a42d7fd feat(team-mode): add member guidance and parser utilities
- 783d7055 feat(team-mode): add core types, dependencies and type-level tests
- 5e4ae881 test(tmux-subagent): expand zombie-pane test coverage
- 49bb5dd8 test(tmux-subagent): add pane-state-querier runner tests
- 8d3d8825 test(tmux-subagent): add manager project-directory resolution tests
- 77655a7c test(tmux-subagent): expand manager test coverage
- 680927d0 test(tmux-subagent): expand polling-manager test coverage
- b6dcf05d test(tmux-subagent): expand action-executor test coverage
- c8b22509 refactor(tmux-subagent): stabilize polling, execution and session lifecycle with runner
- 90e6e0cd feat(openclaw): integrate typed tmux runner for external dispatch
- 4a5e7cf2 feat(tmux): add window-spawn utility with tests
- 13b3bd9e feat(tmux): add session-spawn utility with tests
- ad315987 feat(tmux): add session-kill utility with runner tests
- 56250a46 feat(tmux): add pane-spawn utility with runner tests
- f93e15b2 feat(tmux): add pane-replace utility with tests
- d9010204 feat(tmux): add pane-dimensions utility with tests
- cfce0cc3 refactor(tmux): migrate pane-close to runner and expand test coverage
- b9a40f0c refactor(tmux): migrate layout commands to typed runner
- c9e544a6 refactor(tmux): export sweepTmuxSessionsWith and add runtime tests
- 96161cc0 feat(tmux): introduce typed tmux command runner abstraction
- ec121a73 feat(config): add team-mode configuration schema and merge support
- caaa3d4c refactor(hephaestus): tighten GPT-5.5 prompt for outcome-first density
- bcaae103 fix(directory-agents-injector): guard against non-string output.output
- c3beb370 fix(doctor): detect gh when Bun.which misses it
- 9c4bcebb fix(plugin): normalize bare schema refs
- 9ba67633 fix(call-omo-agent): validate missing subagent type
- f49afe7b refactor(agents): Add "max" to all codebase reasoning enums accordingly
- 4c6fd2e5 chore(config): Allow option "max" for "reasoningEffort" field in schema
- 9c7102b7 fix(aliases): stop rewriting canonical claude-opus-4-6-thinking
- 828c2634 Fix #3629: resolve boulder progress from worktree plan
- e7ad2b98 fix(ast-grep): restore pattern hints in tools
- 2c78cc68 fix(tool-execute-after): cap excessively long tool output to prevent TUI flooding (fixes #3586)
- 7806df10 fix(tool-registry): pass plugins config to skill tool for proper command filtering (fixes #3582)
- 32e56c0e fix(agents): reference prometheus instead of conditional plan alias in prompts (fixes #3596)
- 53e3061b docs(agents): add YAML frontmatter to AGENTS.md documentation files
- 98566841 fix(git-master): align validation check with language-profile approach
- fdc4376a docs(git-master): sync skill markdown with multilingual wording
- 01d6a7d3 docs(git-master): generalize language profile guidance
- 034c5fea docs(git-master): make mode triggers language-agnostic
- b473593d docs: fix install guide model-matching link
- 0e8f5dd1 docs(ollama): fix NDJSON code block language identifier
- 2ebf146b docs(configuration): fix invalid JSON examples and schema issues
- cbd7dac3 docs(examples): update schema URLs to oh-my-openagent
- dc41de9a docs: fix Sisyphus Tasks config reference to match actual schema
- b8c4f44c docs: add guide for speeding up fallback with proxy APIs
Thank you to 8 community contributors:
- @Arcadi4:
- chore(config): Allow option "max" for "reasoningEffort" field in schema
- refactor(agents): Add "max" to all codebase reasoning enums accordingly
- @matchai:
- feat(shared): add findProjectOpencodePluginConfigFiles walker
- feat(config): walk up directory tree to merge ancestor plugin configs
- refactor(config): tighten walk-up config discovery from oracle review
- docs(config): document hierarchical config discovery
- @hashen10:
- Update bug report template for openagent
- @lrq3000:
- docs(install): Update installation commands for humans in documentation to oh-my-openagent
- @islee23520:
- docs: align GPT-5.5 model references
- @samuele-ruffino96:
- fix(opencode-go): replace non-existent minimax-m2.7-highspeed with qwen3.5-plus
- feat(opencode-go): upgrade glm-5 → glm-5.1 and kimi-k2.5 → kimi-k2.6 in fallback chains
- docs(opencode-go): update docs and fallback chain tables to reflect glm-5.1, kimi-k2.6, qwen3.5-plus
- fix(capabilities): add kimi-k2.6 to supplemental model entries
- fix(test): use toContain instead of providers[0].toBe for multi-provider entries
- fix(docs): correct Explore and Librarian fallback chains in installation guide
- fix(docs): resolve model table inconsistencies in installation guide
- @MoerAI:
- fix(error-classifier): classify credit balance too low as quota_exceeded for fallback (fixes #3571)
- fix(doctor): catch unexpected failures and provide actionable diagnostics (fixes #3345)
- @herjarsa:
- fix(desktop): hide bun:sqlite import from Node.js/Electron ESM loader
Breaking Changes
- `delegate_task` for `deep` category now enforces one goal per call; bundle goals into separate calls.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
Related context
Related tools
Earlier breaking changes
Beta — feedback welcome: [email protected]