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. [Dependencies] - 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. [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.