Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Fetching contributors…
Cannot retrieve contributors at this time
305 lines (255 sloc) 15.8 KB
Revision history for Perl extension Plack
Take a look at for the planned changes before 1.0 release.
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 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 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 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) 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/
- 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
Jump to Line
Something went wrong with that request. Please try again.