Skip to content

Release v2.0.0 - #257

Merged
lxsaah merged 6 commits into
mainfrom
release/v2.0.0
Sep 18, 2026
Merged

lxsaah merged 6 commits into
mainfrom
release/v2.0.0

Conversation

@lxsaah

@lxsaah lxsaah commented Sep 18, 2026

Copy link
Copy Markdown
Contributor

Prepares the v2.0.0 release: version bumps, changelog roll-up, release notes, and a dependency cleanup. Opened so CI can show the current state before tagging.

Why 2.0.0

The Unreleased section carried five explicitly breaking subsections across 119 commits since v1.1.0. The decisive one is the wire break: PROTOCOL_VERSION moves "2.0""3.0" and hello now negotiates it, so a pre-3.x client is refused at the handshake rather than failing on its first call. Combined with aimdb-ws-protocol being deleted, AimDbBuilder::with_remote_access removed, the runtime generic R dropped from core's object graph, and . replacing / as the topic separator, this is a major release.

Versions

Every number below was checked against index.crates.io — none collide with a published version, and the three new connector names are unregistered.

crate crate
aimdb-core 1.1.0 → 2.0.0 aimdb-persistence 0.1.1 → 0.2.0
aimdb-derive 0.1.0 → 0.2.0 aimdb-persistence-sqlite 0.1.1 → 0.2.0
aimdb-data-contracts 0.1.1 → 0.2.0 aimdb-mqtt-connector 0.6.0 → 0.7.0
aimdb-client 0.6.0 → 0.7.0 aimdb-knx-connector 0.4.0 → 0.5.0
aimdb-codegen 0.2.0 → 0.3.0 aimdb-websocket-connector 0.2.0 → 0.3.0
aimdb-embassy-adapter 0.6.0 → 0.7.0 aimdb-wasm-adapter 0.2.0 → 0.3.0
aimdb-tokio-adapter 0.6.0 → 0.7.0 aimdb-cli 0.6.0 → 0.7.0
aimdb-sync 0.5.0 → 0.6.0 aimdb-mcp 0.8.0 → 0.9.0

New, first publish: aimdb-uds-connector, aimdb-serial-connector, aimdb-tcp-connector — all 0.1.0.

Six crates carried in-flight bumps that were never published (aimdb-core 1.2.0, aimdb-derive 0.3.0, aimdb-data-contracts 0.4.0 among them). Since nothing was burned on crates.io, these were reset to what the changelogs actually justify rather than left overshooting — so aimdb-derive ships 0.2.0, not 0.3.0. All 32 internal dependency pins were updated to match.

Changelogs

All 20 rolled to [<version>] - 2026-09-18, with an empty [Unreleased] left on top. Two stale link refs were dropped — aimdb-core's [1.2.0] and aimdb-sync's [0.6.0] — both pre-added for versions that were never released.

New docs/releases/v2.0.0.md covers the breaking changes and a seven-step migration guide.

Dependency cleanup

cargo-machete found nine unused dependencies; eight are removed here:

  • aimdb-core: anyhow — dead since design 038 deleted into_anyhow(), its last consumer
  • aimdb-tokio-adapter: dep:tracing — the design 050 sweep missed this one; now matches aimdb-uds-connector's form
  • aimdb-mcp: the aimdb-core dependency — unused, and its std / observability features already arrive via aimdb-client
  • aimdb-embassy-adapter, aimdb-mqtt-connector: futures-core (non-optional, so it built for every consumer)
  • aimdb-mqtt-connector: thiserror, async-stream, futures-util — these were listed in the std feature, so every std build compiled all three

rand_core in aimdb-mqtt-connector is held back pending a check on the embedded-tls leg: CryptoRngCore comes from embedded_tls, not rand_core, but it may still matter for version unification.

Four machete hits are intentional and left alone — critical-section in the tcp/knx/mqtt connectors (linked by symbol name for CriticalSectionRawMutex) and defmt in the serial connector (referenced by macro expansion at the invocation site). All four are already documented in their manifests.

Verification

Local checks after the removals, all passing:

PASS  aimdb-core (std, default)          PASS  aimdb-mcp
PASS  aimdb-core (no_std + alloc)        PASS  aimdb-client (default)
PASS  aimdb-tokio-adapter (default)      PASS  aimdb-core tests (--all-targets)
PASS  aimdb-tokio-adapter (tracing)      PASS  aimdb-embassy-adapter (thumbv7em)
PASS  aimdb-mqtt-connector (std)

CI covers the full feature matrix from here.

Known issues, not addressed

  • aimdb-core 1.0.1 is published but has no changelog entry — the file jumps 1.0.0 → 1.1.0.
  • Per-crate tags stopped at the 0.5.0 era, so existing refs like aimdb-mcp-v0.8.0 point at tags that were never created. New refs in this PR use the v2.0.0 workspace tag, the only one this release will produce.
  • aimdb-executor 0.2.0 and aimdb-ws-protocol 0.1.0 stay published but are gone from the workspace; the release notes mark them retired.

Before merging

Cargo.lock is included and in sync. After merge: tag v2.0.0, then make publish walks the 19 crates in dependency order.

🤖 Generated with Claude Code

@lxsaah
lxsaah merged commit b0dc993 into main Sep 18, 2026
11 checks passed
@lxsaah
lxsaah deleted the release/v2.0.0 branch September 18, 2026 20:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant