Cuts the release/v0.3 line from master. The version must be a distinct
number per release candidate so nimble resolves it independently — nimble
versions are numeric, so pre-release strings like 0.2.1-rc.1 are rejected
and equal versions across git refs collide in the cache.
0.3.0 carries master's work since 0.2.0: the C binding generator
(-d:targetLang=c) with its CBOR-free abi = c variant, RET_STALE_WARN
progress callbacks in place of handler timeouts, per-interaction ABI-format
annotations, the dedicated event thread with a bounded SPSC queue, and the
sharded MPSC request ingress.
Note this line does NOT include release/v0.2's {.ffiExport.} or pooled-context
recycle commits, which never landed on master.
The CHANGELOG [Unreleased] section is deliberately left undated until the
final 0.3.0, matching the precedent set when the premature 0.2.0 section was
folded back into Unreleased.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
CBOR is the headline 0.2.0 feature, not 0.1.4: at v0.1.4 serial.nim was
still JSON/string-based, so the prior CBOR attribution was wrong. Also
complete the 0.2.0 scope (events, registry, codegen) ahead of tagging.
Date 0.1.4 by its last functional change (#14, 2026-05-13) rather than
the later changelog/version-bump commits, so the version reflects when
its code actually settled.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* rust examples: sync main.rs + tokio main.rs demoing the listener API
Adds two bundled examples to the generated Rust crate:
- examples/main.rs: sync flow using std::sync::mpsc to bridge a typed
on_echo_fired listener into main + a wildcard add_event_listener
that uses decode_event_payload::<EchoEvent>(envelope) for the
matching event id.
- examples/tokio_main.rs: same shape via #[tokio::main] +
tokio::sync::mpsc.
Bumps generateCargoToml to ship `[dev-dependencies]` with tokio's
`rt-multi-thread` + `macros` features so the bundled examples can use
#[tokio::main] without polluting the library's runtime profile.
Run with `cargo run --example main` (set DYLD_LIBRARY_PATH=<repo> on
macOS until build.rs emits an rpath).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
* simplify examples
---------
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>