forked from plack/Plack
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Changes
392 lines (326 loc) · 20.2 KB
/
Changes
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
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
Revision history for Perl extension Plack
Take a look at http://github.com/miyagawa/Plack/issues for the planned changes before 1.0 release.
0.9935 Wed May 5 15:17:06 PDT 2010
- Set an empty PATH_INFO if CGI environment doesn't set so (hachi) #109
- Fixed a possible weird combination of SCRIPT_NAME and PATH_INFO in CGI handlers
- localize PATH_INFO and SCRIPT_NAME in App::File and subclasses #100
- updated COPYRIGHT notice for Debian
- Middleware::StackTrace now displays text trace to psgi.errors like Rack::ShowExceptions
(castaway, theorbtwo)
- Middleware::StackTrace: Fixed the text stack trace format to be more readable
0.9934 Tue May 4 15:47:33 PDT 2010
- Added a test in CGIBin where binmode ":utf8" causes bad content-length #110
- Doc fix for the deprecated servers
- Initialize Module::Refresh (hiratara)
- Added mime_type to ErorrDocument (kakuno)
0.9933 Tue Apr 27 14:32:23 PDT 2010
- refactored the app.psgi loading error handling
- Enable type checking of the app in Lint->wrap
- allow plackup -e'...'
- Disable FCGI::Client/Net::FastCGI test by default
0.9932 Mon Apr 19 15:23:55 JST 2010
- Enable Lint middleware by default in the development env
- Lint middleware now validates $app on startup
- Fixed documentations on middleware and handlers
0.9931 Fri Apr 16 23:52:27 PDT 2010
- replace kyoto.jpg test image file with smaller baybridge.jpg to strip down the tarball size
from 2.5MB to 212KB.
0.9930 Tue Apr 13 20:18:06 PDT 2010
- Added Plack::Handler::Net::FastCGI (chansen)
- Made Test::TCP a hard dependency since Plack::Test needs it
- Added Delayed loader for Starlet and Starman (clkao)
- Hide logger middleware from log4perl's caller stack (haarg)
0.9929 Wed Mar 31 00:33:10 PDT 2010
- Middleware::JSONP: Simplified code and does not support IO response body type
- fcgi.t: skip tests with lighttpd < 1.4.17 per CPAN Testers #7040400
0.9928 Mon Mar 29 17:02:42 PDT 2010
- log_dispatch.t: require Log::Dispatch::Array
0.9927 Mon Mar 29 12:43:44 PDT 2010
- require newer Log::Dispatch (confound)
- StackTrace: Encode exceptions in utf-8 in case they include wide characters #95 (tokuhirom)
- StackTrace: Depends on a new Devel::StackTrace::AsHTML that escapes wide characters
- StackTrace: Display stacktrace only if the thrown exception is a direct error #91 (frodwith)
- StackTrace: Added 'force' option to force stacktrace in 500 errors
- Avoid warnings when response_cb filter returns undef in ARRAY response body #92 (hiratara)
- URLMap: Ignore port number if it matches with SERVER_PORT #90 (omega)
- URLMap: Enable debug print with PLACK_URLMAP_DEBUG=1 #94
- JSONP: Fixed possible infinite-loop when using with IO response body (hiratara)
- Fixed the compatiblity issues with FastCGI docs and tests with lighttpd 1.4.26 (tadam)
- LighttpdScriptNameFix: Added 'script_name' option (tadam)
0.9926 Sun Mar 28 14:37:03 PDT 2010
- Added -v|--version option to plackup and the ability for Plack::Runner users to override
0.9925 Sat Mar 27 19:03:57 PDT 2010
- Make this a non-devel release
0.99_24 Sat Mar 27 13:31:51 PDT 2010
- Disable Devel::StackTrace::WithLexicals for now until PadWalker RT #55242 is fixed
0.99_23 Sat Mar 27 01:02:24 PDT 2010
- Dropped keep-alive code from HTTP::Server::PSGI now that Starlet clones the code
- Special case --disable-* and --enable-* command line options in plackup and Plack::Runner
0.99_22 Thu Mar 25 19:48:08 PDT 2010
- INCOMPATIBLE: removed --max-workers option from the default standalone server.
Now it gives you warnings and falls back to the single process mode.
0.99_21 Thu Mar 25 15:05:53 PDT 2010
- INCOMPATIBLE: removed a workaround for lighttpd SCRIPT_NAME bug in FCGI handler
See http://github.com/miyagawa/Plack/issues#issue/68 for details.
- HTTPException now logs standard exceptions to psgi.errors
- micro optimization for Plack::Request content() method
0.9920 Thu Mar 18 23:48:06 PDT 2010
- Fixed URL path prefix matching in URLMap (hiratara)
- Fixed Plack::Request->content on GET with FastCGI servers (sunnavy)
- Added new middleware Middleware::Head
- Fixed localization bug in Plack-Util/load.t
0.9919 Wed Mar 17 22:50:09 PDT 2010
- Properly rethrow .psgi compilation errors
0.9918 Wed Mar 17 22:35:00 PDT 2010
- Load .psgi file in an unique package rather than Plack::Util to avoid
namespace pollution gh-88
0.9917 Wed Mar 17 15:33:43 PDT 2010
- Added Plack::Handler::Apache2::Registry (hiratara)
- Set default PLACK_ENV in Plack::Util::load_psgi
0.9916 Fri Mar 12 12:52:39 JST 2010
- Added support for a new (renamed) web server Corona
- Document enable coderef in Plack::Middleware (clkao)
- Middleware::StackTrace: Send plain text errors to clients that probably do
not understand HTML like curl
0.9915 Mon Mar 8 18:22:33 JST 2010
- Fixed a dumb bug in Plack::Handler::Apache2, broken in 0.9914 (hiratara)
- Added a warning if you misuse mount()
0.9914 Wed Mar 3 16:02:38 PST 2010
- Fixed psgix.io and nested closure for perl 5.8 (hiratara)
- Added an inheritance friendly Apache2 interface (frodwith)
- HTTP::Server::PSGI: Close client connection in the first run (hirose31)
- Fixed Loader/auto.t to reset env var (gugod)
0.9913 Thu Feb 25 19:14:40 PST 2010
- Revive psgix.io in HTTP::Server::PSGI (hiratara)
- Fix packaging issue
0.9912 Thu Feb 25 01:28:21 PST 2010
- Fixed the possible source of memory leak in middleware + streamer + HTTP::Server::PSGI
with perl 5.8.x (hiratara)
0.9911 Tue Feb 23 01:55:04 PST 2010
- Removed psgix.io extension to fix streaming choke issue on HTTP::Server::PSGI (tomyhero)
0.9910 Mon Feb 22 19:03:17 PST 2010
- This is the first non-dev release since 0.99. Read all the change logs below.
- Support streaming in JSONP (hiratara)
- Fixed various handler docs (markstos)
- Added Starman and Twiggy to benchmark script
- INCOMPATIBLE: Loader now prefers Twiggy when AnyEvent is loaded
- Implemented (experimental) psgix.io and psgix.input.buffered extensions
- Fixed Plack::Request POST parser to use psgix.input.buffered for better performance
- Added PLACK_ENV environment support in plackup #63
- Added HTTPExceptions middleware
- Added Recursive middleware
0.99_05 Wed Feb 10 12:46:05 PST 2010
- Changed the Loader command line options to -L from -l
- Runner now folds --host, --port and --socket to --listen and vice verca
- Added -D and --daemonize to plackup/Runner standard options
- Fixed FCGI handler to work with the new --listen and --daemonize option
- Fixed a bug in static.t where it chdir's before loading modules
- Renamed Writer to BufferedStreaming middleware and added docs
- Support streaming apps in Shotgun loader
- Falls back to Standalone handler when auto-detected backend is not available (hiratara)
- Support chunked-input in HTTP::Request->to_psgi
- Make the Reloader work with preforked server (chiba)
- Added 'Auto' backend in TempBuffer
- Added Nomo backend to the benchmark script
- Updated HTTP::Server::PSGI to support experimental psgix.input.buffered
- Plack::Request now honors psgix.input.buffered to see psgi.input is seekable
- Renamed Standalone handler to HTTP::Server::PSGI for consistency while keeping
'Standalone' as a nickname
0.99_04 Fri Feb 5 23:10:48 PST 2010
- Updated Test suite for multiple request headers to relax a bit for AE::HTTPD
- Added a test for large POST body which revealed FCGI::Client bug
- Added a handler for HTTP::Server::Simple::PSGI
- Depend on a decent version of URI (tomyhero)
- Reworked Loader API so the default loader can autodetect the backend again
- run_app now doesn't use Try::Tiny but use plain eval {}
0.99_03 Wed Feb 3 16:09:14 PST 2010
- Use 0 as a default address in the server_ready hook in Plack::Runner
- Document Plack::Handler naming scheme
- Fixed how Plack::Server::Standalone saves args
- Supported streaming interface in Cascade and URLMap
- mentions awesome WSGI Paste in Plack documentation
- Removed URI caching in Plack::Request since it's fast enough
- Fixed packaging issue due to Module::Install::Share bug (rafl)
- Support 'file' option in App::File and its subclasses
- Fixed SCRIPT_NAME and PATH_INFO in App::CGIBin
- Fixed App::Directory and ::File not to use Path::Class and its canonicalization.
It's now 300% faster!
0.99_02 Sat Jan 30 22:10:45 PST 2010
- Fixed PerlIO::TempBuffer to work with 5.8 and 5.11.3
- Do not use <$input> in FCGIDispatcher
- Skip fcgi_client.t unless explicitly stated (clkao)
- clarify and drop some CPAN dependencies (andk)
0.99_01 Fri Jan 29 14:02:04 PST 2010
Incompatible Changes
- Rename Standalone servers to HTTP::Server::PSGI
- Rename Plack::Server adapters to Plack::Handler. These changes should be transparnt
since we have a compatible code to work with the older names as well.
- Dropped sendfile(2) AIO support from Standalone server
- Plack::Request and Response are now in core, deprecating many methods.
Read `perldoc Plack::Request` and its INCOMPATIBILITIES section
New Features
- New middleware: WrapCGI to convert a single CGI script into a PSGI applciation
- Support psgix.logger and psgix.session in Plack::Request
- New logger middleware: NullLogger, SimpleLogger, Log4perl and LogDispatch
- Refactored Loader classes and added a new Shotgun loader (like rack's Shotgun)
- Added -l option to plackup which specifies the Loader backend
- New middleware: Refresh reloads modules in %INC in every N seconds
- Wraps -e code with 'builder { }' by default. You can also use with *.psgi to add middleware
components without editing the file!
Bug Fixes and Improvements
- Do not call ->canonical in HTTP::Message::PSGI to keep the URI encoded params in Plack::Test
tests (rafl, t0m)
- Fixed a bug in stupid corner case in HTTP::Message::PSGI where passed URI has UTF-8 encoded
strings *and* URI escaped UTF-8 bytes. (chmrr)
- Depend on new HTTP::Request::AsCGI that has better REQUEST_URI
- Plack::Runner/plackup does not autoload AccessLog in CGI mode anymore
- Added server_ready hook to PSGI servers so you can disable them in tests etc. (clkao, rafl)
- Escape user-supplied values in AccessLog to avoid control sequence injection (tokuhirom, kazuho)
- Support -foo (single dash) style option in Plack::Runner and plackup
- Relax the runtime.t check since it still fails on low-res time environments
- Now depends on Digest::MD5, HTTP::Body and Hash::MultiValue
- Revert the 'require' in load_psgi to do 'do'
- Delay load unnecessary modules in Plack::Runner
- Fixed psgi.multiprocess value on HTTP::Server::PSGI
- PSGI/1.1 support in Lint
0.9031 Mon Jan 11 11:29:04 PST 2010
- Fixed Plack::App::Directory directory listing by switching to Plack::MIME (tokuhirom)
This has been broken since 0.9025
- Fixed body filtering middleware such as Plack::Middleware::Deflater (hiratara)
This has been broken since 0.9026
0.9030 Sat Jan 9 13:13:17 PST 2010
- Support streaming interface in HTTP::Message::PSGI, Lint and Plack::Test (rafl)
- plackup -e doesn't enable strict and warnings by default, like perl
- Improved Middleware::Auth::Basic performance and error check
0.9029 Thu Jan 7 19:09:17 PST 2010
- Fixed runtime.t to relax test condition to avoid failures on Win32 (xaicron)
- Fixed a bug in FCGI engine where it creates a bogus response when running under a
buffered I/O with lighttpd. (fcharlier, typester)
- FCGI and CGI server now autoflushes STDOUT to do non-buffering output
- Fixed a Plack::MIME bug where extensions like .mp3 fails
0.9028 Tue Jan 5 18:42:07 PST 2010
- Fixed a long standing bug where errors are not printed correctly when the
application dies. (tokuhirom)
- Fixed FCGIClient passing bogus psgi.* environment values to the backend
- Implemented psgi.streaming in all blocking servers (miyagawa, rafl)
0.9027 Sun Jan 3 16:33:23 PST 2010
- Added new middleware Runtime that adds X-Runtime header
- Delay load Pod::Usage in Plack::Runner and plackup
0.9026 Fri Jan 1 10:35:26 JST 2010
- Auth::Basic now accepts an object that duck types to ->authenticate (e.g. Authen::Simple)
- Reworked how response_cb body callback works, so Content-Length will be updated correctly
0.9025 Sat Dec 26 10:11:59 JST 2009
- Server::Standalone::* should now display the correct Server: value
- Fixed a bug in AccessLog::Timed where %D and %T do not work
- Fixed a bug in AccessLog::Timed to work with filehandles
- Removed a dependency to MIME::Types and include Plack::MIME
- Refactored plackup into Plack::Runner
- Fixed a failing test under stupid Win32 filesystem
- Fixed ConditionalGET to work with delayed response
0.9024 Sat Dec 19 12:25:52 PST 2009
- Overwhauled how -r and -R works in plackup. Looks at .psgi and lib/ under that by default.
0.9023 Thu Dec 17 13:16:38 PST 2009
- Document the use of Plack:: namespace
- Use safer Unicode characters in tests to silence warnings #66
- Plack::Util::load_psgi now takes a class name as well. Added notes about the security of its use
- Set default host in MockHTTP and keep them if explicitly set (nihen)
0.9022 Sun Dec 13 10:53:01 PST 2009
- Added more assertions to Middleware::Lint
- Added a new test to test big HTTP header, which reveals the FCGI::Client bug (zrail, tokuhirom)
- plackup -e now automatically loads Plack::Builder
- Fixed fcgi tests (tokuhirom)
- Fixed Test::MockHTTP to make 500 response when the app died
- Fixed a memory leak in StackTrace when WithLexicals is used (chiba, Sartak)
- Fixed Middleware::ConditionalGET to deal with stupid IE headers (chiba)
- Fixed lots of typos (Sartak)
0.9021 Tue Dec 8 14:29:08 PST 2009
- Doc patches to Plack about CONTRIBUTING (stevan)
- Remove Class::Accessor::Fast and added Plack::Util::Accessor (stevan)
- Added Plack::Component the common base class for both App:: and Middleware (stevan)
- Plack::Test test_psgi now accepts $app, $client in positional args
- Plack::Test client callback can now omit host names like $cb->(GET "/")
0.9020 Mon Dec 7 10:38:37 GMT 2009
- Fixed a test (psgibin.t) failure in case sensitive filesystem
- Fixed a warning in Plack::Util::header_set
0.9019 Sun Dec 6 05:56:30 GMT 2009
- Fixed a bug in Plack::Util::header_set when to clear multiple headers (chiba)
- Added Plack::App::CGIBin that runs cgi-bin scripts as a PSGI application
- Added Plack::App::PSGIBin that loads .psgi files from local filesystem
0.9018 Thu Dec 3 00:48:04 PST 2009
- Allow Plack::Middleware->new to accept plain hashes
- Added Plack::App::Cascade to create a compound apps that cascade requests
- Added POE backend to benchmarks/ab.pl
- Implemented Plack::Server::Apache[12]->preload to preload apps in <Perl> or startup file
0.9017 Sun Nov 29 17:33:36 JST 2009
- Fixed more tests that fail on Win32 (charsbar)
0.9016 Sun Nov 29 16:39:40 JST 2009
- removed Middleware::Deflater from the dist.
- Fixed Standalone so as not to use Time::HiRes::Alarm on Win32 systems (charsbar, kazuho)
- Fixed App::File to set file path using forward slashes on Win32 (charsbar) #49
0.9015 Thu Nov 26 17:31:33 JST 2009
- Fixed a bug in URLMap where $env is shallow copied and some middleware don't work
- Added -e and -M to plackup
- plackup -r with args (directories to watch) is deprecated. Use -R instead
- plackup foo.psgi now DWIMs. -a (--app) continues to work
- Optimizaitons to Middleware and docs to explicitly call to_app because overloading happens
every request and is inefficient.
- The abilitiy to auto-select server backends for POE/AnyEvent/Coro is restored. Doesn't work with -r though. #50
- Display server package name in the Standalone/Prefork startup
- Fixed a bug in Plack::Test::MockHTTP where $res doesn't return the request (teejay)
- Fixed a bug in URLMap where requests to / fails in some cases (chiba)
0.9014 Fri Nov 20 21:51:47 PST 2009
- Updated docs for Standalone keep-alive options
- Added Auth::Basic middleware
- Fixed dependencies and MakeMaker issues in the archive
0.9013 Wed Nov 18 18:26:31 PST 2009
- Disable keep-alive in Standalone by default (kazuho, frew)
- Fixed a bug in Standalone where 'timeout' property is ignored in the first request (kazuho)
- Fixed a documentation bug in Middleware::Conditional (confound, scook)
0.9012 Tue Nov 17 13:38:38 PST 2009
- Added Middleware::Conditional and enable_if DSL for dynamic builder (scook)
0.9011 Thu Nov 12 03:53:28 PST 2009
- Added Apache1 support (Aaron Trevena)
0.9010 Wed Nov 11 23:18:37 PST 2009
- You can now omit Plack::Middleware:: in Builder DSL's enable()
0.9009 Sat Nov 7 20:43:17 PST 2009
- Fixed dependencies for tests
0.9008 Tue Oct 27 14:15:28 PDT 2009
- Removed optional deps from Makefile.PL and moved them to Task::Plack (mst)
- Make some middleware deps as required to make it simple, for now
0.9007 Sat Oct 24 17:41:33 PDT 2009
- Fixed Server::CGI to really inline fuctions to avoid warnings
- Fixed Middleware::AccessLog to let %{..}t strftime log format work (beppu)
- Fixed a flush bug in gzip encoding in Middleware::Deflater
- Fixed a bug in Middleware::AccessLog so POSIX strftime always works in English (fayland)
- Added Middleware::ContentMD5 (Fayland)
- Fixed plackup -r to actually reload the application code (robinsmidsrod)
0.9006 Fri Oct 23 01:21:13 PDT 2009
- Support streaming interface in most middlewares
- Added Middleware::Deflater (not recommended to use: see POD)
- Document FCGI configuration in Server::FCGI pod (dhoss)
- Inline Plack::Util functions in Server::CGI to speed up (mst)
0.9005 Wed Oct 21 20:53:19 PDT 2009
- Switch to Filesys::Notify::Simple to watch directory to trim down deps
- Made some dependencies optional since they're actually optional
0.9004 Tue Oct 20 22:57:48 PDT 2009
- Fixed File::ShareDir dependency (mst)
- App::File and Middleware::Static now auto follows symlinks (chiba)
- Implemented plackup -r as Plack::Loader::Reloadable (nothingmuch)
- Removed poll_cb from Writer middleware
- Added plackup common command line options: -o for --host and -p for --port
0.9003 Sun Oct 18 19:16:26 PDT 2009
- Added POE to Plack::Loader autoload
- Implemented callback style streaming in selected middlewares
- Bump up HTTP::Parser::XS to fix memory leaks
- Added Middleware::Chunked
- Added Middleware::JSONP
- Added twitter-stream.psgi example to do streaming server push
- Fixed Middleware::StackTrace to DWIM in framework generated 500 errors
- Fixed Restarter to do what doc says
0.9002 Wed Oct 14 11:26:28 PDT 2009
- Added a workaround in Server::Apache2 when Location and SCRIPT_NAME don't match
- Use Try::Tiny and parent for smaller memory footprint and better error handling
0.9001 Tue Oct 13 00:55:34 PDT 2009
- Downgrade EUMM in inc/
0.9000 Tue Oct 13 00:14:01 PDT 2009
- original version