You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Feat]: Improve version identification across all MemMachine artefacts and deployments #915
Currently, version identification for MemMachine artefacts and running instances is inconsistent, making it challenging to determine which version a component or container reflects. Users building from main or running containers can't easily tell which GitHub release/tag or commit their instance was built from. This leads to confusion in compatibility, troubleshooting, and upgradeability—especially for Docker images, where tags like latest-cpu and latest-gpu do not provide version granularity. Other mature projects such as Neo4j and Postgres always include explicit versions in Docker image tags and log startup output, creating much better traceability.
Describe the solution you'd like
Implement a system so every MemMachine component (including server, Python SDK, plugins, etc.) derives and exposes a consistent version string from the latest GitHub tag or release, or from a helper introduced for issue #830. The version string should be visible anywhere a user might interact:
Docker images: Publish images as memmachine/memmachine:vX.Y.Z-cpu, memmachine/memmachine:vX.Y.Z-gpu, as well as updating latest-cpu and latest-gpu (as floating tags). Use the commit SHA as a fallback when not on a tagged commit.
Application logs: When the app/server starts (via Docker Compose or scripts like memmachine-compose.sh), log the version (with commit hash if not exactly on a release).
CLI: Add a memmachine --version command to report the running version regardless of install method.
The main gap is that end-users (or support/dev team) who run MemMachine containers may not see the version string of the running instance easily in logs, CLI, or API.
If a user pulls memmachine/memmachine:latest-gpu and runs it, the logs should show MemMachine version: v0.2.2-gpu (built from commit 26161e45fbce) or similar.
CLI Version Reporting:
Running memmachine --version in a container (or installed software) should return the version string derived from the build/tag/git SHA.
This helps users know exactly what they're running, rather than guess based on the tag.
Fallback to Commit SHA:
If the build is not on a tagged release, display the commit SHA transparently in all reporting locations (logs/CLI/API).
Activity
sscargal commentedon Jan 7, 2026
Current State
latest-*): Present for convenience, but less traceable.vX.Y.Z-*): Available; users can pull specific versions.See available images and tags on Docker Hub
Gaps and Possible Enhancements
Application/log-level version visibility:
memmachine/memmachine:latest-gpuand runs it, the logs should showMemMachine version: v0.2.2-gpu (built from commit 26161e45fbce)or similar.CLI Version Reporting:
memmachine --versionin a container (or installed software) should return the version string derived from the build/tag/git SHA.Fallback to Commit SHA:
Version API/SDK Propagation:
Consistent Startup Messaging:
Recommendations
Here’s how we might fulfill this issue based on what’s already implemented, and next steps:
--versionoption, print out the version + commit SHA.Example Implementation (Pseudo-Python for Startup Log/CLI):
And in Dockerfile:
sscargal commentedon Jan 16, 2026
Fixed by #951