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.
- Persist application data in a database
- Updated dependencies
- Updated dependencies
- Updated dependencies
- Updated dependencies
- Persist application data in a database
- Updated dependencies
- Persist application data in a database
- Updated dependencies
- Use
Identifier
as a return type in public api - Updated dependencies
- Use
Identifier
as a return type in public api - Updated dependencies
- Updated dependencies
- Updated dependencies
- Updated dependencies
- Updated dependencies
- Updated dependencies
- Updated dependencies
- Move the rpc to ockam api as remote node
- Rename forwarder to relay
- Improve
Vault
type-safety - Updated dependencies
- Fix some doc tests
- Move the rpc to ockam api as remote node
- Rename forwarder to relay
- Improve
Vault
type-safety - Updated dependencies
- Fix some doc tests
- Updated dependencies
- Switch to new
Identity
design - Updated dependencies
- Switch to new
Identity
design - Updated dependencies
- Updated dependencies
- Updated dependencies
- Improve type safety for
FlowControls
- Hide
Spawner
vsProducer
logic under the hood - Extract a full state machine for the secure channel handshake
- Updated dependencies
- Make
AccessControl
optional while starting aWorker
- Improve
ProcessorBuilder
. makeAccessControl
optional while starting aProcessor
- Updated dependencies
- Fix clippy warning
- Rename import identity to decode identity since it is not importing anything
- Use identity identifiers for the creation of secure channels
- Regroup all the vault related types and traits in the same crate
- Extract a file storage
- Use a key value file storage for the vault
- Extract the vault_aws crate
- First implementation of 3 packet exchange
- Move
FlowControls
toContext
and make it mandatory - Improve forwarding service topology
- Make
FlowControl
more mistake-resistant - Improve
TCP
::connect()
and::listen()
outputs - Improve
::create_secure_channel()
and::create_secure_channel_listener()
output - Expose
TcpTransportExtension
fromockam
crate - Updated dependencies
- Fix the doc tests
- Updated dependencies
- Added a readme template and updated some readmes
- Updated dependencies
- Extract identity as an entity
- Moved the builder functions to their respective structs
- Formatting
- Make node extensions for the transports
- Move the lmdb storage
- Simplify the has context signature
- Updated dependencies
- Introduce
TrustOptions::insecure()
and::insecure_test()
- Improve
SecureChannelListener
TrustOptions
for better support of consumer use case - Simplify
TrustOptions
for outgoing negotiations - Rename
insecure_test
->new
- Rename
Sessions
->FlowControls
- Rename
TrustOptions
->Options
- Updated dependencies
- Add
TrustOptions
toockam_transport_tcp
. refactor connection creation - Add
src_addr
toRouted<M>
- Add
Sessions
support to receiving messages inockam_node
- Add
Sessions
support to portals
- Update
RemoteForwarder
- Improve
RemoteForwarder
address handling - Updated dependencies
- Removed the dependency on ockam_core in examples
- Moved the access control based on attributes and a policy to the ockam crate
- Reuse the abac control policy inside the policy access control
- Rework
TCP
- Updated dependencies
- Inlined the ockam_key_exchange_core crate into the ockam_core crate
- Updated dependencies
- Recipient returns an error instead of panicking
- Updated dependencies
- Updated dependencies
- Remove unused errors from
ockam
crate
- Support
Route
instead ofAddress
forRemoteForwarder
initialization - Add
credential
module toockam
crate - Add static forwarding service
- Add support for access control for inlets&outlets
- Implement attribute-based access control for message flow authorization
- Cleanup ockam test macro
- Move credentials to
ockam_identity
- Recover remote forwarder
- Rework access control
- Deny all for
ockam
crate - Setup access controls for
ockam_transport_tcp
- Setup access controls for forwarder
- Setup access controls for channels and pipes
- Make access controls a mandatory argument while creating a detached context
- Make access controls a mandatory argument while starting a worker or processor
- Improve access controls implementations
- Avoid using
Arc
on access controls in public api - Improve
Forwarder
service access controls - Improve
Forwarder
client access control - Split
AccessControl
trait intoIncomingAccessControl
andOutgoingAccessControl
- Updated dependencies
- Fix forwarding service did not include onward route after forwarding
- Creation of static forwarder without heartbeats
- Creation of static forwarder at local nodes
- Cleanup
- Disable ockam_abac in
no_std
env - Fix
tracing
usage on no_std example project
- Remove old credentials and signatures code
- Support
Route
instead ofAddress
forRemoteForwarder
initialization - Add
credential
module toockam
crate - Add static forwarding service
- Add support for access control for inlets&outlets
- Implement attribute-based access control for message flow authorization
- Cleanup ockam test macro
- Move credentials to
ockam_identity
- Recover remote forwarder
- Updated dependencies
- Fix forwarding service did not include onward route after forwarding
- Creation of static forwarder without heartbeats
- Creation of static forwarder at local nodes
- Cleanup
- Remove old credentials and signatures code
- Support
Route
instead ofAddress
forRemoteForwarder
initialization - Add
credential
module toockam
crate - Add static forwarding service
- Add support for access control for inlets&outlets
- Implement attribute-based access control for message flow authorization
- Cleanup ockam test macro
- Move credentials to
ockam_identity
- Updated dependencies
- Fix forwarding service did not include onward route after forwarding
- Creation of static forwarder without heartbeats
- Creation of static forwarder at local nodes
- Remove old credentials and signatures code
- Support
Route
instead ofAddress
forRemoteForwarder
initialization - Add
credential
module toockam
crate - Add static forwarding service
- Implement attribute-based access control for message flow authorization
- Cleanup ockam test macro
- Move credentials to
ockam_identity
- Updated dependencies
- Fix forwarding service did not include onward route after forwarding
- Creation of static forwarder without heartbeats
- Creation of static forwarder at local nodes
- Remove old credentials and signatures code
- Support
Route
instead ofAddress
forRemoteForwarder
initialization - Add
credential
module toockam
crate - Add static forwarding service
- Implement attribute-based access control for message flow authorization
- Cleanup ockam test macro
- Move credentials to
ockam_identity
- Updated dependencies
- Fix forwarding service did not include onward route after forwarding
- Creation of static forwarder without heartbeats
- Creation of static forwarder at local nodes
- Remove old credentials and signatures code
- Support
Route
instead ofAddress
forRemoteForwarder
initialization - Add
credential
module toockam
crate - Add static forwarding service
- Implement attribute-based access control for message flow authorization
- Cleanup ockam test macro
- Move credentials to
ockam_identity
- Updated dependencies
- Fix forwarding service did not include onward route after forwarding
- Creation of static forwarder without heartbeats
- Creation of static forwarder at local nodes
- Remove old credentials and signatures code
- Support
Route
instead ofAddress
forRemoteForwarder
initialization - Add
credential
module toockam
crate - Add static forwarding service
- Implement attribute-based access control for message flow authorization
- Cleanup ockam test macro
- Move credentials to
ockam_identity
- Updated dependencies
- Fix forwarding service did not include onward route after forwarding
- Creation of static forwarder without heartbeats
- Creation of static forwarder at local nodes
- Remove old credentials and signatures code
- Support
Route
instead ofAddress
forRemoteForwarder
initialization - Add
credential
module toockam
crate - Add static forwarding service
- Implement attribute-based access control for message flow authorization
- Cleanup ockam test macro
- Move credentials to
ockam_identity
- Updated dependencies
- Fix forwarding service did not include onward route after forwarding
- Creation of static forwarder without heartbeats
- Creation of static forwarder at local nodes
- Remove old credentials and signatures code
- Support
Route
instead ofAddress
forRemoteForwarder
initialization - Add
credential
module toockam
crate - Add static forwarding service
- Implement attribute-based access control for message flow authorization
- Cleanup ockam test macro
- Define credential structure in ockam crate
- Non-optional
Attributes
- Track verification status in types
- Use
IdentityChangeHistory
for verification - Implement
CredentialExchangeWorker
- Updated dependencies
- Fix forwarding service did not include onward route after forwarding
- Remove old credentials and signatures code
- Support
Route
instead ofAddress
forRemoteForwarder
initialization
- Implement attribute-based access control for message flow authorization
- Cleanup ockam test macro
- Updated dependencies
- Remove old credentials and signatures code
- Support
Route
instead ofAddress
forRemoteForwarder
initialization
- Implement attribute-based access control for message flow authorization
- Updated dependencies
- Remove old credentials and signatures code
- Remove old credentials and signatures code
- Remove old credentials and signatures code
- Remove old credentials and signatures code
- Create worker builder for cleaner worker access control initialisation
Storage
->AuthenticatedTable
- Identity updates
AuthenticatedTable
->AuthenticatedStorage
- Add
#[ockam::node]
macro attributeaccess_control
- Implement initial access control prototype
- Refinements to initial access control prototype
- Move nodeman protocol definitions to submodule
- Move node manager service to ockam_api crate
- Create node builder for easier node initialisation
- Improve the usability of ockam command
- Add basic node manager service
- Add pid query to nodeman worker
- Implement new
Vault
serialization - Rename new_context to new_detached
- Implement basic ockam_command config module
- Updated dependencies
- Change description of the ockam crate
- Updated dependencies
- Fix flaky transport tests
- Updated dependencies
- Updated dependencies
- Updated dependencies
- Updated dependencies
- Add "crate" attribute to async_try_clone_derive macro
- Updated dependencies
- Rename error2 to error
- Updated dependencies
- Errors: fix ockam
- Fix various clippy and rustfmt lints
- Remove thiserror as it does not support no_std
- Add docs and rename some of the request/response types in
ockam
- Add "crate" attribute to "node" macro
- Get rid of common
RouterMessage
in favor of transport-specific structs (ble, ws) - Reorganize and document
ockam
crate - Tune up some of the documentation
- Rename
mod remote_forwarder
module tomod remote
, fix examples - Ensure more documentation ends up in the right place
- Implement miniature
ockam
command for demo - Re-export
DelayedEvent
from ockam crate - Vault updates
- Updated dependencies
- Insert a temporary mechanism to improve error messages
- Fix clippy warnings
- Updated dependencies
- Add basic pipe builder usage documentation
- Support dynamic pipe handshake with behaviour handlers
- Support ordering enforcing pipes
- Rename heartbeat to delayed event
- Sketch initial pipe2 api
- System graph initialisation builder
- Provide builder init mechanism for system handers
- Mock up pipe builder initialisation
- Allow worker system to use different message types
- Very basic pipe example with new api
- Implement basic sender resend handler
- Pipe2 dynamic pipe handshakes
- Basic delivery ack handler implementation
- Send resend notify events to delivery handler
- Update system handler trait documentation
- Run rustfmt on ockam crate
- Various clippy fixes
- Updated dependencies
- Fix ockam::test macro tests
- Fix ockam::node macro tests
- Imports ockam context as used in the input function
- No_std support for system builders and hooks
- Remove stray allow(unused)
- Add
Echoer
worker to ockam crate - Add static forwarding support for
RemoteForwarder
- Rename
Profile
->Identity
- Rename crate ockam_entity -> ockam_identity
- Update crate edition to 2021
- Add no_main arg support to ockam::node macro
- Improve formatting of
Cargo.toml
s and addrust-version
1.56.0
- Add a test for full pipe behaviour stack
- Introduce nested pipe behaviour test
- Initial ockam channel implementation
- Simplify channel creation handshake
- Change uses of
ockam_vault_core::Foo
to useockam_core::vault::Foo
across crates
- Fix channel channel behavior and add tests
- Clippy style update
- Update channels with no_std support
- Merge macro crates
- Change context import from ockam_node to crate
- Fix pipe test and typos
- Remove symlinks to
DEVELOP.md
andLICENSE
- Remove need for separate macro crates
- Add pipemodifier return value to behaviour stack
- Deny warnings in ci, not local development
- Basic pipe sender implementation
- Implement static pipes
- Implement pipe sender resend logic
- Implement full pipe resend behaviour
- Move pipe tests into a separate module
- Initial ordered pipe behaviour implementation
- Enable pipe behavior stacks to be cloned
- Implement dynamic pipe handshake initialisation
- Enable ockam crate to use ockam_node_test_attribute
- Fix compilation for no_std environments
- Dependencies updated
- change
Doesnt
toDoesNot
for enum variants
- handle failed fetch_intervals gracefully
- Dependencies updated
- Explicitly derive Message trait
- Dependencies updated
- Clippy improvements
- Dependencies updated
- Expose AsyncTryClone from ockam crate.
- Make APIs async.
- Make Stream workers async.
- Dependencies updated
- Simplified feature usage.
- Move as many things as possible into a workspace.
- Various documentation improvements.
- Remove protocol parser.
- Remove
None
errors from Error enums.
- Added new 'no_main' feature to control ockam_node_attribute behavior on bare metal platforms
- Make credentials optional (disabled by default)
- Dependencies updated
- Dependencies updated
- Dependencies updated
- Ockam compiles under no_std + alloc.
- Use forked version of crates core2 and serde_bare.
- Dependencies updated
- Dependencies updated
- Fixed incorrect link in README
- Dependencies updated.
- Dependencies updated.
- Implementation of the forwarding service.
- Dependencies updated.
- Replace std:: modules with core:: and alternate implementations
- Dependencies updated.
- Implement BLS signature using BBS+.
- Dependencies updated.
- Updated documentation.
- Dependencies updated.
- Added a simple generator for unique, human-readable identifiers.
- Fixed log message in stream producer.
- Refactored entity secure channel workers.
- Moved location of stream message fetch polling.
- Dependencies updated.
- Refactored streams code for clarity & ergonomics.
- Dependencies updated.
- Add threshold BLS signing.
- Add hex as a public exported crate to ockam crate.
- Update remote_forwarder to be able to use arbitrary address instead of socket_addr.
- Dependencies updated.
- Dependencies updated.
- Utility for sending asynchronous delayed messages.
- Stream protocol initial API and implementation.
- Stream Worker implementation.
- BLS signature stub.
- New
from_external
function toProfileIdentifier
, for creating identifiers from serialized forms. - Service builder for Ockam Transport implementations.
- Stream API example.
- New Builder function to
Stream
that configures the client_id for the Stream consumer. - Monotonic id generator for ockam crate internals.
- Expose blocking and non-blocking delay functions.
- Basic publishing Worker.
- Dependencies updated.
- Return an error instead of panicking when a protocol parser fails.
- Improve logging in Worker relay.
- Move signing key to change events
- Incoming messages now have access to stream routing information.
- Secure channel creation no longer panics when used with an entity.
- get_contact Entity Eorker response type changed to correct type.
- Bring
stream_service
andindex_service
names in line with Hub defaults. - Bring stream protocol definitions in line with the latest definition.
- Make stream and index service addresses configurable.
- Save updated index after successful message pull.
- Support Message
return_route
via bi-directional Streams. - Update index as messages are retrieved from Stream.
- Isolate and expose bi-directional stream names.
- Improve delayed event API.
- Allow protocol parser fragment to communicate success
- Type for
BLS
secrets.
- Dependencies updated.
- Identity trait for defining Profile behavior.
- Entity and Profile implementation restructured.
- Dependencies updated.
- Added LocalMessage for locally routed messages.
- TransportMessage constructor has been extended to use recent routing changes.
- Dependencies updated.
route!
macro to simplify construction of message routes.
- Dependencies updated.
- Entity abstraction.
- Trust Policy abstraction and IdentityTrustPolicy policy implementation.
- Fix clippy issues.
- Dependency updates.
- Entity abstraction.
- Modular and configurable protocol parser.
- Dependencies updated.
- Remove dynamic dispatch in UserParser.
- Updated documentation.
- Traits for
Profile
.
- Dependencies updated.
- Renamed
async_worker
toworker
. - Documentation edits.
- Vault creation is now sync.
- Dependencies updated.
- Dependencies updated.
- Crate dependency reorganization.
- Vault struct renames.
- Build system and test fixes.
- Dependencies updated.
- Replaced RemoteMailbox with RemoteForwarder.
- Build system and test fixes.
- Dependencies updated.
- Dependencies updated.
- Renamed Context address functions.
Any
message type for untyped worker messages.
Routed
message wrapper function APIs renamed.Passthrough
type renamed toAny
.msg_addr
moved fromContext
toRouted
.Context
address renamed toprimary_address
.- Transport message fields renamed.
- RemoteMailbox function renames.
- Dependency updates.
- Updated documentation.
- Unified message type for router implementations.
- Route metadata wrapper type.
- Dependency updates.
- Lease API.
- Credential API.
- Profile authentication.
- Profile key rotation.
- Contact and Profile APIs file locations have been reorganized.
- Use new trait names from
ockam_vault_core
. - Dependency updates.
- Renamed
authentication_factor
toauthentication_proof
. - Minor Profile API improvements.
- Removed explicit
async_trait
user dependency. - Contacts has been removed in favor of profiles.
- Contact and Profile APIs.
- Profile Changes API.
- Dependencies updated.
- Improved error handling.
- This document and other meta-information documents.