Revision history for Myriad

0.010     2021-07-22 07:14:15+00:00 UTC
    [New features]
    - Metrics adapter type is now configurable using --metrics_adapter.
    - Metrics destination can be changed using --metrics_host and --metrics_port.

    [Bugs fixed]
    - RPC client to track message id for response before sending it.
    - Subscription to use the right group name to acknowledge from stream.

    - Object::Pad - use new ->begin_class from MOB package.
    - Metrics::Any - update to v0.07 to disable metrics from certain packages.
    - Metrics::Any::Adapter::Statsd - instead of DogStatsd standard.

0.009     2021-07-14 18:39:34+08:00 Asia/Kuala_Lumpur
    [API Changes]
    - Syntax::Keyword::Match is now imported in Myriad::Service code
    - Redis: A service will not create another service's stream.
    - Allow service namespaces by adding '::*' to the startup command.

    [New features]
    - Added incr method for storage keys.

0.008     2021-06-18 05:24:31+00:00 UTC
    [API Changes]
    - Breaking: RPC client will unwrap the extra 'response' level from the response.
    - Myriad now has run_future like shutdown_future, to tell when the framework is running.
    - Test::Myriad has a ready sub, to tell when the underlying Myriad is running.
    - Batch will now throw an exception and fail if the developer didn't return arrayref.

    [Bugs fixed]
    - Having multiple RPC added will not block and wait each others from reading from stream.

0.007     2021-05-21 14:22:03+00:00 UTC
    [Bugs fixed]
    - RPC reading multiple items from stream but processing only one.

    - Object::Pad - Use officially documented way to obtain metaclasses.

0.006     2021-05-07 04:16:11+00:00 UTC
    [API Changes]
    - `fmap_void`, `fmap_concat` and `fmap_scalar` are imported from Future::Utils into classes by default
    - RPC streams are now organized differently - there will be a stream for each method
    instead of one stream per service. To migrate, use the script in `bin/`

    [Bugs fixed]
    - RPC reads no longer not block each other when multiple services have been loaded into one Myriad

0.005     2021-04-30 12:52:41+00:00 UTC
    [Bugs fixed]
    - small memory leak due to defer blocks not being cleared up, now uses try/finally
    to avoid this
    - minor issues in command line parser for services' config
    - bootstrap test to be skipped if Linux::Inotify2 is not available

0.004     2021-04-28 13:27:36+08:00 Asia/Kuala_Lumpur
    [API Changes]
    - Helper methods from List::Util - `min`, `max` and `sum0` - plus JSON functions
    from JSON::MaybeUTF8 now injected into classes by default
    - `defer` keyword from Syntax::Keyword::Defer is also injected into classes by default

    [Bugs fixed]
    - `memory` transport was not delivering messages correctly due to a double-counting bug
    - Redis stream cleanup fixed

0.003     2021-04-27 14:57:49+08:00 Asia/Kuala_Lumpur
    [Bugs fixed]
    - updates to latest Net::Async::Redis to resolve remaining memory leaks
    - numeric configuration values were treated as booleans if the default was set to zero

0.002     2021-04-24 16:36:44+08:00 Asia/Kuala_Lumpur
    [API Changes]
    - The "perl" transport has been renamed to "memory", for consistency
      with implementations in other languages
    - Startup and shutdown calls now receive the `$myriad` instance as the
      first parameter for convenience, and can be method calls (e.g.
      method name) instead of plain coderefs

    [New features]
    - Subscription to configuration changes via the Redis transport - configuration
      objects still use Ryu::Observable so this behaviour should be a seamless upgrade
      for existing code

    [Bugs fixed]
    - Batch handling had a memory leak, this version should be improved
      although `await` calls inside a batch method may still exhibit
      increased memory usage (we expect to address this in the next version)

0.001     2021-04-16 09:25:26+08:00 Asia/Kuala_Lumpur

 Initial release.