Render one Object or paired Interface entity without path/context, lookups or wire-schema changes. Preserve declarations, summaries, optional/unit and empty distinctions; validate protocol semantics and bounded input before rendering. Add five spec/nested goldens and 13 external API tests plus a standalone doctest. Validation: cargo fmt --all -- --check; cargo check --workspace --all-targets; cargo test --workspace --all-targets; cargo test --workspace --doc; nix develop -c bash (cargo clippy --workspace --all-targets -- -D warnings, RUSTDOCFLAGS='-D warnings' cargo doc --workspace --no-deps, cargo run --package wip-public-api-example); git diff --check. All passed. Default shell lacks clippy; declared Nix dev shell supplied it.
40 lines
2.3 KiB
Markdown
40 lines
2.3 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to the published WIP Rust crates are documented here.
|
|
|
|
## Unreleased
|
|
|
|
- Adds `wip-text-view`, an independent single-entity Object/Interface signature
|
|
library with Protocol validation, typed errors, full ordered declarations,
|
|
documentation summaries and safe Text View quoting/escapes. No path, lookup,
|
|
cache, UI, network or Protocol wire-schema changes are required.
|
|
|
|
- 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.
|
|
- Breaking Host registration migration to explicit Scope publication lifetimes and
|
|
local names, with coherent provider-attested scope Object binding for fetch and
|
|
dispatch. Supplied scope_ref is checked at membership precedence; scope deletion
|
|
retires retained tokens, while ordinary Object state updates preserve lifetime.
|
|
- Integrates scoped references across filesystem and public consumers and the TUI.
|
|
External FS scopes bind to visible current connected lineage, not retained
|
|
registry artifacts. TUI labels use absolute safely quoted `::`/`#` notation;
|
|
structured selection and Client scope invalidation prevent stale UI dispatch.
|
|
The public example carries fetched scope refs and includes real HTTP lifetime,
|
|
visibility and validator-precedence conformance tests with optional refs. See
|
|
[MIGRATION.md](MIGRATION.md) for API/wire examples and provider responsibilities.
|
|
|
|
## 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.
|