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