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