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