The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Revision history for Myriad

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.

    [Dependencies]
    - 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/myriad-migrate-rpc-streams.pl`

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

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. Myriad.pm
      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.