{
  "$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"
}