3 Added *FILE-UPLOAD-HOOK* (suggested by Erik Enge)
4 Fixed DEFINE-EASY-HANDLER for cases where URI is NIL
8 DEFINE-EASY-HANDLER: fixed and clarified redefinition
9 DEFINE-EASY-HANDLER: allow for functions designators as "URIs"
10 DEFINE-EASY-HANDLER: take file uploads into account
11 Made logging a little bit more robust
12 Added mime type for XSL-FO (.fo)
16 Cleaner implementation of *CATCH-ERRORS-P*
20 Added *CATCH-ERRORS-P*
24 Appease SBCL (thanks to Juho Snellman)
28 Better reporting of IP addresses and ports if not behind mod_lisp
30 Fixed REAL-REMOTE-ADDR
31 Cookies always use UTF-8 encoding (which is opaque to the client anyway)
32 Read request bodies without 'Content-Length' header (for Hunchentoot)
33 Removed accented character from test.lisp to appease SBCL (reported by Xristos Kalkanis)
37 Only LispWorks: Set read timeout to NIL if connected to mod_lisp
41 Based LispWorks version of TBNL on Hunchentoot infrastructure
43 Exported GET-BACKTRACE (suggested by Erik Enge)
47 Added note about SBCL problems
51 Prepare for LW 5.0 release
55 Workaround for something like "application/x-www-form-urlencoded;charset=UTF-8" (caught by John Bates)
59 For mod_lisp, Lisp-Content-Length header must be sent after Content-Length header
63 More robust computation of content length
67 Added the missing piece (argh!)
71 Made creation of REQUEST object safer (thanks to Robert J. Macomber)
72 Replaced some erroneous DECLAIMs with DECLAREs (thanks to SBCL's style warnings)
73 Slight documentation enhancements
77 Handle "Expect: 100-continue" for non-Apache front-ends
78 Re-introduced IGNORE-ERRORS in GET-REQUEST-DATA
82 Fixed bug in READ-HTTP-REQUEST
86 Protocol of reply is HTTP/1.1 now
87 Made HTTP/0.9 default protocol of request if none was provided
88 Some preparations for Hunchentoot
94 Added missing file mime-types.lisp (thanks to Hilverd Reker)
98 Experimental support for writing directly to the front-end (see SEND-HEADERS)
99 Added HANDLE-STATIC-FILE
100 Changed CREATE-STATIC-FILE-DISPATCHER-AND-HANDLER to use new facilities
101 Added CREATE-FOLDER-DISPATCHER-AND-HANDLER
102 Added link to Travis Cross' message w.r.t. SBCL
106 Also use :TBNL-BIVALENT-STREAMS if :SB-UNICODE is present
110 Made RAW-POST-DATA more useful
111 Updated docs w.r.t. Araneida (thanks to Alan Shields)
115 Made "Content-Length" header SETFable
119 Restored original stream-based code for multipart/form-data parsing (got lost somehow)
120 Wrapped REMOTE-ADDR with IGNORE-ERRORS (just in case)
124 Added generic function DISPATCH-REQUEST (thanks to Jeff Caldwell)
128 Provide REMOTE-ADDR if connected directly (for LispWorks and AllegroCL)
129 Show remote user and address (if available) in non-Apache logs
130 Mention Debian package in docs
134 Alert LW users that a patch for OCTETS-TO-STRINGS is available (thanks to LispWorks support)
138 Make STRING-TO-OCTETS and OCTETS-TO-STRING safer for LW
142 Bugfix in CMUCL version of STRING-TO-OCTETS
146 Added the ability to cope with different external formats (incorporating suggestions from Will Glozer and Ivan Shvedunov)
147 Raw post data is now always saved (so *SAVE-RAW-POST-DATA-P* is gone)
151 Added the ability to store arbitrary data within REQUEST objects (suggested by Zach Beane)
152 Fixed handling of *HTTP-ERROR-HANDLER*
153 Note: *TBNL-VERSION* was wrong in 0.6.0 and 0.6.1
157 Robustified socket handling code
161 Added TBNL-CONTRIB package
162 Added contrib directory with first entry (from Alceste Scalas)
163 Updated link to Bill Clementson's blog
164 Don't redefine what's already there (for LispWorks)
168 Make RFC 2388 code an external dependency (thanks to Janis Dzerins)
172 Fixed dumb typo (caught by Bob Hutchison)
176 Re-introduced automatic front-end selection (originally by Bob Hutchison)
180 Fixed bug in modlisp.html where *CLOSE-TBNL-STREAM* could be NIL although it should be T
181 Set correct content type for 304 replies
185 Changed default cookie path in START-SESSION (suggested by Stefan Scholl)
187 More headers from the Araneida front-end
188 Added *SHOW-ACCESS-LOG-MESSAGES*
189 Changed "back-end" to "front-end" :)
193 Initial support for "stand-alone" version (no front-end) (supplied by Bob Hutchison)
195 Fixes in START-TBNL/STOP-TBNL
196 Documentation enhancements
200 Fixed some typos, removed unused code
204 Initial Araneida support (supplied by Bob Hutchison)
208 Small bugfix in RFC-1123-DATE (thanks to Bob Hutchison and Stefan Scholl)
212 Added *HTTP-ERROR-HANDLER* (suggested and coded by Stefan Scholl)
213 Exported and documented *SESSION-MAX-TIME*
217 Added ability to access raw post data (suggested and coded by Zach Beane)
221 Make bivalent streams work with LispWorks 4.4
222 UTF-8 demo for LispWorks (thanks to Bob Hutchison)
226 Re-compute content length after applying MAYBE-REWRITE-URLS-FOR-SESSION (caught by Stefan Scholl)
230 Don't send body for HEAD requests (needs current mod_lisp version)
234 Change #\Del to #\Rubout in QUOTE-STRING (AllegroCL complains, #\Del isn't even semi-standard)
238 Make REQUIRE-AUTHORIZATION compliant to RFC 2616 (thanks to Stefan Scholl)
242 Several small doc fixes (thanks to Stefan Scholl)
243 Catch requests like "GET http://server/foo.html HTTP/1.0" (suggested by Stefan Scholl)
247 Added backtrace code for OpenMCL (provided by Tiarnán Ó Corráin)
251 Cleaner handling of macro variables
255 Updated docs for mod_lisp2
259 Slight changes to support Chris Hanson's mod_lisp2
260 Changed GET-BACKTRACE for newer SBCL versions (thanks to Nikodemus Siivola)
264 Initial support for multipart/form-data (thanks to Michael Weber and Janis Dzerins)
265 Fixed bug in CREATE-STATIC-FILE-DISPATCHER-AND-HANDLER (caught by Bill Clementson)
269 Exported and documented DO-SESSIONS
273 FORM-URL-ENCODED-LIST-TO-ALIST now decodes names and values
277 Allow non-strings to be cookie values (bug caught by Zach Beane)
281 Consistent usage of RFC-1123-DATE (provided by Stefan Scholl)
282 Added all missing http headers from RFC 2616 (provided by Stefan Scholl)
283 Added support for mod_lisp version strings (see <http://common-lisp.net/pipermail/mod-lisp-devel/2004-August/000019.html>)
284 Don't always add session IDs when redirecting
288 Fixed typo in html.lisp and improved docs (both caught by Stefan Scholl)
292 Add missing exports and docs
296 Make CREATE-STATIC-FILE-DISPATCHER-AND-HANDLER thread-safe (caught by Jeff Caldwell)
297 Added support for 'If-Modified-Since' request headers (provided by Stefan Scholl)
301 Added CREATE-STATIC-FILE-DISPATCHER-AND-HANDLER (provided by Stefan Scholl)
306 New variable *CONTENT-TYPES-FOR-URL-REWRITE* (suggested by Stefan Scholl)
307 Updated index.html regarding new version of mod_lisp
311 Bugfix for FORM-URL-ENCODED-LIST-TO-ALIST (bug caught by Jong-won Choi)
315 Bugfix for SESSION-GC and RESET-SESSIONS (bug introduced in 0.2.0)
319 Only create backtrace if needed (speeds up AllegroCL considerably)
323 Added SESSION-STRING and *SESSION-REMOVAL-HOOK*
324 Added GET-BACKTRACE for AllegroCL
328 Removed some more typos in docs (thanks to Karl A. Krueger)
329 Changed BASE64 to CL-BASE64 in .asd file (thanks to Frank Sonnemans and Nicolas Lamirault)
333 Removed some old files from Jeff's port
334 Fixed a couple of typos in docs
339 Original code by Edi Weitz
340 Initial doc strings, port to KMRCL, logging code and various other improvements by Jeff Caldwell