Revision history for Perl extension Catalyst::Plugin::PageCache
0.31 2010-11-09
- Fixed config in test apps to silence warnings from tests.
- Fixed module version number.
- Require File::Path 2.07.
- Made t/15busy_lock.t test more robust
0.30 2010-11-03 16:03 r13688
- Updated tests to use Cache::FileCache instead of the deprecated ::FileCache.
Report and patch by Rod Taylor, RT#53304 & RT#47373.
- Fixed t/04critic.t to not fail if Test::Perl::Critic is not installed.
- Updated test app code to avoid deprecated constructs.
- Only serve GET and HEAD requests (instead of all except POST). RT#53307.
- Allow key_maker to be the name of a method to be called on $c. RT#53529.
- Assorted performance optimizations.
- Add cache_dispatch_hook and cache_finalize_hook to config. RT#53503.
- Refactored page cache storage logic, inspired by RT#53303.
- Use SHA1 to create cache key to limit length and charset. RT#62343.
- Treat the order of repeated URL parameter values as significant.
Changes to page index logic used by clear_cached_page():
- Documented race-hazard risks with page index concept.
- Reduced the race-hazard risk in one scenario.
- Added app class name to index key for added safety.
- clear_cached_page() now returns the number of entries matched.
- page index keys are original /path?query not altered by key_maker or sha1.
- Now warns if disable_index is not explicitly set in config.
- disable_index may default true in a future release.
0.22 2009-06-25 10:38:00
- Update to use MRO::Compat
0.21 2008-10-02 10:45:00
- Check for FileCache in new test to avoid test failures.
0.20 2008-10-02 00:15:00
- Config option 'cache_headers' to cache HTTP headers. This is needed
if operating behind edge caches such as Akamai. (Chris Alef)
- Config option 'busy_lock' borrowed from Mason, avoids the "dog-pile"
effect where many concurrent requests can generate and cache the same
page. See the documentation for details.
- The ability to call clear_cached_page can be disabled to improve
performance (a cache index will not be created/updated).
0.19 2008-08-22 13:00:00
- Change config namespace to $c->config->{'Plugin::PageCache'}, old
namespace will still continue to work.
- key_maker method, allows custom cache keys to be used. (Martin Ellison)
0.18 2008-04-25 11:30:00
- cache_hook method, run a method before returning a cached page.
(J. Shirley)
0.17 2007-07-29 22:00:00
- If using C::P::I18N, allow caching of different versions of a
single URI based on the page language. (Roberto HenrĂquez)
0.16 2007-07-24 10:30:00
- Fixed a bug where pages with query strings but no params
did not have the cache key created properly.
- Switched to Module::Install.
0.15 2006-12-31 20:04:03
- Don't cache pages with errors.
0.14 2006-10-19 22:15:00
- Support newer C::P::Cache modules.
0.13 2006-08-12 14:43:00
- Add optional support to check Authentication plugin if user is
logged in. (marcus)
0.12 2006-03-09 16:30:00
- Fixed race condition in HTTP header test.
- Fixed Content-type to retain charset (moseley)
- Send cache headers on all requests (was not sending on first
request) (moseley)
- Added ability to pass in a DateTime object to expire at a specific
time (moseley)
- Added ability to pass in an options list to set the cache expires
time separately from the expires time sent to client. (moseley)
- Test If-Modified-Since headers on request that loads the page cache.
Was only testing when returning a page already in the page cache.
(moseley)
- Now sends Expires and Cache-Control headers on 304 to reset client cache.
(moseley)
- Allow setting a zero expires to allow just page caching. (moseley)
0.11 2005-09-13 14:50:00
- Fixed MANIFEST.
0.10 2005-09-13 14:00:00
- Fixed bug in cache key generation that ignored duplicate key names.
- Fixed bug where clear_cached_page called with a regex did not
properly remove the page from cache.
- Fixed bug where cache metadata was not set properly if
content-type or content-encoding was missing.
- Added test suite.
- Code cleanup per Best Practices.
0.09 2005-06-27 11:25:00
- Removed dependence on HTTP::Date.
- Make sure the same cache key checked during the dispatch phase
is used during the finalize phase. This avoids problems if the
user adds or deletes request parameters.
0.08 2005-06-16 00:20:00
- Debug is now enabled by default if in Catalyst -Debug mode.
- Expires now properly defaults to undef for Cache::Memcached backend.
0.07 2005-06-13 23:15:00
- Bugfix: Define auto_cache to an empty arrayref if not specified.
0.06 2005-06-07 23:40:00
- Die if no cache plugin is loaded. (chansen)
- Changed to isa() for cache backend detection. (chansen)
0.05 2005-06-06 23:15:00
- Fixed bug in clear_cached_page when cache index is not
available.
- Added cache backend detection in order to properly keep the
cache index from expiring when possible.
- Remove page from cache index when it has expired.
0.04 2005-06-05 16:20:00
- Removed unnecessary prepare_request method.
0.03 2005-06-04 22:30:00
- Switched to Class::Accessor::Fast. (chansen)
- Preserve Last-Modified time of the cached data. (chansen)
0.02 2005-06-04 18:13:00
- Preserve Content-Type and Content-Encoding of cached data. (chansen)
- Send 304 Not Modified header when a browser or proxy requests
If-Modified-Since and the data is still cached. (chansen)
- Don't check the auto list if the page will already be cached.
0.01 2005-06-04 12:00:00
- initial release