Breaking changes

AkurAI/Framework is pre-1.0. While the major version is 0, a minor release may include a breaking change — that's the cost of moving fast before the API sets. We keep that cost honest: every breaking change is listed here with a migration note, and flagged with a ### Breaking entry in the changelog for the same version. Nothing breaks silently.

Once the framework reaches 1.0, it follows strict semver: breaking changes only ever land in a major version, and this page becomes the long-form migration history behind each one.

Check this page before upgrading. Entries are reverse-chronological by version.

0.1.0 — current

No breaking changes yet. Every release so far has been purely additive — new crates and features, nothing removed or changed out from under you. You can upgrade across all 0.x releases to date without changing any code, schema, or config.

When that changes, the entry will follow the format below.

Entry format (for future breaking changes)

Each breaking change gets a dated, versioned section like the worked example below. Lead with what actually changed and why; then give concrete before → after steps a reader can copy.


Example — 0.5.0 (template; not a real change)

What changed. The collections.toml field key type was renamed to kind to match the /api/_meta manifest, which already emitted kind.

Why. The declaration format and the self-describing manifest disagreed on a single field name, so the same concept had two spellings depending on where you looked. Aligning them removes a papercut and lets tooling read one vocabulary.

Migrate. Rename the key in every collection field in backend/collections.toml:

Before:

[[collections.posts.fields]]
name = "title"
type = "text"
required = true

After:

[[collections.posts.fields]]
name = "title"
kind = "text"
required = true

No data migration is needed — only the declaration file changes; stored records are untouched. Restart akurai serve to pick up the new schema.


This page is wired into the docs sidebar by the maintainers. To add an entry, append a new ### <change> — <version> section above the older ones and add the matching ### Breaking note to both changelogs.