Revision history for Perl extension Catalyst::Plugin::PageCache

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