T-20: identify interfaces by exact scope/name pairs; add optional opaque scope_ref metadata and separate shape validation from path-dependent scope compatibility. Preserve call error precedence, strict JSON, validators and transport boundaries. Mechanically migrate consumers and document API/wire compatibility and deferred lifecycle semantics. Validation: cargo fmt --all --check; git diff --check; cargo check --workspace --all-targets; cargo test -p wip-protocol -p wip-http; cargo test --workspace (221 passing tests including doctests); cargo test --workspace --all-targets; nix develop --command cargo clippy --workspace --all-targets -- -D warnings; RUSTDOCFLAGS="-D warnings" cargo doc --workspace --no-deps. All pass. cargo/rustc 1.95.0; development-shell Clippy/rustc 1.97.1.
26 lines
1.3 KiB
Markdown
26 lines
1.3 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to the published WIP Rust crates are documented here.
|
|
|
|
## Unreleased
|
|
|
|
- Breaking Protocol/HTTP migration from opaque Interface reference strings to
|
|
exact `(scope, name)` records in Objects, fetches and calls, with optional
|
|
opaque `scope_ref` metadata. Adds shape and placement-aware scope validation
|
|
without changing routes, validators or the wire error-code set.
|
|
- Mechanically migrates workspace consumers and fixtures. See [MIGRATION.md](MIGRATION.md)
|
|
for API/wire examples and the deferred Host/Client lifecycle semantics.
|
|
|
|
## 0.1.0
|
|
|
|
Initial public release of:
|
|
|
|
- `wip-protocol`: transport-independent WIP logical model and validation.
|
|
- `wip-interface-macros`: procedural-macro implementation for interface and DTO declarations.
|
|
- `wip-interface`: public Rust interface-authoring facade and typed value codecs.
|
|
- `wip-host`: request-scoped publication, precondition validation, and qualified operation dispatch.
|
|
- `wip-http`: framework-independent WIP over HTTP v1 routes, strict JSON codecs, and failure classification.
|
|
- `wip-client`: stateful Known Space, interest-driven acquisition, request ownership, and operation lifecycle.
|
|
|
|
The repository also contains non-published filesystem server, terminal client, and public-API conformance packages.
|