Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions .github/workflows/full-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -465,6 +465,32 @@ jobs:
run: |
python -m pip install -e .
python -m wavemind init /tmp/wavemind-docker-starter --template docker
python -m pip wheel . --no-deps --wheel-dir /tmp/wavemind-docker-starter
python - <<'PY'
from pathlib import Path

import wavemind

root = Path("/tmp/wavemind-docker-starter")
wheel = next(root.glob("wavemind-*.whl"))
dockerfile = root / "Dockerfile"
source = dockerfile.read_text(encoding="utf-8")
expected = (
"RUN python -m pip install --no-cache-dir "
f"wavemind=={wavemind.__version__}\n"
)
replacement = (
f"COPY {wheel.name} /tmp/{wheel.name}\n"
f"RUN python -m pip install --no-cache-dir /tmp/{wheel.name} "
f"&& rm /tmp/{wheel.name}\n"
)
if expected not in source:
raise SystemExit("generated Dockerfile does not pin the current version")
dockerfile.write_text(
source.replace(expected, replacement),
encoding="utf-8",
)
PY
cd /tmp/wavemind-docker-starter
trap 'docker compose down --volumes --remove-orphans' EXIT
WAVEMIND_PORT=18081 docker compose up -d --build --wait
Expand Down
6 changes: 5 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Notable user-facing and operational changes are recorded here. Git tags,
GitHub Releases, checked evidence artifacts, and package versions remain the
authoritative release sources.

## Unreleased
## [2.9.0] - 2026-07-30

- Added `wavemind init` starter projects for Python, TypeScript, MCP, and
Docker, plus `wavemind doctor` runtime and Experience Packet diagnostics.
Expand All @@ -23,6 +23,8 @@ authoritative release sources.
- Added a frozen 60/30 coding, support, and enterprise benchmark plus a strict
12-check quality admission and weekly evidence refresh.

Release: [WaveMind v2.9.0](https://github.com/CaspianG/wavemind/releases/tag/v2.9.0)

## [2.8.0] - 2026-07-28

- Added a durable MCP memory server with remember, recall, feedback, forget,
Expand Down Expand Up @@ -66,6 +68,7 @@ Release: [WaveMind v2.6.3](https://github.com/CaspianG/wavemind/releases/tag/v2.

| Version | Published | Notes |
|---|---|---|
| [v2.9.0](https://github.com/CaspianG/wavemind/releases/tag/v2.9.0) | 2026-07-30 | Trusted agent experience, safety, portability, and SDKs |
| [v2.8.0](https://github.com/CaspianG/wavemind/releases/tag/v2.8.0) | 2026-07-28 | Adaptive multimodal agent memory and MCP |
| [v2.7.0](https://github.com/CaspianG/wavemind/releases/tag/v2.7.0) | 2026-07-27 | Multimodal lifecycle and public presentation |
| [v2.6.3](https://github.com/CaspianG/wavemind/releases/tag/v2.6.3) | 2026-07-27 | Production Memory OS release |
Expand All @@ -77,6 +80,7 @@ Release: [WaveMind v2.6.3](https://github.com/CaspianG/wavemind/releases/tag/v2.
See the complete [release archive](https://github.com/CaspianG/wavemind/releases)
for earlier versions and attached evidence bundles.

[2.9.0]: https://github.com/CaspianG/wavemind/compare/v2.8.0...v2.9.0
[2.8.0]: https://github.com/CaspianG/wavemind/compare/v2.7.0...v2.8.0
[2.7.0]: https://github.com/CaspianG/wavemind/compare/v2.6.3...v2.7.0
[2.6.3]: https://github.com/CaspianG/wavemind/compare/v2.6.2...v2.6.3
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ claim that one vector database should replace every other system.
| Remote Redis/worker soak | 6 hours, 500/500 cycles, 2,500 attempts, zero failures or state corruption | [`memory_os_remote_worker_soak_results.json`](benchmarks/memory_os_remote_worker_soak_results.json) |
| LongMemEval-V2 protocol | Strict frozen-20 smoke: official per-question haystacks, isolated A/B stores, Core `10%`, Memory OS `10%`; full strict rerun remains gated | [`strict smoke`](benchmarks/longmemeval_v2_frozen20_protocol_results.json) / [`legacy 451-question execution`](benchmarks/longmemeval_v2_small_memory_os_results.json) |
| Core production readiness | `pass`, 39/39 criteria | [`production_readiness_results.json`](benchmarks/production_readiness_results.json) |
| Public package | PyPI and GitHub release `v2.8.0` | [PyPI](https://pypi.org/project/wavemind/) / [release](https://github.com/CaspianG/wavemind/releases/latest) |
| Public package | PyPI and GitHub release `v2.9.0` | [PyPI](https://pypi.org/project/wavemind/) / [release](https://github.com/CaspianG/wavemind/releases/latest) |

Remote multi-region, managed serverless, 100M service evidence, and universal
multimodal admission remain explicitly gated. See
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
project_id = "wavemind-benchmarks"
deployment_id = "wavemind-gcp-regions"
wavemind_image = "ghcr.io/caspiang/wavemind:2.8.0"
wavemind_image = "ghcr.io/caspiang/wavemind:2.9.0"

# Use the public address of the machine or self-hosted runner performing SSH.
ssh_source_ranges = ["203.0.113.10/32"]
Expand Down
4 changes: 2 additions & 2 deletions deploy/helm/wavemind/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ apiVersion: v2
name: wavemind
description: Local-first dynamic memory layer with scheduled cluster repair
type: application
version: 0.3.1
appVersion: "2.8.0"
version: 0.3.2
appVersion: "2.9.0"
keywords:
- ai
- memory
Expand Down
2 changes: 1 addition & 1 deletion deploy/helm/wavemind/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ replicationFactor: 2

image:
repository: ghcr.io/caspiang/wavemind
tag: "2.8.0"
tag: "2.9.0"
pullPolicy: IfNotPresent

nameOverride: ""
Expand Down
2 changes: 1 addition & 1 deletion deploy/remote/inventory.example.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"deployment_id": "wavemind-staging",
"environment": "staging",
"source": "ssh-remote-production-lab",
"image": "ghcr.io/caspiang/wavemind:2.8.0",
"image": "ghcr.io/caspiang/wavemind:2.9.0",
"regions": [
{
"id": "eu-west",
Expand Down
4 changes: 2 additions & 2 deletions deploy/serverless/wavemind-serverless.sample.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
"containers": [
{
"name": "api",
"image": "ghcr.io/caspiang/wavemind:2.8.0",
"image": "ghcr.io/caspiang/wavemind:2.9.0",
"command": [
"wavemind"
],
Expand Down Expand Up @@ -175,7 +175,7 @@
"containers": [
{
"name": "api",
"image": "ghcr.io/caspiang/wavemind:2.8.0",
"image": "ghcr.io/caspiang/wavemind:2.9.0",
"command": [
"wavemind"
],
Expand Down
2 changes: 1 addition & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ services:
context: .
args:
INSTALL_OPTIONAL: "false"
image: wavemind:2.8.0
image: wavemind:2.9.0
restart: unless-stopped
environment:
WAVEMIND_DB: /data/wavemind.sqlite3
Expand Down
3 changes: 2 additions & 1 deletion docs/RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ WaveMind uses Git tags for releases.

1. Make sure `main` is green in GitHub Actions.
2. Update the version in `pyproject.toml`, `wavemind/__init__.py`,
`deploy/helm/wavemind/Chart.yaml`, `deploy/helm/wavemind/values.yaml`,
both `version` and `appVersion` in `deploy/helm/wavemind/Chart.yaml`,
`deploy/helm/wavemind/values.yaml`,
`docker-compose.yml`, `deploy/remote/inventory.example.json`,
`deploy/serverless/wavemind-serverless.sample.json`, and
`deploy/cloud/gcp-remote-active-active/terraform.tfvars.example`.
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"

[project]
name = "wavemind"
version = "2.8.0"
version = "2.9.0"
description = "Adaptive, local-first memory infrastructure for agents and applications"
readme = "README.md"
license = "MIT"
Expand Down
2 changes: 1 addition & 1 deletion wavemind/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -344,7 +344,7 @@
WorkRuntime,
)

__version__ = "2.8.0"
__version__ = "2.9.0"

__all__ = [
"FieldProjector",
Expand Down
Loading