Skip to content

Releases: TencentCloud/octop-memory

Release list

v1.0.1

Choose a tag to compare

@github-actions github-actions released this 09 Oct 13:28
08233c0

修复

  • 线程 ident 复用时关闭被丢弃的 SQLite 连接,短命线程不再累积 fd 并最终进入不可恢复的 disk I/O error(TencentCloud/Octop#1339)。
  • PostgreSQL 空闲连接不再长期占用:连接建立时申请 idle_session_timeout(PostgreSQL 14+,旧版本自动降级);本地按同一阈值主动关闭并重拨,不必等下一条语句。checkpointer 连接池 min_size 改为 0,空闲超过 max_idle 后关闭。常驻 agent 不再永久持有 1–2 个连接(TencentCloud/Octop#1795)。小时 checkpoint 裁剪在打开连接池之前会拒绝已空闲的 Postgres backend。
  • checkpointer 连接池在取出连接时做存活性探测,丢弃服务器已关闭的连接并重建(TencentCloud/Octop#1172)。
  • 提炼补全默认带 max_tokens 预算(2048);调用方传入 None 视为未设置并回落到该默认值,避免推理模型占满上下文并超过读取超时(TencentCloud/Octop#1360)。
  • 提高删除后与空闲维护的 SQLite 增量 vacuum 页数,避免 300 页的小时预算在大批删除后追不上。compact 统计计入 SQLite 主库、WAL 与 shm,Postgres 则报告数据库大小与回收字节。

变更

  • 发版时同步检查多语言 README 版本。

What's Changed

  • chore: sync main into develop after 1.0.0 by @github-actions[bot] in #2
  • fix(sqlite): close the orphaned connection when a thread ident is reused by @vicfei in #5
  • fix(postgres): probe checkpointer pool connections on checkout by @vicfei in #3
  • docs(publish): sync version checks across localized READMEs by @jubaoliang in #4
  • fix(memory): bound extraction completions with a default max_tokens budget (TencentCloud/Octop#1360) by @haiyu614 in #6
  • fix(postgres): release idle connections instead of holding them forever by @fengyue-xve in #7
  • fix(vacuum): reclaim more SQLite pages after deletes and on idle main… by @Bosheng0422 in #8
  • fix(postgres): close idle connections without waiting for the next query by @Bosheng0422 in #11
  • polish vacuum by @Bosheng0422 in #12
  • chore: release 1.0.1 by @Bosheng0422 in #13

New Contributors

Full Changelog: v1.0.0...v1.0.1

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 24 Sep 09:53
8b6abc3

新增

  • 首个 1.0.0 正式版本发布到 PyPI。

变更

  • 对齐 Octop:引入 develop 集成分支策略;禁止直推 main/develop;发版后由 sync-main-to-develop.yml 同步;新增 /publish skill(发版同步 CHANGELOG / README)。

Changed

  • Rename the project and distribution to octop-memory, the Python package to octop_memory, and host plugin IDs to octopmemory.
  • Rename CLI entry points, environment variables, default paths, and the PostgreSQL shared schema. Existing installations require explicit migration; see the migration guide.
  • Update host adapters, build metadata, examples, documentation, and the README banner. SQLite checkpoint and portable package formats remain unchanged.
  • 最低 Python 版本提升到 3.12,与 Octop 基线对齐;核心、Hermes 包声明、开发环境与 CI 同步调整,Python 3.11 不再受支持。

Documentation

  • README banner 改用仓库相对路径,补充代码目录与记忆数据流;明确 Candidate 可自动处理、EntityPage 按触发再生成、Episode 为独立提炼流程。
  • 清理个人工具配置、重复发布 skill 和私人数据库诊断脚本;合并基础/树示例为公共 API 临时库演示,保留合成 recall eval 并明确指标与覆盖限制。
  • 合并 OpenClaw/Hermes 安装、配置和排错到 docs/integrations.md;贡献入口集中到 CONTRIBUTING,AI 规则集中到 AGENTS;保留精简、脱敏的 docs/agent/ Harness 澄清、决策与交接流程。

Added

  • 新增宿主协调的 SQLite/WAL 在线 checkpoint 瘦身:一致备份、并发安全的批次去重和显式空间回收结果,不删历史或共享正文。scripts/memory-slim --online AGENT 调用运行中的新版 Octop 显示维护提示并协调暂停/恢复,不能用于旧 reader。

  • 新增 db slim FILE 简单瘦身入口:默认只读预览;--apply --offline 自动备份、复用 checkpoint 重复字段并回收文件空间,不删除历史。提供本地源码启动器 scripts/memory-slim。

  • SQLite checkpoint 默认复用重复的 skills_metadata / workspace_file_contents(工作区文件内容;底层字段仍为 DeepAgents 的 memory_contents)内容版本,兼容读取旧 inline 快照;OCTOP_MEMORY_CHECKPOINT_DEDUP=0 可关闭新增引用写入。新增 db checkpoints 只读预览、离线批量迁移、保守历史裁剪、压缩及 --expand 格式回退。新格式须使用兼容读端,不能直接回退旧二进制;详见 Checkpoint 维护。

Fixed

  • SQLite checkpoint 解码器支持为独立只读连接创建专用实例与缓存,供宿主安全回填历史;离线裁剪逐条释放正文,避免内存按重复正文总量增长。补充 SQLite/真实 PostgreSQL 重开后审批恢复且不重复已完成步骤的对照测试。

  • Episode 时间统一为 UTC:LLM 返回不带时区的 occurred_at 时不再把 naive datetime 写入存储;SQLite/PostgreSQL 写入和查询边界统一规范化为 UTC,SQLite 读取历史 naive Episode 时也会兼容转换。Dashboard 对 Episode 的两个排序入口增加 UTC 防御,避免混合 naive/aware 历史数据触发 TypeError: can't compare offset-naive and offset-aware datetimes 并让情绪日记页面显示为空。

What's Changed

New Contributors

Full Changelog: https://github.com/TencentCloud/octop-memory/commits/v1.0.0