-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy pathChanges
133 lines (104 loc) · 5.57 KB
/
Changes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
Revision history for {{$dist->name}}
{{$NEXT}}
[Dependencies]
- Future::AsyncAwait - updated to v0.61 for some minor bugfixes and Future::XS
compatibility
[New features]
- support for Net::Async::Redis::XS, set the environment variable `PERL_REDIS_XS` to `1`
to load and use the XS versions for better performance
- Future::AsyncAwait::Hooks now available (for suspend/resume blocks) when using `:v2`
[Bugs fixed]
- handle keyspace notifications properly for config changes in Redis
1.001 2022-11-11 09:42:07+08:00 Asia/Singapore
[Bugs fixed]
- Latest Future (and Future::XS) were failing tests due to `Future->needs_all`
being a class method, the test was incorrectly trying to use it as a plain function
(only affects the memory transport, not Redis)
1.000 2022-09-05 10:25:25+08:00 Asia/Singapore
[API changes]
- The --service_name parameter has been dropped, since it makes no sense when
used with multiple services or instances
[New features]
- Thanks to Syntax::Keyword::Equ, match() now supports `equ` as an operator
- RPC on start handle existing pending messages in stream, if not expired.
- RPC overflow protection (will not connsume more than it can process).
- Transport Redis connection pool count and wait time can be controlled through config parameters.
- Add orderedset data structure to Myriad storage.
[Bugs fixed]
- Subscriptions to create streams from source without a published event.
[Dependencies]
- Object::Pad - updated to v0.55 for various bugfixes and improvements
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.