What's Changed
- Fix #1540: fix: by @Memtensor-AI in #1824
- Fix #1888: [Bug] test_system_parser.py: SystemParser.init() got an unexpected keyword a by @Memtensor-AI in #1889
- Fix #1525: [Bug] clean_json_response crashes with cryptic AttributeError when given None by @Memtensor-AI in #1884
- Fix #1901: share_cube_with_user passes swapped args to _validate_cube_access — fails for ev by @Memtensor-AI in #1903
- Chore/update workflow stale by @CarltonXiang in #2065
- docs(cn): translate remaining English text in dream.md by @sonimwang in #1893
- refactor(mem-reader): remove dead remove_prompt_example branch in StrategyStructMemReader by @nuthalapativarun in #1794
- docs: clarify API product model descriptions by @Lucas-FManager in #1810
- fix: correct "monitering" typo in task_id field descriptions by @nuthalapativarun in #1931
- fix: quote OpenClaw FTS query terms by @RerankerGuo in #2043
- docs: fix Quick Start examples in Chat & Message API docs to match MemOSClient signatures by @hiasky in #1919
- docs: translate API reference pages by @RerankerGuo in #2053
- fix: align Gemini viewer embedding test by @RerankerGuo in #2050
- fix: add durable Hermes provider link by @RerankerGuo in #2051
- fix: delimit memory context with XML boundary by @RerankerGuo in #2052
- fix: load bridge package version without require by @RerankerGuo in #1992
- fix: log LLM error response bodies by @RerankerGuo in #2012
- fix(skill-crystallize): retry with context when LLM returns empty response by @34262315716 in #2064
- fix: avoid blocking OpenClaw plugin registration by @RerankerGuo in #2044
- fix: bridge startup race, dirty-reward orphan traces, RPC loopback auth by @chiefmojo in #1817
- Fix #2063: algorithm.lightweightMemory.enabled: true does not actually skip evolution pipel by @Memtensor-AI in #2074
- feat: add configurable CJK keyword tokenization by @RerankerGuo in #2040
- feat: route embedding input types by usage by @RerankerGuo in #2024
- feat(memos-local): add data export endpoint and UI (closes #1474) by @owensun6 in #1475
- fix(memos-local-plugin): handle full endpoint paths in openai_compatible probe by @liuhaibin0528 in #1663
- fix: add missing contracts.tools declaration for OpenClaw tool allowlist by @saraphine001 in #1669
- fix: Disable thinking for qwen3 preference extractor by @bittergreen in #2079
- fix: tests for preference extractors by @bittergreen in #2080
- feat(memos-local): make auto-recall Phase 1 search parameters configurable by @yongren-del in #1483
- docs: rewrite README around three usage scenarios + add bilingual README_ZH by @shinetata in #2078
- fix: quarantine stale sqlite native binding by @RerankerGuo in #2049
- fix: tighten skill generation policy prompts by @RerankerGuo in #2014
- fix: publish compiled OpenClaw plugin entry by @RerankerGuo in #2013
- feat(l3): dedicated l3Llm config slot for abstraction pass by @chiefmojo in #1959
- Revert "fix: publish compiled OpenClaw plugin entry (#2013)" by @syzsunshine219 in #2082
- fix: publish compiled OpenClaw plugin entry by @syzsunshine219 in #2084
- Fix #2076: local-plugin v2.0.8: gateway CPU 100% — synchronous full-table vector scan (scan by @Memtensor-AI in #2077
- release: merge dev-v2.0.23 into main by @CarltonXiang in #2085
New Contributors
- @sonimwang made their first contribution in #1893
- @Lucas-FManager made their first contribution in #1810
- @RerankerGuo made their first contribution in #2043
- @34262315716 made their first contribution in #2064
- @chiefmojo made their first contribution in #1817
- @owensun6 made their first contribution in #1475
- @liuhaibin0528 made their first contribution in #1663
- @saraphine001 made their first contribution in #1669
- @yongren-del made their first contribution in #1483
- @shinetata made their first contribution in #2078
Full Changelog: v2.0.22...v2.0.23