3 allow for handler setting of the "connection" header (William Halliburton)
7 Use version number from ASDF system definition, not special var (Hans Huebner)
11 Don't set the Connection header to Close if it's already set (AndrejSuc/Stas Boukarev)
15 Print header value (if number) in base 10 (Chaitanya Gupta)
16 Fix for CLISP compilation (Anton Vodonosov)
20 Fix capitalization inconsistencies in docs (reported by Stas Boukarev)
24 Don't rely on asdf to find default document directory
25 Add m4v mime type (Wes Henderson)
29 Fix ACCEPTOR-REMOVE-SESSION default implementation (Stas Boukarev, Mathieu Lemoine)
33 Prevent errors when basic auth user or password contains colon
34 Add missing implementation for client-as-string for Lispworks, contributed by Raymond Wiker
38 New START-THREAD API function (Faré Rideau)
42 Fix bug that caused error when requesting nonexistent page.
46 Fix race condition in acceptor shutdown (Faré Rideau)
50 Call ACCEPTOR-STATUS-MESSAGE in a saner and more useful fashion (sponsored by Ron Garret)
54 fix wrong documented signature in acceptor-status-message (reported by Zach Beane)
58 Various documentation updates
59 Fix bug in static file handling that caused Safari to hang on 304 responses by Hunchentoot (reported by Wim Oudshoorn)
63 Fix bug in MD5-HEX that could cause session keys to be reused
67 Add local-addr* and local-port* functions
71 Fix test script to accomodate for Drakma fix regarding redirect from POST to GET
72 Fix range handling once again
76 ECL fixes (Juan Jose Giarcia-Ripoll)
80 Fix documentation for COOKIE-IN, which returns a string, not a cookie.
81 Hunchentoot could not deal with / pointing to a static file directory (Stas Boukarev).
82 Fixes to pathname sanitizing when handling static files.
83 Further Range: header handling fixes
84 Fix some export names relating to taskmaster thread count (Faré Rideau)
88 Doc fixes, add .pre-release.sh script
92 High-load multithread stability fixes (Mathieu Lemoine)
96 Remove dead code & style fixes (Ala'a Mohammad)
97 Bug fix: setting *print-base* / *print-radix* caused invalid cookie values (Scott L. Burson)
98 Various documentation and style updates
99 Fix documentation bug found (Mathieu Lemoine)
100 Fix bug that could hang Hunchentoot under load (Mathieu Lemoine)
104 Fix crash when error occurs while logging error (reported by Xu Jingtao)
105 Fix compilation with :hunchentoot-no-ssl feature (Mark Evenson)
106 Fix Range header handling (Simon Sandlund)
107 Export acceptor-remove-session
108 ECL timeout support (Juan Jose Giarcia-Ripoll)
109 Changed cookie handling - Hunchentoot no longer encodes cookies
110 automatically. Applications must make sure that they only set cookies
111 to permitted values (refer to RFC6265 for the details, thanks to Ralf
112 Stoye for debugging help)
116 Fix warning on LispWorks (Nico de Jager)
117 Documentation updates
118 Remove obsolete symbols from export list
119 Add easy-ssl-acceptor
120 Document acceptor-remove-session, remove obsolete *session-removal-hook* export (Issue #15)
121 Added :description to asdf system definition
122 Add documentation section describing how to bind to privileged ports
126 Use FINISH-OUTPUT instead of FORCE-OUTPUT at connection end (I. Perminov)
127 Documentation updates
128 External format EOL style fixes for Windows (Anton Kovalenko)
132 Fix to allow send-service-unavailable-reply to work (Faré Rideau)
133 Make sure we always have a cooked message to send in case of error (Faré Rideau)
134 Add www/ directory with default file tree that is being served
135 Add error template mechanism and improve error reporting in general.
136 Improve automatic testing, SBCL kludge to support asdf:test-op
137 Allegro CL modern mode fixes
138 Fix bugs in serving partial responses
139 Limit maximum number of threads that Hunchentoot creates (Dan Weinreb, Scott McKay)
140 Export fixes (Gordon Sims, Andrey Moskvitin, Faré Rideau)
141 Factor out easy-handler logic into separate acceptor subclass
142 Export two session functions (Nico de Jager)
143 Allow no Content-Type header (Chaitanya Gupta)
144 Patch for compilation with ECL (Sohail Somani)
145 Fix DEFINE-EASY-HANDLER for multiple acceptors (Nicolas Neuss)
146 Revived *SHOW-LISP-BACKTRACES-P*
147 Made sure "100 Continue" is returned even if the client sends "Expect: 100-continue" twice (reported by Gordon Sims)
148 Fixed typo in code which interprets transfer encodings
152 Exported WITHIN-REQUEST-P (Faré Rideau)
153 Safeguard measures against XSS attacks (J.P. Larocque)
154 Prevent potential leak when closing stream (Matt Lamari, Martin Simmons)
155 Change some occurrences of HANDLER-CASE* to HANDLER-CASE (Hans Hübner, Allan Dee)
159 Architectural changes - see HANDLE-REQUEST (thanks to Andreas Fuchs and Frode Fjeld)
160 Re-introduced *CATCH-ERRORS-P* and MAYBE-INVOKE-DEBUGGER
161 Integration with trivial-backtrace (see *LOG-LISP-BACKTRACES-P*)
162 Treat :UNSPECIFIC like NIL in pathname components (reported by Frode Fjeld)
164 Prepared for LispWorks 6 (Nico de Jager)
165 Fixed reading of post parameters (Peter Seibel and Stephen P. Compall)
166 Fixed STOP by supplying the :READY-ONLY keyword to USOCKET:WAIT-FOR-INPUT
167 Enabled SSL key passwords for Lisps other than LW (Vsevolod)
171 Complete architectural redesign (together with Hans Hübner)
172 Lots of small fixes and improvements, too many to enumerate here
176 Fixed embarrassingly mis-placed parentheses (thanks to Hans Hübner)
180 Removed FORCE-OUTPUT* and thus the ACL-COMPAT dependency (thanks to Hans Hübner)
181 Support for MP-less CMUCL (thanks to Hans Hübner)
185 Fixed unportable LOOP usage (caught by "C S S")
189 Added CODE parameter to REDIRECT (thanks to Michael Weber)
193 Fixed typo in test.lisp (thanks to Ben Hyde)
194 Changed wrong usage of EQ to EQL (thanks to Ariel Badichi)
195 Fixed typo in default handler (thanks to Eugene Ossintsev)
199 Uses CL-FAD for HANDLE-STATIC-FILE now
200 Better error reporting for CREATE-FOLDER-DISPATCHER-AND-HANDLER (suggested by Cyrus Harmon)
201 Faster version of WRITE-HEADER-LINE (thanks to V. Segu�)
205 Added support for CLISP (thanks to Anton Vodonosov)
209 Replace ENOUGH-NAMESTRING with ENOUGH-URL (patch by Kilian Sprotte and Hans Hübner)
213 Fix compilation order (thanks to Tiarnan O'Corrain and Chris Dean)
217 Robustified MAKE-SOCKET-STREAM against potential leak (thanks to Alain Picard)
218 Replaced #-FOO #-FOO constructs for OpenMCL (patch by Michael Weber)
219 Updated tutorial links
223 Made log stream shared on OpenMCL (thanks to Gary Byers)
227 Enabled GET-GID-FROM-NAME for newer versions of SBCL (patch by Cyrus Harmon)
231 Better handling of PORT parameter in REDIRECT (thanks to Vladimir Sedach)
235 Fixed bug where you couldn't set "Server" header (caught by Ralf Mattes)
236 Documentation clarification for HEADER-OUT function
240 Added support for "HttpOnly" cookie attribute
244 Added *METHODS-FOR-POST-PARAMETERS* (suggested by Jonathon McKitrick)
248 Better support for WITH-TIMEOUT on SBCL/Win32 (thanks to Anton Vodonosov)
252 Now uses bound for flexi stream returned by RAW-POST-DATA
253 Needs FLEXI-STREAMS 0.12.0 or higher
258 Added declaration in server.lisp to appease SBCL
262 Fixes for OpenMCL (thanks to Lennart Staflin and Tiarnan O'Corrain)
266 Added server names and coupled them with easy handlers (suggested by Mac Chan)
267 Exported SESSION-COOKIE-VALUE instead of SESSION-STRING (suggested by Slava Akhmechet)
268 Documentation fixes (thanks to Victor Kryukov and Igor Plekhov)
272 Made MAYBE-INVOKE-DEBUGGER a generic function and exported it (suggested by Vladimir Sedach)
276 Fixed CREATE-FOLDER-DISPATCHER-AND-HANDLER in the presence of URL-encoded URLs (bug caught by Nicolas Lamirault)
280 Made DEF-HTTP-RETURN-CODE more flexible (suggested by Jong-won Choi)
284 Added PORT parameter to REDIRECT (suggested by Cyrus Harmon)
285 Exported REMOVE-SESSION (suggested by Vamsee Kanakala)
289 Added socket timeouts for AllegroCL
290 Catch IO timeout conditions for AllegroCL, SBCL and CMUCL (suggested by Red Daly and others)
291 Added per-server dispatch tables (suggested by Robert Synnott and Andrei Stebakov)
295 USE the CL package explicitly when defining HUNCHENTOOT-MP (bug report by Joel Boehland)
299 Correct behaviour for "100 Continue" responses
307 Don't use chunked encoding for empty (NIL) bodies
311 Really exported REASON-PHRASE this time (and also *CURRENT-PROCESS*)
315 Added HUNCHENTOOT-MP package (suggested by Cyrus Harmon)
316 Only invoke MARK-AND-SWEEP for 32-bit versions of LW (thanks to Chris Dean)
317 Exported REASON-PHRASE
321 Added *APPROVED-RETURN-CODES*, *HEADER-STREAM*, and +HTTP-FAILED-DEPENDENCY+
322 Exported MIME-TYPE and SSL-P
327 Added +HTTP-MULTI-STATUS+
331 Fix test suite to properly handle non-base characters in LW (bug caught by Jong-won Choi)
335 Fixed last change (thanks to Marko Kocic)
339 Development port (no threads) to SBCL/Win32 (patch by Marko Kocic)
340 Support for compilation without SSL
344 Don't use NSTRING-UPCASE for outgoing headers (bug caught by Saurabh Nanda)
345 Changed ProxyPass example in docs from /lisp to /hunchentoot
349 Reset to "faithful" external format on each iteration (bug caught by Viljo Marrandi and Ury Marshak)
353 Accept chunked transfer encoding for mod_lisp request bodies (thanks to Hugh Winkler's mod_lisp additions)
354 Robustify against erroneous form-data submissions (caught by Ury Marshak)
358 Even more flexible behaviour of RAW-POST-DATA
362 More flexible behaviour of RAW-POST-DATA
363 Robustified PARSE-CONTENT-TYPE
367 More meaningful results for RAW-POST-DATA
371 Added favicon.ico to example website (thanks to Yoni Rabkin Katzenell, Toby, and Uwe von Loh)
375 Added Hunchentoot logo by Uwe von Loh
379 Exported symbols related to session GC (suggested by Nico de Jager)
383 Added *HANDLE-HTTP-ERRORS-P* (thanks to Marijn Haverbeke)
384 Remove duplicate headers when reading from mod_lisp
388 Fixed HEADER-OUT (thanks to Robert J. Macomber)
392 Fixed bug in START-OUTPUT which confused mod_lisp
396 Changed behaviour of REAL-REMOTE-ADDR (as suggested by Robert J. Macomber)
397 Fixed COOKIE-OUT (thanks to Robert J. Macomber)
401 Don't bind *DISPATCH-TABLE* too early (thanks to Marijn Haverbeke)
405 Fixed bug in AUTHORIZATION function (reported by Michael J. Forster)
409 Correct SSL check in REDIRECT function
410 LOG-MESSAGE now checks for (BOUNDP '*SERVER*)
414 OpenMCL fixes (by Ralf Stoye)
418 No timeouts for mod_lisp servers (as in Hunchentoot 0.3.x)
422 Fixed a typo in easy-handlers.lisp (caught by Travis Cross)
426 Ported to CMUCL, SBCL, OpenMCL, and AllegroCL
428 Tons of small changes, too many to list them individually
432 Uses TBNL's WITH-DEBUGGER now
436 Added *CATCH-ERRORS-P* (from TBNL)
440 Accept HTTP requests with chunked transfer encoding
441 Use Chunga for chunking
445 Skip START-OUTPUT advice completely if working for TBNL
449 Added write timeouts for LW 5.0
450 Updated LW links in documentation
454 Serves as infrastructure for TBNL now (to replace KMRCL)
455 For HTTP/1.1 only send 'Keep-Alive' headers if explicitly requested
459 Connection headers are separated by commas, not semicolons
463 Refactored streams.lisp to appease LW compiler (thanks to Martin Simmons)
464 Changed handling of version string
465 Changed package handling in system definition (thanks to Christophe Rhodes)
469 Removed KMRCL workaround
473 Mention TBNL version number in server name header
477 Fixed package stuff and HYPERDOC support
481 Initial public release
483 [For earlier changes see the file "CHANGELOG_TBNL" that is included with the release.]