{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreibwrs2vngvyeokctdidcmqj3rvkm2ixoxbc7bsykwmicrebhvfeve",
"uri": "at://did:plc:25rdn5elo5izoxrmtis34zuk/app.bsky.feed.post/3mpui7xinn2z2"
},
"coverImage": {
"$type": "blob",
"ref": {
"$link": "bafkreihd54rck36aderfseqe23n4bxvwftdpsqmcorfa3itbqo5krbau3e"
},
"mimeType": "image/webp",
"size": 64622
},
"path": "/solonjava/solon-403-released-ai-loop-code-talent-jdk-25-prep-5hmo",
"publishedAt": "2026-07-05T01:10:53.000Z",
"site": "https://dev.to",
"tags": [
"java",
"webdev",
"opensource",
"ai",
"solon.noear.org/article/lts",
"GitHub Release v4.0.3",
"Solon Official Site",
"LTS Plan",
"Solon AI Ecosystem Overview"
],
"textContent": "On July 2, 2026, the Solon team released **v4.0.3** β just 22 days after v4.0.0 and 7 days after v4.0.2. Three releases in under a month. The pace tells a clear story: Solon's iteration speed is accelerating, and the focus is firmly on AI Agent infrastructure.\n\nHere's what's new and why it matters.\n\n## What's in v4.0.3\n\nCategory | Change | Description\n---|---|---\nπ New | **solon-ai-loop** | AI loop execution module for iterative agent reasoning\nπ New | **solon-ai-talent-code** | Code talent plugin, extracted from solon-ai-harness\nπ New | ScopeLocal.Factory interface | More flexible scoped variable factory\nπ New | ScopeLocalJdk25 auto-load | JDK 25 scoped values support, auto-detected\nπ§ Adjust | Restored BeanContainer.wrapPublish | Transition compatibility buffer\nπ§ Adjust | Restored ResourceUtil.scanClasses | Same, giving ecosystem plugins time to migrate\n\n## The Three Changes That Matter Most\n\n### 1. solon-ai-loop: The Agent's \"Iteration Engine\"\n\nThis is the most significant new module in this release.\n\n**What problem does it solve?**\n\nIn ReActAgent and TeamAgent, reasoning steps are linear β think, act, observe, done. But many real-world scenarios require agents to loop:\n\n * **Code generation** : write code β compile fails β read error β fix β recompile β until green\n * **Automated testing** : write tests β run β analyze failure β fix β rerun β until pass\n * **Data cleaning** : clean β validation fails β adjust params β clean again β verify β untilεζ Ό\n\n\n\n`solon-ai-loop` provides a **controlled loop execution framework** , allowing agents to iterate until a termination condition is met. It works with the existing `StopLoopInterceptor` to control max iterations, timeouts, and even manual interruption.\n\n### 2. solon-ai-talent-code: Code Abilities as a Standalone Module\n\nBefore v4.0.3, code-related talents (file reading/writing, shell execution, LSP analysis, etc.) were bundled inside Harness. If you only needed ChatModel + code abilities, you had to pull in the entire Harness.\n\n**Now`solon-ai-talent-code` is independent**, giving you a lightweight, focused dependency:\n\n\n\n <!-- Code abilities only, no Harness needed -->\n <dependency>\n <groupId>org.noear</groupId>\n <artifactId>solon-ai-talent-code</artifactId>\n <version>4.0.3</version>\n </dependency>\n\n\nThis makes Harness leaner, and makes code talents reusable in other contexts β like SolonCode CLI, which is itself Harness-driven.\n\n### 3. JDK 25 ScopeLocal Auto-Loading\n\nJDK 25 is the upcoming LTS release (September 2026), and Solon has a tradition of pre-adapting before the official JDK release.\n\nThe `ScopeLocalJdk25` auto-load mechanism means: **when you upgrade to JDK 25, Solon automatically switches to JDK 25's scoped value implementation** β zero code changes, zero config.\n\nThis is \"compatible with Java 8 ~ Java 25\" in action β not just running on new JDKs, but actually leveraging their capabilities.\n\n## From M1 to GA: 11 Days\n\nv4.0.3-M1 (milestone) was released in late June 2026, and it took just **11 days** to reach GA status.\n\nThe v4.0.x release cadence:\n\nVersion | Date | Interval\n---|---|---\nv4.0.0 | 2026-06-10 | -\nv4.0.2 | 2026-06-25 | 15 days\nv4.0.3-M1 | 2026-06-late | ~5 days\n**v4.0.3** | **2026-07-02** | **~11 days (incl. M1)**\n\nThree GA releases in under four months tells us two things:\n\n 1. **The v4.x core stack is stable** β each release is incremental, not firefighting\n 2. **AI ecosystem is the primary iteration focus** β all three releases center on AI modules\n\n\n\n## v4.0.x LTS Support\n\nPer the official LTS plan (solon.noear.org/article/lts):\n\nDimension | Timeline\n---|---\nInitial release | 2026-06\nOpen-source support ends | 2026-12\nCommercial support ends | 2029-06 (3 years)\n\nv4.0.x is the current main line, with full LTS guarantees. Expect a minor release roughly every 20 days, with each minor version line having independent LTS maintenance.\n\n> If you're on v3.x in production, v3.10.x is still actively maintained β no rush to migrate.\n\n## What This Means for the AI Ecosystem\n\n### Modularization Progressing\n\n\n v4.0.0 β skill renamed to talent (unified naming)\n v4.0.2 β multiple new AI plugins added\n v4.0.3 β talent-code extracted, AI Loop added\n\n\nSolon AI's modularization follows a \"unify then split\" pattern β first standardize the concepts, then extract reusable modules.\n\n### Loop Capability Filled\n\nPreviously, Solon AI lacked a loop abstraction. Developers had to write custom loop logic inside `onObservation`, leading to code duplication and poor control over termination, timeout, and resource cleanup.\n\n`solon-ai-loop` fills this gap. Combined with `StopLoopInterceptor`, you now have clean, controlled iteration:\n\n\n\n // Conceptual example\n Harness.harness(agent)\n .addInterceptor(new StopLoopInterceptor(maxIterations))\n .loop(context -> {\n return agent.step(context);\n })\n .start();\n\n\n### Paving the Way for SolonCode\n\nThe extraction of `solon-ai-talent-code` directly benefits **SolonCode CLI** β Solon's AI coding assistant. SolonCode is Harness-driven under the hood. With code talents as a standalone module, SolonCode can depend on `talent-code` without pulling in the full Harness weight, improving CLI startup time and reducing package size.\n\n## Upgrade Path\n\n### New Projects\n\nStart directly with v4.0.3:\n\n\n\n <dependency>\n <groupId>org.noear</groupId>\n <artifactId>solon</artifactId>\n <version>4.0.3</version>\n </dependency>\n\n\n### From v4.0.2\n\nCompatible upgrade β just bump the version number. No breaking changes.\n\n### From v4.0.0\n\nIf you're still using the old `solon-ai-skill-*` package names (pre-v4.0.0), migrate to `solon-ai-talent-*`. The migration guide was published alongside v4.0.0.\n\n### From v3.x\n\nv3.x β v4.x changes are concentrated in AI modules and package restructuring. The core framework (`solon`, `solon-web`, etc.) is largely compatible. Validate on a test project first.\n\n## What's Next\n\nBased on the current iteration direction and community discussions:\n\n 1. **solon-ai-talent-code will continue evolving** β expect deeper LSP integration and Git operations\n 2. **MCP protocol tracking** β the MCP protocol itself is evolving fast, Solon will keep pace\n 3. **v4.0.4 is already on the roadmap** β roughly late July at the current cadence\n\n\n\n## Final Thoughts\n\nv4.0.3 isn't a \"big\" release. But it's a revealing one: **the Solon team is using high-frequency iteration to rapidly fill capability gaps in the AI ecosystem.**\n\nIn the 22 days from v4.0.0 to v4.0.3, we've seen:\n\n * Unified naming (skill β talent)\n * Core capabilities extracted (talent-code)\n * Loop engine built (AI Loop)\n * Next-gen JDK support (JDK 25)\n\n\n\nEach release is small. But each one moves the needle.\n\n**Links**\n\n * GitHub Release v4.0.3\n * Solon Official Site\n * LTS Plan\n * Solon AI Ecosystem Overview\n\n",
"title": "Solon 4.0.3 Released: AI Loop, Code Talent, JDK 25 Prep"
}