# Migrating to 0.1.0

0.1.0 is the first public release. There is no prior public version; this
document exists for completeness and to fix the upgrade pathway forward.

## Summary

If you are arriving at 0.1.0 fresh: skip this page. There is nothing to
migrate.

## What 0.1.0 establishes

| Surface | Stability guarantee |
|---------|---------------------|
| CLI subcommand names | stable; deprecation cycle for breaking changes |
| HTTP `/v1/*` routes | stable; new routes additive only |
| MCP tool names + schemas | stable |
| `<repo>/.mnem/config.toml` keys | stable |
| Object encoding (DAG-CBOR + CIDs) | stable; bump = new schema version |
| Internal Rust crate APIs | unstable pre-1.0 |

## What may change between 0.x minor releases

- New optional config keys (with defaults).
- New retrieval lanes / scoring modes (off-by-default).
- New CLI subcommands; existing subcommands keep semantics.
- Sidecar formats (re-build required, node CIDs unchanged).

## Upgrading from a 0.x.y to 0.x.(y+1)

```bash
cargo install --locked mnem-cli      # or platform package manager
mnem --version
mnem doctor                          # config sanity check
```

No data migration needed within 0.x.

## Future migrations

When 1.0 lands, this directory will gain a `v0.x-to-v1.0.md` doc covering
any on-disk schema changes. Until then, treat 0.x as the pre-launch line
where patch releases are non-breaking and minors may introduce additive
changes.
