Summary
Break all deprecated APIs and harden the public contract before the 0.6.0 release. Since every capsule needs a rebuild (Component Model ABI change from #29), ship all breaking changes in one version.
Breaking changes
Removed
ipc::publish_bytes, ipc::publish_msgpack, ipc::poll_bytes, ipc::recv_bytes — use ipc::publish, ipc::publish_json, ipc::poll, ipc::recv
uplink::send_bytes — use uplink::send
net::bind_unix(path) — use net::bind_unix() (no path arg, kernel pre-binds)
hooks::trigger(&[u8]) — now trigger(&str) -> String
process::ProcessRequest struct (dead code)
SubscriptionHandle::as_bytes() — use .id()
approval::RiskLevel, approval::ApprovalDecision, approval::ApprovalResult — approval simplified to request(action, resource) -> bool
rmp-serde dependency (only user was publish_msgpack)
bytes_to_str helper (all APIs now take &str)
New typed APIs
ipc::poll() / ipc::recv() return typed PollResult { messages: Vec<Message>, dropped, lagged }
http::Response exposes status(), headers(), is_success()
approval::request(action, resource) -> Result<bool> (2 params, returns bool)
log::trace() added
Simplified
- All log functions return
() (was Result — never fails)
http::Response fields all via methods (consistent encapsulation)
- All handle types standardized: private inner u64, public
id() method
interceptors::poll handler receives typed &ipc::PollResult
Companion PRs
Summary
Break all deprecated APIs and harden the public contract before the 0.6.0 release. Since every capsule needs a rebuild (Component Model ABI change from #29), ship all breaking changes in one version.
Breaking changes
Removed
ipc::publish_bytes,ipc::publish_msgpack,ipc::poll_bytes,ipc::recv_bytes— useipc::publish,ipc::publish_json,ipc::poll,ipc::recvuplink::send_bytes— useuplink::sendnet::bind_unix(path)— usenet::bind_unix()(no path arg, kernel pre-binds)hooks::trigger(&[u8])— nowtrigger(&str) -> Stringprocess::ProcessRequeststruct (dead code)SubscriptionHandle::as_bytes()— use.id()approval::RiskLevel,approval::ApprovalDecision,approval::ApprovalResult— approval simplified torequest(action, resource) -> boolrmp-serdedependency (only user waspublish_msgpack)bytes_to_strhelper (all APIs now take&str)New typed APIs
ipc::poll()/ipc::recv()return typedPollResult { messages: Vec<Message>, dropped, lagged }http::Responseexposesstatus(),headers(),is_success()approval::request(action, resource) -> Result<bool>(2 params, returns bool)log::trace()addedSimplified
()(wasResult— never fails)http::Responsefields all via methods (consistent encapsulation)id()methodinterceptors::pollhandler receives typed&ipc::PollResultCompanion PRs