212 lines
11 KiB
Plaintext
212 lines
11 KiB
Plaintext
|
01Oct06: Replaced EventMachine#open_datagram_server with a version that can
|
||
|
take a Class or a Module, instead of just a Module. Thanks to Tobias
|
||
|
Gustafsson for pointing out the missing case.
|
||
|
04Oct06: Supported subsecond timer resolutions, per request by Jason Roelofs.
|
||
|
05Oct06: Added EventMachine#set_quantum, which sets the timer resolution.
|
||
|
15Nov06: Added Connection#set_comm_inactivity_timeout.
|
||
|
15Nov06: Checked in a Line-and-Text Protocol Handler.
|
||
|
18Nov06: Checked in a Header-and-Body Protocol Handler.
|
||
|
22Nov06: Changed EventMachine#reconnect: no longer excepts when called on an
|
||
|
already-connected handler.
|
||
|
28Nov06: Supported a binary-unix gem.
|
||
|
19Dec06: Added EventMachine#set_effective_user.
|
||
|
05Jan07: Upped max outstanding timers to 1000.
|
||
|
15May07: Applied Solaris patches from Brett Eisenberg
|
||
|
22May07: Cleaned up the license text in all the source files.
|
||
|
22May07: Released version 0.7.2
|
||
|
|
||
|
23May07: Per suggestion from Bill Kelly, fixed a bug with the initialization
|
||
|
of the network libraries under Windows. The goal is to enable EM to
|
||
|
be used without Ruby.
|
||
|
28May07: Applied patch from Bill Kelly, refactors the declarations of
|
||
|
event names to make EM easier to use from C programs without Ruby.
|
||
|
31May07: Added a preliminary implementation of EventMachine#popen.
|
||
|
01Jun07: Added EM, a "pseudo-alias" for EventMachine.
|
||
|
01Jun07: Added EM#next_tick.
|
||
|
01Jun07: Added EM::Connection#get_outbound_data_size
|
||
|
05Jun07: Removed the code which loads a pure-Ruby EM library in case the
|
||
|
compiled extension is unavailable. Suggested by Moshe Litvin.
|
||
|
06Jun07: Preliminary epoll implementation.
|
||
|
12Jun07: Added an evented popen implementation that, like Ruby's, is
|
||
|
full-duplex and makes the subprocess PID available to the caller.
|
||
|
06Jul07: Performance-tweaked the callback dispatcher in eventmachine.rb.
|
||
|
10Jul07: Released version 0.8.0.
|
||
|
12Jul07: Applied patches from Tim Pease to fix Solaris build problems.
|
||
|
15Jul07: Created a new provisional source branch, experiments/jruby-1.
|
||
|
This is a preliminary implementation of the EM reactor in Java,
|
||
|
suitable for use with JRuby.
|
||
|
17Jul07: Added EventMachine#stop_server, per request from Kirk Haines,
|
||
|
and associated unit tests.
|
||
|
22Jul07: Added EventMachine#stream_file_data. This is a very fast and scalable
|
||
|
way of sending data from static files over network connections. It
|
||
|
has separate implementations for small files and large file, and
|
||
|
has tunings to minimize memory consumption.
|
||
|
26Jul07: Added some patches by Kirk Haines to improve the behavior of
|
||
|
EM::Connection#send_file_data_to_connection.
|
||
|
26Jul07: Added a C++ module for directly integrating EM into C++ programs
|
||
|
with no Ruby dependencies. Needs example code.
|
||
|
29Jul07: Added EventMachine::Protocols::LineText2.
|
||
|
29Jul07: Added EventMachine::Protocols::Stomp.
|
||
|
30Jul07: Added sys/stat.h to project.h to fix compilation bug on Darwin.
|
||
|
13Aug07: Added EventMachine#reactor_running?
|
||
|
15Aug07: Added parameters for EventMachine::Connection:start_tls that can be
|
||
|
used to specify client-side private keys and certificates.
|
||
|
17Aug07: Added EventMachine#run_block, a sugaring for a common use case.
|
||
|
24Aug07: Added a preliminary keyboard handler. Needs docs and testing on
|
||
|
windows.
|
||
|
26Aug07: Created EventMachine::Spawnable, an implementation of Erlang-like
|
||
|
processes.
|
||
|
27Aug07: Silenced some -w warnings, requested by James Edward Gray II.
|
||
|
30Aug07: Added cookies to EM::HttpClient#request.
|
||
|
04Sep07: Added an initial implementation of an evented SMTP client.
|
||
|
04Sep07: Added an initial implementation of an evented SMTP server.
|
||
|
10Sep07: Changed EM#spawn to run spawned blocks in the context of the
|
||
|
SpawnedProcess object, not of whatever was the active object at the
|
||
|
time of the spawn.
|
||
|
14Sep07: Heartbeats weren't working with EPOLL. Noticed by Brian Candler.
|
||
|
15Sep07: Added some features, tests and documents to Deferrable.
|
||
|
16Sep07: Added [:content] parameter to EM::Protocols::SmtpClient#send.
|
||
|
16Sep07: Bumped version to 0.9.0 in anticipation of a release.
|
||
|
18Sep07: Released version 0.9.0.
|
||
|
19Sep07: Added #receive_reset to EM::Protocols::SmtpServer.
|
||
|
19Sep07: User overrides of EM::Protocols::SmtpServer#receive_recipient can now
|
||
|
return a Deferrable. Also fixed bug: SmtpClient now raises a protocol
|
||
|
error if none of its RCPT TO: commands are accepted by the server.
|
||
|
26Sep07: Fixed missing keyboard support for Windows.
|
||
|
03Oct07: Added a default handler for RuntimeErrors emitted from user-written
|
||
|
code. Suggested by Brian Candler.
|
||
|
19Oct07: Set the SO_BROADCAST option automatically on all UDP sockets.
|
||
|
10Nov07: Forced integer conversion of send_datagram's port parameter.
|
||
|
Suggested by Matthieu Riou.
|
||
|
12Nov07: Added saslauth.rb, a protocol module to replace the Cyrus SASL
|
||
|
daemons saslauthd and pwcheck.
|
||
|
15Nov07: Fixed bug reported by Mark Zvillius. We were failing to dispatch
|
||
|
zero-length datagrams under certain conditions.
|
||
|
19Nov07: Added EventMachine#set_max_timers. Requested by Matthieu Riou and
|
||
|
others.
|
||
|
19Nov07: Fixed bug with EM::Connection#start_tls. Was not working with server
|
||
|
connections. Reported by Michael S. Fischer.
|
||
|
26Nov07: Supported a hack for EventMachine#popen so it can return an exit
|
||
|
status from subprocesses. Requested by Michael S. Fischer.
|
||
|
30Nov07: Changed Pipe descriptors so that the child-side of the socketpair is
|
||
|
NOT set nonblocking. Suggested by Duane Johnson.
|
||
|
05Dec07: Re-enabled the pure-Ruby implementation.
|
||
|
06Dec07: Released Version 0.10.0.
|
||
|
13Dec07: Added EM::DeferrableChildProcess
|
||
|
24Dec07: Added a SASL client for simple password authentication.
|
||
|
27Dec07: Removed the hookable error handler. No one was using it and it significantly
|
||
|
degraded performance.
|
||
|
30Dec07: Implemented Kqueue support for OSX and BSD.
|
||
|
04Jan08: Fixed bug in epoll ("Bad file descriptor"), patch supplied by Chris
|
||
|
Heath.
|
||
|
04Jan08: Fixed bug reported by Michael S. Fischer. We were terminating
|
||
|
SSL connections that sent data before the handshake was complete.
|
||
|
08Jan08: Added an OpenBSD branch for extconf.rb, contributed by Guillaume
|
||
|
Sellier.
|
||
|
19Jan08: Added EM::Connection::get_sockname per request by Michael Fischer.
|
||
|
19Jan08: Supported IPv6 addresses.
|
||
|
30Apr08: Set the NODELAY option on sockets that we connect to other servers.
|
||
|
Omission noted by Roger Pack.
|
||
|
14May08: Generated a 0.12 release.
|
||
|
15May08: Supported EM#get_sockname for acceptors (TCP server sockets).
|
||
|
Requested by Roger Pack.
|
||
|
15May08; Accepted a patch from Dan Aquino that allows the interval of a
|
||
|
PeriodicTimer to be changed on the fly.
|
||
|
15Jun08: Supported nested calls to EM#run. Many people contributed ideas to
|
||
|
this, notably raggi and tmm1.
|
||
|
20Jul08: Accepted patch from tmm1 for EM#fork_reactor.
|
||
|
28Jul08: Added a Postgres3 implementation, written by FCianfrocca.
|
||
|
14Aug08: Added a patch by Mike Murphy to support basic auth in the http
|
||
|
client.
|
||
|
28Aug08: Added a patch by tmm1 to fix a longstanding problem with Java
|
||
|
data-sends.
|
||
|
13Sep08: Added LineText2#set_binary_mode, a back-compatibility alias.
|
||
|
13Sep08: Modified the load order of protocol libraries in eventmachine.rb
|
||
|
to permit a modification of HeaderAndContentProtocol.
|
||
|
13Sep08: Modified HeaderAndContent to use LineText2, which is less buggy
|
||
|
than LineAndTextProtocol. This change may be reversed if we can fix
|
||
|
the bugs in buftok.
|
||
|
13Sep08: Improved the password handling in the Postgres protocol handler.
|
||
|
15Sep08: Added attach/detach, contributed by Aman Gupta (tmm1) and Riham Aldakkak,
|
||
|
to support working with file descriptors not created in the reactor.
|
||
|
16Sep08: Added an optional version string to the HTTP client. This is a hack
|
||
|
that allows a client to specify a version 1.0 request, which
|
||
|
keeps the server from sending a chunked response. The right way to
|
||
|
solve this, of course, is to support chunked responses.
|
||
|
23Sep08: ChangeLog Summary for Merge of branches/raggi
|
||
|
Most notable work and patches by Aman Gupta, Roger Pack, and James Tucker.
|
||
|
Patches / Tickets also submitted by: Jeremy Evans, aanand, darix, mmmurf,
|
||
|
danielaquino, macournoyer.
|
||
|
- Moved docs into docs/ dir
|
||
|
- Major refactor of rakefile, added generic rakefile helpers in tasks
|
||
|
- Added example CPP build rakefile in tasks/cpp.rake
|
||
|
- Moved rake tests out to tasks/tests.rake
|
||
|
- Added svn ignores where appropriate
|
||
|
- Fixed jruby build on older java platforms
|
||
|
- Gem now builds from Rakefile rather than directly via extconf
|
||
|
- Gem unified for jruby, C++ and pure ruby.
|
||
|
- Correction for pure C++ build, removing ruby dependency
|
||
|
- Fix for CYGWIN builds on ipv6
|
||
|
- Major refactor for extconf.rb
|
||
|
- Working mingw builds
|
||
|
- extconf optionally uses pkg_config over manual configuration
|
||
|
- extconf builds for 1.9 on any system that has 1.9
|
||
|
- extconf no longer links pthread explicitly
|
||
|
- looks for kqueue on all *nix systems
|
||
|
- better error output on std::runtime_error, now says where it came from
|
||
|
- Fixed some tests on jruby
|
||
|
- Added test for general send_data flaw, required for a bugfix in jruby build
|
||
|
- Added timeout to epoll tests
|
||
|
- Added fixes for java reactor ruby api
|
||
|
- Small addition of some docs in httpclient.rb and httpcli2.rb
|
||
|
- Some refactor and fixes in smtpserver.rb
|
||
|
- Added parenthesis where possible to avoid excess ruby warnings
|
||
|
- Refactor of $eventmachine_library logic for accuracy and maintenance, jruby
|
||
|
- EM::start_server now supports unix sockets
|
||
|
- EM::connect now supports unix sockets
|
||
|
- EM::defer @threadqueue now handled more gracefully
|
||
|
- Added better messages on exceptions raised
|
||
|
- Fix edge case in timer fires
|
||
|
- Explicitly require buftok.rb
|
||
|
- Add protocols to autoload, rather than require them all immediately
|
||
|
- Fix a bug in pr_eventmachine for outbound_q
|
||
|
- Refactors to take some of the use of defer out of tests.
|
||
|
- Fixes in EM.defer under start/stop conditions. Reduced scope of threads.
|
||
|
23Sep08: Added patch from tmm1 to avoid popen errors on exit.
|
||
|
30Sep08: Added File.exists? checks in the args for start_tls, as suggested by
|
||
|
Brian Lopez (brianmario).
|
||
|
10Nov08: ruby 1.9 compatibility enhancements
|
||
|
28Nov08: Allow for older ruby builds where RARRAY_LEN is not defined
|
||
|
03Dec08: allow passing arguments to popen handlers
|
||
|
13Jan09: SSL support for httpclient2 (David Smalley)
|
||
|
22Jan09: Fixed errors on OSX with the kqueue reactor, fixed errors in the pure
|
||
|
ruby reactor. Added EM.current_time. Added EM.epoll? and EM.kqueue?
|
||
|
27Jan09: Reactor errors are now raised as ruby RuntimeErrors.
|
||
|
28Jan09: Documentation patch from alloy
|
||
|
29Jan09: (Late sign-off) Use a longer timeout for connect_server (Ilya
|
||
|
Grigorik)
|
||
|
07Feb09: Fix signal handling issues with threads+epoll
|
||
|
07Feb09: Use rb_thread_schedule in the epoll reactor
|
||
|
07Feb09: Use TRAP_BEG/END and rb_thread_schedule in kqueue reactor
|
||
|
08Feb09: Added fastfilereader from swiftiply
|
||
|
08Feb09: 1.9 fix for rb_trap_immediate
|
||
|
08Feb09: Enable rb_thread_blocking_region for 1.9.0 and 1.9.1
|
||
|
10Feb09: Support win32 builds for fastfilereader
|
||
|
10Feb09: Added a new event to indicate completion of SSL handshake on TCP
|
||
|
connections
|
||
|
10Feb09: Working get_peer_cert method. Returns the certificate as a Ruby
|
||
|
String in PEM format. (Jake Douglas)
|
||
|
10Feb09: Added EM.get_max_timers
|
||
|
11Feb09: Fix compile options for sun compiler (Alasdairrr)
|
||
|
11Feb09: get_status returns a Process::Status object
|
||
|
12Feb09: Add EM::Protocols::Memcache with simple get/set functionality
|
||
|
19Feb09: Add catch-all EM.error_handler
|
||
|
20Feb09: Support miniunit (1.9)
|
||
|
20Feb09: Return success on content-length = 0 instead of start waiting forever
|
||
|
(Ugo Riboni)
|
||
|
25Feb09: Allow next_tick to be used to pre-schedule reactor operations before
|
||
|
EM.run
|
||
|
26Feb09: Added EM.get_connection_count
|
||
|
01Mar09: Switch back to extconf for compiling gem extensions
|
||
|
01Mar09: fixed a small bug with basic auth (mmmurf)
|