0.8.3: * New experimental backend: Mezzano (contributed by Bruno Cichon, #51) * Bugfix: WAIT-FOR-INPUT fails to honor :ready-only t (#57, thanks to @Reepca for reporting this issue) * Bugfix: [ECL] Fix read-select in backend/sbcl.lisp to loop if interrupted (#54, #55, thanks to @thijs) * [CCL] Fix compiling with (readtable-case readtable-case) of :invert. (#56, patch from @genworks) * [Genera] added file attibutes (to all USOCKET lisp files) for Genera. 0.8.2: (June 11, 2019) * General: now the HOST-OR-IP slot of NS-CONDITION has been exported. (#46) * Bugfix: NS-HOST-NOT-FOUND-ERROR condition has unbound HOST-OR-IP slot (#46) * Bugfix: [SBCL/LW] WAIT-FOR-INPUT waits only in the first call (when W-F-I is called with a single usocket, introduced in 0.8.0) (#50, thanks to @Hamayama for reporting/hints/testing this issue) 0.8.1: (Feb 27, 2019) * New backend: clasp (patch from Christian Schafmeister, #45) * Bugfix: [SBCL] fixed loading usocket.asd in SBCL 1.5.0 0.8.0: (Feb 4, 2019) * New backend (experimental): IOlib. (Push :USOCKET-IOLIB to *FEATURES* to enable this feature) * New feature: Optimized WAIT-FOR-INPUT for single-socket case (one-time consing) * New feature: Exported host-to-hostname (#42) * Bugfix: [SBCL] more robust/thread-safe WAIT-FOR-INPUT-INTERNAL 0.7.1: (Aug 31, 2018) * New feature: GET-(RANDOM)-HOST-BY-NAME (now exported) prefer IPv4 on mixed IPv4/IPv6 (suggested by Mark H. David) * New backend: Symbolics Open Genera (Lisp machine) (patch from @Symbolics, #33) * Bugfix: [CLISP] fixed issues in server sockets and error handling. (patch from @vibs29, #28, #29) * Bugfix: [SBCL, ECL] Fix wait-for-input on Windows SBCL and ECL. (patch from Stas Boukarev, #30) * Bugfix: [LW] fixed non-existing system calls in LW 5.0 (comm::socket-set-tcp-nodelay) 0.7.0: (Oct 25, 2016) * General: Separated USOCKET and USOCKET-SERVER systems (only the server part depends on Portable-threads) * General: USOCKET now depends on SPLIT-SEQUENCE (the exactly same vendor code is removed from usocket code base) * New feature: [LW] (SOCKET-OPTION :TCP-NODELAY) and its SETF version now works on LispWorks 4/5/6/7. * New feature: [LW] SOCKET-CONNECT now supports setting "tcp_nodelay" in version 4.x and 5.0. * Bugfix: [CCL] fixed issues in SOCKET-SHUTDOWN * Bugfix: [CLISP] fixed issues in WAIT-FOR-INPUT (Thanks to a patch by @vibs29, #27) * Bugfix: [LW] fixed loading in version <= 6.0 (actually 0.6.5 only fixed loading in LW 6.1) * Bugfix: [ECL] all compilation warnings were checked and fixed. 0.6.5: (Oct 19, 2016) * New feature: SOCKET-OPTION and (setf SOCKET-OPTION) for :SEND-TIMEOUT (thanks to John Pallister) * Bugfix: Let (WAIT-FOR-INPUT NIL &TIMEOUT) return NIL with respect to TIMEOUT. * Bugfix: [LW] fixed loading in LispWorks 5.x & 6.x. * Bugfix: [LW] fixed SOCKET-SHUTDOWN in all versions. * Bugfix: [ABCL] Fixed incorrect IPv6 addresses (#26), patch from Elias Mårtenson (lokedhs) 0.6.4: (Mar 17, 2016) * New feature: [SBCL] IPv6 support (patch from Guillaume LE VAILLANT, #15) * New feature: [API] SOCKET-SHUTDOWN added (patch from Thayne McCombs #9) * New feature: [Corman] minimal initial support of this platform * Bugfix: [SBCL/win32] wait-for-input nil-timeout bug (patch from Michal Herda, #13) * Bugfix: [ECL] included unistd.h for gethostname() (patch from Daniel Kochmanski, #7) * Bugfix: [LispWorks] SOCKET-RECEIVE now updates %READ-P (patch from Frank James) 0.6.3: (May 23, 2015) * Bugfix: [CCL] Further fixed CCL-1.11 compatibility and a typo in SOCKET-CONNECT for CCL-1.10. * Bugfix: [ECL] Fixed build in some versions. * Bugfix: [LispWorks] SOCKET-SEND and SOCKET-RECEIVE now throw conditions if something goes wrong. 0.6.2: (Apr 20, 2015) * Bugfix: [CCL] Fixed CCL-1.11 compatibility. * Bugfix: [ECL] Fixed compatibility on recent versions. * Bugfix: [LispWorks] Added support address-in-use-error condition on LW/Win32. (patch from Sergey Katrevich). 0.6.1: (Jun 21, 2013) * New feature: [MOCL] Initial MOCL support (TCP only, no W-F-I, patch from github.com/Wukix/usocket). * New feature: [MCL] Initial UDP support for Macintosh Common Lisp (MCL/RMCL). * New feature: Added TCP-NO-DELAY (TCP_NODELAY) support in SOCKET-OPTION, for TCP client * Bugfix: [CCL] Added (:external-format ccl:*default-external-format*) to SOCKET-CONNECT, to prevent it fallback to ISO-8859-1 on NIL. (Patch from Vsevolod Dyomkin) * Bugfix: [CCL] Performance improved WAIT-FOR-INPUT and other fixes. (patch from Faré ) 0.6.0: (Dec 26, 2012) * New feature: SOCKET-OPTION and (setf SOCKET-OPTION) for seting and geting various socket options. * New feature: SOCKET-SEND now support an CCL-like OFFSET keyword for sending only parts of the whole buffer. * New feature: [ECL] Added support for ECL DFFI mode on Windows. (no need for C compilers now) * Bugfix: [ECL] ECL now list sb-bsd-sockets as a dependency but relies on REQUIRE. (patched by Juanjo) * Bugfix: [ABCL] Make USOCKET compile warning-free on ABCL again: MAKE-IMMEDIATE-OBJECT was deprecated a while ago in favor of 2 predefined constants. * Bugfix: [LispWorks] remove redundant call to hcl:flag-special-free-action. (reported by Kamil Shakirov) * Bugfix: [CLISP] improved HANDLE-CONDITION for more CLISP environments. 0.5.5: (Feb 27, 2012) * Enhancement: SOCKET-CONNECT argument :nodelay can now set to :if-supported (patch from Anton Vodonosov). * Enhancement: [Server] adding *remote-host* *remote-port* to socket-server stream handler functions (suggested by Matthew Curry) * Bugfix: [LispWorks] Fixed UDP support for LispWorks 6.1 (patch from Camille Troillard by Martin Simmons). * Bugfix: [LispWorks] Stop using hcl:add-special-free-action for reclaiming unused UDP socket fds to improve multi-threading stablity (suggested by Camille Troillard). * Bugfix: [LispWorks] Fixed SOCKET-CONNECT on Windows, now LOCAL-PORT never have *auto-port* (0) as default value. 0.5.4: (Oct 1, 2011) * Bugfix: [ECL] Fixed for ECL's MAKE-BUILD by removing some unecessary code (reported by Juan Jose Garcia-Ripoll, the ECL maintainer) * Bugfix: [ACL] Fixed for Allegro CL modern mode. * Bugfix: [SBCL] SOCKET-CONNECT on TCP won't call bind() when keyword arguments LOCAL-HOST or LOCAL-PORT is not set. (reported by Robert Brown) 0.5.3: (Aug 13, 2011) * Bugfix: [MCL] Fixed SOCKET-LISTEN on vector addresses like #(0 0 0 0) * Bugfix: [MCL] Fixed WAIT-FOR-INPUT on passive sockets (stream-server-usocket) * Bugfix: [LispWorks] Fixed using OPEN-UDP-SOCKET in delivered applications (thanks to Camille Troillard and Martin Simmons, this fix is from LispWorks-UDP project). * Bugfix: [SBCL] Fixed for "SBCL data flush problem", reported by Robert Brown and confirmed by Nikodemus Siivola. 0.5.2: (May 11, 2011) * 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 ) * 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 IPv6 addresses. * Enhancement: [CLISP] missing GET-LOCAL-* methods for STREAM-SERVER-USOCKET was now added. 0.5.1: (Apr 2, 2011) * New feature: [CLISP] UDP (Datagram) support based on FFI (Win/Mac/Linux), no RAWSOCK needed. * Enhancement: SOCKET-SERVER return a second value (socket) when calling in new-thread mode. * Enhancement: [CLISP] Full support of DNS helper functions (GET-HOST-BY-NAME, ...) added. * Enhancement: [CLISP] Better network error type detection based on OS error code. * Enhancement: [LispWorks] Better network error type detection based on OS error code. * Bugfix: Fixed wrong macro expansions of {IP|PORT}-{FROM|TO}-OCTET-BUFFER functions (since 0.4.0) * Bugfix: SOCKET-CONNECT didn't set CONNECTED-P for datagram usockets on most backends. * Bugfix: [SBCL] Fixes for "SBCL/Win32: finalizer problem, etc", by Anton Kovalenko * Bugfix: [SBCL] Fixed SOCKET-SERVER (UDP) on SBCL due to a issue in SOCKET-CONNECT when HOST is NIL. * Bugfix: [SBCL] SOCKET-CONNECT's TIMEOUT argument now works as a "connection timeout". * Bugfix: [CMUCL] Fixed SOCKET-SEND on unconnected usockets under Unicode version of CMUCL. * Bugfix: [CLISP] Fixed and confirmed UDP (Datagram) support (RAWSOCK version). 0.5.0: (Mar 12, 2011) * New supported platform: Macintosh Common Lisp (5.0 and up, plus RMCL) * Support for UDP (datagram-usocket) was added (for all supported platform except MCL) * Add WAIT-FOR-INPUT support for SBCL and ECL on win32. * Simple TCP and UDP server API: SOCKET-SERVER * Completely rewritten full-feature ABCL backends using latest Java interfaces * Lots of bug fixed since 0.4.1 0.4.1: (Dec 27, 2008) * fixes for ECL, LispWorks, SBCL, SCL 0.4.0: (Oct 28, 2008) * select()-like api: make a single thread wait for multiple sockets. * various socket options for socket-creation with SOCKET-CONNECT. 0.3.6: (Jun 21, 2008) * Code fixups based on advice from the ECL and OpenMCL maintainers. * New exported symbols: WITH-MAPPED-CONDITIONS, NS-CONDITION, NS-ERROR, NS-UNKNOWN-ERROR and NS-UNKNOWN-CONDITION. 0.3.4: (Jul 25, 2007) * Fix clisp get-host-name, multiple ECL fixes. 0.3.3: (Jun 05, 2007) * Fix where host resolution routine was unable to resolve would return NIL instead of erroring. 0.3.2: (Mar 04, 2007) * Fixes for many backends related to closing sockets. * LispWorks fix for broken server sockets. * API guarantee adjustments in preparation of porting Drakma. 0.3.1: (Feb 28, 2007) * fixed with-server-socket; prevent creation of invalid sockets; 2 more convenience macros. 0.3.0: (Jan 21, 2007) * Server sockets 0.2.5: (Jan 19, 2007) * Allegro compilation fix. 0.2.4: (Jan 17, 2007) * Various fixes for CMUCL, OpenMCL, Allegro and LispWorks. 0.2.3: (Jan 04, 2007) * Add :element-type support to support stacking flexi-streams on socket streams for portable :external-format support. 0.2.2: (Jan 03, 2007) * Add ECL support and a small SBCL bugfix. 0.2.1: (Dec 21, 2006) * Remove 'open-stream' interface which is supposed to be provided by the 'trivial-usocket' package. 0.2.0: (Dec 18, 2006) * Add support for Scieneer Common Lisp, fix issue #6 and API preparation for server side sockets (not in this release) 0.1.0: (Feb 13, 2006) * Initial release