MAY 21 to 22 2026 / 110 COMMITS / 5 RELEASES

The 48 hours an open-source Mac agent turned Gemini into a free fallback for the credit-exhausted user.

No platform publishes a date-indexed list of AI releases for these two days. Hugging Face and GitHub both rank by rolling trending score. NVIDIA quietly announced Nemotron 3 in this window and OpenAI shipped Codex updates, but neither is anchored to a single calendar day. So this page does what those feeds cannot: it walks one open-source AI project's dated commit log minute by minute, and lands on the one commit that mattered most.

M
Matthew Diakonov
10 min read

Direct answer, verified 2026-05-26

No official "May 21 to 22, 2026" release list exists. The honest answer is three live feeds plus one dated record:

For wider-ecosystem activity tied roughly to this window: NVIDIA announced the Nemotron 3 family of open models (Nano, Super, Ultra) for agentic AI, and OpenAI shipped Codex updates around goal mode, permission profiles, and shared plugins. Neither is anchored to a single calendar day.

For one verifiable per-day record, the macOS agent Fazm cut five production releases across these 48 hours: v2.9.32, v2.9.33, v2.9.34 on May 21, and v2.9.35, v2.9.36 on May 22. The release worth opening is v2.9.36, and the change at the center of it is a 9-line helper in ChatProvider.swift that turned Gemini into a free fallback when the bundled Anthropic cap is exhausted. Every fact on this page is traceable to public commits.

Why a dated query and a trending feed disagree

A trending score is built to surface popular projects, not new ones. The same model or repository can hold a top slot for a week. A paper from three days ago can outrank a model that dropped this morning. When the question is literally "what landed on these two specific days," a homepage feed is the wrong instrument. The right instruments are project changelogs and per-day commit logs.

Foundation-model news in the same window is real but loose at the date level. Nemotron 3 was an announcement, not a same-day drop. Codex updates rolled to users gradually. To get a record you can verify by the minute, you have to step down a layer, to the application code that consumes those models.

0commits on May 21 (00:00 to 23:59 Pacific)
0commits on May 22 in the same window
0production releases over the two days
0lines in the helper that did the most work

The two-day arc, in order

Reading the commit log chronologically gives the shape of one specific feature reaching maturity. On May 21 the agent gained a third backend through the Agent Client Protocol. On May 22 that backend became user-facing in three distinct ways: it learned to call MCP tools, it got an entry in the personal-account chooser, and it stopped being billed against the user's built-in credits.

May 21, 2026 / v2.9.32, .33, .34

Gemini joins Claude Code and Codex as a third swappable ACP backend.

A new GeminiProvider lands in acp-bridge wrapping @google/gemini-cli. ACPBridge.swift gains a .geminiProbeResult case. The AI picker shows Gemini Flash and Gemini Pro entries. The per-tool watchdog is re-enabled with per-tool ceilings (Task subagent 30 min, Bash 15 min, MCP 5 min). The 1M-context Sonnet and Opus picker entries are removed because they were surfacing entitlement errors with no recovery path.

May 22, 2026 morning / v2.9.35

Gemini Flash and Gemini Pro learn to call MCP tools.

The picker entries from May 21 were cosmetic: a chat on Gemini could not actually call capture_screenshot, the bundled browser, WhatsApp, or any other MCP. v2.9.35 wires the active model id through to buildMcpServers and the ACPBridge environment, so each MCP initializes with credentials pinned to the model the user picked. The same release aligns the Gemini labels in the picker with the tier-first naming used by the Claude and ChatGPT entries.

May 22, 2026 at 11:17 to 11:35 Pacific / v2.9.36

Gemini becomes the no-friction fallback when the $10 Anthropic cap is hit.

Over 18 minutes that morning, four commits added Gemini to the PersonalAccountChooserSheet (43 then 57 insertions), rewrote the credit-exhausted error message to suggest Gemini if available, and excluded Gemini from the builtin cost cap in ChatProvider.swift. The cap-exclusion patch is the load-bearing one. It is also the smallest.

The anchor: 9 lines in ChatProvider.swift

Commit f57d5854 landed at 11:20:23 Pacific on 2026-05-22, the third in a tight sequence with 05fd3da2 (suggest Gemini in the out-of-credits message) and 2db8f0fb (update the credit exhausted error). The diff is 27 insertions and 8 deletions in a single file. The new helper is nine lines, mirroring the shape of the existing isCodexModelId two methods up.

Desktop/Sources/Providers/ChatProvider.swift

The helper alone changes nothing. The work happens at two call sites. The pre-query guard now lets a Gemini-routed message through even when the cap is over, because the cap was always measuring spend on the Anthropic key, and Gemini was never spending on that key:

ChatProvider.swift / pre-query guard

The post-query accumulator does the inverse: it stops accumulating Gemini costs against builtinCumulativeCostUsd, so the cap can never tick up from a Gemini query in the first place. Two tiny edits. The bundled GEMINI_API_KEY absorbs the load. A user who hits the $10 ceiling now has three doors: connect their own Claude Pro, connect their own ChatGPT, or just keep chatting on Gemini.

Credit-exhausted UX, May 21 vs May 22

User hits the $10 builtin cap. Pre-query guard fires, the credit-exhausted alert opens, the chat switches to personal mode. The only way to keep working is to connect a personal Claude account or a personal ChatGPT account. Gemini exists in the AI picker but is a dead end for any user without their own API key, and it cannot call MCP tools yet.

  • Pre-query guard always switches the bridge to personal mode at cap
  • Gemini picker entries cannot reach capture_screenshot, browser, or WhatsApp
  • Personal account chooser shows only Claude and ChatGPT

Why this is a release story and not a model story

The Gemini that lights up on May 22 is the same Gemini that was already there on May 1. No new weights. No new context window. The thing that changed is the surface area of the shipping product. A trending feed cannot show that, because trending feeds rank artifacts (models, repos, papers) and this change is not an artifact. It is a 9-line predicate plus two call-site edits that re-classify a class of queries as free in one specific application's billing logic.

The same pattern repeats up and down the open-source AI stack. The biggest practical changes are not new models. They are new defaults inside the products that wrap those models. Whether a chat falls back gracefully, whether an MCP server can authenticate with the right key, whether the cap math is honest about which provider is actually being billed. None of those have a Hugging Face card. All of them live in commit logs.

That is the case for opening a real changelog on any day you care about. The trending lists tell you what is loud. A shipping project's commit log tells you what is true.

How to read any open-source AI project's real two days

The method that produced this page generalizes to any repository that catches your eye. Skip the README, which is marketing. Open three dated artifacts in order. The changelog at the root, authored by the maintainer and tied to version numbers. The commit log for the days you care about, filtered by git log --since '2026-05-21' --until '2026-05-23'. Then one diff, where the inline comments tell you why.

If the changelog is empty, the commits cluster around a single launch push, and the diffs carry no comments, you are looking at a project running on momentum rather than maintenance. Fazm's May 21 to 22 passes all three checks: five releases with structured changelog entries, 110 commits split across two working days, and a doc-comment on the load-bearing helper that explains its own reason for existing.

Bring an open-source AI repo you are evaluating

In twenty-five minutes we open the changelog, the commit log for the two days you care about, and one diff together, and decide whether the project deserves a place in your stack.

Frequently asked questions

What new AI models, papers, or open-source projects shipped on May 21 and 22, 2026?

No platform publishes a release list keyed to specific calendar days. Hugging Face and GitHub both order discovery by a rolling trending score with no notion of dates. In the broader ecosystem on those two days, NVIDIA announced the Nemotron 3 family of open models (Nano, Super, Ultra) for agentic AI development, and OpenAI shipped Codex updates with goal mode, stronger permission profiles, and shared plugins. For one open-source AI project whose own commit log carries the exact dates 2026-05-21 and 2026-05-22, the macOS agent Fazm cut five production releases over those 48 hours: v2.9.32, v2.9.33, v2.9.34 on May 21, and v2.9.35, v2.9.36 on May 22. The headline change was commit f57d5854 on May 22 at 11:20 Pacific, which turned Gemini into a free fallback when the built-in $10 Anthropic cap is reached.

What is the 9-line helper that made Gemini a free fallback?

In Desktop/Sources/Providers/ChatProvider.swift, commit f57d5854 added a static helper isGeminiModelId(_:) that returns true if a model id starts with 'gemini-' or 'auto-gemini-'. Two call sites then changed. The post-query cost-cap accumulator now skips Gemini (let queryWasGemini = Self.isGeminiModelId(queryModelId); if isBuiltinMode && !queryWasGemini { builtinCumulativeCostUsd += queryResult.costUsd }). The pre-query cap guard does the same on the way in (if bridgeMode == 'builtin' && isOverBuiltinCap && !isGeminiRouted). The full diff is 27 insertions and 8 deletions in one file. That patch is the whole mechanism. Gemini queries run through the bundled GEMINI_API_KEY, so they were never billing the Anthropic key in the first place; the change was admitting that explicitly in the cap math.

Why does May 22 need its own page when May 20 to 21 was already covered?

May 21 was Gemini-the-backend. Three commits inside Fazm's acp-bridge package wired @google/gemini-cli into the Agent Client Protocol as a third swappable backend, with a probe handler, a .geminiProbeResult case, GEMINI_API_KEY forwarding, and Flash and Pro entries in the AI picker. The companion page at /t/latest-ai-model-releases-papers-open-source-projects-may-20-21-2026 covers that thoroughly. May 22 was Gemini-the-user-facing-feature, which is a separate problem. v2.9.35 fixed Gemini Flash and Pro being unable to call MCP tools (capture_screenshot, browser, WhatsApp), without which the picker entries were cosmetic. v2.9.36 made Gemini a free fallback when the $10 builtin cap is hit, plus added Gemini to the PersonalAccountChooserSheet alongside Claude and ChatGPT. Two different patches, two different audiences, two different stories.

What did v2.9.35 actually fix about Gemini Flash and Gemini Pro?

Gemini Flash and Gemini Pro had been selectable in the AI picker since the May 21 ACP work, but in practice they could not call any MCP tool. capture_screenshot, the bundled browser, WhatsApp, the in-app code agents, all the things that make Fazm useful past plain chat were silently unreachable from a Gemini chat. v2.9.35 (cut on 2026-05-22 morning Pacific) wired the active model id through to buildMcpServers and the ACPBridge environment, so the MCP servers initialized with credentials pinned to the model the user actually picked, instead of falling back to the default and failing the auth handshake. The same release also clarified the browser-extension connection error message and aligned Gemini model labels in the picker with the tier-first naming convention used by the Claude and ChatGPT entries.

Where can I verify any of this myself?

Open https://github.com/mediar-ai/fazm and read three dated artifacts. CHANGELOG.json at the root lists every release with its date; the entries for 2.9.32, 2.9.33, 2.9.34 carry 2026-05-21 and the entries for 2.9.35 and 2.9.36 carry 2026-05-22. git log --since='2026-05-22 00:00' --until='2026-05-22 23:59' shows 43 commits, including f57d5854 ('Exclude Gemini models from the builtin cost cap', the 9-line helper) and 8bcd9027 ('Update Assrt Gemini default to Flash and forward selected model'). May 21 carries 67 commits in the same window. The single most consequential file change is in Desktop/Sources/Providers/ChatProvider.swift, around the existing isCodexModelId helper.

Was there a 'big' foundation-model release on either day?

Not a new public-weights drop tied specifically to the May 21 to 22 window. NVIDIA's Nemotron 3 family of open models was announced in that broader period, and OpenAI shipped Codex updates focused on permission profiles and goal mode rather than a new base model. The trending feeds on huggingface.co/models and huggingface.co/papers carry their own daily rotation with no notion of a calendar date built into the ranking. What did land on these two dates inside a real shipping open-source AI product was the Gemini backend integration on May 21 followed by Gemini's promotion to a free fallback on May 22. Those are two layers of the same feature reaching maturity, traceable by minute in the git log.

Where can I track AI releases day to day if trending lists are date-blind?

Three feeds plus one habit. huggingface.co/models sorted by trending for weights and quantized variants. huggingface.co/papers for research where an implementation is linked. github.com/trending for the application layer of agents, MCP servers, and inference engines. The habit is to read the CHANGELOG of one open-source project you actually use. The trending feeds tell you what is loud this week. A real changelog tells you what shipping looked like that day, including the small decisions a trending feed will never index.

What does Fazm itself do, and what does it have to do with the Agent Client Protocol?

Fazm is a native macOS app that wraps Claude Code (through claude-agent-acp), Codex (through codex-acp), and as of May 21, 2026 Gemini (through @google/gemini-cli) as three interchangeable backends per chat. The Agent Client Protocol is the spec that lets each of those CLIs speak the same JSON-RPC dialect to a host UI, which is why Fazm can swap them at the chat level without rebuilding the agent loop. The persistent sessions, one-click forking, no auto-compacting context, voice-first input, and reach into the browser and native Mac apps through accessibility APIs are the Mac-native layer on top. Fazm is fully open source at github.com/mediar-ai/fazm and runs on macOS 14 and newer.

How does this compare to the May 23 to 24 follow-up?

The May 23 to 24 page at /t/new-ai-model-release-or-paper-or-open-source-may-23-24-2026 picks up where this one ends. May 22 closed with Gemini-as-fallback shipping. The following two days then exercised that fallback in practice, with Sentry noise filtering for the repetitive auth and DB errors that the free-tier rollout immediately surfaced, plus the Koah contextual-ads experiment that quietly went live to recoup some of the credit cost the Anthropic key was eating. If you came here for the Gemini arc, that page is the next chapter.

How did this page land for you?

React to reveal totals

Comments ()

Leave a comment to see what others are saying.

Public and anonymous. No signup.