%{
  title: "Jido Ecosystem Digest: April 2026",
  description: "Maintainer digest of Jido ecosystem activity for April 2026.",
  category: :docs,
  legacy_paths: [],
  tags: [:docs, :contributors, :ecosystem, :digest],
  order: 24,
  menu_label: "April 2026 Digest"
}
---

This digest summarizes public Jido ecosystem activity from April 1, 2026 through April 30, 2026. It is generated from the local ecosystem issue and pull request projection, then edited into a reviewable maintainer narrative.

## Activity Snapshot

| Metric | Count |
| --- | ---: |
| Merged pull requests | 266 |
| Closed issues | 72 |
| Active repositories with merged PRs | 36 |
| Human-authored merged PRs | 181 |
| Merged Dependabot pull requests | 85 |

## Pull Request Mix

| Category | Merged PRs |
| --- | ---: |
| Dependency maintenance | 82 |
| Fixes | 56 |
| CI and workflow | 35 |
| Features | 34 |
| Other | 25 |
| Chores | 24 |
| Documentation | 6 |
| Refactors | 4 |

## Top Repositories By Merged PRs

| Repo | Merged PRs |
| --- | ---: |
| `req_llm` | 54 |
| `ash_jido` | 23 |
| `jido_action` | 19 |
| `jido_ai` | 18 |
| `jido_harness` | 15 |
| `jido_codex` | 13 |
| `jido_claude` | 12 |
| `jido_gemini` | 12 |
| `jido_signal` | 10 |
| `jido_opencode` | 9 |
| `jido` | 8 |
| `jido_amp` | 8 |
| `jido_browser` | 8 |
| `llm_db` | 8 |
| `jido_studio` | 6 |

## Top Authors And Automation

| Author | Merged PRs |
| --- | ---: |
| `mikehostetler` | 127 |
| `app/dependabot` | 85 |
| `chgeuer` | 5 |
| `BlueHotDog` | 4 |
| `Munksgaard` | 4 |
| `pcharbon70` | 4 |
| `mhsdef` | 3 |
| `neilberkman` | 3 |
| `ortegacmanuel` | 3 |
| `ryan-mckeeman-cfgi` | 3 |
| `jfayad` | 2 |
| `sezaru` | 2 |

## Summary

The busiest repositories were `req_llm`, `ash_jido`, `jido_action`, `jido_ai`. Dependency maintenance accounted for 85 merged PRs, while human-authored changes accounted for 181. The largest category was dependency maintenance.
Closed issues were concentrated in `req_llm` (20), `ash_jido` (15), `jido_action` (7), `jido_harness` (4), `jido` (3).

## Notable Merged Work

| Repo | PR | Author | Merged |
| --- | --- | --- | --- |
| `jido_mcp` | [jido_mcp#8 fix: make MCP action failures merge-safe](https://github.com/agentjido/jido_mcp/pull/8) | `mikehostetler` | 2026-04-30 |
| `req_llm` | [req_llm#659 fix(openai): disable response storage for codex models](https://github.com/agentjido/req_llm/pull/659) | `itayadler` | 2026-04-29 |
| `req_llm` | [req_llm#650 feat(azure): support Kimi family (Moonshot) on Azure AI Foundry](https://github.com/agentjido/req_llm/pull/650) | `spfoos` | 2026-04-29 |
| `req_llm` | [req_llm#657 fix: fix google gemini token calculation](https://github.com/agentjido/req_llm/pull/657) | `mikehostetler` | 2026-04-29 |
| `jido` | [jido#264 fix(observability): quiet routed action logs](https://github.com/agentjido/jido/pull/264) | `mikehostetler` | 2026-04-28 |
| `jido_claude` | [jido_claude#15 fix: update jido dependency stack](https://github.com/agentjido/jido_claude/pull/15) | `mikehostetler` | 2026-04-28 |
| `jido_harness` | [jido_harness#21 fix: require jido 2.2 dependency floor](https://github.com/agentjido/jido_harness/pull/21) | `mikehostetler` | 2026-04-28 |
| `llm_db` | [llm_db#181 feat: deprecate deepseek-chat/reasoner, add v4-flash and v4-pro](https://github.com/agentjido/llm_db/pull/181) | `kasvith` | 2026-04-27 |
| `jido_mcp` | [jido_mcp#5 fix: use direct ai tool sync when agent is in context](https://github.com/agentjido/jido_mcp/pull/5) | `mikehostetler` | 2026-04-27 |
| `jido_mcp` | [jido_mcp#6 feat: expose dynamic endpoint signals](https://github.com/agentjido/jido_mcp/pull/6) | `mikehostetler` | 2026-04-27 |
| `jido_ai` | [jido_ai#267 fix: add direct tool registration API](https://github.com/agentjido/jido_ai/pull/267) | `mikehostetler` | 2026-04-27 |
| `req_llm` | [req_llm#647 fix: encode thinking content parts as reasoning_content for OpenAI-compatible providers](https://github.com/agentjido/req_llm/pull/647) | `spfoos` | 2026-04-26 |
| `req_llm` | [req_llm#645 feat(openai): add logprobs support for chat completions (request encoding, response decoding, tests)](https://github.com/agentjido/req_llm/pull/645) | `jat10` | 2026-04-25 |
| `jido_studio` | [jido_studio#6 [codex] fix(agents): support custom factory agent details](https://github.com/agentjido/jido_studio/pull/6) | `pcharbon70` | 2026-04-25 |
| `req_llm` | [req_llm#643 fix(anthropic): reject trailing assistant object contexts](https://github.com/agentjido/req_llm/pull/643) | `mikehostetler` | 2026-04-24 |
| `req_llm` | [req_llm#641 fix(openrouter): support embeddings](https://github.com/agentjido/req_llm/pull/641) | `mikehostetler` | 2026-04-24 |
| `req_llm` | [req_llm#639 Fixes Gemini SSE Stream losing finish-reason](https://github.com/agentjido/req_llm/pull/639) | `ycastorium` | 2026-04-24 |
| `ash_jido` | [ash_jido#46 fix: harden Ash/Jido bridge defaults](https://github.com/agentjido/ash_jido/pull/46) | `mikehostetler` | 2026-04-23 |
| `ash_jido` | [ash_jido#45 docs: prepare 0.2.0 release notes](https://github.com/agentjido/ash_jido/pull/45) | `mikehostetler` | 2026-04-22 |
| `ash_jido` | [ash_jido#44 refactor: consolidate signal emission](https://github.com/agentjido/ash_jido/pull/44) | `mikehostetler` | 2026-04-22 |
| `ash_jido` | [ash_jido#43 refactor: split generated action runtime](https://github.com/agentjido/ash_jido/pull/43) | `mikehostetler` | 2026-04-22 |
| `ash_jido` | [ash_jido#42 feat: filter generated schemas to public inputs](https://github.com/agentjido/ash_jido/pull/42) | `mikehostetler` | 2026-04-22 |
| `ash_jido` | [ash_jido#41 feat: default all_actions to public actions](https://github.com/agentjido/ash_jido/pull/41) | `mikehostetler` | 2026-04-22 |
| `ash_jido` | [ash_jido#40 fix: pass destroy action arguments](https://github.com/agentjido/ash_jido/pull/40) | `mikehostetler` | 2026-04-22 |
| `ash_jido` | [ash_jido#38 fix: use resource primary keys for mutations](https://github.com/agentjido/ash_jido/pull/38) | `mikehostetler` | 2026-04-22 |
| `ash_jido` | [ash_jido#37 feat: use static resource domain fallback](https://github.com/agentjido/ash_jido/pull/37) | `mikehostetler` | 2026-04-22 |
| `jido_ai` | [jido_ai#263 Forward default plugin overrides from AI agents](https://github.com/agentjido/jido_ai/pull/263) | `mikehostetler` | 2026-04-22 |
| `req_llm` | [req_llm#637 feat(schema): support {:or, [type, nil]} for nullable JSON Schema types](https://github.com/agentjido/req_llm/pull/637) | `gushonorato` | 2026-04-22 |
| `ash_jido` | [ash_jido#20 fix: derive jido action module names from `name:` to support multi-entry actions](https://github.com/agentjido/ash_jido/pull/20) | `Munksgaard` | 2026-04-22 |
| `jido_ai` | [jido_ai#262 feat: add request event streaming](https://github.com/agentjido/jido_ai/pull/262) | `mikehostetler` | 2026-04-22 |
| `jido_mcp` | [jido_mcp#2 feat: add runtime MCP endpoint registration](https://github.com/agentjido/jido_mcp/pull/2) | `mikehostetler` | 2026-04-21 |
| `jido_ai` | [jido_ai#260 fix: add preflight callback for ReAct tool rounds](https://github.com/agentjido/jido_ai/pull/260) | `mikehostetler` | 2026-04-21 |
| `jido_harness` | [jido_harness#20 refactor: make environment backend pluggable in workspace exec](https://github.com/agentjido/jido_harness/pull/20) | `mikehostetler` | 2026-04-21 |
| `jido_opencode` | [jido_opencode#3 docs: align OpenCode installation with GitHub deps](https://github.com/agentjido/jido_opencode/pull/3) | `mikehostetler` | 2026-04-21 |
| `jido_amp` | [jido_amp#3 docs: align Amp installation with GitHub deps](https://github.com/agentjido/jido_amp/pull/3) | `mikehostetler` | 2026-04-21 |

## Dependency Maintenance

Dependabot merged 85 PRs during April. The busiest repositories for dependency maintenance were:

| Repo | Dependabot PRs |
| --- | --- |
| `req_llm` | 14 |
| `jido_browser` | 7 |
| `jido_claude` | 7 |
| `jido_codex` | 7 |
| `jido_gemini` | 7 |
| `jido_harness` | 7 |
| `jido_action` | 6 |
| `jido_ai` | 6 |
| `jido_opencode` | 6 |
| `jido_signal` | 6 |
| `jido_amp` | 4 |
| `jido` | 3 |

## Closed Issues

| Repo | Issue | Closed |
| --- | --- | --- |
| `ash_jido` | [ash_jido#47 RFC: Generate simple Jido resource subagents from Ash resources](https://github.com/agentjido/ash_jido/issues/47) | 2026-04-30 |
| `llm_db` | [llm_db#180 Codify OpenAI 2026-04-22 model deprecations](https://github.com/agentjido/llm_db/issues/180) | 2026-04-29 |
| `req_llm` | [req_llm#648 Upgrade Server Sent Events library to 1.0.0](https://github.com/agentjido/req_llm/issues/648) | 2026-04-29 |
| `jido` | [jido#266 [Bug] deepseek-v4 series models incompatible](https://github.com/agentjido/jido/issues/266) | 2026-04-29 |
| `req_llm` | [req_llm#655 [Bug]: Invalid output_tokens calculation for gemini](https://github.com/agentjido/req_llm/issues/655) | 2026-04-29 |
| `jido_bedrock` | [jido_bedrock#1 Demonstrate agent resumability after full process shutdown and restart](https://github.com/agentjido/jido_bedrock/issues/1) | 2026-04-26 |
| `jido_chat_github` | [jido_chat_github#3 Live browser verification 1777237605160](https://github.com/agentjido/jido_chat_github/issues/3) | 2026-04-26 |
| `jido_chat_github` | [jido_chat_github#2 Live GitHub adapter beta test 20260426-160416](https://github.com/agentjido/jido_chat_github/issues/2) | 2026-04-26 |
| `jido_chat_github` | [jido_chat_github#1 jido_chat_github adapter live test](https://github.com/agentjido/jido_chat_github/issues/1) | 2026-04-26 |
| `jido_connect` | [jido_connect#2 Jido Connect live list test 2026-04-25T00:57:14.160268Z](https://github.com/agentjido/jido_connect/issues/2) | 2026-04-24 |
| `jido_connect` | [jido_connect#1 Jido Connect live test 2026-04-25T00:56:05.292089Z](https://github.com/agentjido/jido_connect/issues/1) | 2026-04-24 |
| `req_llm` | [req_llm#642 [Bug]: generate_object fails with trailing assistant messages in context](https://github.com/agentjido/req_llm/issues/642) | 2026-04-24 |
| `req_llm` | [req_llm#640 [Bug]: Openrouter do not support embeddings, this is not true](https://github.com/agentjido/req_llm/issues/640) | 2026-04-24 |
| `req_llm` | [req_llm#638 [Bug]: Gemini SSE Stream loses finish-reason in some cases](https://github.com/agentjido/req_llm/issues/638) | 2026-04-24 |
| `ash_jido` | [ash_jido#30 docs: prepare 0.2.0 release documentation and changelog](https://github.com/agentjido/ash_jido/issues/30) | 2026-04-22 |
| `ash_jido` | [ash_jido#27 refactor: consolidate signal emission architecture](https://github.com/agentjido/ash_jido/issues/27) | 2026-04-22 |
| `ash_jido` | [ash_jido#26 refactor: split generated action runtime from compile-time generator](https://github.com/agentjido/ash_jido/issues/26) | 2026-04-22 |
| `ash_jido` | [ash_jido#25 feat: generate Jido schemas from public Ash inputs](https://github.com/agentjido/ash_jido/issues/25) | 2026-04-22 |
| `ash_jido` | [ash_jido#21 feat: default all_actions to public Ash actions](https://github.com/agentjido/ash_jido/issues/21) | 2026-04-22 |
| `ash_jido` | [ash_jido#23 fix: support destroy action arguments](https://github.com/agentjido/ash_jido/issues/23) | 2026-04-22 |
| `ash_jido` | [ash_jido#24 fix: make update and destroy actions primary-key aware](https://github.com/agentjido/ash_jido/issues/24) | 2026-04-22 |
| `ash_jido` | [ash_jido#22 feat: use static resource domain as context fallback](https://github.com/agentjido/ash_jido/issues/22) | 2026-04-22 |
| `ash_jido` | [ash_jido#31 chore: align repo tooling with Jido package quality standards](https://github.com/agentjido/ash_jido/issues/31) | 2026-04-22 |
| `ash_jido` | [ash_jido#28 chore: add Dependabot for Mix and GitHub Actions](https://github.com/agentjido/ash_jido/issues/28) | 2026-04-22 |
| `ash_jido` | [ash_jido#29 chore: update Ash/Spark dependencies and validate compatibility](https://github.com/agentjido/ash_jido/issues/29) | 2026-04-22 |
| `ash_jido` | [ash_jido#19 Multiple `jido` entries on the same Ash action silently collapse to one module](https://github.com/agentjido/ash_jido/issues/19) | 2026-04-22 |
| `jido_ai` | [jido_ai#257 Add a first-class streaming surface for Jido.AI.Agent requests](https://github.com/agentjido/jido_ai/issues/257) | 2026-04-22 |
| `jido_mcp` | [jido_mcp#1 feat: enable MCP endpoints declaration at runtime](https://github.com/agentjido/jido_mcp/issues/1) | 2026-04-21 |
| `jido_harness` | [jido_harness#6 Introducing jido_opencode - OpenCode adapter for Jido.Harness](https://github.com/agentjido/jido_harness/issues/6) | 2026-04-21 |
| `req_llm` | [req_llm#634 Responses API: round-trip assistant phase for GPT-5 phase-aware replay](https://github.com/agentjido/req_llm/issues/634) | 2026-04-21 |

## Merge Pace

| Central Day | Merged PRs |
| --- | ---: |
| 2026-04-01 | 11 |
| 2026-04-03 | 3 |
| 2026-04-04 | 4 |
| 2026-04-06 | 8 |
| 2026-04-07 | 2 |
| 2026-04-08 | 1 |
| 2026-04-10 | 50 |
| 2026-04-11 | 1 |
| 2026-04-12 | 26 |
| 2026-04-14 | 25 |
| 2026-04-15 | 1 |
| 2026-04-17 | 5 |
| 2026-04-18 | 1 |
| 2026-04-19 | 5 |
| 2026-04-20 | 13 |
| 2026-04-21 | 60 |
| 2026-04-22 | 20 |
| 2026-04-23 | 1 |
| 2026-04-24 | 3 |
| 2026-04-25 | 3 |
| 2026-04-26 | 1 |
| 2026-04-27 | 8 |
| 2026-04-28 | 7 |
| 2026-04-29 | 6 |
| 2026-04-30 | 1 |

## Data Notes

- Window: April 1, 2026 through April 30, 2026, using US Central calendar boundaries.
- Source: local `data/jido.sqlite` issue and pull request projection.
- Latest full ecosystem sync used by this draft: `2026-05-15T14:10:41Z`.
- Latest targeted sync in the local projection: `2026-05-15T14:18:03Z`.
- This page is a draft digest for maintainer review before publication.
