Skip to content

Latest commit

 

History

History
69 lines (68 loc) · 4.32 KB

RELEASE_NOTES.md

File metadata and controls

69 lines (68 loc) · 4.32 KB

Release Notes

  • 2019-09-27 0.1.0
    • A lot of breaking changes have been introduced in an effort to keep them all in one release so that the API can stabilize. Please see examples and other sources for help in integrating all of the changes listed below.
    • BREAKING CHANGE: ActorId has been renamed to Aid to facilitate communication and lower confusion between the uuid field in the Aid and the Aid itself.
    • BREAKING CHANGE: Status::Processed has been renamed to Status::Done.
    • BREAKING CHANGE: Status::Skipped has been renamed to Status::Skip.
    • BREAKING CHANGE: Status::ResetSkip has been renamed to Status::Reset.
    • BREAKING CHANGE: ActorError has been moved to top level and renamed to AxiomError.
    • BREAKING CHANGE: find_by_name and find_by_uuid have been removed from Aid as the mechanism for looking up actors doesn't make sense the way it was before.
    • BREAKING CHANGE: MessageContent was unintentionally public and is now private.
    • BREAKING CHANGE: Changed Processor to take a &Context rather than Aid.
    • BREAKING CHANGE: The send, send_new and send_after methods now return a result type that the user must manage.
    • BREAKING CHANGE: All actor processors now should return AxiomResult which will allow them to use the ? syntax for all functions that return AxiomError and return their own errors.
    • BREAKING CHANGE: Actors are now spawned with the builder pattern. This allows the configuration of an actor and leaves the door open for future flexibility. See documentation for more details.
    • Created a Context type that holds references to the Aid and ActorSystem.
    • Processor functions can get a reference to the Aid of the actor from Context.
    • Processor functions can get a reference to the ActorSystem from Context.
    • The methods find_aid_by_uuid and find_aid_by_name are added to the ActorSystem.
    • Calling system.init_current() is unneeded unless deserializing Aids outside a Processor.
    • Metrics methods like received() in Aid return Result instead of using panic!.
    • Changed internal maps to use crate dashmap which expands dependencies but increases performance.
    • New methods send_new and send_new_after are available to shorten boilerplate.
    • Added a named system actor, which is registered under the name System, that is started as the 1st actor in an ActorSystem.
    • Added a method system_actor_aid to easily look up the System actor.
    • Added additional configuration options to ActorSystemConfig.
    • System will warn if an actor takes longer than the configured warn_threshold to process a message.
    • Instead of processing one message per receive, the system will now process pending messages up until the configured time_slice, allowing optimized processing for quick messages.
    • The default message_channel_size for actors is now configurable for the actor system as a whole.
    • Instead of waiting forever on a send, the system will wait for the configured send_timeout before returning a timeout error to the caller.
  • 2019-08-11: 0.0.7
    • Simplified some of the casts and cleaned up code.
    • Fixed issues related to major bug in fixed in secc-0.0.9
  • 2019-08-11: 0.0.6
    • Significant changes in API. Migration should be simple but see the examples for differences.
    • Implemented major serialization functionality for messages and ActorIds with serde.
    • Put in ground work for implementation of Remote actors.
    • Improved user ergonomics.
  • 2019-07-23: 0.0.5
    • Various documentation and miscellaneous fixes.
    • Issue 11: Actors shouldn't panic if they cant schedule the actor.
    • Issue 16: Put in a means to allow an actor to monitor another actor.
    • Issue 25: Implement a means to lookup an Actor by its UUID.
    • Issue 27: Add the ability to register a local name for an actor.
    • Issue 29: Implement monitors for actors.
  • 2019-07-18: 0.0.4-a
    • Maintenance release with some devops work, no features.
  • 2019-07-19: 0.0.3
    • I have added a large amount of copy edited documentation and fixed many spelling mistakes
    • Fixed a couple of actual small bugs in the receiving of messages.
  • 2019-07-18: 0.0.2
    • Maintenance release with some devops work, no features.
  • 2019-07-18: 0.0.1
    • Initial release with basic actors, channel processing of messages and so on.