What's Changed
- doc: add 0.4.16 release blog post and changelog by @nicoloboschi in #502
- fix: truncate long bank names in selector dropdown by @dcbouius in #505
- fix: refresh bank list when dropdown is opened by @dcbouius in #504
- fix: openclaw tests + split doc-examples CI per language by @nicoloboschi in #503
- doc: document all missing bank config fields in memory-banks.mdx by @nicoloboschi in #508
- Add on_file_convert_complete extension hook after file-to-markdown conversion by @cdbartholomew in #507
- feat: add source facts token limits to consolidation and recall by @nicoloboschi in #509
- refactor: remove dead code and clarify observations vs mental models by @nicoloboschi in #512
- feat: per-request file parser selection with fallback chains by @nicoloboschi in #514
- feat: observation history tracking and diff UI by @nicoloboschi in #513
- feat: mental model history tracking and UI diff view by @nicoloboschi in #516
- doc: Upgrading OpenClaw's Memory with Hindsight by @benfrank241 in #515
- Fix GCS auth for Workload Identity Federation credentials by @cdbartholomew in #518
- feat: change tags for a document by @nicoloboschi in #517
- fix: serialize Alembic upgrades in-process by @cdbartholomew in #521
- Fix Iris parser httpx read timeout by @cdbartholomew in #524
- fix: migrate mental_models.embedding dimension alongside memory_units by @nicoloboschi in #526
- feat: filter operations by type + fix stale auto-refresh closure (#522) by @nicoloboschi in #527
- fix(consolidation): respect bank mission over ephemeral-state heuristic by @nicoloboschi in #525
- docs: add FAQ entry for conversation retain format by @nicoloboschi in #529
- fix: normalize named tool_choice to avoid HTTP 400 on LM Studio / Ollama by @nicoloboschi in #528
- doc: Your Pydantic AI Agent Forgets You After Every Run. Fix It in 5 Lines. by @benfrank241 in #531
- Fix run-db-migration for all-tenant upgrades by @cdbartholomew in #530
- doc: What's New in Hindsight — Document File Upload by @benfrank241 in #532
- doc: split blog index into Hindsight and Hindsight Cloud sections by @nicoloboschi in #534
- fix: strip null bytes from parsed file content before retain by @nicoloboschi in #535
- fix: resolve remaining webhook schema issues in multi-tenant retain by @Andreymi in #533
- feat: manual retry for failed async operations by @nicoloboschi in #537
Full Changelog: v0.4.16...v0.4.17