Changelog
=========

Changelog for the current CacheFu release.  For a history of changes
prior to this release, see docs/HISTORY.txt


1.2 - released 2008-05-02
-------------------------

Release manager:
  Ricardo Newbery, ric@digitalmarbles.com
Compatible with:
  Plone 3.0 and Plone 2.5.x

- Refactor the GS export/import code:
  * add support for multiple caching policies.
  * the format of the XML file is now consistent with standard property
    and object manager formats.
  [wichert]

- Allow installation via a GenericSetup profile. Keep using the old style
  external method as default installation option. This means you can now
  install CacheSetup completely through a GenericSetup profile dependency.
  [wichert]

- Repackaged as an egg.
  [wichert]


1.1.2 - released 2008/04/23
---------------------------

Release manager:
  Ricardo Newbery, ric@digitalmarbles.com
Compatible with:
  Plone 3.0 and Plone 2.5.x

- Removed some deprecated tests.  [newbery]

- Synced up the squid and varnish configs with the changes in
  plone.recipe.squid and plone.recipe.varnish.  Mostly removed
  the special handling of cookie-authenticated requests and in
  the varnish case, added some handling of cache-control tokens.
  [newbery]

- Added a default_ttl of zero seconds to the varnish runner.
  [newbery]

- Unauthorized requests now do not trigger a full CacheFu disable.
  CacheFu is still disabled but no objects are actually removed.
  A temporary fix for http://plone.org/products/cachefu/issues/134
  [newbery]

- Removed no-cache from the default cache policies and added a warning
  to the noCache and noStore fields about the IE/SSL bug.
  Fixes http://plone.org/products/cachefu/issues/117
  [newbery]

- Fixed reordering UI.  http://plone.org/products/cachefu/issues/131
  [newbery]

- Removed lazy expression cleanup routine since we don't do macro
  caching anymore.  [newbery]

- Fixed UnicodeDecodeError in PT_pt_render()
  http://plone.org/products/cachefu/issues/126
  [newbery]


- Fixed rewritePurgeUrls.py.  Was referencing the method before
  its definition.  [newbery]

- Cleaned up the descriptions of some cache rules.  [newbery]

- Removed RSS from the container rule since we do this in a
  separate rule now.  [newbery]

- Fixed typo in getHeaderSetIdForCSSAndJs.py which would throw
  an error if still using the old cache policy (pre-1.1.1).
  [newbery]


1.1.1 - released 2008-02-03
---------------------------

Release manager:
  Ricardo Newbery, ric@digitalmarbles.com
Compatible with:
  Plone 3.0 and Plone 2.5.3

- Added an VHM 'inside-out' example to the custom rewritePurgeUrls
  script.  [newbery]

- Fixed the migration from pre-1.1 cache policies.  [newbery]

- After reinstall we now move the new policies to the top of
  the list.  [newbery]

- For most use cases, Accept-Language in Vary is unnecessarily 
  conservative. Even in many multi-lingual sites, Accept-Language 
  is not common. So it's no longer the default.  [newbery]

- Cachefu is now disabled if filesystem version doesn't match installed 
  version. We also update the schemas upon reinstall. The combination of
  both of these should catch most problems with mutating schemas.  [newbery]

- Implemented feature enhancement #9: stale-while-revalidate / 
  stale-if-error  [newbery]

- We no longer magically override the headerset settings based on the 
  proxy cache configuration selection. We might have a reverse proxy 
  cache that is not purgeable so now we always respect the policy settings. 
  This is better done explicitly anyway.  [newbery]

- The id widget for the cachetool is now always hidden. Changing 
  this id would break things badly.  [newbery]

- Fixed several svn external properties broken because of svn 
  reorganization. [erral]

- Reorganized several imports and schema definitions to improve 
  code readablity. [newbery]

- Fixed the reinstall sequence to route around potential cachepolicy
  id collisions.  [newbery]

- Removed two policy sets from the default install. Squid-without-vary
  because latest squid now properly supports purge with vary. 
  Default-cache-policy-v2 because tests don't show any improvement 
  over the old default policy and because of potential (but unconfirmed) 
  problems with the no-cache rule.  [newbery]

- Added kss registry to resource cache rule  [newbery]

- Added a cache rule for RSS feeds [newbery]

- Added 'b_start' to etag for templates cache rule. 
  Fixes http://plone.org/products/cachefu/issues/97  [newbery]

- Removed cachetool.unindexObject() from Install.py since we've already 
  disabled the indexing and it was contributing to 
  http://plone.org/products/cachefu/issues/92  [newbery]

- Eliminated a possible source for zodb write conflicts in high write 
  scenarios. Hopefully fixes http://plone.org/products/cachefu/issues/105  
  [newbery]

- Fixed traceback_supplement for Plone 3.0  [rossp]

- After Plone 3.0.1, something changed in Archetypes trunk that 
  breaks a couple of our templates.  Added an explicit definition 
  for the "allow_tabbing" variable in these templates to fix it.  
  [newbery]

- Fixed references to 'CacheFu' in install instructions where it 
  should be 'CacheSetup'  [erikrose]

- Products.PageTemplates.TALES is obsolete. We now import 
  zope.tales.tales instead  [wichert]

- With plone 3 trunk and zope 2.10.4 the (un)registerUtility keywords 
  are 'component' and 'provided', in IFiveSiteManager (Five 1.5.5) 
  they are the old way (utility, interface) but IFiveSiteManager does 
  not seem to be used here so this is changed [svincic]

- Added keyword arguments when calling (un)registerUtility, because
  the order of the arguments is the other way round in the IFiveSiteManager
  interface (at least with Five 1.4.4)  [witsch]

- Was previously doing a naive check for Plone 3 style site managers
  which would fail on Plone 2.5 if the portal had been converted to 
  a local site with Five 1.4.  Fixed to test for five.localsitemanager.
  [rocky]

- Added method getEnabled to cache_tool to partly fix 
  http://plone.org/products/cachefu/issues/96  [maurits]

- Cleaned up the icon. Properly transparent with no white border, 
  slightly bigger, a little color, and a bit of 3D embellishment 
  [newbery]

- Added a documentFirstHeading class and removed the icon from the main tab
  to match the other control panels -- don't want to stand out do we?  
  [newbery]

- Added BaseCacheRule to types_not_searched. 
  Fixes http://plone.org/products/cachefu/issues/113  [newbery]

- Some tests were updated; some new tests added; some test refactoring.
  Added policy http cache manager cache rule implementation tests. 
  Testing schemas is deprecated. Added tests for class and skeleton
  tests for methods. Removed unused imports [hvelarde]

- Moved BaseContent class inheritance to BaseCacheRule to simplify code
  in final classes. BaseCacheRule class is initialized now to avoid
  potential security issues. Updated test suite to reflect these changes.
  [hvelarde]

- Added plone_tool marker to cache_tool [hvelarde]

- Brought back cachingPoliciesDummy.html. This was accidently removed
  in the last release. It's a cosmetic thing; caching_policy_manager
  needs this for it's ZMI view. [newbery]

- Proxy config changes:

  1) Cleaned up and updated the proxy configs.  Moved 'config' directory
     to the more descriptive 'cachefu-proxy-configs'.  Cleaned up the 
     readme instructions. Renamed the makeconfig configuration to makeconfig.cfg,
     to clarify it's purpose. Added new configs for Squid and Varnish proxy 
     cache setups. Added some example configs for an Apache-only proxy cache 
     setup. Eventually, we're probably going to deprecate this and recommend
     buildouts for the proxy configs. [newbery]

  2) Bug fixes:  Corrected the log file path for squid log files, but 
     kept them commented. Removed references to unexistent scripts in
     proxy config deploy script [erral]

  3) Bug fix:  Moved ';' to the tal:define in xxxxxxx.  Was just behind it [redcor]

  4) Bug fixes:  Fixed print statement in makeconfig. Removed unnecessary
     squid_direct condition. Removed "direct" directive and adjusted 
     makeconfig to match. [newbery]

  5) Bug fixes:  In apache configs, uncommented the "RewriteEngine On" line.
     Added an 'all' acl to the Squid configs, since Squid appears to 
     need this in some situations. Fixed the proxy deploy script to not
     try to chmod files that do not exist. Fixed some bugs in makeconfig.
     [wichert]

- Bundled the current tagged CMFSquidTool which includes the latest changes:

  1) Many Squid configurations ignore query strings, but not all.
     Query strings are not retained in purge urls. [alecm]

  2) Fixed getUrlsToPurge when the object has no REQUEST. [maurits, reinout]

  3) Fixed a blocking Queue.put call that never raised Queue.Full
     and so was never caught [rossp]

  4) Squid (at least version 2.6.STABLE14) returns 404's for PURGE requests
     using HTTP 1.1 when an "Accept-Encoding: identity" header is included
     in the request. Squid now doesn't generate this header. [dunny]



