Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

file 280 lines (236 sloc) 15.101 kb
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
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.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
Something went wrong with that request. Please try again.