ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/AnyEvent/Changes
(Generate patch)

Comparing AnyEvent/Changes (file contents):
Revision 1.248 by root, Thu Jun 25 14:27:18 2009 UTC vs.
Revision 1.349 by root, Mon Sep 14 05:05:09 2009 UTC

1Revision history for Perl extension AnyEvent. 1Revision history for Perl extension AnyEvent.
2 2
35.2 Mon Sep 14 07:04:49 CEST 2009
4 - INCOMPATIBLE CHANGE: do no longer support register_read_type
5 and register_write_type in AnyEvent::Handle, instead support
6 package names (the facility was mostly abused).
7 - implement "packagename-as-read/write type" support in
8 AnyEvent::Handle.
9 - AnyEvent::Handle: new options "keepalive" and "oobinline".
10 - oobinline set by default to avoid security issues.
11 - the pure-perl event loop backend wrongly detected times() fallback
12 support (spotted by Pavel Boldin).
13
145.12 Tue Sep 1 20:26:50 CEST 2009
15 - be more lenient when parsing resolv.conf files, as some people
16 use hashmarks as comment indicator inside directives (reported
17 by Michael S. Fischer).
18 - use same set of warnings as common::sense 2.0.
19 - fix a potential 32 bit overflow issue due to perl having problems
20 with large hex constants in the Perl backend.
21 - do not use the slower 5.6 version fo the enc_name code in AnyEvent::DNS
22 by default.
23 - fix some prototypes.
24 - (optionally) require Async::Interrupt 1.02.
25 - replace opendns fallbacks by verizon/level3 public dns servers.
26
275.112 Fri Aug 21 13:59:04 CEST 2009
28 - AnyEvent::Handle could cause hard crashes in Net::SSLeay when
29 using starttls with an illegal/uncreatable tls context.
30 - port to broken win32 perls.
31
325.111 Sun Aug 16 18:44:36 CEST 2009
33 - perl errornously requires sockaddr_un structures returned by the
34 kernel to have a specific length. work around this bug by padding
35 sockaddr_un structures (found to fail on OS X, as perl only uses
36 the correct code for GNU/Linux, but likely to fail on other
37 OSes as well).
38
395.11 Wed Aug 12 17:49:37 CEST 2009
40 - fixed a bug in run_cmd with input from filename.
41 - create a json coder object when none is given in write direction
42 to reduce dependency on JSON.
43
445.1 Tue Aug 11 03:17:32 CEST 2009
45 - tcp_connect now reports the correct error in $!, not an unrelated
46 one (was broken since 4.91).
47 - AE::Handle did not properly clear rtimeout/wtimeout watchers
48 when retrying a tcp_connect.
49 - new functions: AnyEvent::Util::run_cmd and close_all_fds_except.
50 - fixed wrong documentation in AE::Socket.
51
525.01 Mon Aug 10 03:16:32 CEST 2009
53 - last release broke EV child watchers :/.
54
555.0 Sun Aug 9 17:32:09 CEST 2009
56 - officially introduce and document the AE API.
57 - lowering the timeout at runtime did not have immediate effect
58 in AnyEvent::Handle.
59 - AE::Handle now has separate and independent read and write timeout
60 settings.
61 - probe for Guard module when AnyEvent::Util is loaded, not at
62 runtime (Event doesn't like eval "use" from callbacks, and it avoids
63 exporting the probe function).
64 - Impl::IOAsync's io watchers did not use the filehandle emulation
65 code to work around it's watcher limits.
66 - work around IO::Async's problems with overloaded objects.
67 - try to disable wearnings inside IO::Async, it's just too buggy.
68 - do no longer use Event by default, only EV or Perl, Event is too buggy.
69 - hackishly provide fast AE:: interface when EV or Perl is the backend.
70 - inherit VERSION from AnyEvent::VERSION in most modules.
71
724.91 Thu Aug 6 15:42:45 CEST 2009
73 - AE::Handle::starttls could get out of sync when the read buffer
74 already contains some TLS handshake.
75 - AE::Handle did not properly free the TLS session, causing bigger
76 memory leaks in Net::SSLeay than expected (reported by toaster).
77 - AE::Socket::tcp_connect will now artificially delay invoking
78 the callback to avoid returning after invoking the callback.
79 - convert many internal watcher uses to AE API.
80
814.9 Sat Aug 1 11:07:01 CEST 2009
82 - Glib silently fails when registering a timeout with
83 a negative value, so avoid that.
84 - call condvar callback immediately when it is set
85 after the condition is already signalled.
86 - check rbuf_max condition only after trying to consume
87 data.
88 - normalise signal numbers to names when using the ae's
89 signal handling, but do not document this (yet).
90 - pure perl signal emulation did not properly set nonblocking
91 mode on the signal pipe on win32 (this is unlikely to have caused
92 any issues).
93 - new module: AnyEvent::Debug.
94 - AnyEvent::Strict now checks that a signal was specified
95 by name (not name or number).
96 - reduce memory footprint in typical cases by ~50kb by
97 only compiling signal code when necessary.
98 - add AnyEvent::Handle->rbuf_max.
99 - grab the AE namespace for future new API, implement stubs for
100 said future/alternative API.
101 - new function: AnyEvent::Socket::format_hostport.
102
1034.881 Tue Jul 28 12:51:53 CEST 2009
104 - work around a bug in local in pre-5.10 perls, causing
105 AnyEvent::Handle to recurse when it should not
106 (analyzed by elmex).
107
1084.88 Tue Jul 28 04:04:37 CEST 2009
109 - re-bless the handle into a dummy package after calling
110 AnyEvent::Handle::destroy, so the user does not need to check
111 for errors after every push_write etc.
112 - do not attempt to run t/02_signals.t on obviously broken
113 platforms.
114
1154.87 Sun Jul 26 02:06:16 CEST 2009
116 - do not attempt to linger when there is no longer a valid fh.
117 - enforce tls mode to be either accept or connect, do not simply
118 segfault in Net::SSLeay.
119 - AnyEvent::Handle can now call tcp_connect itself (new parameters
120 connect, on_prepare, on_connect and on_connect_error). Updated
121 tutorial accordingly.
122 - add AnyEvent::Impl::Irssi backend.
123
1244.86 Mon Jul 20 23:52:29 CEST 2009
125 - since the verbose warning is not enough, explicitly document
126 that versions before 1.33 of Net::SSLeay are not secure.
127 - work around signal handling races in Event and (...) Event::Lib.
128 - try to align signal-race timer to full-second boundaries.
129 - work around Tk not liking negative timeouts.
130 - don't complain of different grades of environmental unfriendlyness
131 in IO::Async.
132
1334.85 Sat Jul 18 06:16:14 CEST 2009
134 - nail the signal race problem in perl once and for all
135 (see $AnyEvent::MAX_SIGNAL_LATENCY).
136 - take advantage of Async::Interrupt if it is available.
137 - load Time::HiRes and Guard modules on demand only.
138 - add optional/recommended modules section to AnyEvent
139 documentation.
140 - reduce memory usage considerably (and reduce startup penalty)
141 by not using "strict", "warnings" and "overload" modules.
142 - work around buggy windows/openbsd perls and provide EBADMSG
143 and EPROTO ourselves when missing.
144 - improve perl 5.6 compatibility of the core event loop.
145 - made Net::SSLeay version 1.33 a soft requirement.
146
1474.83 Fri Jul 17 16:56:26 CEST 2009
148 - implement AnyEvent::Socket::getprotobyname.
149 - AnyEvent::CondVar's will now detect recursive blocking
150 waits and will croak, as too many people fall into
151 this trap.
152 - AnyEvent::Handle will now call ->destroy on itself after
153 executing the on_error callback, instead of doing some
154 half-baked internal shutdown, for fatal errors.
155 - clarify on_eof behaviour w.r.t. the read queue and
156 on_read callbacks.
157 - ignore some possible spurious wake-ups in tcp_connect.
158
1594.82 Sat Jul 11 00:34:55 CEST 2009
160 - POE and Event backends didn't accept some callable objects as
161 callbacks.
162 - use Config module instead of POSIX module to detect signal names
163 in AnyEvent::Strict and AnyEvent::Impl::EventLib, as the POSIX
164 module doesn't even have all POSIX signals :/.
165 - use more workarounds around the many refcnt/corruption bugs in
166 Event::Lib.
167 - work around a race condition in perl's select, causing t/03_child.t
168 to rarely fail.
169
1704.81 Thu Jul 9 10:30:30 CEST 2009
171 - AnyEvent::Handle didn't properly diagnose write errors
172 (it expected -1 from syswrite, how lame... :).
173 - support file descriptors in addition to file handles
174 in AnyEvent->io.
175 - new env variables: PERL_ANYEVENT_RESOLV_CONF,
176 PERL_ANYEVENT_MAX_OUTSTANDING_DNS, PERL_ANYEVENT_CA_FILE
177 and PERL_ANYEVENT_CA_PATH.
178 - provide a sensible synopsis section for AnyEvent::TLS.
179 - add a "supported backends" section to the manpage.
180 - added simple io watcher test to testsuite, using a
181 portable_socketpair.
182 - tried to improve the stability of the Event::Lib backend,
183 YMMV.
184
1854.8 Mon Jul 6 23:45:16 CEST 2009
186 - AnyEvent::DNS did not properly follow CNAME records with
187 uppercase targets.
188 - AnyEvent::DNS would errornously return AAAA records
189 with v4 mapped addresses (a faulty record) as ipv4 addresses,
190 causing AnyEvent::Socket to throw an exception.
191 - added new module AnyEvent::TLS for easier SSL/TLS context
192 creation, with many options including hostname verification,
193 secure default configuration, lots of documentation and,
194 predefined diffie-hellman keys for perfect forward security
195 and much more. get it while it's still fresh!
196 - use AnyEvent::TLS in AnyEvent::Handle for context management.
197 - load AnyEvent::Handle only on demand in AnyEvent::DNS,
198 so AnyEvent::Socket users have smaller memory footprint
199 in the common case.
200 - add AnyEvent::Handle->push_shutdown method.
201 - add an additional error message parameter to AnyEvent::Handle's
202 on_error callback (for TLS, $! is still available).
203 - add AnyEvent::Handle on_starttls/on_stoptls callbacks.
204 - make AnyEvent::Handle more robust against early conenction
205 failures (during new), and return C<undef> in that case
206 from the constructor.
207 - AnyEvent::Handle will now try to load only JSON::XS first,
208 then fall back to JSON.
209 - format_ipv4/format_ipv6 are now exported by default, for symmetry,
210 and because it was documented that way.
211
2124.451 Fri Jul 3 00:28:58 CEST 2009
213 - do not clear rbuf when shutting down an AnyEvent::Handle
214 object - doing so breaks AnyEvent::HTTP.
215
2164.45 Mon Jun 29 22:59:26 CEST 2009
217 - a write error could cause AnyEvent::Handle to create
218 an I/O watcher with an undefined $fh.
219 - special-case mapped ipv4 addresses in both
220 AnyEvent::Socket::format_address and parse_address,
221 to treat them just like ipv4 addresses.
222 - updated and overhauled the AnyEvent::Intro doc.
223 - implement AnyEvent::Socket::format_ipv4/ipv6.
224 - slightly speed up portable_pipe/socketpair.
225 - expand condvar begin/end documentation.
226
2274.42 Fri Jun 26 08:32:18 CEST 2009
3 - preliminary and neccesarily incomplete support for IO::Async. 228 - preliminary and neccesarily incomplete support for IO::Async.
4 - reset SIGCHLD to DEFAULT when AnyEvent is loaded, in 229 - reset SIGCHLD to DEFAULT when AnyEvent is loaded, in
5 case it was set to IGNORE, to ensure we can catch child statuses 230 case it was set to IGNORE, to ensure we can catch child statuses
6 even when the calling env acts stupidly. 231 even when the calling env acts stupidly.
7 - updated benchmarks with IO::Async, which performs very well. 232 - updated benchmarks with IO::Async, which performs very well.

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines