Releases: djkeshawa/visp-memory
Release list
Visp Memory 0.7.5
This release repairs scoped semantic recall, improves paraphrase ranking and task-brief abstention, and makes dashboard note eligibility clearer.
What changed
- Fix Chroma compound metadata filters so project-scoped semantic queries execute instead of silently falling back to keyword search.
- Preserve strong semantic matches when a paraphrase shares no words with the stored note. Reuse each query embedding across memory layers.
- Require query evidence before using direct retrieval candidates as task-brief seeds; importance and recency alone no longer admit incidental substring matches.
- Build the Ollama Compose overlay with both the Ollama provider and Chroma vector index.
- Use Nomic's document/query retrieval prefixes in separate versioned SQLite vector collections, with accurate reindex diagnostics.
- Explain why dashboard/API notes remain searchable but are excluded from task briefs, and document how to record a personally reviewed conclusion with a source through the local CLI.
- Refresh the dashboard lockfile to Next.js 16.3.5, Sharp 0.35.4, and patched browser-mapping data, resolving the three npm advisories found during release validation.
Install or upgrade
pip install --upgrade "visp-memory[api,mcp,capture]==0.7.5"
docker pull ghcr.io/djkeshawa/visp-memory:0.7.5The standard image continues to support keyword recall without a model. For local semantic search, build with the Ollama overlay as described in the installation guide; it installs the optional provider and vector index and reuses cached model layers.
Back up your data and recreate containers with their existing data volumes. SQLite users of nomic-embed-text must rebuild the embedding index after upgrading, using Settings → embedding diagnostics to preview and rebuild existing notes. The active vectors use a new versioned collection; notes and legacy vectors are retained. Refresh open dashboard tabs.
There are no SQLite schema changes. API/dashboard notes retain external provenance; marking them active does not make them eligible for automatic context. Review the trust guide and unchanged feature status.
Evaluation limits
On the existing small local Docker fixture, original paraphrase recall improved from 1/4 to 4/4 expected-note hits. Five additional answerable questions found their expected notes, and all four unanswerable questions produced empty recall and abstaining briefs. This measures retrieval behavior, not demonstrated coding benefit. Extra context still appears; median sequential recall-plus-brief time was 3.55 seconds on local CPU.
Validation and identity
The isolated release source passed 1,829 Python tests with 17 optional integration tests skipped, 44 browser tests, Ruff, TypeScript, lockfile validation, and the production dashboard build. Production npm audit reported zero known vulnerabilities. The complete release gate validated fresh wheel/sdist metadata, license/NOTICE files, bundled dashboard assets, and installation with CLI/API/MCP dependencies. The disposable CLI capture/recall walkthrough and packaged Chromium smoke also passed.
Source commit: 82b153abd6b1e7b6960fabad361ba69afe1633c2.
All eight release workflow jobs passed. All five GitHub downloads were verified against their published SHA-256 digests; the wheel and sdist also match PyPI byte-for-byte. The attached SHA256SUMS lists their checksums.
The published wheel passed fresh-install CLI capture/recall and HTTP/Chromium dashboard smoke checks. The downloaded Linux standalone passed version, readiness, dashboard, and storage checks in cached Ubuntu 24.04. macOS and Windows passed their CI build checks; their downloaded archives were verified and inspected, but were not executed locally.
Container identity (Linux/amd64): ghcr.io/djkeshawa/visp-memory@sha256:20611371cf4901c9adc3a2c60592ba10fdb8b574c0de8f85475652aa1789c32b. The registry's OCI version and source revision match this release.
The published container passed the disposable runtime test for readiness, bundled dashboard serving, non-root execution, and memory persistence across container recreation. An initial local download stalled; retrying the verified digest succeeded.
Visp Memory 0.7.4
This release fixes restricted-token authorization, scoped recall, hook previews, and dashboard memory management.
What changed
- Enforce personal access token permissions independently of administrator account roles, including relationship mutations, protected content, workflow operations, and status totals.
- Rank keyword candidates before limiting results and refill through final eligibility and score checks. Repository context respects time, environment, and task scope.
- Keep hook previews read-only, report installation failures accurately, handle malformed markers safely, and exclude generated context from instruction capture.
- Require matching merge previews, prevent project-switch races, and add pagination to memory management.
- Add an isolated
visp-memory demowalkthrough and clearer injection selection explanations. - Run browser regressions in CI, synchronize frontend dependencies from the lockfile, validate fresh release artifacts, and retire the obsolete release helper.
Install or upgrade
pip install --upgrade "visp-memory[api,mcp,capture]==0.7.4"
docker pull ghcr.io/djkeshawa/visp-memory:0.7.4See the installation guide for persistent storage and account setup. Recreate containers using their existing data volumes, then reload open dashboard tabs.
There are no storage schema changes. Reduced tokens may now reject operations that exceeded their granted permissions. SQLite remains the default and optional backend/support levels are unchanged; see feature status. Updated retrieval benchmarks measure selection behavior, not demonstrated coding benefit.
Validation and identity
The clean release source passed 1,815 Python tests with 17 optional integration tests skipped, all 44 browser tests, Ruff, TypeScript, and normal production builds. Production npm audit reported no known vulnerabilities. The complete release gate verified fresh distributions, metadata, bundled dashboard assets, and installation with CLI/API/MCP dependencies. An isolated CLI capture/recall walkthrough passed. The skipped tests require optional ArcadeDB, Neo4j, or Docker integration environments.
Source commit: db3b1f51e885f4cedd5cbe95765234fed923d5cf.
Container identity: ghcr.io/djkeshawa/visp-memory@sha256:97c159c3c936485833ac21f351d47b5af499cfec2f0826a792b9ce780b2fdc2b. Its OCI version and revision match this release. The published image passed the deployment test for readiness, non-root execution, and memory persistence across container recreation.
The published wheel passed fresh-install CLI capture/recall and dashboard browser smoke checks. The downloaded Linux standalone passed version and 20 HTTP checks in Ubuntu 24.04. Linux standalone requires glibc 2.38 or newer; this host's glibc 2.35 cannot execute it natively. macOS and Windows builds passed their CI checks; their downloaded archives were inspected but not executed locally.
All eight release workflow jobs passed. All five GitHub release downloads were verified against their published SHA-256 digests, and the Python artifacts also match PyPI. The attached SHA256SUMS lists their checksums.
Visp Memory 0.7.3
Blue accents now stay consistent when navigating between dashboard pages, in both dark and light appearance.
What changed
- Links, page icons, selected memories, setup choices, and sliders share the same subtle blue accent.
- Charcoal surfaces, neutral primary buttons, and saved theme preferences retain their existing appearance.
- Browser regression checks cover page navigation, selection colors, and reloads in both themes.
- Installation examples now point to 0.7.3.
Install or upgrade
docker pull ghcr.io/djkeshawa/visp-memory:0.7.3
pip install --upgrade "visp-memory[api,mcp]==0.7.3"See the installation guide for persistent storage and account setup. Recreate existing containers using their existing data volumes, then reload open dashboard tabs.
There are no storage schema changes. SQLite remains the default; Neo4j remains an optional beta. Linux standalone downloads require glibc 2.38 or newer; Docker and Python installations are also available.
Validation and identity
The isolated release passed 1,706 Python tests with 16 optional tests skipped, all 38 browser tests, Ruff, TypeScript, and production builds. Production npm audit reported no known vulnerabilities. Distribution metadata, bundled dashboard assets, fresh-wheel installation, and packaged HTTP/browser smoke checks passed.
Source commit: 8fba65b46e1f6928d3446c75fbe9f55df09408a4.
Container identity: ghcr.io/djkeshawa/visp-memory@sha256:443536676305c3fc9fecf67f1947af63435b941e37d1e1d793bd0eaa1f1a877c. The published wheel passed a fresh-install dashboard smoke test. The published Docker image was verified, and all platform build jobs passed.
All five GitHub release downloads were verified against their published SHA-256 digests; Python artifacts also match PyPI. The attached SHA256SUMS lists their checksums.
Visp Memory 0.7.2
The dashboard now defaults to a charcoal appearance with restrained blue highlights and a cleaner overview.
What changed
- Neutral dark surfaces, soft white primary actions, and subtle blue accents for navigation, recall, links, and focus states.
- A compact introduction, grouped memory totals, quieter navigation, and consistent controls.
- Dark appearance for new sessions, while preserving saved theme preferences and the light-mode option.
- Updated dashboard screenshot and Docker installation examples. The README screenshot uses a release-specific URL so it also renders on PyPI.
Install or upgrade
docker pull ghcr.io/djkeshawa/visp-memory:0.7.2
pip install --upgrade "visp-memory[api,mcp]==0.7.2"See the installation guide for persistent storage and account setup. Recreate existing containers using their existing data volumes, then reload open dashboard tabs.
This update introduces no storage schema changes. SQLite remains the default; Neo4j remains an optional beta. Existing feature maturity and benchmark limits are unchanged. Linux standalone downloads require glibc 2.38 or newer; Docker and Python installations provide alternative deployment paths.
Validation and identity
The isolated release passed 1,706 Python tests with 16 optional tests skipped, all 36 browser tests, Ruff, TypeScript, and production builds. Production npm audit reported no vulnerabilities. Wheel/sdist metadata, bundled assets, fresh-wheel installation, and packaged HTTP/browser smoke checks passed.
Source commit: 386e6e33ce7dcb10a7cbd818022e40170ffb98f1. Attached SHA256SUMS identifies all five release downloads.
Container identity: ghcr.io/djkeshawa/visp-memory@sha256:6c0787d11ab713921e825ea09ccbdc642e518e71afba0c5bd1305d6b22d6f250. The published wheel was installed and smoke-tested in a fresh environment. Published Docker version, dashboard styles, and non-root execution were verified.
Visp Memory 0.7.1
The dashboard has a calmer visual design, clearer navigation, and more consistent controls across desktop and mobile.
What changed
- Refined overview, typography, spacing, cards, buttons, inputs, and dialogs.
- Updated light and dark palettes, compact navigation, and the recall layout.
- Fixed the first theme-toggle click when following system appearance and improved search accessibility on narrow phones.
- Replaced the documentation screenshot with the current dashboard using sample data, and updated Docker installation examples.
Install or upgrade
docker pull ghcr.io/djkeshawa/visp-memory:0.7.1
pip install --upgrade "visp-memory[api,mcp]==0.7.1"See the installation guide for persistent Docker storage and account setup.
This update introduces no storage schema changes. Preserve existing data volumes when recreating containers. SQLite remains the default; Neo4j remains an optional beta. Existing feature maturity and benchmark limits are unchanged. Linux standalone downloads require glibc 2.38 or newer; Docker and Python installations provide alternative deployment paths.
Validation
All 35 dashboard browser tests passed, including desktop, dark mode, mobile, keyboard navigation, and authentication flows. Production npm audit reported no vulnerabilities. Python distribution metadata, bundled dashboard assets, fresh-wheel installation, and packaged HTTP/browser smoke checks passed.
The isolated release suite passed 1,702 tests with 20 optional tests skipped; Ruff and TypeScript checks passed.
Source and artifacts
Source commit: 913690edc1edf5afc108dd40772281a74c564362. The attached SHA256SUMS file identifies the standalone downloads. Python packages are published to PyPI; the container is published to GHCR.
Docker image digest: ghcr.io/djkeshawa/visp-memory@sha256:0e3e3ea2b503646da84ee8a17bb5d9b716ec6e7526847b1d0615a1b91dd694ea. The published wheel was installed and its dashboard smoke-tested; Docker CLI, bundled dashboard, and non-root runtime were verified.
Visp Memory 0.7.0
SQLite stays the default. This release adds an opt-in Neo4j backend and consolidates the public documentation around installation, architecture, and everyday use.
What's new
- Neo4j beta: immutable Evidence records, same-project citations, governed beliefs, keyword/native-vector recall, and evidence-backed corrections. Captures, citations, and explicit lineage commit together.
- Workflow completion: SQLite and Neo4j share the same ordered report rules, reporter binding, and completion history. Completion comes from your assistant or external workflow.
- Dreaming on Neo4j: durable schedules, atomic cleanup journals, review, and undo. SQLite behavior is retained.
- Optional Docker deployment:
docker-compose.neo4j.ymlprovides authentication, health checks, separate persistent graph/application volumes, and no silent fallback to SQLite. - Recovery tools: explicit graph backup, empty-database restore, and migration of marked legacy Neo4j schema 4/5 stores with a backup before changes.
- Clearer documentation: one documentation index, shorter guides, and architecture/data-flow diagrams.
Standalone compatibility
The Linux standalone requires glibc 2.38 or newer; its downloaded checksum and version smoke test were verified on Ubuntu 24.04. It will not start on older Linux distributions such as Ubuntu 22.04; use the Python package or Docker image there. macOS and Windows archives are smoke-tested on their respective GitHub build runners.
Install or upgrade
pip install --upgrade "visp-memory[api,mcp]==0.7.0"
docker pull ghcr.io/djkeshawa/visp-memory:0.7.0For a Python Neo4j server, include the neo4j extra. For Docker, use the Neo4j Compose file from this tag and set a unique NEO4J_PASSWORD:
VISP_MEMORY_IMAGE=ghcr.io/djkeshawa/visp-memory:0.7.0 \
docker compose -f docker-compose.neo4j.yml --profile neo4j up -d --waitSQLite installations need no backend change. Switching the backend setting does not copy SQLite data. Neo4j remains beta; portable memory-pack import/export is unavailable. Back up both the graph and the application data volume, which holds accounts and the lifecycle journal. Legacy Neo4j migration preserves IDs/history and marks old content as unverified snapshots; it never invents signed authority.
See the installation guide and Neo4j backup/migration guide.
Verification
The isolated release snapshot passed 1,717 tests (including 11 real Neo4j integration cases), Ruff, dashboard lint/build, a production dependency audit with zero findings, distribution/license checks, fresh-wheel installation, and CLI/dashboard smoke tests.
Source commit: b15af012359d1b8a19540258ac1e5f44d6054408.
Published container (Linux amd64): ghcr.io/djkeshawa/visp-memory@sha256:3037de3246520100fafdb270ac33d02ec09abf4d25e444e259c6e67c3f4797cc.
Artifact SHA-256 hashes are provided in the attached SHA256SUMS. GitHub and PyPI wheel/source hashes match.
Visp Memory 0.6.0
Visp Memory 0.6.0 adds scheduled memory care and explicit completion updates from your assistant or workflow.
What's new
- Dreaming dashboard: preview or schedule memory-care cycles per project. Exact duplicate episodic notes can be merged automatically with undo; related notes, possible contradictions, and expired information become review suggestions. Original content and evidence are retained.
- Follow workflow completion: send ordered status reports through MCP, REST, or the CLI. Intents show the reported status, evidence, checks, and history. Reports are bound to their original workflow and reporter, with safe retries.
- First-run setup: create the initial administrator using a one-use code from the server startup log, then follow the search setup guide.
- Clearer recall: see the retrieval method, matching words, evidence links, and stale or conflicting-memory flags.
- Storage maintenance: new offline backup and schema-upgrade commands preserve accounts, journals, and local indexes, with a checksum manifest.
Install
pip install 'visp-memory[api,mcp]==0.6.0'docker pull ghcr.io/djkeshawa/visp-memory:0.6.0The Docker image targets Linux amd64. Standalone downloads are available for Linux, macOS, and Windows in the release assets.
Upgrade notes
Back up your existing data before replacing a running installation. Existing accounts and project data remain compatible; the new setup flow is for stores without an account. New installations do not have a shared default password.
Dreaming and workflow status reports currently require SQLite storage. Dreaming schedules start paused on new installations and can be enabled per project. The server must remain running for scheduled cycles. Dreaming uses deterministic comparisons, without an LLM or embeddings; semantic consolidation remains a review step.
Your assistant or workflow must send completion reports explicitly. Visp Memory does not infer authoritative completion from memory text or independently verify the reported checks.
See Dreaming and Workflow reports for setup and limits.
Validation and provenance
- Release commit:
0aeb28e. - Local release validation: 1,707 Python tests passed, 6 skipped; 33 browser tests passed; lint, production build, dependency audit, package metadata, packaged dashboard, and fresh installation checks passed.
- Release workflow.
SHA256SUMSlists GitHub's SHA-256 digests for the downloadable assets. The published PyPI wheel was also downloaded and checked against its PyPI and GitHub digests.- Docker image digest:
sha256:e3f952a5275bfbe0487452a14bce750c13f4c6dd5ed332c9f38310099f9d9903.
Visp Memory 0.5.1
Visp Memory 0.5.1
This release refreshes the memory dashboard, requires a valid session before
showing authenticated dashboard content, and improves container builds and startup.
It also includes the committed retrieval, repository isolation, session ownership,
and packaging fixes since 0.5.0.
Changes
- Redesigned overview, recent activity, project navigation, and mobile sidebar,
with clearer loading, error, keyboard focus, and light/dark states. - Login before dashboard access, return to the requested page after sign-in,
and redirects when sessions expire. Authentication failures offer a retry. - Cached, lockfile-based Docker dependency installation, a non-root runtime,
bounded health checks, graceful shutdown, and persistent storage. - An optional Ollama Compose overlay waits for the selected embedding model.
- Repository-scoped retrieval, owner-bound sessions, defensive evidence handling,
and corrected standalone and Python distribution packaging.
Install
pip install --upgrade 'visp-memory[api,mcp]==0.5.1'The container is ghcr.io/djkeshawa/visp-memory:0.5.1. Standalone archives provide
the CLI, API, and dashboard; use the Python package or container for MCP.
Upgrade and data safety
This release uses SQLite storage schema 5. Stop writers and back up the entire
storage directory, including authentication and lifecycle databases, before an
upgrade. Existing schemas 2, 3, and 4 require explicit migration; startup will
refuse them until migration completes. Rehearse on a copy first. With 0.5.1
installed, replace the paths below with the actual storage directory and a new,
nonexistent backup filename:
from pathlib import Path
from visp_memory.core.storage import LocalStorage
LocalStorage.migrate_schema(
Path('/path/to/storage'),
backup_path=Path('/path/to/backups/memories-before-0.5.1.db'),
)Preserve existing Docker volume mappings. Do not use down --volumes when
upgrading. Older application versions may refuse the migrated schema; recovery
requires the pre-upgrade backup.
There are no default account credentials. Create the first administrator with
visp-memory admin create --username admin, or configure the bootstrap variables
as described in the authentication guide. Local accounts and data are not shipped.
Limits
Feature maturity remains unchanged; this release does not promote experimental
or frozen backends. SQLite is the default. Without a configured embedding provider,
recall can fall back to keyword search. A configured provider alone does not create
a vector index. Memory supplies cited knowledge and never authorizes actions;
the retrieval policy does not call an LLM. These changes do not establish a coding
performance benefit.
Publication produces Python distributions, platform standalone archives, and a
container image. Refer to the GitHub release for the source commit, artifact
checksums, and publication status.
Verification and identity
- Source commit:
7088261ccabdfb37d2752182a222264e9a6a33c4. - Local release gate: 1,658 Python tests passed; 5 skipped.
- Dashboard browser suite: 26 passed; packaged desktop/mobile smoke passed.
- Docker configuration, context exclusion, and persistence checks: 7 passed.
- Production dashboard dependency audit: no advisories at release validation.
- Wheel/sdist metadata and license checks, fresh-wheel install, and CLI record/recall smoke passed.
- Published PyPI wheel independently installed and verified: unauthenticated API requests refused, login redirect and sign-in succeeded, dashboard rendered.
Artifact SHA-256 hashes are supplied in the attached SHA256SUMS file.
Published container digest: ghcr.io/djkeshawa/visp-memory@sha256:900cc5aabae97f44bc6e1af64384cfb855e5bddbda35d899703e4a101909552a.