CHANGELOG
  1 Version 1.2.38
2 2017-12-03
3 Better pathname validation.
4 A couple of small fixes.
5
6 Version 1.2.37
7 2016-12-11
8 Support listening on random port number (Lucien Pullen)
9
10 Version 1.2.36
11 2016-12-08
12 Compare on the path-string. (matthieupeeters)
13 speed up shutdown and avoid timeout on the listening socket (Felix Lange)
14 clarify definition of handler function (Robert Smith)
15 [doc] fix ID clash in index.xml (Alex Dunn)
16
17 Version 1.2.35
18 2016-02-10
19 Avoid double URL decoding, reported by muyinliu (Hans Huebner)
20 Remove a duplicate word in the documentation (William Halliburton)
21 Call convert-hack in name also (José Ronquillo Rivera)
22
23 Version 1.2.34
24 2015-07-06
25 decode URL considering content-type's charset (Tim Richardt)
26
27 Version 1.2.33
28 2015-07-05
29 Ignore malformed session IDs (Hans Huebner)
30 prevent failures when session cookie is malformed (Andrey Kutejko)
31 correct started-p for lispworks (LinkFly)
32
33 Version 1.2.32
34 2015-05-03
35 Adds the session-regenerate-cookie-value function (Florian Margaine)
36 Bugfix: using variables within with-accessors (Dmitry Igrishin)
37 Added Gitter link (The Gitter Badger)
38 Add "charset" property to Content-Type HTTP header (Dmitry Igrishin)
39 "Connection: close" on unthreaded builds (Philipp Marek)
40 Make the RFC 6585 status constants external (Grim Schjetne)
41 Add HTTP status codes described in RFC 6585 (Grim Schjetne)
42 Add charset to Content-Type when serving static (Dmitry Igrishin)
43 Fix to PROCESS-CONNECTION leaking socket fds (Jussi Lahdenniemi)
44
45 Version 1.2.31
46 2015-03-06
47 Adds HttpOnly and remove cookie on remove-session (Florian MARGAINE)
48
49 Version 1.2.30
50 2015-02-25
51 Clear content-length before emitting 304 (Jason Miller)
52 Treat errors during url decoding as bad requests. (Stas Boukarev)
53
54 Version 1.2.29
55 2014-11-30
56 temporarily revert ipv6 changes (Hans Huebner)
57
58 Version 1.2.28
59 2014-11-28
60 Remove dead links and update support information (Hans Huebner)
61 restore listening to usocket:*wildcard-host* (Hans Huebner)
62 deal with IPv6 addresses from usocket (Hans Huebner)
63 eliminate duplicate logging of warnings (reported by loke) (Hans Huebner)
64 add DETACH-SOCKET function (Hans Huebner)
65 Add the ability to prevent the sockets from being closed after a request has been processed. (Elias Mårtenson)
66 document *FINISH-PROCESSING-SOCKET* (Hans Huebner)
67 Make check for stream timeouts more robust (Raymond Wiker)
68
69 Version 1.2.27
70 2014-05-18
71 fix warning about missing NAME keyword arg at start-thread (Mark H. David)
72 remove tbnl-announce list (Hans Huebner)
73 correct speling eror (Hans Huebner)
74 Update request.lisp (muyinliu)
75 file upload file name encoding error fixed (muyinliu)
76 support use of logical file names for document-root and error-template-directory (Hans Huebner)
77 Generate www/hunchentoot-doc.html. (Stas Boukarev)
78 Remove mentions of asdf-install and the darcs mirror from docs. (Stas Boukarev)
79
80 Version 1.2.26
81 2014-01-18
82 Optimize get-peer/local-address-and-port. (Stas Boukarev)
83 Close SSL streams after processing connection. (Stas Boukarev)
84
85 Version 1.2.25
86 2014-01-17
87 allow for handler setting of the "connection" header (William Halliburton)
88
89 Version 1.2.24
90 2014-01-07
91 Use version number from ASDF system definition, not special var (Hans Huebner)
92
93 Version 1.2.23
94 2014-01-05
95 Don't set the Connection header to Close if it's already set (AndrejSuc/Stas Boukarev)
96
97 Version 1.2.22
98 2013-12-09
99 Print header value (if number) in base 10 (Chaitanya Gupta)
100 Fix for CLISP compilation (Anton Vodonosov)
101
102 Version 1.2.21
103 2013-10-04
104 Fix capitalization inconsistencies in docs (reported by Stas Boukarev)
105
106 Version 1.2.20
107 2013-10-04
108 Don't rely on asdf to find default document directory
109 Add m4v mime type (Wes Henderson)
110
111 Version 1.2.19
112 2013-07-28
113 Fix ACCEPTOR-REMOVE-SESSION default implementation (Stas Boukarev, Mathieu Lemoine)
114
115 Version 1.2.18
116 2013-05-03
117 Prevent errors when basic auth user or password contains colon
118 Add missing implementation for client-as-string for Lispworks, contributed by Raymond Wiker
119
120 Version 1.2.17
121 2013-04-01
122 New START-THREAD API function (Faré Rideau)
123
124 Version 1.2.16
125 2013-03-31
126 Fix bug that caused error when requesting nonexistent page.
127
128 Version 1.2.15
129 2013-03-17
130 Fix race condition in acceptor shutdown (Faré Rideau)
131
132 Version 1.2.14
133 2013-03-08
134 Call ACCEPTOR-STATUS-MESSAGE in a saner and more useful fashion (sponsored by Ron Garret)
135
136 Version 1.2.13
137 2013-03-03
138 fix wrong documented signature in acceptor-status-message (reported by Zach Beane)
139
140 Version 1.2.12
141 2013-03-03
142 Various documentation updates
143 Fix bug in static file handling that caused Safari to hang on 304 responses by Hunchentoot (reported by Wim Oudshoorn)
144
145 Version 1.2.11
146 2013-01-27
147 Fix bug in MD5-HEX that could cause session keys to be reused
148
149 Version 1.2.10
150 2013-01-19
151 Add local-addr* and local-port* functions
152
153 Version 1.2.9
154 2012-12-28
155 Fix test script to accomodate for Drakma fix regarding redirect from POST to GET
156 Fix range handling once again
157
158 Version 1.2.8
159 2012-12-19
160 ECL fixes (Juan Jose Giarcia-Ripoll)
161
162 Version 1.2.7
163 2012-10-19
164 Fix documentation for COOKIE-IN, which returns a string, not a cookie.
165 Hunchentoot could not deal with / pointing to a static file directory (Stas Boukarev).
166 Fixes to pathname sanitizing when handling static files.
167 Further Range: header handling fixes
168 Fix some export names relating to taskmaster thread count (Faré Rideau)
169
170 Version 1.2.6
171 2012-09-02
172 Doc fixes, add .pre-release.sh script
173
174 Version 1.2.5
175 2012-09-02
176 High-load multithread stability fixes (Mathieu Lemoine)
177
178 Version 1.2.4
179 2012-08-16
180 Remove dead code & style fixes (Ala'a Mohammad)
181 Bug fix: setting *print-base* / *print-radix* caused invalid cookie values (Scott L. Burson)
182 Various documentation and style updates
183 Fix documentation bug found (Mathieu Lemoine)
184 Fix bug that could hang Hunchentoot under load (Mathieu Lemoine)
185
186 Version 1.2.3
187 2012-03-03
188 Fix crash when error occurs while logging error (reported by Xu Jingtao)
189 Fix compilation with :hunchentoot-no-ssl feature (Mark Evenson)
190 Fix Range header handling (Simon Sandlund)
191 Export acceptor-remove-session
192 ECL timeout support (Juan Jose Giarcia-Ripoll)
193 Changed cookie handling - Hunchentoot no longer encodes cookies
194 automatically. Applications must make sure that they only set cookies
195 to permitted values (refer to RFC6265 for the details, thanks to Ralf
196 Stoye for debugging help)
197
198 Version 1.2.2
199 2011-11-30
200 Fix warning on LispWorks (Nico de Jager)
201 Documentation updates
202 Remove obsolete symbols from export list
203 Add easy-ssl-acceptor
204 Document acceptor-remove-session, remove obsolete *session-removal-hook* export (Issue #15)
205 Added :description to asdf system definition
206 Add documentation section describing how to bind to privileged ports
207
208 Version 1.2.1
209 2011-11-04
210 Use FINISH-OUTPUT instead of FORCE-OUTPUT at connection end (I. Perminov)
211 Documentation updates
212 External format EOL style fixes for Windows (Anton Kovalenko)
213
214 Version 1.2.0
215 2011-10-30
216 Fix to allow send-service-unavailable-reply to work (Faré Rideau)
217 Make sure we always have a cooked message to send in case of error (Faré Rideau)
218 Add www/ directory with default file tree that is being served
219 Add error template mechanism and improve error reporting in general.
220 Improve automatic testing, SBCL kludge to support asdf:test-op
221 Allegro CL modern mode fixes
222 Fix bugs in serving partial responses
223 Limit maximum number of threads that Hunchentoot creates (Dan Weinreb, Scott McKay)
224 Export fixes (Gordon Sims, Andrey Moskvitin, Faré Rideau)
225 Factor out easy-handler logic into separate acceptor subclass
226 Export two session functions (Nico de Jager)
227 Allow no Content-Type header (Chaitanya Gupta)
228 Patch for compilation with ECL (Sohail Somani)
229 Fix DEFINE-EASY-HANDLER for multiple acceptors (Nicolas Neuss)
230 Revived *SHOW-LISP-BACKTRACES-P*
231 Made sure "100 Continue" is returned even if the client sends "Expect: 100-continue" twice (reported by Gordon Sims)
232 Fixed typo in code which interprets transfer encodings
233
234 Version 1.1.1
235 2010-08-24
236 Exported WITHIN-REQUEST-P (Faré Rideau)
237 Safeguard measures against XSS attacks (J.P. Larocque)
238 Prevent potential leak when closing stream (Matt Lamari, Martin Simmons)
239 Change some occurrences of HANDLER-CASE* to HANDLER-CASE (Hans Hübner, Allan Dee)
240
241 Version 1.1.0
242 2010-01-08
243 Architectural changes - see HANDLE-REQUEST (thanks to Andreas Fuchs and Frode Fjeld)
244 Re-introduced *CATCH-ERRORS-P* and MAYBE-INVOKE-DEBUGGER
245 Integration with trivial-backtrace (see *LOG-LISP-BACKTRACES-P*)
246 Treat :UNSPECIFIC like NIL in pathname components (reported by Frode Fjeld)
247 Fixed RESET-SESSIONS
248 Prepared for LispWorks 6 (Nico de Jager)
249 Fixed reading of post parameters (Peter Seibel and Stephen P. Compall)
250 Fixed STOP by supplying the :READY-ONLY keyword to USOCKET:WAIT-FOR-INPUT
251 Enabled SSL key passwords for Lisps other than LW (Vsevolod)
252
253 Version 1.0.0
254 2009-02-19
255 Complete architectural redesign (together with Hans Hübner)
256 Lots of small fixes and improvements, too many to enumerate here
257
258 Version 0.15.6
259 2008-04-09
260 Fixed embarrassingly mis-placed parentheses (thanks to Hans Hübner)
261
262 Version 0.15.5
263 2008-04-08
264 Removed FORCE-OUTPUT* and thus the ACL-COMPAT dependency (thanks to Hans Hübner)
265 Support for MP-less CMUCL (thanks to Hans Hübner)
266
267 Version 0.15.4
268 2008-03-27
269 Fixed unportable LOOP usage (caught by "C S S")
270
271 Version 0.15.3
272 2008-03-17
273 Added CODE parameter to REDIRECT (thanks to Michael Weber)
274
275 Version 0.15.2
276 2008-03-06
277 Fixed typo in test.lisp (thanks to Ben Hyde)
278 Changed wrong usage of EQ to EQL (thanks to Ariel Badichi)
279 Fixed typo in default handler (thanks to Eugene Ossintsev)
280
281 Version 0.15.1
282 2008-02-13
283 Uses CL-FAD for HANDLE-STATIC-FILE now
284 Better error reporting for CREATE-FOLDER-DISPATCHER-AND-HANDLER (suggested by Cyrus Harmon)
285 Faster version of WRITE-HEADER-LINE (thanks to V. Segu�)
286
287 Version 0.15.0
288 2007-12-29
289 Added support for CLISP (thanks to Anton Vodonosov)
290
291 Version 0.14.7
292 2007-11-15
293 Replace ENOUGH-NAMESTRING with ENOUGH-URL (patch by Kilian Sprotte and Hans Hübner)
294
295 Version 0.14.6
296 2007-11-08
297 Fix compilation order (thanks to Tiarnan O'Corrain and Chris Dean)
298
299 Version 0.14.5
300 2007-10-21
301 Robustified MAKE-SOCKET-STREAM against potential leak (thanks to Alain Picard)
302 Replaced #-FOO #-FOO constructs for OpenMCL (patch by Michael Weber)
303 Updated tutorial links
304
305 Version 0.14.4
306 2007-10-20
307 Made log stream shared on OpenMCL (thanks to Gary Byers)
308
309 Version 0.14.3
310 2007-10-07
311 Enabled GET-GID-FROM-NAME for newer versions of SBCL (patch by Cyrus Harmon)
312
313 Version 0.14.2
314 2007-09-26
315 Better handling of PORT parameter in REDIRECT (thanks to Vladimir Sedach)
316
317 Version 0.14.1
318 2007-09-24
319 Fixed bug where you couldn't set "Server" header (caught by Ralf Mattes)
320 Documentation clarification for HEADER-OUT function
321
322 Version 0.14.0
323 2007-09-18
324 Added support for "HttpOnly" cookie attribute
325
326 Version 0.13.0
327 2007-09-14
328 Added *METHODS-FOR-POST-PARAMETERS* (suggested by Jonathon McKitrick)
329
330 Version 0.12.1
331 2007-09-13
332 Better support for WITH-TIMEOUT on SBCL/Win32 (thanks to Anton Vodonosov)
333
334 Version 0.12.0
335 2007-09-07
336 Now uses bound for flexi stream returned by RAW-POST-DATA
337 Needs FLEXI-STREAMS 0.12.0 or higher
338
339 Version 0.11.2
340 2007-09-05
341 Fixed typo in docs
342 Added declaration in server.lisp to appease SBCL
343
344 Version 0.11.1
345 2007-05-25
346 Fixes for OpenMCL (thanks to Lennart Staflin and Tiarnan O'Corrain)
347
348 Version 0.11.0
349 2007-05-25
350 Added server names and coupled them with easy handlers (suggested by Mac Chan)
351 Exported SESSION-COOKIE-VALUE instead of SESSION-STRING (suggested by Slava Akhmechet)
352 Documentation fixes (thanks to Victor Kryukov and Igor Plekhov)
353
354 Version 0.10.0
355 2007-05-12
356 Made MAYBE-INVOKE-DEBUGGER a generic function and exported it (suggested by Vladimir Sedach)
357
358 Version 0.9.3
359 2007-05-08
360 Fixed CREATE-FOLDER-DISPATCHER-AND-HANDLER in the presence of URL-encoded URLs (bug caught by Nicolas Lamirault)
361
362 Version 0.9.2
363 2007-05-01
364 Made DEF-HTTP-RETURN-CODE more flexible (suggested by Jong-won Choi)
365
366 Version 0.9.1
367 2007-04-29
368 Added PORT parameter to REDIRECT (suggested by Cyrus Harmon)
369 Exported REMOVE-SESSION (suggested by Vamsee Kanakala)
370
371 Version 0.9.0
372 2007-04-19
373 Added socket timeouts for AllegroCL
374 Catch IO timeout conditions for AllegroCL, SBCL and CMUCL (suggested by Red Daly and others)
375 Added per-server dispatch tables (suggested by Robert Synnott and Andrei Stebakov)
376
377 Version 0.8.6
378 2007-04-18
379 USE the CL package explicitly when defining HUNCHENTOOT-MP (bug report by Joel Boehland)
380
381 Version 0.8.5
382 2007-04-10
383 Correct behaviour for "100 Continue" responses
384
385 Version 0.8.4
386 2007-04-09
387 Cleanup
388
389 Version 0.8.3
390 2007-04-07
391 Don't use chunked encoding for empty (NIL) bodies
392
393 Version 0.8.2
394 2007-04-05
395 Really exported REASON-PHRASE this time (and also *CURRENT-PROCESS*)
396
397 Version 0.8.1
398 2007-04-04
399 Added HUNCHENTOOT-MP package (suggested by Cyrus Harmon)
400 Only invoke MARK-AND-SWEEP for 32-bit versions of LW (thanks to Chris Dean)
401 Exported REASON-PHRASE
402
403 Version 0.8.0
404 2007-03-31
405 Added *APPROVED-RETURN-CODES*, *HEADER-STREAM*, and +HTTP-FAILED-DEPENDENCY+
406 Exported MIME-TYPE and SSL-P
407 Some minor changes
408
409 Version 0.7.3
410 2007-03-28
411 Added +HTTP-MULTI-STATUS+
412
413 Version 0.7.2
414 2007-03-09
415 Fix test suite to properly handle non-base characters in LW (bug caught by Jong-won Choi)
416
417 Version 0.7.1
418 2007-03-09
419 Fixed last change (thanks to Marko Kocic)
420
421 Version 0.7.0
422 2007-03-09
423 Development port (no threads) to SBCL/Win32 (patch by Marko Kocic)
424 Support for compilation without SSL
425
426 Version 0.6.2
427 2007-02-22
428 Don't use NSTRING-UPCASE for outgoing headers (bug caught by Saurabh Nanda)
429 Changed ProxyPass example in docs from /lisp to /hunchentoot
430
431 Version 0.6.1
432 2007-01-24
433 Reset to "faithful" external format on each iteration (bug caught by Viljo Marrandi and Ury Marshak)
434
435 Version 0.6.0
436 2007-01-23
437 Accept chunked transfer encoding for mod_lisp request bodies (thanks to Hugh Winkler's mod_lisp additions)
438 Robustify against erroneous form-data submissions (caught by Ury Marshak)
439
440 Version 0.5.1
441 2007-01-18
442 Even more flexible behaviour of RAW-POST-DATA
443
444 Version 0.5.0
445 2007-01-17
446 More flexible behaviour of RAW-POST-DATA
447 Robustified PARSE-CONTENT-TYPE
448
449 Version 0.4.14
450 2007-01-17
451 More meaningful results for RAW-POST-DATA
452
453 Version 0.4.13
454 2007-01-14
455 Added favicon.ico to example website (thanks to Yoni Rabkin Katzenell, Toby, and Uwe von Loh)
456
457 Version 0.4.12
458 2006-12-27
459 Added Hunchentoot logo by Uwe von Loh
460
461 Version 0.4.11
462 2006-12-01
463 Exported symbols related to session GC (suggested by Nico de Jager)
464
465 Version 0.4.10
466 2006-11-19
467 Added *HANDLE-HTTP-ERRORS-P* (thanks to Marijn Haverbeke)
468 Remove duplicate headers when reading from mod_lisp
469
470 Version 0.4.9
471 2006-11-12
472 Fixed HEADER-OUT (thanks to Robert J. Macomber)
473
474 Version 0.4.8
475 2006-11-06
476 Fixed bug in START-OUTPUT which confused mod_lisp
477
478 Version 0.4.7
479 2006-11-06
480 Changed behaviour of REAL-REMOTE-ADDR (as suggested by Robert J. Macomber)
481 Fixed COOKIE-OUT (thanks to Robert J. Macomber)
482
483 Version 0.4.6
484 2006-11-05
485 Don't bind *DISPATCH-TABLE* too early (thanks to Marijn Haverbeke)
486
487 Version 0.4.5
488 2006-10-25
489 Fixed bug in AUTHORIZATION function (reported by Michael J. Forster)
490
491 Version 0.4.4
492 2006-10-12
493 Correct SSL check in REDIRECT function
494 LOG-MESSAGE now checks for (BOUNDP '*SERVER*)
495
496 Version 0.4.3
497 2006-10-11
498 OpenMCL fixes (by Ralf Stoye)
499
500 Version 0.4.2
501 2006-10-10
502 No timeouts for mod_lisp servers (as in Hunchentoot 0.3.x)
503
504 Version 0.4.1
505 2006-10-10
506 Fixed a typo in easy-handlers.lisp (caught by Travis Cross)
507
508 Version 0.4.0
509 2006-10-10
510 Ported to CMUCL, SBCL, OpenMCL, and AllegroCL
511 Merged with TBNL
512 Tons of small changes, too many to list them individually
513
514 Version 0.3.2
515 2006-09-14
516 Uses TBNL's WITH-DEBUGGER now
517
518 Version 0.3.1
519 2006-09-14
520 Added *CATCH-ERRORS-P* (from TBNL)
521
522 Version 0.3.0
523 2006-09-05
524 Accept HTTP requests with chunked transfer encoding
525 Use Chunga for chunking
526
527 Version 0.2.2
528 2006-08-31
529 Skip START-OUTPUT advice completely if working for TBNL
530
531 Version 0.2.1
532 2006-08-28
533 Added write timeouts for LW 5.0
534 Updated LW links in documentation
535
536 Version 0.2.0
537 2006-08-28
538 Serves as infrastructure for TBNL now (to replace KMRCL)
539 For HTTP/1.1 only send 'Keep-Alive' headers if explicitly requested
540
541 Version 0.1.5
542 2006-08-23
543 Connection headers are separated by commas, not semicolons
544
545 Version 0.1.4
546 2006-08-22
547 Refactored streams.lisp to appease LW compiler (thanks to Martin Simmons)
548 Changed handling of version string
549 Changed package handling in system definition (thanks to Christophe Rhodes)
550
551 Version 0.1.3
552 2006-02-08
553 Removed KMRCL workaround
554
555 Version 0.1.2
556 2006-01-03
557 Mention TBNL version number in server name header
558
559 Version 0.1.1
560 2005-12-31
561 Fixed package stuff and HYPERDOC support
562
563 Version 0.1.0
564 2005-12-31
565 Initial public release
566
567 [For earlier changes see the file "CHANGELOG_TBNL" that is included with the release.]