You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Common crate, hub crate, and binary crate scaffolding
57
58
- State validation module for architecture integrity checks
58
-
-**aimdb-data-contracts**: Added `Streamable` trait and `StreamableVisitor` pattern for type-erased dispatch across WebSocket, WASM, and other wire boundaries
59
-
-**aimdb-data-contracts**: Added `Migratable` trait with `MigrationChain` and `MigrationStep` for schema evolution
59
+
-**aimdb-data-contracts**: Refocused as a pure trait-definition crate (`SchemaType`, `Streamable`, `Linkable`, `Simulatable`, `Observable`, `Migratable`)
60
+
-`Streamable` trait as capability marker for types crossing serialization boundaries
61
+
-`Migratable` trait with `MigrationChain` and `MigrationStep` for schema evolution
62
+
- Concrete contracts (Temperature, Humidity, GpsLocation) moved to application-level crates
63
+
- Removed closed `StreamableVisitor` dispatcher in favor of extensible registry pattern
64
+
- Removed `ts` feature (`ts-rs` dependency)
60
65
-**aimdb-core**: Added `ws://` and `wss://` URL scheme support in `ConnectorUrl` for WebSocket connectors
61
66
-**tools/aimdb-cli**: New `aimdb generate` subcommand for Mermaid diagrams, Rust schema generation, and crate scaffolding via `aimdb-codegen`
62
67
-**tools/aimdb-cli**: New `aimdb watch` subcommand for live record monitoring
@@ -66,12 +71,21 @@ No changes yet.
66
71
-**tools/aimdb-mcp**: `CONVENTIONS.md` asset for architecture agent prompts
Copy file name to clipboardExpand all lines: docs/releases/v1.0.0.md
+66-19Lines changed: 66 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,14 +2,18 @@
2
2
3
3
**Stable core API, real-time browser streaming, and LLM-driven architecture design!**
4
4
5
+
> Async in-memory database for MCU → edge → cloud data synchronization
6
+
5
7
---
6
8
7
-
## 🎯 What's New in v1.0.0
9
+
## 🎯 Highlights
8
10
9
11
This release promotes **`aimdb-core` to 1.0.0** — declaring a stable public API for the core database engine. It also ships four entirely new crates: a **WebSocket connector** for real-time browser streaming, a **WASM adapter** for running AimDB in the browser, a **code generation library** for architecture-to-code workflows, and a **shared wire protocol** for the WebSocket ecosystem. The MCP server gains a full **architecture agent** for LLM-driven system design, and the CLI adds **code generation** and **live monitoring** commands.
10
12
11
13
**Headline: MCU → Edge → Cloud → Browser** — AimDB now spans the full stack.
12
14
15
+
**Extensible Streamable registry** — the `Streamable` type dispatch system has been redesigned from a closed dispatcher to an open, extensible registry pattern. Users now register their own types via `.register::<T>()` on connector and adapter builders. Concrete contracts (Temperature, Humidity, GpsLocation) have moved to application-level crates.
**`aimdb-data-contracts` refocused as a pure trait-definition crate (version reset to 0.1.0).**
80
+
81
+
Trait definitions for self-describing data schemas that work identically across MCU, edge, and cloud:
82
+
-`SchemaType` — unique identity and versioning
83
+
-`Streamable` — capability marker for types crossing serialization boundaries
84
+
-`Linkable` — wire format for connector transport
85
+
-`Simulatable` — test data generation
86
+
-`Observable` — signal extraction for monitoring
87
+
-`Migratable` — schema evolution with `MigrationChain` and `MigrationStep`
88
+
89
+
Concrete contracts (Temperature, Humidity, GpsLocation) and the closed `StreamableVisitor` dispatcher have been removed — see [Breaking Changes](#️-breaking-changes) below.
90
+
72
91
### 🏗️ Code Generation (New Crate)
73
92
74
93
**Architecture-to-code: generate Rust source and Mermaid diagrams from `.aimdb/state.toml`!**
@@ -130,12 +149,6 @@ Architecture MCP resources provide Mermaid diagrams and validation results as li
130
149
131
150
`aimdb-ws-protocol` provides `ServerMessage` and `ClientMessage` enums used by both the WebSocket connector (server side) and the WASM adapter (browser side). JSON-encoded with `"type"` discriminant tag.
132
151
133
-
### 📋 Expanded Data Contracts
134
-
135
-
**New trait families for cross-boundary dispatch and schema evolution:**
136
-
-`Streamable` trait and `StreamableVisitor` pattern — type-erased dispatch across WebSocket, WASM, and CLI boundaries
137
-
-`Migratable` trait with `MigrationChain` and `MigrationStep` for schema evolution
138
-
139
152
---
140
153
141
154
## 🔧 Other Changes
@@ -151,6 +164,12 @@ Architecture MCP resources provide Mermaid diagrams and validation results as li
151
164
- New `aimdb generate` subcommand for code generation via `aimdb-codegen`
152
165
- New `aimdb watch` subcommand for live record monitoring
153
166
167
+
### Dependency Updates
168
+
169
+
-**aimdb-knx-connector**`0.3.1` — Updated Embassy dependency versions (executor 0.10.0, time 0.5.1, sync 0.8.0, futures 0.1.2, net 0.9.0)
170
+
-**aimdb-mqtt-connector**`0.5.1` — Updated Embassy dependency versions (executor 0.10.0, time 0.5.1, sync 0.8.0, net 0.9.0)
171
+
- Embassy submodules updated to latest upstream commits
172
+
154
173
---
155
174
156
175
## 📦 Published Crates
@@ -162,27 +181,37 @@ Architecture MCP resources provide Mermaid diagrams and validation results as li
|`aimdb-data-contracts`| 0.5.0 |**0.1.0** (reset — pure trait crate) |
189
+
|`aimdb-cli`| 0.5.0 |**0.6.0**|
190
+
|`aimdb-mcp`| 0.5.0 |**0.6.0**|
191
+
|`aimdb-mqtt-connector`| 0.5.0 |**0.5.1**|
192
+
|`aimdb-knx-connector`| 0.3.0 |**0.3.1**|
171
193
172
194
### Unchanged
173
195
-`aimdb-tokio-adapter@0.5.0`
174
196
-`aimdb-embassy-adapter@0.5.0`
175
197
-`aimdb-client@0.5.0`
176
198
-`aimdb-sync@0.5.0`
177
-
-`aimdb-mqtt-connector@0.5.0`
178
-
-`aimdb-knx-connector@0.3.0`
179
199
-`aimdb-persistence@0.1.0`
180
200
-`aimdb-persistence-sqlite@0.1.0`
181
201
-`aimdb-derive@0.1.0`
182
202
-`aimdb-executor@0.1.0`
183
203
184
204
---
185
205
206
+
## ⚠️ Breaking Changes
207
+
208
+
-**aimdb-data-contracts**: Concrete contracts removed from this crate. If you depended on `Temperature`, `Humidity`, or `GpsLocation` from `aimdb-data-contracts`, define them in your own application crate or shared common crate (see `examples/weather-mesh-demo/weather-mesh-common` for a reference).
209
+
-**aimdb-data-contracts**: `for_each_streamable()` and `StreamableVisitor` removed. Use `.register::<T>()` on connector/adapter builders instead.
-**aimdb-data-contracts**: Version reset from 1.0.0 to 0.1.0 to reflect the reduced, stabilizing scope as a pure trait crate.
212
+
213
+
---
214
+
186
215
## 🖥️ New CLI Commands
187
216
188
217
```bash
@@ -205,18 +234,36 @@ aimdb watch <record> # Watch live record updates
205
234
```toml
206
235
[dependencies]
207
236
aimdb-core = "1.0"
208
-
aimdb-tokio-adapter = "0.5"# unchanged
237
+
aimdb-data-contracts = "0.1"# reset — now a pure trait crate
238
+
aimdb-tokio-adapter = "0.5"# unchanged
209
239
# Optional: add WebSocket streaming
210
240
aimdb-websocket-connector = "0.1"
211
241
# Optional: add WASM support
212
242
aimdb-wasm-adapter = "0.1"
213
243
```
214
244
215
-
### Step 2: No breaking API changes
245
+
### Step 2: Move concrete contracts to your crate
246
+
247
+
If you used `Temperature`, `Humidity`, or `GpsLocation` from `aimdb-data-contracts`, copy them into your own application or shared common crate. See `examples/weather-mesh-demo/weather-mesh-common` for a working example.
248
+
249
+
### Step 3: Replace `StreamableVisitor` with `.register::<T>()`
250
+
251
+
```rust
252
+
// Before (closed dispatcher):
253
+
// for_each_streamable(visitor);
254
+
255
+
// After (extensible registry):
256
+
letconnector=WebSocketConnector::new()
257
+
.register::<Temperature>()
258
+
.register::<Humidity>()
259
+
.register::<GpsLocation>();
260
+
```
261
+
262
+
### Step 4: No other breaking API changes
216
263
217
264
The 0.5.0 → 1.0.0 upgrade for `aimdb-core` has **no breaking changes** — only additive features (WebSocket URL scheme support). All existing code continues to compile unchanged.
0 commit comments