3 Fix bug that caused error when requesting nonexistent page.
7 Fix race condition in acceptor shutdown (Faré Rideau)
11 Call ACCEPTOR-STATUS-MESSAGE in a saner and more useful fashion (sponsored by Ron Garret)
15 fix wrong documented signature in acceptor-status-message (reported by Zach Beane)
19 Various documentation updates
20 Fix bug in static file handling that caused Safari to hang on 304 responses by Hunchentoot (reported by Wim Oudshoorn)
24 Fix bug in MD5-HEX that could cause session keys to be reused
28 Add local-addr* and local-port* functions
32 Fix test script to accomodate for Drakma fix regarding redirect from POST to GET
33 Fix range handling once again
37 ECL fixes (Juan Jose Giarcia-Ripoll)
41 Fix documentation for COOKIE-IN, which returns a string, not a cookie.
42 Hunchentoot could not deal with / pointing to a static file directory (Stas Boukarev).
43 Fixes to pathname sanitizing when handling static files.
44 Further Range: header handling fixes
45 Fix some export names relating to taskmaster thread count (Faré Rideau)
49 Doc fixes, add .pre-release.sh script
53 High-load multithread stability fixes (Mathieu Lemoine)
57 Remove dead code & style fixes (Ala'a Mohammad)
58 Bug fix: setting *print-base* / *print-radix* caused invalid cookie values (Scott L. Burson)
59 Various documentation and style updates
60 Fix documentation bug found (Mathieu Lemoine)
61 Fix bug that could hang Hunchentoot under load (Mathieu Lemoine)
65 Fix crash when error occurs while logging error (reported by Xu Jingtao)
66 Fix compilation with :hunchentoot-no-ssl feature (Mark Evenson)
67 Fix Range header handling (Simon Sandlund)
68 Export acceptor-remove-session
69 ECL timeout support (Juan Jose Giarcia-Ripoll)
70 Changed cookie handling - Hunchentoot no longer encodes cookies
71 automatically. Applications must make sure that they only set cookies
72 to permitted values (refer to RFC6265 for the details, thanks to Ralf
73 Stoye for debugging help)
77 Fix warning on LispWorks (Nico de Jager)
79 Remove obsolete symbols from export list
81 Document acceptor-remove-session, remove obsolete *session-removal-hook* export (Issue #15)
82 Added :description to asdf system definition
83 Add documentation section describing how to bind to privileged ports
87 Use FINISH-OUTPUT instead of FORCE-OUTPUT at connection end (I. Perminov)
89 External format EOL style fixes for Windows (Anton Kovalenko)
93 Fix to allow send-service-unavailable-reply to work (Faré Rideau)
94 Make sure we always have a cooked message to send in case of error (Faré Rideau)
95 Add www/ directory with default file tree that is being served
96 Add error template mechanism and improve error reporting in general.
97 Improve automatic testing, SBCL kludge to support asdf:test-op
98 Allegro CL modern mode fixes
99 Fix bugs in serving partial responses
100 Limit maximum number of threads that Hunchentoot creates (Dan Weinreb, Scott McKay)
101 Export fixes (Gordon Sims, Andrey Moskvitin, Faré Rideau)
102 Factor out easy-handler logic into separate acceptor subclass
103 Export two session functions (Nico de Jager)
104 Allow no Content-Type header (Chaitanya Gupta)
105 Patch for compilation with ECL (Sohail Somani)
106 Fix DEFINE-EASY-HANDLER for multiple acceptors (Nicolas Neuss)
107 Revived *SHOW-LISP-BACKTRACES-P*
108 Made sure "100 Continue" is returned even if the client sends "Expect: 100-continue" twice (reported by Gordon Sims)
109 Fixed typo in code which interprets transfer encodings
113 Exported WITHIN-REQUEST-P (Faré Rideau)
114 Safeguard measures against XSS attacks (J.P. Larocque)
115 Prevent potential leak when closing stream (Matt Lamari, Martin Simmons)
116 Change some occurrences of HANDLER-CASE* to HANDLER-CASE (Hans Hübner, Allan Dee)
120 Architectural changes - see HANDLE-REQUEST (thanks to Andreas Fuchs and Frode Fjeld)
121 Re-introduced *CATCH-ERRORS-P* and MAYBE-INVOKE-DEBUGGER
122 Integration with trivial-backtrace (see *LOG-LISP-BACKTRACES-P*)
123 Treat :UNSPECIFIC like NIL in pathname components (reported by Frode Fjeld)
125 Prepared for LispWorks 6 (Nico de Jager)
126 Fixed reading of post parameters (Peter Seibel and Stephen P. Compall)
127 Fixed STOP by supplying the :READY-ONLY keyword to USOCKET:WAIT-FOR-INPUT
128 Enabled SSL key passwords for Lisps other than LW (Vsevolod)
132 Complete architectural redesign (together with Hans Hübner)
133 Lots of small fixes and improvements, too many to enumerate here
137 Fixed embarrassingly mis-placed parentheses (thanks to Hans Hübner)
141 Removed FORCE-OUTPUT* and thus the ACL-COMPAT dependency (thanks to Hans Hübner)
142 Support for MP-less CMUCL (thanks to Hans Hübner)
146 Fixed unportable LOOP usage (caught by "C S S")
150 Added CODE parameter to REDIRECT (thanks to Michael Weber)
154 Fixed typo in test.lisp (thanks to Ben Hyde)
155 Changed wrong usage of EQ to EQL (thanks to Ariel Badichi)
156 Fixed typo in default handler (thanks to Eugene Ossintsev)
160 Uses CL-FAD for HANDLE-STATIC-FILE now
161 Better error reporting for CREATE-FOLDER-DISPATCHER-AND-HANDLER (suggested by Cyrus Harmon)
162 Faster version of WRITE-HEADER-LINE (thanks to V. Segu�)
166 Added support for CLISP (thanks to Anton Vodonosov)
170 Replace ENOUGH-NAMESTRING with ENOUGH-URL (patch by Kilian Sprotte and Hans Hübner)
174 Fix compilation order (thanks to Tiarnan O'Corrain and Chris Dean)
178 Robustified MAKE-SOCKET-STREAM against potential leak (thanks to Alain Picard)
179 Replaced #-FOO #-FOO constructs for OpenMCL (patch by Michael Weber)
180 Updated tutorial links
184 Made log stream shared on OpenMCL (thanks to Gary Byers)
188 Enabled GET-GID-FROM-NAME for newer versions of SBCL (patch by Cyrus Harmon)
192 Better handling of PORT parameter in REDIRECT (thanks to Vladimir Sedach)
196 Fixed bug where you couldn't set "Server" header (caught by Ralf Mattes)
197 Documentation clarification for HEADER-OUT function
201 Added support for "HttpOnly" cookie attribute
205 Added *METHODS-FOR-POST-PARAMETERS* (suggested by Jonathon McKitrick)
209 Better support for WITH-TIMEOUT on SBCL/Win32 (thanks to Anton Vodonosov)
213 Now uses bound for flexi stream returned by RAW-POST-DATA
214 Needs FLEXI-STREAMS 0.12.0 or higher
219 Added declaration in server.lisp to appease SBCL
223 Fixes for OpenMCL (thanks to Lennart Staflin and Tiarnan O'Corrain)
227 Added server names and coupled them with easy handlers (suggested by Mac Chan)
228 Exported SESSION-COOKIE-VALUE instead of SESSION-STRING (suggested by Slava Akhmechet)
229 Documentation fixes (thanks to Victor Kryukov and Igor Plekhov)
233 Made MAYBE-INVOKE-DEBUGGER a generic function and exported it (suggested by Vladimir Sedach)
237 Fixed CREATE-FOLDER-DISPATCHER-AND-HANDLER in the presence of URL-encoded URLs (bug caught by Nicolas Lamirault)
241 Made DEF-HTTP-RETURN-CODE more flexible (suggested by Jong-won Choi)
245 Added PORT parameter to REDIRECT (suggested by Cyrus Harmon)
246 Exported REMOVE-SESSION (suggested by Vamsee Kanakala)
250 Added socket timeouts for AllegroCL
251 Catch IO timeout conditions for AllegroCL, SBCL and CMUCL (suggested by Red Daly and others)
252 Added per-server dispatch tables (suggested by Robert Synnott and Andrei Stebakov)
256 USE the CL package explicitly when defining HUNCHENTOOT-MP (bug report by Joel Boehland)
260 Correct behaviour for "100 Continue" responses
268 Don't use chunked encoding for empty (NIL) bodies
272 Really exported REASON-PHRASE this time (and also *CURRENT-PROCESS*)
276 Added HUNCHENTOOT-MP package (suggested by Cyrus Harmon)
277 Only invoke MARK-AND-SWEEP for 32-bit versions of LW (thanks to Chris Dean)
278 Exported REASON-PHRASE
282 Added *APPROVED-RETURN-CODES*, *HEADER-STREAM*, and +HTTP-FAILED-DEPENDENCY+
283 Exported MIME-TYPE and SSL-P
288 Added +HTTP-MULTI-STATUS+
292 Fix test suite to properly handle non-base characters in LW (bug caught by Jong-won Choi)
296 Fixed last change (thanks to Marko Kocic)
300 Development port (no threads) to SBCL/Win32 (patch by Marko Kocic)
301 Support for compilation without SSL
305 Don't use NSTRING-UPCASE for outgoing headers (bug caught by Saurabh Nanda)
306 Changed ProxyPass example in docs from /lisp to /hunchentoot
310 Reset to "faithful" external format on each iteration (bug caught by Viljo Marrandi and Ury Marshak)
314 Accept chunked transfer encoding for mod_lisp request bodies (thanks to Hugh Winkler's mod_lisp additions)
315 Robustify against erroneous form-data submissions (caught by Ury Marshak)
319 Even more flexible behaviour of RAW-POST-DATA
323 More flexible behaviour of RAW-POST-DATA
324 Robustified PARSE-CONTENT-TYPE
328 More meaningful results for RAW-POST-DATA
332 Added favicon.ico to example website (thanks to Yoni Rabkin Katzenell, Toby, and Uwe von Loh)
336 Added Hunchentoot logo by Uwe von Loh
340 Exported symbols related to session GC (suggested by Nico de Jager)
344 Added *HANDLE-HTTP-ERRORS-P* (thanks to Marijn Haverbeke)
345 Remove duplicate headers when reading from mod_lisp
349 Fixed HEADER-OUT (thanks to Robert J. Macomber)
353 Fixed bug in START-OUTPUT which confused mod_lisp
357 Changed behaviour of REAL-REMOTE-ADDR (as suggested by Robert J. Macomber)
358 Fixed COOKIE-OUT (thanks to Robert J. Macomber)
362 Don't bind *DISPATCH-TABLE* too early (thanks to Marijn Haverbeke)
366 Fixed bug in AUTHORIZATION function (reported by Michael J. Forster)
370 Correct SSL check in REDIRECT function
371 LOG-MESSAGE now checks for (BOUNDP '*SERVER*)
375 OpenMCL fixes (by Ralf Stoye)
379 No timeouts for mod_lisp servers (as in Hunchentoot 0.3.x)
383 Fixed a typo in easy-handlers.lisp (caught by Travis Cross)
387 Ported to CMUCL, SBCL, OpenMCL, and AllegroCL
389 Tons of small changes, too many to list them individually
393 Uses TBNL's WITH-DEBUGGER now
397 Added *CATCH-ERRORS-P* (from TBNL)
401 Accept HTTP requests with chunked transfer encoding
402 Use Chunga for chunking
406 Skip START-OUTPUT advice completely if working for TBNL
410 Added write timeouts for LW 5.0
411 Updated LW links in documentation
415 Serves as infrastructure for TBNL now (to replace KMRCL)
416 For HTTP/1.1 only send 'Keep-Alive' headers if explicitly requested
420 Connection headers are separated by commas, not semicolons
424 Refactored streams.lisp to appease LW compiler (thanks to Martin Simmons)
425 Changed handling of version string
426 Changed package handling in system definition (thanks to Christophe Rhodes)
430 Removed KMRCL workaround
434 Mention TBNL version number in server name header
438 Fixed package stuff and HYPERDOC support
442 Initial public release
444 [For earlier changes see the file "CHANGELOG_TBNL" that is included with the release.]