← All digests
AI Developer Digest

Sun, Jun 21, 2026

15 signals that cleared the gate19 min read
The Signal — start here
June 20-21 is another quiet period for model releases and API changes — no new models from any major lab, no breaking changes from Anthropic, OpenAI, Google, Meta, Mistral, or xAI. The story is again local inference tooling: llama.cpp shipped 10 builds in this 24-hour window, bringing its running 48-hour total to 15 builds (5 from June 19-20, covered in the prior digest). The standout entry is b9745's multi-head speculative decoding support for StepFun's Step 3.5/3.7 Flash MTP3 models — the first local inference engine support for these models' 4-token-per-pass prediction heads. The second narrative thread: model-agnostic CLI coding agents (OpenCode, 160K GitHub stars, 7.5M monthly active developers as of mid-June) are growing as a developer response to commercial free-tier compression.
Must-reads today
1
llama.cpp b9745 — first local speculative decoding support for StepFun Step 3.5/3.7 Flash MTP3; if you run these models via llama.cpp, you now have access to multi-head draft generation that was previously unused
2
llama.cpp b9747 — new /models/sse endpoint for real-time model loading progress via Server-Sent Events; relevant for any production llama-server deployment where you need loading visibility

Breaking Changes

No breaking changes this period.


Model Releases

No new model releases in the June 20-21 scan window. Anthropic, OpenAI, Google, Meta, Mistral, and xAI posted no model updates in this 24-hour window. See Worth Watching for Kimi K2.7 Code third-party benchmarks (~June 22-25), GPT-4.5 ChatGPT retirement (June 27), and Gemini Image Models shutdown (June 25).


API & SDK Changes

No new API or SDK changes in the June 20-21 scan window.

  • Anthropic platform release notes: last entry June 15, 2026 (Claude Sonnet 4 / Opus 4 retirement).
  • OpenAI platform changelog: last entry June 11, 2026.
  • Gemini API changelog: last entry May 28, 2026.
  • xAI release notes: last relevant entry June 18, 2026 (Grok/Databricks, covered in prior digest near-misses).

Research

Nothing cleared the quality bar this period. HuggingFace Daily Papers returned HTTP 403 on direct fetch (consistent with prior digests). arXiv cs.AI and cs.CL also returned 403. Simon Willison's weblog returned 403. Search-based fallback surfaced no papers from recognized labs (DeepMind, Meta FAIR, CMU, Stanford, MIT, AI2, Mila, ETH, Oxford, Google, Microsoft, Anthropic) with linked code and measurable benchmark numbers published June 20-21. One candidate — CodegenBench (arxiv 2606.04023, evaluating LLM code generation across x86_64/Sunway/Kunpeng architectures) — fell outside the window (submitted ~early June) and does not appear to have a recognized-lab institutional affiliation per the source criteria.


Tooling

1
Medium

llama.cpp b9745: Multi-Head Speculative Decoding for Step 3.5/3.7 Flash MTP3 Models

What changed
llama.cpp now implements multi-head speculative draft generation for StepFun's Step 3.5 Flash and Step 3.7 Flash models via their MTP3 (Multi-Token Prediction) draft heads — adding llama_set_mtp_layer_offset and llama_model_n_nextn_layer C APIs, and wiring speculative multi-head processing into process() and draft() functions with layer offset management and nextn flag support for correct graph reuse.
TL;DR
Step 3.5 Flash includes a purpose-built MTP head (sliding-window attention + dense FFN) that predicts 4 tokens simultaneously per forward pass; b9745 adds the first local inference engine support for these draft heads, unlocking speculative decoding for both Step 3.5 Flash and Step 3.7 Flash in llama.cpp — previously, these draft layers were present in the model weights but silently unused.
Developer signal
Update to b9745 and enable speculative decoding if you run Step 3.5 Flash or Step 3.7 Flash via llama.cpp or any embedding tool (Ollama, LM Studio, llama-cpp-python, Jan). The MTP head is architecturally designed for high acceptance rates on code and instruction-following tasks, but real-world throughput gains depend on your workload's acceptance rate — benchmark before making throughput claims. The new C APIs (llama_set_mtp_layer_offset, llama_model_n_nextn_layer) matter if you maintain custom bindings: the new setup sequence in PR #24340 is required for correct multi-head graph reuse; omitting it in a custom speculative decoding setup will produce incorrect outputs without a visible error. No performance numbers were published in this release. Note: vLLM does not yet support MTP3 for Step 3.5 Flash (PR in progress); llama.cpp now leads vLLM in supporting this architecture.


Affects you ifYou run Step 3.5 Flash or Step 3.7 Flash models locally via llama.cpp or any tool that embeds it; or you maintain custom C/C++ bindings for llama.cpp and use speculative decoding.EffortModerate (update llama.cpp to b9745+, enable speculative decoding for your serving setup; verify throughput with your workload; review PR #24340 if maintaining custom speculative decoding bindings).

Benchmarks & Leaderboards

No leaderboard movements or new SOTA entries confirmed in the June 20-21 window. LMArena: unchanged from June 17 additions (Kimi K2.7 Code to Agent Arena — covered in prior digest). SWE-bench Verified: unchanged (Claude Mythos 5 at 95.5%, Claude Fable 5 at 95.0% — both suspended under US export-control directive issued June 12; Claude Opus 4.8 at 88.6%; GPT-5.4 xHigh at 59.1% on SWE-bench Pro standardized). LiveCodeBench and BigCodeBench: no June 20-21 changes confirmed.


Technical Discussions

Nothing cleared the quality bar this period. No Hacker News threads with score >200 for AI developer topics identified in the June 20-21 window. The Forge/Show HN thread (206 points, "guardrails take an 8B model from 53% to 99% on agentic tasks") was posted May 19, outside the scan window.


Quick Hits

  • llama.cpp b9742 (June 20, 22:31 UTC) — Hexagon DSP SSM-conv weights fix: padded stride now correctly used for SSM-conv weights on Qualcomm Hexagon DSP backends, fixing potential weight layout misalignment for SSM (State Space Model) architectures on Hexagon-accelerated Android inference. [https://github.com/ggml-org/llama.cpp/releases/tag/b9742]
  • llama.cpp b9743 (June 20, 23:09 UTC) — JSON schema-to-grammar spacing fix: adjusted spacing rules in JSON schema-to-GBNF grammar conversion to align with standard JSON parser expectations, fixing edge cases where generated grammars incorrectly rejected valid JSON. [https://github.com/ggml-org/llama.cpp/releases/tag/b9743]
  • llama.cpp b9744 (June 21, 02:46 UTC) — Aho-Corasick grammar generation: refactored GBNF "until" grammar generation using an Aho-Corasick automaton, replacing a less efficient algorithm. Reduces grammar compilation overhead for complex structured output constraints with many stop patterns. [https://github.com/ggml-org/llama.cpp/releases/tag/b9744]
  • llama.cpp b9747 (June 21, 13:51 UTC) — SSE model loading progress: new /models/sse endpoint on llama-server streams real-time model loading progress via Server-Sent Events. Useful for production deployments where operators or dashboards need live visibility into model load state, especially for large models or slow network-attached storage. [https://github.com/ggml-org/llama.cpp/releases/tag/b9747]
  • llama.cpp b9748 (June 21, 17:09 UTC) — verbose field in server schema: llama-server's OpenAPI schema now includes a verbose field, enabling structured access to server verbosity configuration for API clients and monitoring dashboards that introspect the schema. [https://github.com/ggml-org/llama.cpp/releases/tag/b9748]
  • llama.cpp b9750 (June 21, 17:57 UTC) — Jinja call statement support: llama.cpp's Jinja template engine now supports {% call %} and {% endcall %} blocks. Models with chat templates that use Jinja macro call blocks (including some GLM variants and structured-generation templates) previously failed to load or produced malformed prompt formatting. Brings llama.cpp's Jinja implementation closer to full Jinja2 spec parity for model template compatibility. [https://github.com/ggml-org/llama.cpp/releases/tag/b9750]
  • llama.cpp b9753 (June 21, 19:25 UTC) — Speculative model loading progress fix: corrects progress reporting when loading speculative (draft) models; adds a stages list field to the loading progress response. Companion to b9747's SSE progress endpoint — previously, draft model load progress was reported inaccurately or omitted entirely. [https://github.com/ggml-org/llama.cpp/releases/tag/b9753]
  • Claude Code 2.1.185 (June 20, 2026) — Stream-stall hint updated: the stall message now reads "Waiting for API response · will retry in…" (was "No response from API · Retrying in…") and fires at 20 seconds instead of 10 seconds, reducing false-alarm retry messages on slow API responses. No behavior change — purely messaging and timing threshold. [https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md]
  • OpenCode v1.17.9 (June 21, 2026) — Minor patch for anomalyco/opencode: respects configured agent step limits; fixes Devstral model detection; adds "high" and "max" thinking variants for GLM-5.2 models; optimizes prompt caching by removing redundant steering reminders from follow-up messages. [https://github.com/anomalyco/opencode/releases/tag/v1.17.9]

Worth Watching (Announced, Not Yet Shipped)

12

⚠️⚠️⚠️ Gemini Image Models Shutdown — **June 25 (4 days)**

(Countdown updated)

gemini-3.1-flash-image-preview and gemini-3-pro-image-preview shut down June 25. Migrate to stable image model equivalents before this date. 4 days remaining.

⚠️⚠️ GPT-4.5 Retirement from ChatGPT — **June 27 (6 days)**

(Countdown updated)

GPT-4.5 removed from the ChatGPT product surface June 27. API route retirement unconfirmed; audit any gpt-4.5 model identifiers in product or prompt code.

OpenAI Platform Changelog | Link: https://platform.openai.com/docs/changelog

⚠️⚠️ Kimi K2.7 Code Third-Party Benchmarks — **Expected June 22-25 (1-4 days)**

(Status unchanged — Arena head-to-head voting continuing)

Weights released June 12, Arena leaderboard entry June 17. No independent third-party SWE-bench Verified, SWE-bench Pro, LiveCodeBench, or GPQA results exist yet. As of June 15, vendor-reported scores (SWE-bench Pro 58.6, HLE with tools 54.0) are Moonshot-internal only. Watch swebench.com and livecodebench.github.io around June 22-25.

⚠️⚠️ Gemini Code Assist for GitHub Full Shutdown — **~Mid-July (~24 days)**

(Status unchanged)

New organizational installs blocked June 18. Full request serving ends approximately mid-July. Organizations using Gemini Code Assist for GitHub need an alternative by then.

⚠️ Grok V9-Medium — **API Release Still Pending**

(Status unchanged)

xAI deployed Grok V9-Medium to Tesla fleet and X users as of June 10 (1.5T parameters, 32B active). No API model ID, no pricing, no confirmed public benchmarks as of June 21.

⚠️ Claude Fable 5 / Mythos 5 Reinstatement — **No Timeline Announced**

(Status unchanged)

Both models remain suspended under the US export-control directive issued June 12. No return date. Migrate to claude-opus-4-8 for agentic workloads.

⚠️ Gemini 3.5 Pro — **GA Still Pending (Limited Vertex Enterprise Preview)**

(Status unchanged)

Expected: 2M token context, Deep Think reasoning mode. No general availability date confirmed.

Google AI for Developers | Link: https://ai.google.dev/gemini-api/docs/models

Apple iOS 27 / macOS Golden Gate / Core AI GA — **Fall 2026 (September)**

(Status unchanged)

Includes Siri Extensions API, Core AI (replaces Core ML), Foundation Models multi-provider support.

Apple Developer / WWDC 2026 | Link: https://developer.apple.com/ios/

⚠️ OpenAI Reusable Prompts / Evals Platform / Agent Builder Shutdown — **November 30 (162 days)**

(Countdown updated)

Export eval configs before October 31 (read-only from that date). Migrate Agent Builder to Agents SDK. Move prompt content from v1/prompts to application code.



Filtered from 30+ primary sources against a published quality rubric. No press releases, no fluff — only what changes what you build.