Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/clang-format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ on:
# reproducible between contributors and CI. Bump CLANG_FORMAT_VERSION here and in
# CLAUDE.md (Code Formatting) together, then reformat the tree with the same version.
env:
CLANG_FORMAT_VERSION: "23.1.1"
CLANG_FORMAT_VERSION: "23.1.3"

jobs:
clang-format:
Expand Down
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,9 @@ from version 5.0.0 onward. Pre-fork releases (`1.x`–`4.2.0`) were authored by
(`.github/workflows/java-tests.yml`), and the JDK version is `.java-version`, read by every
`setup-java` step. Check names of those jobs changed (`<name> / Java tests`, `Smoke test all-backends
fat jar (<target>)`); no required status check referred to them.
- **Dependency updates in the published side artifacts**: `llama-langchain4j` builds against
`langchain4j-core` 1.21.0; `llama-atmosphere-agent` against Atmosphere 4.0.72, Jetty 12.1.14 and JLine
4.4.7 (none of the files the agent's carried JLine fixes touch changed between 4.4.6 and 4.4.7).

### Fixed
- **`ToolCallingIntegrationTest#requiredToolCallIsParsedFromStreamingResponse` failed on both Windows
Expand Down
6 changes: 3 additions & 3 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -1418,12 +1418,12 @@ not track the loader's own Java package; no leading slash, it is resolved throug
### Code Formatting

C++ formatting is **enforced in CI** (`.github/workflows/clang-format.yml`) with a **pinned**
clang-format — currently **23.1.1**, installed via `pip install clang-format==23.1.1`. Format with
clang-format — currently **23.1.3**, installed via `pip install clang-format==23.1.3`. Format with
that exact version before committing; a different clang-format version reflows code differently and
will fail the check.

```bash
pip install "clang-format==23.1.1"
pip install "clang-format==23.1.3"
clang-format -i src/main/cpp/*.cpp src/main/cpp/*.hpp src/test/cpp/*.cpp # Format C++ code
```

Expand Down Expand Up @@ -2036,7 +2036,7 @@ easy to undo by accident:
outright: the Nullness Checker resolves its own qualifiers through javac's symbol table, i.e. the
*compile classpath*, so a 3.x checker-qual under the 4.x processor fails every build with
`Could not load type: org.checkerframework.framework.qual.DoesNotUnrefineReceiver`. Processor and
qualifiers must share a major version. `provided` satisfies both constraints: 4.2.2 on the compile
qualifiers must share a major version. `provided` satisfies both constraints: 4.3.0 on the compile
classpath where the checker needs it, and excluded from consumers' graph **and** from the fat jar
(`jar-with-dependencies` takes scope `runtime`), so no checker-qual class of any version ships.
`<optional>true</optional>` would not have been enough on its own — that descriptor filters on
Expand Down
2 changes: 1 addition & 1 deletion llama-atmosphere-agent/CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ dependency set excludes it, and a second dependency set unpacks **only** that re
either half and the jar either grows by the whole starter or `--web` starts with nothing to open
(`WebConsole.available()` says so at startup).

**What Atmosphere is, for this purpose.** `org.atmosphere:atmosphere-ai` (4.0.71) ships
**What Atmosphere is, for this purpose.** `org.atmosphere:atmosphere-ai` (4.0.72) ships
`BuiltInAgentRuntime` + `OpenAiCompatibleClient`: a zero-framework OpenAI client that *always*
streams (`stream:true`), accumulates `delta.tool_calls` by `index`, executes `ToolDefinition`
executors, re-submits the conversation (assistant `tool_calls` message **without** a `content` key,
Expand Down
8 changes: 4 additions & 4 deletions llama-atmosphere-agent/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,9 @@ SPDX-License-Identifier: MIT
the java-llama.cpp reactor. Overridable, e.g. -Dllama.version=5.3.0-SNAPSHOT to try a
newer core from the snapshot repository below. -->
<llama.version>${project.version}</llama.version>
<atmosphere.version>4.0.71</atmosphere.version>
<jline.version>4.4.6</jline.version>
<jetty.version>12.1.13</jetty.version>
<atmosphere.version>4.0.72</atmosphere.version>
<jline.version>4.4.7</jline.version>
<jetty.version>12.1.14</jetty.version>
<acp.version>0.18.0</acp.version>
<slf4j.version>2.0.20</slf4j.version>
<jspecify.version>1.0.1</jspecify.version>
Expand All @@ -84,7 +84,7 @@ SPDX-License-Identifier: MIT
<exec.plugin.version>3.6.4</exec.plugin.version>
<assembly.plugin.version>3.8.0</assembly.plugin.version>
<spotless.version>3.10.3</spotless.version>
<palantir-java-format.version>2.100.0</palantir-java-format.version>
<palantir-java-format.version>2.102.0</palantir-java-format.version>
<agent.main>net.ladenthin.llama.atmosphere.LocalAgent</agent.main>
</properties>

Expand Down
2 changes: 1 addition & 1 deletion llama-langchain4j/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ SPDX-License-Identifier: MIT
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- langchain4j 1.x requires Java 17; the core net.ladenthin:llama stays Java 8. -->
<maven.compiler.release>17</maven.compiler.release>
<langchain4j.version>1.20.2</langchain4j.version>
<langchain4j.version>1.21.0</langchain4j.version>
<junit.version>6.1.3</junit.version>
<hamcrest.version>3.0</hamcrest.version>
<!-- Plugin versions are kept in lockstep with the core pom.xml. This module has no
Expand Down
6 changes: 3 additions & 3 deletions llama/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ SPDX-License-Identifier: MIT
<!-- Checker Framework: the processor AND the checker-qual qualifiers it resolves.
Both run on the build JDK and neither ships (checker-qual is provided scope), so
this tracks the newest release. -->
<checker.version>4.2.3</checker.version>
<checker.version>4.3.0</checker.version>
<jackson.version>2.22.3</jackson.version>
<reactor.version>3.8.7</reactor.version>
<slf4j.version>2.0.20</slf4j.version>
Expand Down Expand Up @@ -100,7 +100,7 @@ SPDX-License-Identifier: MIT
<fb-contrib.version>7.7.4</fb-contrib.version>
<findsecbugs.version>1.14.0</findsecbugs.version>
<spotless.version>3.10.3</spotless.version>
<palantir-java-format.version>2.100.0</palantir-java-format.version>
<palantir-java-format.version>2.102.0</palantir-java-format.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.build.outputTimestamp>2026-09-01T07:57:45Z</project.build.outputTimestamp>
</properties>
Expand Down Expand Up @@ -206,7 +206,7 @@ SPDX-License-Identifier: MIT
org.checkerframework.framework.qual.DoesNotUnrefineReceiver". Processor and
qualifiers must share a major version.

provided scope resolves both constraints at once: 4.2.3 is on the compile
provided scope resolves both constraints at once: 4.3.0 is on the compile
classpath where the checker needs it, and provided is excluded from consumers'
transitive graph AND from the fat jar (jar-with-dependencies takes scope
runtime), so no checker-qual class of any version reaches a consumer's JVM.
Expand Down
Loading