1 |
Revision history for AnyEvent::MP |
2 |
|
3 |
TODO: testsuite |
4 |
TODO: intro: maybe simple job pool example? |
5 |
TODO: intro: mention watchdog... |
6 |
|
7 |
faq: can't se anything |
8 |
faq: all is asynch |
9 |
faq: how to interface to non-perl nodes? |
10 |
|
11 |
1.28 Thu Apr 1 21:23:54 CEST 2010 |
12 |
- accepted conenctions didn't corretcly set up the SRCNODE |
13 |
in some cases, leading to intra-node messages (such as monitoring) |
14 |
to fail silently (great testcase by Sadrak). |
15 |
|
16 |
1.27 Sat Mar 20 21:11:16 CET 2010 |
17 |
- avoid exceptions in the transport code if the connection |
18 |
fails during TLS negotiation. |
19 |
- delay new address broadcasts in seednodes, to reduce the |
20 |
likelyhood of nodes connecting at the same time, leading to |
21 |
message loss. |
22 |
- improve general message passing efficiency by 8%, and special |
23 |
case json framing for a 50% speed increase. |
24 |
- add hints how to interface to aemp nodes from other programming |
25 |
languages using the aemp protocol in AnyEvent::MP::Transport |
26 |
(it can really be quite simple). |
27 |
- handle unsupported remote framings more gracefully. |
28 |
|
29 |
1.26 Wed Dec 30 16:48:37 CET 2009 |
30 |
- INCOMPATIBLE CHANGE: the high-level node protocol changed, |
31 |
all nodes need to upgrade. |
32 |
- remote kil's did not work (reported by Eugene Grigoriev). |
33 |
- documented monitor_timeout, connect_interval, auth_offer, |
34 |
auth_accept, framing_format, autocork and nodelay options |
35 |
and make them configurable via bin/aemp. |
36 |
- some doc updates. |
37 |
- remote kil's were not synchronous to message sends which affected |
38 |
nobody, as remote kils were broken. |
39 |
- remote mon/unmonitor requests were not synchronous to message |
40 |
sends either sometimes, although it likely didnt matter. |
41 |
|
42 |
1.24 Wed Dec 9 14:59:52 CET 2009 |
43 |
- codename "the foul egg". |
44 |
- increased "unmonitored local port died" message level to 2, so |
45 |
it is displayed by default now. |
46 |
- generate random seed at configure time, not module loading time, |
47 |
so fork&configure works as expected. |
48 |
- decreased "seed"-related message priority in Global from 0 (d'oh) |
49 |
to 9, as they are not signifcant. |
50 |
- new experimental module AnyEvent::MP::DataConn to establish |
51 |
additional data connections between nodes. |
52 |
- bin/aemp now loads AnyEvent::Watchdog::Util before trying |
53 |
to call restart. |
54 |
- bin/aemp setcert didn't properly handle the filename argument. |
55 |
- removed empty and unused timeout= parameter from protocol greeting. |
56 |
|
57 |
1.23 Fri Nov 6 18:46:26 CET 2009 |
58 |
- listener-less nodes were misinformed by their masters about |
59 |
the location of new nodes, and therefore didn't connect |
60 |
properly in all cases. |
61 |
- messages send during node-up processing could sometimes get lost, |
62 |
which would hamper global's ability to mesh the network. |
63 |
- fixed AnyEvent::MP::Global::grp_reg to return a guard also |
64 |
in scalar context. |
65 |
- fixed AnyEvent::MP::Kernel::mon_nodes to return a guard also |
66 |
in scalar context. |
67 |
- try to improve error reporting when automatically loading |
68 |
a function - being unable to load a module will now |
69 |
stop the process and report the error. |
70 |
|
71 |
1.22 Sat Oct 17 03:41:47 CEST 2009 |
72 |
- fix two rcv-bugs: after adding a tagged rcv, the default |
73 |
callback would not be used or changed anymore (reported |
74 |
by Felix Antonius Wilhelm Ostmann, with apologies for |
75 |
taking so long to releae the fix). |
76 |
- added Coro::MP introduction to AnyEvent::MP::Intro. |
77 |
- add peval function. |
78 |
|
79 |
1.21 Mon Oct 5 21:58:36 CEST 2009 |
80 |
- always delay kil messages. |
81 |
- remote monitor requests were never cleaned up (found by |
82 |
Sadrak and analysed by elmex). |
83 |
- move $VERSION to AnyEvent::MP and AnyEvent::MP only. |
84 |
|
85 |
1.2 Thu Oct 1 22:59:35 CEST 2009 |
86 |
- fix a rather big bug where message processing could be |
87 |
inhibited completely. |
88 |
- grp_mon could not return a guard due to a typo. |
89 |
- implement primitive aemp shell. |
90 |
- do not use bound address as listen length (reported by |
91 |
Felix Antonius Wilhelm Ostman). |
92 |
- no longer export an undefined "reg" function from AE::MP. |
93 |
- the mon_guard return value no longer keeps an additional |
94 |
reference to the passed refs. |
95 |
|
96 |
1.1 Fri Sep 11 04:34:03 CEST 2009 |
97 |
- bumped the transport protocol to version 1 - sorry, but there |
98 |
were too many bugfixes/changes. |
99 |
- new function AnyEvent::MP::cal for simple rpc. |
100 |
- renamed AnyEvent::MP::Global functions to grp_reg|get|mon. |
101 |
- implemented monitoring for Global groups. |
102 |
- removed all userspace time-outs from the transport, instead |
103 |
rely on tcp retransmit timeouts and tcp keepalive. |
104 |
- spawn now delays spawns on the local node artificially, so |
105 |
it can return before invoking the init function. |
106 |
- break endless recursion between ping-pong ports on the local |
107 |
node after ~50 iterations. |
108 |
- support JSON-encoded aemp arguments. |
109 |
- added aemp restart. |
110 |
- support for starting init functions with parameters added. |
111 |
- data_format, auth_offer and auth_accept are now configurable, albeit |
112 |
not documented. |
113 |
- new service: AnyEvent::MP::LogCatcher. |
114 |
- rely on perl srand'ing better than we could. |
115 |
- try to backport to 5.8.2, unfortunately, recursive dependencies |
116 |
rely on Module::Build, which fails at 5.8.7, so YMMV. |
117 |
- use a vastly different reseeding strategy. |
118 |
- use seed nodes to notify nodes about new nodes. |
119 |
- in the case where a ndoe learns new addresses after it tried |
120 |
connecting, prefer the new addrseses over the old ones. |
121 |
|
122 |
1.0 Wed Sep 2 20:40:43 CEST 2009 |
123 |
- randomise more connection times, but reduce delay to 0.2s (seeds) |
124 |
and 0.05s (normal connects). |
125 |
- upgrade to and require AnyEvent::Watchdog 1.0. |
126 |
|
127 |
0.95 Mon Aug 31 22:03:55 CEST 2009 |
128 |
- tutorial finally covers all the basics, maybe not optimally, but it |
129 |
is covered. |
130 |
- rename initialise_node to configure and accepts key => value |
131 |
pairs for configuration. |
132 |
- give aemp a full manpage. |
133 |
- bin/aemp now expects comma-separated lists and supports multiple |
134 |
subcommands. |
135 |
- new aemp eval subcommand. |
136 |
- new aemp parent subcommand. |
137 |
- nodes get freed when no longer needed. |
138 |
- support "*" hostname to specify all local interface addresses |
139 |
(without localhost etc.). |
140 |
- support "*" port to specify a dynamically-assigned port (which |
141 |
is the default now). |
142 |
- fix per-transport memory leak. |
143 |
|
144 |
0.9 Sat Aug 29 18:47:45 CEST 2009 |
145 |
- tutorial was updated to reflect the current API, but |
146 |
does not touch monitoring yet. |
147 |
- got rid of noderefs and slave nodes entirely, introduce |
148 |
free-text node identifiers and anonymous nodes. |
149 |
- document security issues with tls_anon method and introduce |
150 |
optional tls_md6_64_256 method. |
151 |
|
152 |
0.8 Wed Aug 19 07:54:50 CEST 2009 |
153 |
- added AnyEvent::MP::Global service. |
154 |
- support "package::" names as service names. |
155 |
- many, many, many bugfixes and tweaks. |
156 |
|
157 |
0.7 Sat Aug 15 01:18:51 CEST 2009 |
158 |
- sorry, another major API simplification. |
159 |
- greatly improved aemp configuration abilities. |
160 |
- introduced profile management. |
161 |
- updated exmaples in eg/. |
162 |
- added Kernel::snd_to_func. |
163 |
|
164 |
0.6 Thu Aug 13 03:15:05 CEST 2009 |
165 |
- do away with .aemp-secret and use .perl-anyevent-mp as json config |
166 |
file. |
167 |
- introduce bin/aemp to configure nodes. |
168 |
- too many changes to describe. |
169 |
|
170 |
0.4 Sun Aug 9 18:05:49 CEST 2009 |
171 |
- API should now be really stable :) |
172 |
- distinguish between resolved and unresolved noderefs. |
173 |
- certificates in .aemp-secret are now supported. |
174 |
- change port creation semantics. |
175 |
- replace become_xxx by initialise_node. |
176 |
- implement AE::MP::spawn. |
177 |
- implement transport timeouts, monitoring, reconnecting. |
178 |
- simplify and partially document the transport protocol. |
179 |
|
180 |
0.1 Tue Aug 4 23:07:11 CEST 2009 |
181 |
- AnyEvent::MP API should be mostly stable by now. |
182 |
|
183 |
0.02 Sun Aug 2 17:46:43 CEST 2009 |
184 |
- design has stabilised a bit, sitll unusable. |
185 |
|
186 |
0.01 Sat Aug 1 11:43:31 CEST 2009 |
187 |
- dummy upload to reserve namespace on CPAN. |
188 |
|
189 |
0.0 Thu Jul 30 06:10:15 CEST 2009 |
190 |
- original version, an AnyEvent::AIO clone. |