Skip to content

fix(deps): bump mem0ai exact pins from 2.0.10 to 2.0.19 - #98416

Closed
salch-cred wants to merge 1 commit into
NousResearch:mainfrom
salch-cred:fix/mem0ai-pin-bump-2.0.19
Closed

salch-cred wants to merge 1 commit into
NousResearch:mainfrom
salch-cred:fix/mem0ai-pin-bump-2.0.19

Conversation

@salch-cred

Copy link
Copy Markdown

Summary

Both mem0ai install paths in the repository were pinned to 2.0.10 (June 2026) while the current stable release is 2.0.19. The plugin manifest already accepted >=2.0.10,<3, but eager installs (project extra) and lazy installs (tools/lazy_deps.py) both resolved the stale pin.

Changes

File Change
pyproject.toml mem0 = ["mem0ai==2.0.10"] → mem0ai==2.0.19
tools/lazy_deps.py "memory.mem0": ("mem0ai==2.0.10",) → mem0ai==2.0.19
uv.lock Regenerated with uv lock --upgrade-package mem0ai — only mem0ai moves
pyproject.toml [tool.uv] Added mem0ai = false to exclude-newer-package so the 14-day cutoff does not brick installs of the newly-reviewed pin

Compatibility evidence

  • Python support unchanged: >=3.10,<4.0
  • Base runtime dependencies unchanged between 2.0.10 and 2.0.19
  • Memory.update(data=...) (the spelling Hermes uses at the adapter boundary) remains a supported alias
  • No lock movement outside mem0ai itself

What was not changed

The plugin manifest (plugins/memory/mem0/plugin.yaml: mem0ai>=2.0.10,<3) retains its broader compatibility range — no evidence requires raising the minimum above 2.0.10 for supported setups.

Fixes #98407.

The project-extra and lazy-install paths both pinned mem0ai==2.0.10
(June 2026), while the plugin manifest already accepted >=2.0.10,<3.
mem0ai 2.0.19 is the current stable release.

Changes:
- pyproject.toml [project.optional-dependencies] mem0 extra: 2.0.10 -> 2.0.19
- tools/lazy_deps.py memory.mem0 lazy feature: 2.0.10 -> 2.0.19
- uv.lock: regenerated with 'uv lock --upgrade-package mem0ai'
- [tool.uv] exclude-newer-package: add mem0ai = false so the 14-day
  cutoff does not brick installs of the newly-reviewed pin

Upstream compatibility: Python support, base runtime deps, and the
Memory.update(data=...) spelling Hermes uses are all unchanged
between 2.0.10 and 2.0.19.  No lock movement outside mem0ai itself.

The plugin manifest (mem0ai>=2.0.10,<3) is not changed.

Fixes NousResearch#98407
@salch-cred
salch-cred requested a review from a team August 30, 2026 06:59
@alt-glitch alt-glitch added type/bug Something isn't working P3 Low — cosmetic, nice to have comp/plugins Plugin system and bundled plugins tool/memory Memory tool and memory providers dependencies Pull requests that update a dependency file area/install-update Installer, updater, packaging, wheels, doctor labels Aug 30, 2026
@GodsBoy

GodsBoy commented Aug 30, 2026

Copy link
Copy Markdown

Independent verification for this exact diff:

  • uv lock --check passed.
  • The focused 10-file metadata, lazy-install, setup, backend, provider, and Mem0 suite completed with 159 passed, 0 failed, and 1 Windows-only skip.
  • A credential-scrubbed environment created from the frozen lock installed exact mem0ai==2.0.19.
  • tests/plugins/memory/test_mem0_backend_integration.py passed against that installed package without skipping.
  • ruff check tools/lazy_deps.py and ty check tools/lazy_deps.py passed. ty reported two pre-existing unused-ignore warnings.

I opened #98420 after a pre-create race missed this PR. I am closing that later duplicate in favor of this one.

@GodsBoy GodsBoy mentioned this pull request Aug 30, 2026
11 of 19 tasks
teknium1 added a commit that referenced this pull request Sep 22, 2026
…mes list-typed files and reads hooks:

- hindsight-client==0.6.1 / mem0ai==2.0.10 exact pins made _is_satisfied() reject every newer
  compatible release, so hermes update kept downgrading a working client and broke embedded
  daemons whose DB a newer client had migrated (#86992, #39424, #98407, #99317). The lazy entries
  now mirror the plugin manifests (>=0.6.1,<1 and >=2.0.10,<3); pyproject extras stay the floor
  install. Slim redo of #99557 (nateEc) / #98416 / #98527 (ttomiczek) / #39754.
- A list-typed plugin.yaml is refused with "top level must be a mapping" instead of an
  AttributeError swallowed as "Failed to parse" (#14066, discovery side).
- ``hooks:`` (the spelling bundled manifests carried) still populates provides_hooks (#108371).
teknium1 added a commit that referenced this pull request Sep 22, 2026
…mes list-typed files and reads hooks:

- hindsight-client==0.6.1 / mem0ai==2.0.10 exact pins made _is_satisfied() reject every newer
  compatible release, so hermes update kept downgrading a working client and broke embedded
  daemons whose DB a newer client had migrated (#86992, #39424, #98407, #99317). The lazy entries
  now mirror the plugin manifests (>=0.6.1,<1 and >=2.0.10,<3); pyproject extras stay the floor
  install. Slim redo of #99557 (nateEc) / #98416 / #98527 (ttomiczek) / #39754.
- A list-typed plugin.yaml is refused with "top level must be a mapping" instead of an
  AttributeError swallowed as "Failed to parse" (#14066, discovery side).
- ``hooks:`` (the spelling bundled manifests carried) still populates provides_hooks (#108371).
@teknium1

Copy link
Copy Markdown
Collaborator

The mem0ai lazy pin is now a range (>=2.0.10,<3) mirroring the bundled manifest, so newer compatible releases are never downgraded.

Superseded by #118841 (merge 74f726c), which credits this PR. Closing.

@teknium1 teknium1 closed this Sep 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/install-update Installer, updater, packaging, wheels, doctor comp/plugins Plugin system and bundled plugins dependencies Pull requests that update a dependency file P3 Low — cosmetic, nice to have tool/memory Memory tool and memory providers type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: Mem0 installs use stale exact pins

4 participants