Brainby arc-labs/docs
Migration

Migration

Move to Brain from another memory layer, or track how Brain versions its SDKs and wire protocol pre-1.0.

Moving to Brain

Brain's typed memories and built-in entity graph differ enough from flat vector-memory layers that a one-to-one port rarely makes sense. The guide below is opinionated — it shows what maps cleanly and where you'll want to restructure.

Coming from Zep, a Pinecone-backed memory layer, or a LangChain memory abstraction? The mem0 guide is the closest analog — the verb and identity mapping carries over.

Versioning

Brain versions in two places, and they move independently:

  • The SDKs@brain-db/sdk (TypeScript), brain-db-sdk (Python and Rust), all at 0.1.0 and following semver.
  • The wire protocol — the BRN0 frame version, negotiated in the handshake when a client connects.

Pre-1.0: breaking changes happen in place

Brain is pre-release (0.1.0) with no external users yet. Until 1.0 ships, the wire protocol, storage layout, and SDK surface can change in place — there are no back-compat shims, no deprecated aliases, and no dated API-version header. Pin the exact SDK version you build against.

Once 1.0 lands, the intended guarantee is the usual semver contract: within a major SDK version the verb surface (encode / recall / forget / link / unlink / plan / reason / whoami / capabilities), the request and response shapes, and the identity-by-key model stay stable; additive changes (new optional fields, new verbs) ship in minors. Breaking changes wait for the next major and come with migration notes.

Was this page helpful?

On this page