3 Fix bug in MD5-HEX that could cause session keys to be reused
7 Add local-addr* and local-port* functions
11 Fix test script to accomodate for Drakma fix regarding redirect from POST to GET
12 Fix range handling once again
16 ECL fixes (Juan Jose Giarcia-Ripoll)
20 Fix documentation for COOKIE-IN, which returns a string, not a cookie.
21 Hunchentoot could not deal with / pointing to a static file directory (Stas Boukarev).
22 Fixes to pathname sanitizing when handling static files.
23 Further Range: header handling fixes
24 Fix some export names relating to taskmaster thread count (Far� Rideau)
28 Doc fixes, add .pre-release.sh script
32 High-load multithread stability fixes (Mathieu Lemoine)
36 Remove dead code & style fixes (Ala'a Mohammad)
37 Bug fix: setting *print-base* / *print-radix* caused invalid cookie values (Scott L. Burson)
38 Various documentation and style updates
39 Fix documentation bug found (Mathieu Lemoine)
40 Fix bug that could hang Hunchentoot under load (Mathieu Lemoine)
44 Fix crash when error occurs while logging error (reported by Xu Jingtao)
45 Fix compilation with :hunchentoot-no-ssl feature (Mark Evenson)
46 Fix Range header handling (Simon Sandlund)
47 Export acceptor-remove-session
48 ECL timeout support (Juan Jose Giarcia-Ripoll)
49 Changed cookie handling - Hunchentoot no longer encodes cookies
50 automatically. Applications must make sure that they only set cookies
51 to permitted values (refer to RFC6265 for the details, thanks to Ralf
52 Stoye for debugging help)
56 Fix warning on LispWorks (Nico de Jager)
58 Remove obsolete symbols from export list
60 Document acceptor-remove-session, remove obsolete *session-removal-hook* export (Issue #15)
61 Added :description to asdf system definition
62 Add documentation section describing how to bind to privileged ports
66 Use FINISH-OUTPUT instead of FORCE-OUTPUT at connection end (I. Perminov)
68 External format EOL style fixes for Windows (Anton Kovalenko)
72 Fix to allow send-service-unavailable-reply to work (Far� Rideau)
73 Make sure we always have a cooked message to send in case of error (Far� Rideau)
74 Add www/ directory with default file tree that is being served
75 Add error template mechanism and improve error reporting in general.
76 Improve automatic testing, SBCL kludge to support asdf:test-op
77 Allegro CL modern mode fixes
78 Fix bugs in serving partial responses
79 Limit maximum number of threads that Hunchentoot creates (Dan Weinreb, Scott McKay)
80 Export fixes (Gordon Sims, Andrey Moskvitin, Far� Rideau)
81 Factor out easy-handler logic into separate acceptor subclass
82 Export two session functions (Nico de Jager)
83 Allow no Content-Type header (Chaitanya Gupta)
84 Patch for compilation with ECL (Sohail Somani)
85 Fix DEFINE-EASY-HANDLER for multiple acceptors (Nicolas Neuss)
86 Revived *SHOW-LISP-BACKTRACES-P*
87 Made sure "100 Continue" is returned even if the client sends "Expect: 100-continue" twice (reported by Gordon Sims)
88 Fixed typo in code which interprets transfer encodings
92 Exported WITHIN-REQUEST-P (Far� Rideau)
93 Safeguard measures against XSS attacks (J.P. Larocque)
94 Prevent potential leak when closing stream (Matt Lamari, Martin Simmons)
95 Change some occurrences of HANDLER-CASE* to HANDLER-CASE (Hans H�bner, Allan Dee)
99 Architectural changes - see HANDLE-REQUEST (thanks to Andreas Fuchs and Frode Fjeld)
100 Re-introduced *CATCH-ERRORS-P* and MAYBE-INVOKE-DEBUGGER
101 Integration with trivial-backtrace (see *LOG-LISP-BACKTRACES-P*)
102 Treat :UNSPECIFIC like NIL in pathname components (reported by Frode Fjeld)
104 Prepared for LispWorks 6 (Nico de Jager)
105 Fixed reading of post parameters (Peter Seibel and Stephen P. Compall)
106 Fixed STOP by supplying the :READY-ONLY keyword to USOCKET:WAIT-FOR-INPUT
107 Enabled SSL key passwords for Lisps other than LW (Vsevolod)
111 Complete architectural redesign (together with Hans H�bner)
112 Lots of small fixes and improvements, too many to enumerate here
116 Fixed embarrassingly mis-placed parentheses (thanks to Hans H�bner)
120 Removed FORCE-OUTPUT* and thus the ACL-COMPAT dependency (thanks to Hans H�bner)
121 Support for MP-less CMUCL (thanks to Hans H�bner)
125 Fixed unportable LOOP usage (caught by "C S S")
129 Added CODE parameter to REDIRECT (thanks to Michael Weber)
133 Fixed typo in test.lisp (thanks to Ben Hyde)
134 Changed wrong usage of EQ to EQL (thanks to Ariel Badichi)
135 Fixed typo in default handler (thanks to Eugene Ossintsev)
139 Uses CL-FAD for HANDLE-STATIC-FILE now
140 Better error reporting for CREATE-FOLDER-DISPATCHER-AND-HANDLER (suggested by Cyrus Harmon)
141 Faster version of WRITE-HEADER-LINE (thanks to V. Segu�)
145 Added support for CLISP (thanks to Anton Vodonosov)
149 Replace ENOUGH-NAMESTRING with ENOUGH-URL (patch by Kilian Sprotte and Hans H�bner)
153 Fix compilation order (thanks to Tiarnan O'Corrain and Chris Dean)
157 Robustified MAKE-SOCKET-STREAM against potential leak (thanks to Alain Picard)
158 Replaced #-FOO #-FOO constructs for OpenMCL (patch by Michael Weber)
159 Updated tutorial links
163 Made log stream shared on OpenMCL (thanks to Gary Byers)
167 Enabled GET-GID-FROM-NAME for newer versions of SBCL (patch by Cyrus Harmon)
171 Better handling of PORT parameter in REDIRECT (thanks to Vladimir Sedach)
175 Fixed bug where you couldn't set "Server" header (caught by Ralf Mattes)
176 Documentation clarification for HEADER-OUT function
180 Added support for "HttpOnly" cookie attribute
184 Added *METHODS-FOR-POST-PARAMETERS* (suggested by Jonathon McKitrick)
188 Better support for WITH-TIMEOUT on SBCL/Win32 (thanks to Anton Vodonosov)
192 Now uses bound for flexi stream returned by RAW-POST-DATA
193 Needs FLEXI-STREAMS 0.12.0 or higher
198 Added declaration in server.lisp to appease SBCL
202 Fixes for OpenMCL (thanks to Lennart Staflin and Tiarnan O'Corrain)
206 Added server names and coupled them with easy handlers (suggested by Mac Chan)
207 Exported SESSION-COOKIE-VALUE instead of SESSION-STRING (suggested by Slava Akhmechet)
208 Documentation fixes (thanks to Victor Kryukov and Igor Plekhov)
212 Made MAYBE-INVOKE-DEBUGGER a generic function and exported it (suggested by Vladimir Sedach)
216 Fixed CREATE-FOLDER-DISPATCHER-AND-HANDLER in the presence of URL-encoded URLs (bug caught by Nicolas Lamirault)
220 Made DEF-HTTP-RETURN-CODE more flexible (suggested by Jong-won Choi)
224 Added PORT parameter to REDIRECT (suggested by Cyrus Harmon)
225 Exported REMOVE-SESSION (suggested by Vamsee Kanakala)
229 Added socket timeouts for AllegroCL
230 Catch IO timeout conditions for AllegroCL, SBCL and CMUCL (suggested by Red Daly and others)
231 Added per-server dispatch tables (suggested by Robert Synnott and Andrei Stebakov)
235 USE the CL package explicitly when defining HUNCHENTOOT-MP (bug report by Joel Boehland)
239 Correct behaviour for "100 Continue" responses
247 Don't use chunked encoding for empty (NIL) bodies
251 Really exported REASON-PHRASE this time (and also *CURRENT-PROCESS*)
255 Added HUNCHENTOOT-MP package (suggested by Cyrus Harmon)
256 Only invoke MARK-AND-SWEEP for 32-bit versions of LW (thanks to Chris Dean)
257 Exported REASON-PHRASE
261 Added *APPROVED-RETURN-CODES*, *HEADER-STREAM*, and +HTTP-FAILED-DEPENDENCY+
262 Exported MIME-TYPE and SSL-P
267 Added +HTTP-MULTI-STATUS+
271 Fix test suite to properly handle non-base characters in LW (bug caught by Jong-won Choi)
275 Fixed last change (thanks to Marko Kocic)
279 Development port (no threads) to SBCL/Win32 (patch by Marko Kocic)
280 Support for compilation without SSL
284 Don't use NSTRING-UPCASE for outgoing headers (bug caught by Saurabh Nanda)
285 Changed ProxyPass example in docs from /lisp to /hunchentoot
289 Reset to "faithful" external format on each iteration (bug caught by Viljo Marrandi and Ury Marshak)
293 Accept chunked transfer encoding for mod_lisp request bodies (thanks to Hugh Winkler's mod_lisp additions)
294 Robustify against erroneous form-data submissions (caught by Ury Marshak)
298 Even more flexible behaviour of RAW-POST-DATA
302 More flexible behaviour of RAW-POST-DATA
303 Robustified PARSE-CONTENT-TYPE
307 More meaningful results for RAW-POST-DATA
311 Added favicon.ico to example website (thanks to Yoni Rabkin Katzenell, Toby, and Uwe von Loh)
315 Added Hunchentoot logo by Uwe von Loh
319 Exported symbols related to session GC (suggested by Nico de Jager)
323 Added *HANDLE-HTTP-ERRORS-P* (thanks to Marijn Haverbeke)
324 Remove duplicate headers when reading from mod_lisp
328 Fixed HEADER-OUT (thanks to Robert J. Macomber)
332 Fixed bug in START-OUTPUT which confused mod_lisp
336 Changed behaviour of REAL-REMOTE-ADDR (as suggested by Robert J. Macomber)
337 Fixed COOKIE-OUT (thanks to Robert J. Macomber)
341 Don't bind *DISPATCH-TABLE* too early (thanks to Marijn Haverbeke)
345 Fixed bug in AUTHORIZATION function (reported by Michael J. Forster)
349 Correct SSL check in REDIRECT function
350 LOG-MESSAGE now checks for (BOUNDP '*SERVER*)
354 OpenMCL fixes (by Ralf Stoye)
358 No timeouts for mod_lisp servers (as in Hunchentoot 0.3.x)
362 Fixed a typo in easy-handlers.lisp (caught by Travis Cross)
366 Ported to CMUCL, SBCL, OpenMCL, and AllegroCL
368 Tons of small changes, too many to list them individually
372 Uses TBNL's WITH-DEBUGGER now
376 Added *CATCH-ERRORS-P* (from TBNL)
380 Accept HTTP requests with chunked transfer encoding
381 Use Chunga for chunking
385 Skip START-OUTPUT advice completely if working for TBNL
389 Added write timeouts for LW 5.0
390 Updated LW links in documentation
394 Serves as infrastructure for TBNL now (to replace KMRCL)
395 For HTTP/1.1 only send 'Keep-Alive' headers if explicitly requested
399 Connection headers are separated by commas, not semicolons
403 Refactored streams.lisp to appease LW compiler (thanks to Martin Simmons)
404 Changed handling of version string
405 Changed package handling in system definition (thanks to Christophe Rhodes)
409 Removed KMRCL workaround
413 Mention TBNL version number in server name header
417 Fixed package stuff and HYPERDOC support
421 Initial public release
423 [For earlier changes see the file "CHANGELOG_TBNL" that is included with the release.]