1.8.0 (2026-08-22)
- Three new tool-trajectory capture adapters —
grok-cli-capture,codex-cli-capture, andantigravity-cli-capture— turn each CLI’s durable JSONL stream into orderedToolCallEventandStepCostEventrecords with stable tool-call identities - Grok capture parses the ACP-shaped
streaming-jsonoutput, pairingtool_callandtool_call_updatebytoolCallIdand preserving both the reported tool name and the ACP semantic kind. The stream has no durable turn-to-tool cost join, so the real session total fromend.total_cost_usdis retained and attributed evenly across captured tool steps - Codex capture parses durable rollout JSONL and deliberately classifies the nested
payload.inputcall rather than the outerexecfunction name that Codex records for most tool invocations, assigning semantic names such asSearch,Read,Inspect,Test,Build, andGit. The classifier is conservative around shell syntax — aliases, shell functions, quoted operators, and work hidden behind an interpreter fall back toShell, with raw input and command retained for later reclassification - Antigravity capture pairs active and terminal updates by
step_index, handles bothDONEandERRORsteps, records parameters, output or error text, duration, and terminal token usage, and derives stable identities from conversation and step positions - Codex and Antigravity report no monetary cost in these streams, so cost records are zero-valued and explicitly marked
costAvailable=falsewith anunreportedsource - Gemini CLI capture remains turn-level and provides no tool trajectory, so Gemini is not part of this release’s multi-CLI tool-trajectory claim
- The Claude Code SDK dependency moves from 1.4.0 to 1.5.0
- Additive on the existing event and trace contracts.
journal-coreand the three new capture modules target Java 17; the Claude Code and Gemini CLI capture modules still require Java 21 for their vendor SDKs. 488 tests pass across the seven-module reactor
1.7.0 (2026-08-18)
- Standalone consumers now resolve CVE-clear Jackson floors without an external BOM: Jackson 2.21.6 for all three modules and Jackson 3.1.6 on Claude capture’s transitive Jackson 3 path. Agent Journal’s source and stored formats continue to use Jackson 2; this is not a Jackson 3 migration.
- Every binary and source JAR now includes
META-INF/LICENSE, and every Javadoc JAR includesresources/LICENSE. The BSL 1.1 terms are unchanged. - The parent artifact publishes an aggregate CycloneDX 1.6 JSON SBOM for all three modules under the
cyclonedxclassifier. - Capture-module POMs now declare their actual Java 21 runtime requirement;
journal-coreremains Java 17. - Snapshot publishing now runs the full test suite, and shared build/release workflows are pinned to an immutable commit.
- No API, event-schema, or trace-format change: both journal streams remain schema version 1 and portable traces remain schema version 2. All 482 tests pass.
1.6.0 (2026-07-01)
- First-class journal-capture primitives (slice 1):
PhaseCapture.stepCosts(),JournalSteps.fromEvents(), production fail-loudRunRecorder,JournalStorage.persistsDerivedEvents(), per-turn usage in the immutable log - A1:
AttributionMethod.EVEN_SPLIT— coarse fallback when per-turn tokens are unavailable - A5: per-file
{"@type":"header","schemaVersion":1}line onevents.jsonlandanalysis.jsonl(loaders skip it) - Cost-metering fix: headline
LLMCallEvent.tokenUsageis now the cost-bearing Σ-per-turn-by-type aggregate (incl. cache) instead of the last-ResultMessagesnapshot, which under-counted ~2× on long runs — same field, corrected value, no schema change - Designed as an additive change to the capture contract; 482 tests green. No cross-version reader test was run. Ships in agentworks-bom 1.13.0
1.5.0 (2026-06-17)
- docs: fix TraceContentMode import path (moved to journal.trace in capture-fidelity R2)
- R2.10 emission: wire StepCostEvent into analysis.jsonl from capture
- Stage R2.9: Implement computeJudgeAgreement (judge<->human calibration)
- Stage R2.6: Per-step goal/outcome channel (StepOutcomeEvent)
- Stage R2.10: DerivedEvent hierarchy + StepCostEvent + analysis.jsonl sidecar
- Stage R2.8: First-class Gemini capture (gemini-cli-capture module)
- Stage R2.7: Move portable TraceWriter into journal-core
- Stage R2.5a: Delineate sub-agent spawns (interiors are out-of-stream)
- Stage R2.4: Emit derived step_cost lines into the trace (epic gate)
- Stage R2.3b: Per-step cost attribution + JournalStep
- Stage R2.3a: Stable step identity for events (fixes subjectId fragility)
- Stage R2.2: Per-turn usage capture (TurnUsage + ModelCost from rawJson)
- Stage R2.1: Consume rawJson — verbatim raw trace line (rawMode=NONE|FULL)
- Stage R2.0: Bump claude-code-sdk to 1.4.0 (unblocks rawJson consumption)
- CI: enforce OWASP CVE gate via reusable security-scan workflow
- Add OWASP dependency-check CVE gate (-Powasp) + Trivy security-scan script
- docs: version pins to 1.4.0
1.4.0 (2026-06-06)
- Fix CI: build on Java 21 to match claude-code-sdk artifact class version
- Steps 1.1-1.2: TraceWriter v2 content capture with TraceContentMode
1.3.0 (2026-06-04)
- Include tool inputs in TraceWriter JSONL and escape control characters
1.2.0 (2026-05-19)
- Add feedback event type, eval subjects, and feedback service
1.1.0 (2026-05-15)
- Update claude-code-sdk dependency to released 1.1.0
- Skip tests on snapshot publish — CI handles test validation
- Update the
claude-code-sdkdependency and imports to itsio.github.markpollackcoordinates
1.0.1 (2026-04-30)
- Bump version to 1.0.1-SNAPSHOT
- Open JournalEvent to external implementations; add registerEventType API
- Update README: released version 0.9.0
- Fix release workflow: add contents write permission for git tagging
0.9.0 (2026-03-29)
- Initial release.