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