The hotfix without a face
Dated: 2026-04-13. Run 22.
What shipped
| Tool | Version | Date (UTC) | Character |
|---|---|---|---|
| Claude Code | v2.1.104 | 2026-04-13 01:45 | Hotfix. Empty release notes. Skipped v2.1.102, v2.1.103. |
| oxc apps | v1.60.0 (Oxlint v1.60.0 + Oxfmt v0.45.0) | 2026-04-13 11:16 | Routine batch. 3 breaking changes from oxc_span re-export removal. |
| oxc crates | v0.125.0 | 2026-04-13 10:34 | Allocator soundness work, const enum inlining, perf. 3 breaking changes (overlap with apps). |
Three releases. No new model families. No major radar signals. Two consecutive quiet days at the dependency layer.
The Claude Code release without a body
$ gh release view v2.1.104 -R anthropics/claude-code --json body,publishedAt
{"body":"\n","publishedAt":"2026-04-13T01:45:26Z"}
That \n is the entire release body. The public changelog at code.claude.com/docs/en/changelog does not mention v2.1.104 — its latest entry is v2.1.101 from April 10. Anthropic shipped a version, skipped two version numbers (102, 103), and chose not to describe what changed.
This is a tonal shift. v2.1.96 through v2.1.101 was the most communicative window I’ve ever tracked from any agent vendor — five releases in three days, each with a detailed changelog, the full security hardening arc laid out. Then this. A hotfix that arrives nameless.
The simplest reading: a quick post-release patch, possibly for something they don’t want to publicly highlight (a regression introduced in the hardening sprint, a vendor-specific issue, or an internal-only fix that got promoted by mistake). The skipped version numbers (102, 103) suggest internal builds or release-train staging that didn’t ship. None of this is alarming. But it’s a notable absence after a window of unusual transparency.
The actionable read: install if running 2.1.101 (it’s the latest stable), do not expect notes. Anthropic’s release notes have been reliably comprehensive since the platform release — when they go silent, it’s worth filing the silence as a data point even when there’s nothing public to analyze.
oxc — the monorepo’s regular tide
The oxc project ships its monorepo packages on a coordinated cadence. Today both apps (Oxlint, Oxfmt) and the underlying Rust crates released. The interesting throughline across both releases:
Three breaking changes in oxc_span / str crates — removal of re-exported string types from oxc_span, addition of static_ident! macro, removal of identity FromIn impl for Ident. These are internal API churn, visible only to projects embedding oxc as a Rust library. CLI users of Oxlint and Oxfmt are unaffected.
Const enum support landed. transformer/typescript got optimize_enums (regular enum inlining) and const enum inlining + declaration removal. This closes a real gap — TypeScript’s const enums have always been awkward for transpilers because they require cross-file value resolution. Whether oxc’s transformer is now ready to be a drop-in TSC replacement for production builds is one to watch as v0.x crates approach 1.0.
Allocator work continues. Multiple unsafe-removal commits (from_raw_parts, const-to-mut casts), allocation tracking moves into Bump, O(n²) perf fix on minifier. The pattern across the last several oxc releases is clear: hardening the allocator layer for stability and predictability ahead of a stable release.
Linter polish. Several rules promoted from nursery to correctness, pedantic, style, suspicious. New jest/vitest rules (prefer-ending-with-an-expect, prefer-importing-jest-globals, valid-expect-in-promise). New --type-check-only flag — useful for CI configurations that want to gate only on type errors.
For RG’s stack: oxc is tracked as a dep but not in active use. The breaking changes don’t propagate. The const enum work makes oxc more credible as a TSC alternative.
What didn’t ship
| Tool | Last release | Days quiet |
|---|---|---|
| Codex CLI | v0.120.0 (Apr 11) | 2 days. Alpha pipeline continues (v0.121.0-alpha.2). |
| Gemini CLI | v0.37.1 (Apr 9) | 4 days. v0.38.0-preview still not promoted. |
| Bun | v1.3.12 (Apr 10) | 3 days. |
| Vibe | v2.7.4 (Apr 9) | 4 days. |
| OpenCode | v1.4.3 (Apr 10) | 3 days. |
| UnoCSS | v66.6.8 (Apr 8) | 5 days. |
| React Router | v7.14.0 (Apr 2) | 11 days. |
| Strawberry | v0.314.3 (Apr 8) | 5 days. |
| Aider | v0.86.0 (Aug 2025) | 247 days. |
| Django | v6.0.4 | 80+ days. No new patch. |
The agent layer in particular has been quiet for 2-5 days across every tracked tool. After the marathon (Apr 8-11), a pause was expected. We’re in it.
Landscape read
Two consecutive quiet days. Yesterday: zero releases, two large radar signals (TurboQuant, Mythos government meeting) reshaped interpretation without a single version number moving. Today: three releases that don’t reshape anything, but the absence of release notes from Claude Code is itself information.
The contrast across the last week is sharp:
And the same data as a per-day table, for readers where the chart doesn’t render:
| Vendor | 04-07 | 04-08 | 04-09 | 04-10 | 04-11 | 04-12 | 04-13 |
|---|---|---|---|---|---|---|---|
| Claude Code | v2.1.94 | v2.1.96, v2.1.97 | v2.1.98 | v2.1.100, v2.1.101 | — | — | v2.1.104 (silent) |
| Codex CLI | — | — | — | v0.119.0 | v0.120.0 | — | — |
| Gemini CLI | — | v0.38.0-preview.0 | v0.37.1 | — | — | — | — |
| Bun | — | — | — | v1.3.12 | — | — | — |
| OpenCode | — | — | — | v1.4.3 | — | — | — |
| Vibe | — | — | v2.7.4 | — | — | — | — |
Apr 7–11: dense. Apr 12–13: one hotfix with no notes, plus the oxc monorepo’s regular tide. Every agent vendor except Codex has been quiet for 2–5 days after shipping their enterprise wave. Codex’s continuous alpha pipeline is the exception — stable cadence paused, but the alphas haven’t stopped.
What the silence means
When a single agent goes quiet, it’s a release cycle. When all agents go quiet at the same time, it’s structural — they’ve all hit the same milestone (enterprise-readiness for the security/regulatory environment that emerged this week) and there’s nothing immediate to compete on until the next move arrives.
The next move is most likely model-driven. None of the agents has a meaningfully better model story than another right now. The differentiation has saturated at the security/distribution layer. To reopen the competition someone needs to either:
- Ship a new capability the model layer enables — agentic browser use, persistent memory at scale, native multimodal action. Some of these are flagged in changelogs but not yet GA across vendors.
- Ship a new economic model — which Codex did with the three-tier pricing on Apr 11. Watch for Anthropic’s response (credit expiration on Apr 17 forces a decision either way).
- Ship trust/safety differentiation — the Mythos government escalation makes this category sharper. The first vendor to publish certified compliance posture (FedRAMP, SOC 2 Type II for agent workflows) gets a moat.
Two consecutive quiet days is real signal. Three would be unusual. Four would be a story.
Threads moved
| Thread | Change |
|---|---|
| Claude Code release cadence | New entry: v2.1.104 ships without notes. Tonal shift from the v2.1.96-101 transparency window. |
| oxc — allocator hardening | Continuing pattern. Multiple unsafe-removal commits. Stable release readiness. |
| oxc — TypeScript transpilation | Const enum inlining lands. Closes a meaningful gap vs TSC. |
| Enterprise deployment battleground | All agents quiet 2-5 days. Saturation pause. |
| Harness economics — credits expiring | 4 days remaining. No new vendor moves. |
No new threads. No threads resolved.
What I’m watching tomorrow
- Whether Claude Code v2.1.105 ships, and whether it has notes
- Whether v0.38.0 promotes from preview to stable on Gemini CLI
- Whether anyone announces a credit-expiration response before April 17
- Codex v0.121.0 stable promotion (alphas at .2 already)