forked from usocket/usocket
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES
250 lines (177 loc) · 13.8 KB
/
CHANGES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
0.8.7 (???):
* General: Update and supply documentation for most exported symbols (#107, patch from @tinkerttoy)
* Bugfix: [SBCL] *socket-connect-nonblock-wait* (non-blocking sockets) doesn't work on Windows, disabled by default (#106)
* Bugfix: ip= doesn't compare properly if the first argument is a vector (#108)
0.8.6: (Mar 1, 2023)
* Bugfix: [SBCL/ECL] improved SOCKET-CONNECT timeout handling based on non-blocking sockets (#92, patch from @jetmonk)
* Bugfix: [CCL] capture SOCKET-CREATION-ERROR exception in RESOLVE-ADDRESS when calling SOCKET-CONNECT (#96, patch from @jetmonk)
* Bugfix: [SBCL, LW, etc] with-mapped-conditions no more throw unknown-error so that user can correctly capture their own conditions (#97, reported by @avodonosov (Anton Vodonosov))
* Bugfix: [server] Permit 0-length UDP data payloads (#93, patch from @rabuf (Jared Summers))
0.8.5: (Sep 14, 2022)
* Bugfix: [SBCL] Fix for sbcl 2.2.7+ (internal SB-ALIEN::HINSTANCE got removed) (thanks to @MrDispatch on GitHub)
* Bugfix: [SBCL] Fix Build failure on some SBCL versions due to sb-int:broken-pipe (#81)
* Bugfix: [CCL] When #+ipv6 also try to resolve an IPv4 address if the connection cannot be established with the IPv6 address. #75 (patch by Pascal J. Bourguignon)
* Bugfix: [ABCL] Fix "socket-send returns NIL on ABCL" (Issue #82, patch from Kasper Galkowski)
* Bugfix: [server/SBCL] Ignore invalid argument error for system call on sbcl (#80), by @charJe
0.8.4: (Mar 13, 2022)
* New experimental backend: MKCL (support via sb-bsd-sockets) (thanks to @Madhu)
* New feature: new socket options (TCP keepalive, UDP broadcast) (#70, #73) (thanks to Eugene Zaikonnikov)
* New feature: Added IPv6-only support in host-to-hostname, get-host-by-name and get-random-host-by-name; new exported symbol: *ipv6-only-p*
* New feature: [LW] Add UDP broadcast support for LispWorks (#70, #72)
* Bugfix: Support (SOCKET-SHUTDOWN ... :DIRECTION :IO) as the generic function documentation advertises (#76)
* Bugfix: "usocket leaks file descriptors on sb-int:broken-pipe conditions" (#64) (thanks to Jesse Off)
* Bugfix: Added missing socket-error conditions used in `+unix-errno-error-map+` (#61, thanks to Yehouda Harpaz)
* Bugfix: Use ns-try-again-error instead of ns-try-again-condition (#79) to match condition degign of SBCL and others (ns-try-again-condition is now deprecated)
* Bugfix: [LW] socket-shutdown on stream-usocket need to pass the stream to comm:socket-stream-shutdown (rather than the socket) #59
* Bugfix: [LW] SOCKET-ACCEPT now raises CONNECTION-ABPRTED-ERROR instead of INVALID-SOCKET-ERROR if the underlying socket got from comm::accept-connection-to-socket or comm::get-fd-from-socket is NIL. (#63)
* Bugfix: [LW] socket-accept returns NIL if the underlying socket is NIL and the error (somehow) is not captured
* Bugfix: [LW] SOCKET-SEND and SOCKET-RECEIVE should never return NIL (comes from raise-usock-err) (#62)
* Bugfix: [SBCL] Add (sb-int:broken-pipe . connection-aborted-error) into +sbcl-error-map+ (#64)
* Bugfix: [SBCL, ECL, clasp] Fix condition map for sb-bsd-sockets::host-not-found-error (ns-host-not-found-error) (#65)
* Bugfix: [CCL] Explicitly specifying :FORMAT :TEXT to CCL:MAKE-SOCKET makes the socket monovalent. (thanks to @Madhu)
0.8.3: (Dec 23, 2019)
* 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é <[email protected]>)
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 <[email protected]>)
* 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 <[email protected]>
* 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