Hello everyone,
I'm pleased to release USOCKET 0.5.2, a new version of the universal socket library for Common Lisp.
In this release, the core API function WAIT-FOR-INPUT was much improved on SBCL, ECL, CLISP; there're some other fixes for ABCL and LispWorks. I heard, with this release, Hunchentoot can run on ABCL now.
Major changes since 0.5.1:
* General: [SBCL] SOCKET-CONNECT's TIMEOUT argument was limited on non-Windows platforms. * Bugfix: [CLISP] WAIT-FOR-INPUT now functions right (with/without READY-ONLY), this made Hunchentoot working on CLISP. (Thanks to Anton Vodonosov avodonosov@yandex.ru) * Bugfix: [ABCL] Fix SOCKET-ACCEPT to follow the documented API so that when called without an :ELEMENT-TYPE argument. (Thanks to Mark Evenson, the ABCL developer) * Bugfix: [LispWorks] Fixed SOCKET-ACCEPT (Windows only) on WAIT-FOR-INPUTed sockets. * Bugfix: [SBCL, ECL] Fixed wrongly STATE set/unset for WAIT-FOR-INPUT on Windows (report by Elliott Slaughter) * Enhancement: Additional NAME keyword argument for SOCKET-SERVER for setting the server thread name. * Enhancement: [ABCL] GET-ADDRESS now works with underlying IP6 addresses. * Enhancement: [CLISP] missing GET-LOCAL-* methods for STREAM-SERVER-USOCKET was now added.
We give special thanks to:
Elliott Slaughter elliottslaughter@gmail.com
for his two bug reports on WAIT-FOR-INPUT (SBCL/Windows) with unit test code, and these code are now part of USOCKET-TEST.
If you want to download this release, please checkout
http://common-lisp.net/project/usocket/releases/
The API documentation page is here:
http://common-lisp.net/project/usocket/api-docs.shtml
As usual, I hope more and more people use USOCKET as part of their Lisp applications, and any feedback - bugs or hugs - is greatly appreciated. If you use USOCKET, please let us know what for.
And, if there's any historical issue which haven't been solved, please feel free to remind me.
And below is a roadmap for future USOCKET releases (ignore the order):
* Add UDP (Datagram) support for Digitool MCL; * The DFFI version of ECL backend without calling C compilers; * New backends: Symbolics Lisp Machine, XCL and IOlib; * New API: SOCKET-OPTION for setting/getting various socket options (already exist in trunk (0.6))
Let me know if you have other ideas.
Regards,
Chun Tian (binghe)