All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Add support for panic handling in test macro
- Add timeout and node exists check to
message send
command
- Implement attribute-based access control for message flow authorization
- Cleanup ockam test macro
- Move api structs to
ockam_core
- Check identity during credentials exchange
- Minor refactors to commands/api error handling
- Updated dependencies
- Use runtime handles
- Fix mispointed link
- Check if address already exists before creating workers/processors
- Fix schema validation
- Remove
block_future
- Add support for panic handling in test macro
- Add timeout and node exists check to
message send
command
- Implement attribute-based access control for message flow authorization
- Cleanup ockam test macro
- Move api structs to
ockam_core
- Check identity during credentials exchange
- Updated dependencies
- Use runtime handles
- Fix mispointed link
- Check if address already exists before creating workers/processors
- Fix schema validation
- Remove
block_future
- Add support for panic handling in test macro
- Add timeout and node exists check to
message send
command
- Implement attribute-based access control for message flow authorization
- Cleanup ockam test macro
- Move api structs to
ockam_core
- Check identity during credentials exchange
- Updated dependencies
- Use runtime handles
- Fix mispointed link
- Check if address already exists before creating workers/processors
- Fix schema validation
- Remove
block_future
- Add support for panic handling in test macro
- Add timeout and node exists check to
message send
command
- Implement attribute-based access control for message flow authorization
- Cleanup ockam test macro
- Move api structs to
ockam_core
- Check identity during credentials exchange
- Updated dependencies
- Use runtime handles
- Fix mispointed link
- Check if address already exists before creating workers/processors
- Fix schema validation
- Remove
block_future
- Add support for panic handling in test macro
- Implement attribute-based access control for message flow authorization
- Cleanup ockam test macro
- Move api structs to
ockam_core
- Updated dependencies
- Use runtime handles
- Fix mispointed link
- Check if address already exists before creating workers/processors
- Remove
block_future
- Add support for panic handling in test macro
- Implement attribute-based access control for message flow authorization
- Cleanup ockam test macro
- Updated dependencies
- Use runtime handles
- Fix mispointed link
- Check if address already exists before creating workers/processors
- Remove
block_future
- Implement attribute-based access control for message flow authorization
- Updated dependencies
- Use runtime handles
- Remove
block_future
- Create worker builder for cleaner worker access control initialisation
Storage
->AuthenticatedTable
AuthenticatedTable
->AuthenticatedStorage
- Partially implemented node watchdog
- Making ockam_node a bit less spammy on debug
- Disable metrics by default
- Add metrics output to trace logs
- Add
#[ockam::node]
macro attributeaccess_control
- Generate simple csv metrics report
- Collect router and (ockam) worker metrics
- Rename context metrics field and add better docs
- Implement initial access control prototype
- Refinements to initial access control prototype
- Move node manager service to ockam_api crate
- Create node builder for easier node initialisation
- Clean up router metrics code lints
- Gate metrics code behind metrics feature
- Add an async_drop mechanism for bare context drop
- Add dedicated channel types for ockam_node, switch back to bounded channels
- Add timeout function to context that takes duration
- Attempt to cut down memory usage via context drop
- Rename new_context to new_detached
- Updated dependencies
- Fix address de-allocation issues for bare contexts
- Updated dependencies
- Fix flaky transport tests
- Enable
SpanTrace
capture during tracing registration
- Rename github organization to build-trust
- Updated dependencies
- Move to unbound channel
- Updated dependencies
- Fix
ProcessorRelay
- Fix typo
- Add send_and_receive method to context
- Updated dependencies
- Do not drop control channel sender when processing stopworker messge
- Introduce error type
- Build error mapping for various crates
- Clean up ockam_core import paths
- Run rustfmt
- Rename error2 to error
- Rebuilding the ockam_node error types
- Updated dependencies
- Errors: fix ockam_core
- Fixing lints
- Fix various clippy and rustfmt lints
- Remove ockam_node errors and add new util module
- Remove thiserror as it does not support no_std
- Get rid of common
RouterMessage
in favor of transport-specific structs (ble, ws) - Make
ockam_node::error
module public - Reorganize and document
ockam
crate - Don't re-export
hex
orhashbrown
fromockam_core
- Implement miniature
ockam
command for demo - Updated dependencies
- Insert a temporary mechanism to improve error messages
- Ensure that the command supports
OCKAM_LOG
- Fix clippy warnings
- Updated dependencies
- Use serde_bare to prepend length to payload when missing
- Add context usage documentation and update api docs
- Rename compat.rs to compat/mod.rs
- Update cancel documentation
- Rename heartbeat to delayed event
- Improve executor documentation
- Friendlify api for
ockam_core::access_control
- Updated dependencies
- Delete ockam_node context handle
- Add
Heartbeat
to ockam_node
- Implement worker ready status api
- Update crate edition to 2021
- Add compat mod to ockam_node with async
Mutex
andRwLock
- Add unsafe async
RwLock
implementation
- Update thread_local due to rustsec issue
- Fix error handling in channel, cargo update
- Add no_main arg support to ockam::node macro
- Improve formatting of
Cargo.toml
s and addrust-version
1.56.0 - Use the tracing crate for logging on no_std
- Protect processor relays against accidental async executor deadlock
- Delete the ockam_node_no_std crate
- Add access control
- Updated dependencies
- Improve ockam_node logging, fix typos
- Move and improve ockam_node tests
- Partial fix of
WorkerRelay
ctrl_rx usage - Prevent
Router
from stopping when message handling error encountered
- Remove symlinks to
DEVELOP.md
andLICENSE
- Remove need for separate macro crates
- Deny warnings in ci, not local development
- Improve node router and mailbox logging
- Reduce router cluster command verbosity
- Fix crash crash scenario on fallback shutdown strategy
- change
Doesnt
toDoesNot
for enum variants - Dependencies updated
- Dependencies updated
- reduce log spam from start operations
- implement shutdown abortion on timeout
- implement graceful stop mechanism in ockam node
- introduce node shutdown type
- remove double-nested tests module from ockam_node
- pull router address state out into separate module
- implement command rejection during node shutdown
- break router out into separate module tree
- simplify processor stop mechanism
- simplify mailbox architecture
- Dependencies updated
- Clippy improvements
- Dependencies updated
- Make handle async only.
- Make async-trait crate used through ockam_core.
- Replace instances of
&Vec<T>
with&[T]
. - Simplified feature usage.
- Dependencies updated
- Remove
None
errors from Error enums.
- Added new 'no_main' feature to control ockam_node_attribute behavior on bare metal platforms
- Various improvements to ockam_executor
- Only use cortex_m_semihosting on arm platforms
- Use ockam_core::compat::mutex instead of cortex_m::interrupt::*
- Move
Handle
to ockam_node - Dependencies updated
- Introduce Context send_from_address_impl
- Implement From for AddressSet
- Extract private implementations and Into wrappers
- Forward error from executor::execute()
- Dependencies updated
- Dependencies updated
- Ockam compiles under no_std + alloc.
- Dependencies updated
- Dependencies updated
- Fixed incorrect link in README
- Dependencies updated.
- Dependencies updated.
- Processor implementation for ockam_node
- Dependencies updated.
- Replace std:: modules with core:: and alternate implementations
- Dependencies updated.
- Dependencies updated.
- Move sender out of Mailbox
- Avoid RelayMessage cloning
- Make mailbox field private
- Restructure router internals
- Dependencies updated.
- Remove Drop implementation for Context
- Raised default message polling timeout to 30 seconds.
- Dependencies updated.
- Dependencies updated.
- Dependencies updated.
- Dependencies updated.
- Stream API example.
- Utility for sending asynchronous delayed messages.
- Dependencies updated.
- Improve logging in Worker relay.
- Dependencies updated.
- Identity trait for defining Profile behavior.
- Entity and Profile implementation restructured.
- Fix clippy warnings.
- Added LocalMessage for locally routed messages.
- Standardize all Ockam crates to use the same version of
tokio
. - TransportMessage constructor has been extended to use recent routing changes.
- Dependencies updated.
- Dependencies updated.
- Dependencies updated.
- Dependencies updated.
- Worker shutdown is now async.
- Context receive now uses a default or explicit timeout.
- Fix crate metadata.
- Dependencies updated.
- Lowered Context drop error log to trace.
- Dependencies updated.
- Fix return route while sending message.
- Dependencies updated.
- Added an extra-tracing environment variable.
- Added dead_code lint.
- Added runtime getter to Node.
- Enabled multi-hop routes via domain specific routers.
- Gracefully handle an already initialised tracing system.
- Use ockam_node
block_on
to avoid blocking tokio executor.
- Dependencies updated.
- Renamed Context address functions.
- None to Node Error enum.
- Re-add block_future functionality.
send_message_from_address
added to Context.
- Fixed panic when main Context goes out of scope.
- Refactored Node Context API.
msg_addr
moved fromContext
toRouted
.- Node won't spawn a worker with a with colliding address.
- Excess clones.
- Expose onward route information to user workers.
- Make context receive retry receiving if wrong type.
- Handle message payloads without inner length.
- Make consuming cancel wrapper yield routed wrapper
- Use special message parsing for context receive.
- Dependencies updated.
- Log worker errors instead of panicking.
- Routing APIs.
- Router registration.
- Message forwarding.
- Mechanism for stopping a single worker.
- The
receive_match
API allows workers to block until receivng a specific message type.
- Dependency updates.
- External router implementations don't need to accept TransportMessage, or parse specific user message types.
- Improved logging.
- Worker mailbox queues.
- Support new Context API in
ockam_node_attribute
- Message cancellation.
- Receive returns a result.
- Refactor of
node
API. - Node, Context and Worker APIs are now async.
- Worker initialization is now async.
- Dependency updates.
- Context
send_message
no longer silently eats errors.
- Message trait implementation.
- Messages for starting and stopping Workers.
- Changed internal registry implementation.
- Previous Message implementation (NodeMessage)
- Relay abstraction prototype
- Added description to Cargo.toml.
- This document and other meta-information documents.