-
v6.4.2 Stable
released this
2026-07-19 23:26:07 +00:00 | 4 commits to main since this releaseThe 6.4 line lands on main: skills that travel between instances, skills that propose themselves, and a test suite that now covers 99.9% of the codebase. This release rolls up 6.4.0 through 6.4.2.
Skills move between instances (6.4.0)
Every skill on the web UI gains an Export button that downloads the skill together with all the source memories it was compiled from as a single zip bundle — self-describing, with a format version and a sha256 checksum for every file, the skill as both JSON and human-readable SKILL.md, and one JSON file per source memory. An Import Skill button takes such a bundle into another OmniMem instance: validated end to end, previewed before anything is written, and strictly additive — existing skills and memories are never overwritten, so replaying a bundle is a no-op. Embeddings never travel; everything is re-embedded on the receiving instance.
Skills propose themselves (6.4.1)
At most once a day, a
briefing()runs an auto skill scan across all projects. Domains with no compiled skill whose lessons already clear the reinforcement gate get a draft proposed automatically — by default only when a rule spans two or more projects, the strongest signal a lesson deserves to become policy. Skills whose sources have changed get a fresh draft compiled so the diff is ready to review. The scan only ever creates proposal stashes, so the propose-and-accept gate is untouched and a human still commits every draft. Ignoring a draft declines it: the identical draft is never raised twice, and it only comes back when the underlying lessons change. Tunables:SKILL_SCAN_INTERVAL_HOURS,SKILL_SCAN_CROSS_PROJECT,SKILL_SCAN_MIN_POOL,SKILL_SCAN_MAX_PROPOSALS.Test coverage rose from 90% to 99.9% (6.4.1)
The suite grew from 1032 to 1291 tests and every application module now sits at 100% line coverage, including code that had never been imported by a test at all: the MCP server entry point (Host/Origin allowlist derivation, the fail-closed public-bind check), the on-connect instructions, and the RSS worker's scheduler. The pass also caught tests that were passing while asserting nothing; all now assert unconditionally and are deterministic regardless of Python's hash seed.
Web UI fixes (6.4.2)
- The articles page shows which feed each article came from instead of a project column that said the same thing on every row
- Articles list in the order they arrived (
created_at), so startup migrations no longer shuffle them - The compiled skills table stays inside the page: long domain names wrap at their hyphens, badges stay in their columns, and the action buttons stack instead of pushing past the edge on narrow viewports
Also fixed
- One corrupt
updated_attimestamp no longer takes down the whole /memories page install.shno longer hangs undercurl | bash, and shows numbered step-by-step progress- Security scans run clean: bandit false positives on deliberate
0.0.0.0test fixtures and a gitleaks false positive (the "key" in "valkey") are suppressed with targeted annotations
Self-hosted, open source, runs on Docker Compose. Python 3.12, FastMCP, Valkey.
Full detail in CHANGELOG.md.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads