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
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,16 @@ the GitHub Release body, so a release with no entry here fails.

Versioning follows [docs/versioning.md](docs/versioning.md).

## [0.18.2] - 2026-10-29

### Fixed

- Trajectory JSON snapshots now follow the loop's actual conversation history, including capped and blocked native tool calls, synthetic replies, post-processed result bodies, observer injections, rollbacks and compaction. Awaited trajectory hooks prevent immediate invalid-call results from appearing before their assistant event.
- Assistant messages preserve the normalizer's reasoning policy and native content blocks. Consumers that need flattened text should use `agent_core.messages.text_of(message["content"])`. JSONL continues to retain execution events and original tool outputs, including events later removed from conversation history.
- Routine snapshots reuse the spool prefix by reference. Nested in-place edits are checked against redacted rendered lines after compactor runs, compaction/rollback notices, and on completion or cancellation; inline image base64 is never hashed. Unannounced nested edits by other observers appear at the next deep check or final snapshot. Image redaction, configured body limits and coalesced atomic writes remain in place.
- Diagnostic annotations follow a copied assistant only when it shares mutable content/tool-call containers or blocks with exactly one vanished source and has no competing copy. Cached strings cannot transfer another turn's usage or stop reason. Ambiguous, deep-copied and scalar-only copied messages retain their diagnostics in JSONL when enabled; direct identity bindings remain intact.
- Cyclic or otherwise unencodable host metadata preserves the message's position with `trace_error` instead of freezing later snapshots. Source deduplication uses object identity without recursively comparing message dictionaries. Completion and cancellation force the latest snapshot, and a cancellation after completion preserves the terminal snapshot.

## [0.18.1] - 2026-10-14

### Fixed
Expand Down
1 change: 0 additions & 1 deletion changes/83.fix.md

This file was deleted.

1 change: 0 additions & 1 deletion changes/trajectory-cache-consistency.fix.md

This file was deleted.

2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "apodex-agent-core"
version = "0.18.1"
version = "0.18.2"
description = "Shared, product-neutral runtime primitives for Apodex agents"
readme = "README.md"
license = "Apache-2.0"
Expand Down
2 changes: 1 addition & 1 deletion uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading