What's Changed
- Sync 2.0.0-061326 with 2.0.0: port native structured output to SB4 / Spring AI 2 / Jackson 3 by @alexheifetz in #1719
- Spring AI 2.0.0 GA Migration by @alexheifetz in #1722
- Synchronize with 1.0 06222026 by @alexheifetz in #1738
- 1.5.0 by @alexheifetz in #1765
- 1.5.0 synchup 1.0.x by @alexheifetz in #1807
- 2.0.0 by @alexheifetz in #1697
- Include authors page on hub by @jasperblues in #1820
- Netty Upgrade to 4.2.15 by @igordayen in #1824
- test: add unit coverage for uncovered utilities by @tuannx in #1823
- Prove multi-level RunSubagent composition by @Stuckya in #1825
- Fix model binding broken by Spring AI 2.0 options merge removal by @igordayen in #1818
- fix: correct RAG result ordering, metadata, and latency logging by @tuannx in #1812
- Nety Upgrade to 4.2.16 by @igordayen in #1827
- docs: update emabel docs to match current codebase by @Sam42R in #1830
- test: cover InMemoryPropertyFilter entity and reflection matching (#29) by @wxggzz in #1817
- test(mcp): add in-process MCP protocol E2E coverage by @tuannx in #1832
- test: add regression test for Ollama configured model binding (#1735) by @sumin220 in #1828
- fix: stop escaped-quote repair from corrupting valid JSON in JacksonOutputConverter by @nikita-kibitkin in #1831
- Replace Spring AI 2.0 deprecated API by @guanxuc in #1840
- refactor: extract shared tool execution support by @arnabnandy7 in #1837
- Replace
tools.jackson.databind.JsonNodedeprecated API by @guanxuc in #1845 - feat: Add Alibaba Cloud DashScope models support by @guanxuc in #1841
- Add Alibaba Cloud DashScope models User Guide and enhance parameter clamping by @guanxuc in #1849
- feat: add vendor-neutral streaming tool loop by @arnabnandy7 in #1826
- Bump org.springframework.retry:spring-retry from 2.0.12 to 2.0.13 in /embabel-agent-api in the maven group across 1 directory by @dependabot[bot] in #1844
- doc: Update the latest(1.5.0-SNAPSHOT) documentation link in README.md by @guanxuc in #1855
- Typo in LLM name sonnet by @igordayen in #1858
- Never sever a markdown table row from its header when chunking by @johnsonr in #1859
- feat(rag): promote structural chunk metadata to typed ChunkStructure by @arimu1 in #1851
- chore(deps): upgrade LangChain4j to 1.14.1 by @arnabnandy7 in #1863
- Remove the deprecated
convertOptions(options)API by @guanxuc in #1857 - feat: add TemplatedPromptRunnerBuilder to render system prompts from templates by @nikita-kibitkin in #1866
- Log an existing SearchTools at debug, like every branch beside it by @johnsonr in #1869
- fix(rag): close ChunkMergingEnhancer crash path, complete typed ChunkStructure migration by @nikita-kibitkin in #1867
- Reduce log level / remove stacktraces from Model Loader logging by @igordayen in #1872
- fix(observability): use Spring Boot 4 packages in ObservabilityAutoConfiguration afterName by @arimu1 in #1850
- Fix/1871 observability boot4 regressions by @azanux in #1877
- Alert user by throwing exception on infra jackson deserialization errors by @igordayen in #1878
- Fix/1758 OpenAI pro responses api by @azanux in #1874
- LM Studio: send completions to /v1, keep discovery on the raw address by @johnsonr in #1885
- fix(openai): route GPT-5.6 models to the Responses API by @azanux in #1896
- fix(openai): generically handle models that reject unsupported request params by @arimu1 in #1852
- BYOK: build an embedding service from a runtime-supplied key by @jasperblues in #1892
- Pin prompt assembly cost, and name the contributors that are actually slow by @jasperblues in #1893
- Fix thinking mode parse error: Strip what a model writes after JSON block as well as before by @johnsonr in #1904
- fix(deepseek): take the shared HTTP client, and honor the retry properties (also google-genai) by @azanux in #1902
- Prepare 1.5.0 release by @alexheifetz in #1906
- Add embabel-agent-starter-byok so a BYOK app can boot without keys by @jasperblues in #1890
- RAG improvements: Make full-text scores absolute, and stop asking the LLM for a similarity threshold by @johnsonr in #1903
- Issue 1887: Wrap Embabel ObjectMapper (#1887) by @stefanks-px in #1907
- Fix broken IT tests due to GPT model deprecation by @igordayen in #1914
- Let a text-search implementation say how it reads a query by @jasperblues in #1916
- Let a BYOK app with RAG start, without letting it guess a dimension by @jasperblues in #1910
- Restore star history by @johnsonr in #1918
- Add an opt-in knob to fetch neighbouring chunks around every search hit by @johnsonr in #1917
- Change log level from warn to info for tool call by @alexheifetz in #1921
New Contributors
- @tuannx made their first contribution in #1823
- @wxggzz made their first contribution in #1817
- @sumin220 made their first contribution in #1828
- @nikita-kibitkin made their first contribution in #1831
- @guanxuc made their first contribution in #1840
- @arnabnandy7 made their first contribution in #1837
- @dependabot[bot] made their first contribution in #1844
- @arimu1 made their first contribution in #1851
Full Changelog: v1.0.0...v1.5.0