File: NEWS

package info (click to toggle)
araneida 0.90.1-dfsg-2
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 700 kB
  • ctags: 643
  • sloc: lisp: 4,878; perl: 166; sh: 109; makefile: 34
file content (235 lines) | stat: -rw-r--r-- 7,494 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
-*- Text -*-

* Portability to MCL (Brian Mastenbrook)
* Workaround for Unicode-enabled SBCL (Brian Mastenbrook)

New in 0.9

* Portability to multiple lisps:
  - SBCL, as before
  - OpenMCL, threaded handlers only
  - Allegro, threaded handlers only
  - Armed Bear Common Lisp, threaded handlers only
  - CMUCL, serve-event only
  - CLISP, serve-event only
  - LispWorks, threaded (from Jochen Schmidt, based on Portable AServe)

In particular the CLISP support is a bit of a hack; timeouts are still
notably missing, and you must run (araneida:host-serve-events) after
you're done running start-listener on all of your listeners.

(Brian Mastenbrook, Jochen Schmidt)

* SERVE-EVENT fixes so that non-Araneida fd handlers can be
  added/removed during request handling.  More than slightly kludgey,
  and less than entirely thread-safe, but this can be blamed mostly on
  the nature of serve-event.  (Brian again, and Luis Oliveira)


New in 0.85

* Fix URL encoding for characters 0 to F (Fare Rideau)

* Add :www-authenticate keyword to request-send-headers, and
  :extra-http-headers for other stranger headers that it still doesn't
  know (Brian Mastenbrook)

* Clean up some of the HTML outputting stuff (impetus from Fare, but
  actual code not his fault; as far as I can see anyway)

New in 0.84

* Important bug fix: conditional request support had the sense of the
  "changed?" test backwards.  An upgrade is recommended for anyone 
  using this.

* Some notes on HTTP caching added to documentation

* New generic function LISTENING-P to detect whether an http-listener
  is active

New in 0.83

* Clear up RESPONSE-SENT so that it works as described.

* Convenient support for conditional GET requests: the new keyword
  argument :CONDITIONAL T to REQUEST-SEND-HEADERS will cause it to
  compare the last-modified date in the response with the
  if-modified-since date in the request, sending a 304 response
  and then signalling RESPONSE-SENT when appropriate.

* REDIRECT-HANDLER may now take a relative urlstring for :LOCATION,
  which is merged against the handler's base url

* Cleared up a lot (but not all) of the compilation warnings and
  style-warnings



New in 0.82

* SLIME integration: the SLIME debugger can now be used to debug
  errors that occur in handlers.  This is controlled by the 

* New variable *RESTART-ON-HANDLER-ERRORS*, which replaces the
  badly-named *BREAK-ON-HANDLER-ERRORS*.  It can contain a function
  which is run on handler errors to provide an alternative debugger
  interface

New in 0.81

* Fix for bug in doc/example.lisp: long-site-name doesn't (as I had
  claimed) necessarily have to return FQDN, and only did that on my
  machine because I had leftover bits of Debian common-lisp-controller
  it was looking at.  Thanks to Vincent Arkesteijn

* Export REQUEST-UNHANDLED-PART, which is the rightmost part of the 
  urlstring: what would have been in the second parameter of an 
  old-style handler

* STATIC-FILE-HANDLER coped badly with requests for ".../doc" when
  ".../doc/" is a directory.  Now issues redirect


New in 0.80

* New HTTP-LISTENER abstraction drastically improves the threaded
  variant of Araneida, and also replaces a lot of older ad-hocky code
  and global variables.  The following are at least obsolete, and may
  not even exist any more

  - The 'server' stuff: export-server etc
  - *root-handler*
  - install-{thread,serve-event}-handlers, remove-handlers

* Raising HTTP errors from handlers is now accomplished in a far
  cleaner fashion, by signalling CL conditions.  (This also means that
  parent handlers may handle these conditions to provide e.g. custom
  404 pages).  A condition exists for each 4xx and 5xx HTTP response code

* Add REFRESH header to REQUEST-SEND-HEADERS; sends the not-quite-HTTP
  'Refresh: ' header (really, not part of HTTP/1.0 or 1.1: it appears to
  have been a Netscape extension)

* Fix packaging problem in 0.72

New in 0.72

* Experimental HTTP/0.9 support.  Requests with no Host: header are served
  as though they were for *DEFAULT-SERVER*, and REQUEST-SEND-HEADERS is
  a no-op when (< (REQUEST-HTTP-VERSION R) 1)

* Fix bug in a FORMAT string spotted by new SBCL

New in 0.71 : bugfixes

* static-file-handler no longer calls peek-char, to avoid a bug in
  SBCL <0.8.3.

* new variable *break-on-handler-errors* controls whether errors encountered 
  during a request read or response (almost any code in Araneida,
  including request parsing, dispatch, etc) cause a break into the
  debugger or not

* Incompatible change: html-stream has new and experimental behaviour
  if you put a function in the tree: it invokes the function, passing the
  output stream as its only parameter.  This is experimental and I
  hope it won't affect anyone much - does anyone currently print function
  objects in their html streams?

* Added LINK to the list of empty elements

* New prettier implementation of body-params which goes about twice as
  fast (thanks to Zach Beane)

* Minor docn updates

New in 0.70

* Experimental MP support, only on SBCL with #+sb-threads configured

* Dead code cleanup: removed package aliases HTTPSRV and HTTP-SERVER
  and references to them

* HTTP header parsing code is slightly less consy

* MERGE-URL fix

* Now uses SB-BSD-SOCKETS; DB-SOCKETS no longer required


New in 0.69 

* All-new handler model, with prototype documentation - unpolished,
  but should be enough to get started.  

* Default handlers REDIRECT-HANDLER and FILE-REQUEST-HANDLER  - see
  relevant source files for details

* Examples are no longer included, as they're all terrifically out of
  date

* (Actually, they were missed out of the last version too, but it
  was accidental that time)

* This is essentially a beta for 0.7, which will have bug fixes (if
  anyone sends bug reports) and better examples.


New in 0.63

* SEND-FILE (and thus FILE-REQUEST-HANDLER) test explicitly and return 404
  for wild pathnames.

New in 0.62

* URL merging bug fixes

New in 0.61 (relative to 0.6)

* now depends on SPLIT-SEQUENCE package (available the same place you
  found this)

* Socket error handling change: STREAM-ERROR is assumed to be due to the
   peer going away, and not worth calling the error handler for

* Bug fixed: now correctly handles folded lines in the HTTP header

* New function REQUEST-COOKIE

* FTP protocol "support" in url functions

* Fix broken base64 decoder

New in 0.54 - Thu, 28 Jun 2001 

* Araneida is now a cCLan package

* Araneida 0.52 (unreleased) and later also work with SBCL - in fact,
  most of the testing these days is done with SBCL.  Has been used on
  Linux i386 and Alpha; would be interested to receive success/failure
  reports (and especially patches) from users on other platforms.

New in 0.51 - Sun Jan  7 02:31:10 GMT 2001

* better support for conditional GET and If-Modified-Since headers

* some speed improvements to the sexp-to-HTML convertor

* new pattern-based sexp rewriting engine, so that you can for example
write

(define-page
 ((merge-url *araneida-url* "/rewritten")
  :patterns example-patterns
  :changed-time (get-universal-time))
 '(page
   (title "foo")
   (body (h1 "title") (p "hello " (red "red") " world")))))

and have it transformed into HTML in a fairly arbitrary (and more
general than CSS) fashion.  See example 6 in <a
href="../examples/main.lisp">main.lisp</a> for details (including the
definiton of the rewriting patterns) and <a
href="/rewritten">/rewritten</a> for the output