Changelog
=========

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


1.2.1 - released 2009-05-17
---------------------------

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

- Convert view name to string type before looking up matching cache rules.
  Also fix up base_cache_rule._associateTemplate to ignore NotFound errors.
  Thanks to Silvio Tomatis for the report.
  [newbery]

- Fixed a Plone 2.5 incompatibility in exportimport/atcontent.py.
  Thanks to Kai Lautaportti for the patch.
  [newbery]

- Added a workaround to fix creating GenericSetup snapshots.
  [rossp]

- Added at_download purge URLs for files and images.  Fixes a problem
  with stale file downloads.
  [rossp]

- Changed over to a "version-less" naming of policies to make GenericSetup
  updates more sane.
  [newbery]

- Don't throw an error in Plone 2.5 if all the 'folder_buttons' actions
  have been deleted/hidden.  That's an odd configuration since it makes
  folder_contents views useless but we should still not throw an error.
  Fixes http://plone.org/products/cachefu/issues/141
  [newbery]

- Fixed a bug where Accept-Encoding was showing up twice in the Vary
  header.  Also made setVaryHeader a bit smarter about what values
  are required so instead of throwing a validation error we now just
  quietly fix the obvious omissions.
  [newbery]

- Added a free-form, syntax-checked field to the list of headers
  that a headerset can apply.  We now support surrogate cache control.
  [newbery]

- A CMFQuickInstaller uninstall/install after a GenericSetup install
  appears broken somehow. It's as if GS-installed tools do not get
  properly unregistered by QI (this is unconfirmed), but oddly a zope
  restart after a QI uninstall fixes this.  But if a restart is not done,
  one consequence is that setTitle never gets called because getToolByName
  says the cachetool exists already.  Since title is a required field
  but hidden in the edit form, this makes it impossible to enable CacheFu.
  QI is going away soon anyway so we punt on this bug and just call
  setTitle unconditionally.
  [newbery]

- Added missing workflow binding for CachePolicy entry in the
  GenericSetup workflow.xml settings.
  [newbery]

- Added missing title for RuleFolder/HeaderSetFolder entries in the
  GenericSetup cache settings.
  [newbery]

- Fixed a GS setuphandlers issue where importing ObjectInitializedEvent
  breaks in Plone 2.5.  Thanks to Kai Lautaportti for the report.
  [newbery]

- Fixed a boolean issue seen in Plone 2.5 where setEnabled() fails due
  to an inappropriate type comparison.  Thanks to Kai Lautaportti for
  the report.  Fixes http://plone.org/products/cachefu/issues/143
  [newbery]

- Fixed up the version checking.  We now no longer rely on quickinstaller
  to keep track of the installed version since qi is unreliable on
  product path changes and during some GS installs.  We also now no
  longer do a "full" disable during version mismatches -- we don't need
  need to anymore since everything now respects the 'enabled' flag.
  [newbery]

- Fixed up the CacheFu Caching Policy Manager so that it respects the
  CacheSetup 'enabled' field.  We don't have to delete this tool now
  in order to turn off caching behavior.
  [newbery]

- Use the FasterStringIO from CMFPlone/patches/unicodehacks instead of the
  standard StringIO to avoid issues due to a mix of strings and unicode.
  [fschulze]

- Improve the GenericSetup export code:

  - Also export the title field for header and rule sets.
  - PolicyHTTPCacheManagerCacheRule also needs the basic header set fields.
  - Import sub-items before importing the object itself so references
    work correctly.

  [wichert]

- Add missing title for entries in the GenericSetup cache settings.
  [wichert]


- If we silently ignore the 'enable CacheFu' option when the user is changing
  the cache tool settings show a very clear warning.
  [wichert]

- Fixed two return values in patch_cmf.py. In Plone 3 you need to return
  Unicode all the time. Otherwise PageTemplate files in the ZODB would generate
  an assertion error in pt_render, complaining about the empty string not being
  Unicode.
  [hannosch]

- Add a vocabulary which lists all header sets.
  [wichert]

