Change Log

To be kept up-to-date about the latest releases, you can follow us on Twitter

Version 1.11.2 - May 01, 2017

  • Fixed: Changed the header type for the JSONP methods from 'application/json' to 'application/javascript', which resolved an uncommon JavaScript mime type error.
  • Fixed: Squashed a bug where a PHP error was thrown when using the Channel Form module.

Version 1.11.1 - April 23, 2017

  • Fixed: Removed some stray white space from the beginning of the language file that was throwing a PHP warning for some users.

Version 1.11.0 - April 13, 2017

  • Added: New for= parameter for the It and Save tags. Allows timestamps and natural language dates to be used for setting the cache items’ expiration time.
  • Added: New Until tag, allows the cache items’ expiration to be overridden from inside the cache tag.
  • Added: SQLite driver.
  • Added: Docs are now included in the download.
  • Updated: The Redis driver will now fall back to use Predis if the PHP Redis extension is not installed.
  • Updated: The APC driver now also supports APCu.
  • Updated: Swapped $this->EE in favor of ee() and added fallback functionality for older versions of EE.
  • Updated: Got rid of deprecation notices.
  • Updated: The cache breaking settings page has been rewritten to make adding tags and paths easier and less error-prone.
  • Updated: The CE Cache module homepage now shows whether or not caching is enabled, and also makes it easier to tell which drivers are supported and active.
  • Updated: A huge amount of code refactoring in general to improve the codebase.
  • Fixed: The select-all checkbox for tag clearing should now work as expected.

Version 1.10.1 - November 03, 2013

  • Fixed: The static cache handler was not parsing the real path of the cache folder, which could prevent the cache folder from being found if placed in a custom location above web root.

Version 1.10 - November 03, 2013

  • Added: Ability to optionally select all tags in the "Clear Tagged Items" page of the CE Cache module in the control panel.
  • Added: ce_cache_pre_parse and ce_cache_post_parse hooks.
  • Added: Automatically disable caching for Publisher draft pages.
  • Added: The Clear tag to facilitate the custom cache clearing of items and/or tags, and the ability to optionally refresh the cleared items.
  • Added: Set the CURLOPT_SSL_VERIFYPEER cURL option to false to prevent a hard to debug error on certain servers.
  • Added: cURL requests now set a "Cache-Control: no-cache" header.
  • Fixed: Global and segment variables that were escaped during parsing are now parsed.
  • Fixed: Removed the "[NC]" flag from the static cache check in .htaccess.
  • Updated: The cache path for the file driver now attempts to use the value of the $config['cache_path'] EE config item.
  • Updated: The file and static driver permissions now default to 644 for files, and 775 for directories (they used to be hardcoded to 777). They can be overridden by the $config['ce_cache_file_permissions'] and the $config['ce_cache_dir_permissions'] config settings, respectively.
  • Updated: The Redis driver now supports the older 'delete' ('del') and 'getKeys' ('keys') commands for better compatibility with some older versions of Redis.
  • Added: The Redis driver can now optionally use a specified database (configurable via the $config['ce_cache_redis_db_index'] config setting).
  • Fixed: The Redis driver will now only flush the database being used, rather than flushing all Redis databases.
  • Fixed: There was a problem with using (optional) Redis authentication (using the $config['ce_cache_redis_auth'] config setting).

Version 1.9.5 - May 09, 2013

  • Updated: EE 2.6 compatibility updates for recently deprecated EE methods.
  • Updated: Additional Better Workflow checks to prevent caching on preview pages.
  • Fixed: Better compatibility with Stash (fixes a template_parse_hook error call).
  • Fixed: Redirects from the static cache handler would sometimes be cached by the browser for a refreshing cache.

Version 1.9.4 - April 15, 2013

  • Fixed: Cache breaking for deleted entries will now be handled synchronously to ensure that the entry data is available (before deletion).
  • Fixed: Pre escaping now works as expected with globals and snippets.
  • Updated: Better integration with add-ons using template_post_parse hook wizardry.
  • Updated: Better Redis connection error handling.
  • Added: Authentication support for Redis (optional).

Version 1.9.3 - March 26, 2013

  • Fixed: A bug preventing static cache items from refreshing when breaking by tag.

Version 1.9.2 - February 26, 2013

  • Fixed: A query typo introduced in yesterday's release that was preventing cache breaking settings from breaking the cache.

Version 1.9.1 - February 25, 2013

  • Changed: If you want to use Static caching, it is now required to be enabled using the $config['ce_cache_static_enabled'] = 'yes'; variable (see Configuration page or the Static Cache Installation Instructions control panel page in the CE Cache module).
  • Fixed: Typo in the documentation on the Cache Breaking control panel page. The documentation had tag= instead of tags= in an example.
  • Fixed: Support for special characters like ë in the URLs.
  • Fixed: The CE Cache control panel index page's heading from the language file ("CE Cache Home") was clashing with another add-on.
  • Fixed: Static 404 pages will now reflect their 404 status on subsequent requests when the $config['ce_cache_exclude_404s'] = 'no'; config setting is set.
  • Updated: CE Cache now checks for the new Better Workflow is_preview conditional to ensure BWF preview pages are not cached, instead of the old is_draft conditional.
  • Updated: Added instructions to the CE Cache Configuration page about the $config['ce_cache_static_logged_out_only'] config variable for static caching for logged-out members.
  • Updated: The 'exp_ce_cache_tagged_items' table now has an index to improve performance when breaking entries by tag name.
  • Updated: The 'View Item' control panel page now shows any tags that were assigned to the cache item using the tags= parameter.
  • Added: New variables are now available on the Cache Breaking page: {author_username} || and {author_id}.
  • Added: NSM Addon Updater support.

Version 1.9 - October 21, 2012

  • Changed: Since it is no longer possible to get the key value information for cached items using newer versions of Memcache, the driver now behaved like the Memcached driver. You can no longer view Memcache items in the control panel, and cache breaking needs the items' full id.
  • Changed: The Clean tag now works with the static driver. Also got a new force= parameter that allows the tag to optionally run even if caching is disabled in the config.
  • Added: Updated to work with the new custom theme folder paths in EE 2.5.3.
  • Added: New Add Tags tag allows tags to be assigned to the cache items from their inner content, as opposed to only being able to assign tags via the tags= parameter.
  • Added: CE Cache will now ignore pages requested via POST by default. This can be overridden on a global basis (via the $config['ce_cache_ignore_post_requests'] config setting) or an a per tag basis (via the ignore_post_requests= parameter for the specific tags).
  • Added: You can now optionally show the execution time at the bottom of the code returned by the static cache handler, without having debug mode enabled. Simply set $show_time = true; (default setting) in the cache handler file.
  • Fixed: Saving tags= is no longer done if caching is off, disabled, or set to the dummy driver.
  • Fixed: Static caching will no longer cache 404 pages by default. This can be overridden via the new $config['ce_cache_exclude_404s'] configuration item.
  • Fixed: The static cache handler will now check for redirect tags and parse them if found.
  • Fixed: RSS Templates that are cached using the static driver now have the ee:last_update tags that are added by EE removed from them.

Version 1.8.3 - September 22, 2012

  • Fixed: Static and File items didn’t sort alphabetically on some servers.
  • Fixed: Static cache handler no longer strips some characters from static cache file names.
  • Added: {current_time} variable can now be pre-escaped.

Version 1.8.2 - September 14, 2012

  • Added: Ability to use static caching only when logged in or out (see config options).
  • Added: Ability to use fragment caching only when logged in or out (see config options).
  • Added: Pre-save hook to allow data to be manipulated directly before being saved.
  • Fixed: Language issue for clearing the cache for a single site (gave message for clearing multiple sites).
  • Fixed: There was a bug preventing child static items from clearing via the cache breaking settings.
  • Changed: Static Driver Installation instructions tab has more details and options.

Version 1.8.1 - September 03, 2012

  • Added: The static driver now has the optional ability to cache to flat files, which has a little less functionality (you cannot auto-expire the cache with the seconds= parameter), but is even faster (see the static installation instructions tab in the module).
  • Added: $config['ce_cache_curl'] = 'no'; optional config variable to skip cURL and default to fsockopen for asynchronous requests.
  • Changed: Improved cross-server compatibility for the static cache handler to determine the file URL.
  • Changed: The debug mode for the static cache handler will now output debug messages in HTML comments at the end of the page, as opposed to outputting in plain text at the end of the page.
  • Changed: Memcache will now ensure that a connection can be made before determining that the driver is valid.
  • Fixed: There was a bug preventing cache break refreshing on 'local' items.
  • Fixed: Prevent errors that were thrown on 404 pages for the static driver in some circumstances.
  • Fixed: Changed parsing method in order to ensure that nested caching in embedded templates would work successfully. In some rare circumstances, an embedded template was returning the outer template’s embed code.
  • Fixed a bug that was preventing pre-escaping from working when using the Escape tag with an extra tagpart.

Version 1.8 - July 20, 2012

  • Added: The blazing fast static driver. Caches entire pages, as opposed to fragment caching like the other drivers. Cached pages completely bypasses EE. By far the fastest driver available when it’s possible to cache the entire page. Huge thanks to @sm9 and @pvledoux for extensive beta testing.
  • Changed: The control panel UI now uses JSONP instead of AJAX post requests. This should allow cross-domain MSM requests to work better.
  • Added: Comment breaking hook, to automatically break the parent entry when a comment is added or modified. Graciously contributed by @iainsaxon.
  • Added: You can now temporarily turn off CE Cache for the entire site by adding this to the config: $config['ce_cache_off'] = 'yes';
  • Changed: Control Panel UI should now work when the control panel is running in secure (https) protocal.
  • Changed: Pages with a 404 header will not be cached. Make sure your 404 pages are returning the correct 404 page header.

Version 1.7.5 - June 21, 2012

  • Fix: Instead of the useless "An AJAX error occurred. Are you still logged in?" error message in the View Items area of the control panel interface, a modal will now pop open and display the content returned by the server.
  • Fix: Corrected an issue where entries were deleted before their information could be used for cache breaking.
  • Changed: The asynchronous cURL response time was extended to 500 milliseconds from the original 200 milliseconds, as the 200 milliseconds was not ample time for the request to be made (at least on one server).
  • Added: {entry_date format=""} and {edit_date format=""} time variables can now be used in cache breaking settings.
  • Changed: Improved 404 response detection and handling.

Version 1.7.4 - April 26, 2012

  • Fixed: There was a bug from the last release (version 1.7.3) where pages requested by a bot that had not been previously cached were throwing a PHP error.

Version 1.7.3 - April 23, 2012

  • Fixed: The file driver will show up first again in the table of driver options on the CE Cache landing page in the control panel by default. However, if you have specified a different driver order in your config file, then the drivers will show up in that order instead.
  • Added: 404 pages will no longer be cached by default. This is useful as wrong URLs will not fill up your cache, and the 404 status can be returned to the page as expected.
  • Added: Pages that are requested with a user_agent that is suspected of being a bot will not be cached. This is to prevent the bot from hitting a large number of non-existent URLs that can fill up the cache if sufficient 404 redirects are not in place throughout the site.

Version 1.7.2 - April 07, 2012

  • Changed: The first 5 characters of the md5 hash of the site name/label will now be used as the cache prefix for each site. This will make the add-on more robust by not having to worry about special characters in the site name, and reduce the chance of any potential system incompatibilities with really long site names.
  • Fixed: There was a bug when upgrading the extension to versions 1.7 or 1.7.1 (new installations should not have been affected) that could cause the 'safecracker_submit_entry_end' and 'template_fetch_template' hooks to be inserted in the exp_extensions table multiple times. Upgrading to this version will clear out any old duplicates and ensure the hooks are only installed once.

Version 1.7.1 - April 06, 2012

  • Fixed: There was an error when submitting empty or invalid Safecracker entries.

Version 1.7 - April 03, 2012

  • Changed: AJAX control panel for managing cached items. Should be much more intuitive and faster.
  • Fixed: Safecracker cache breaking (contributed by Pv Ledoux).
  • Added: You can now override the local cache URLs by using the url_override= parameter for the It and Save tags.
  • Fixed: Cache breaking settings should now only show up for the current site (as opposed to listing all MSM sites at once).
  • Fixed: {no_results}...{/no_results} content should now work for modules and plugins nested within CE Cache tags.
  • Added: Freebie integration.
  • Added: Better Workflow integration. CE Cache will automatically be temporarily disabled when previewing templates.
  • Fixed: Deleting items using the Memcached driver should now work as expected.
  • Added: Cache break tags and items can now use the following variables in them: {entry_id}, {url_title}, {channel_id}, or {channel_name}. This enables you to break your caches more effectively and with much more control than previous versions.
  • Updated: If the Escape tag is given a unique tagpart then its tagdata will be escaped before segment variables and globals are parsed when using EE 1.2.4+.
  • Added: Optional ce_cache_secret config setting.
  • Added: Optinal ce_cache_async config setting.

Version 1.6 - January 26, 2012

  • Added: Redis driver!
  • Fixed: Template debugger now shows as expected.
  • Fixed: The Clean tag was missing a trailing slash in the code. It should work now.
  • Updated: If there is a problem deleting an item, the item’s path will be shown in the error message.

Version 1.5.5 - January 10, 2012

  • Updated: Ditched both of the EE fetch_action_id methods as they seemed to only work some of the time. Now a class method is used to retrieve the action id, and both cache breaking and Datagrab compatibility are working! Thanks to Chris Chiles for the suggestion and testing.

Version 1.5.4 - January 09, 2012

  • Fixed: Changed $this->EE->functions->fetch_action_id back to: $this->EE->cp->fetch_action_id, as it broke the channel cache break functionality.
  • Updated: developer integration documentation

Version 1.5.3 - January 03, 2012

  • Fixed: Changed $this->EE->cp->fetch_action_id to: $this->EE->functions->fetch_action_id for Datagrab cron job compatibility.
  • Fixed: Cache breaking when multiple entries are updated.
  • Added: Zoo Triggers compatibility.
  • Added: developer integration documentation on how to integrate CE Cache with third-party add-ons, or to call it via PHP.

Version 1.5.2 - December 17, 2011

  • Added: New ignore_if_dummy= parameter for the It and Save tags.
  • Fixed: Some servers were not allowing cache refreshing if a user agent header was not set.
  • Fixed: The cache break action will now be added if updating from a previous version of CE Cache.

Version 1.5.1 - December 15, 2011

  • Added: Tag your cache items with one or more tags using the tag= parameter.
  • Added: Channel cache breaking settings, which will allow you to specify which cached items, tags, and item paths you would like cleared when an entry in a channel is updated or changed.
  • Added: Ability to optionally allow your cached items to recreate themselves after they are deleted in the control panel, items view, and in the channel cache breaking pages. This essentially will recreate any non-global items that are deleted, so you won't have to manually go to each page after you clear the cache to get the pages to cache again.
  • Added: New metadata variables available: {size} and {size_raw} (filesize in bytes). This info will now show up in the single item view (in the CE Cache control panel) data as well.
  • Added: You can now clear the entire cache for all drivers, or clear the cache for all drivers for the current site.
  • Updated: The drivers that you specify in your config.php or index.php files will now appear at the top of the list in your CE Cache control panel home page.

Version 1.4.1 - December 03, 2011

  • Fixed: Sorting logic for the Memcache and file drivers View Items page in the module’s Control Panel interface.

Version 1.4 - December 02, 2011

  • Updated: Refactored and rewrote all drivers and functionality. The new drivers are powered by a custom factory class (don’t worry if you don’t know what that is), that provides several advantages over the past releases.
  • Added: Two new drivers: database, and Memcache.
  • Updated: The Control Panel interface now allows you to manage your cached items for each driver, clear your site specific cache per driver, clear your entire driver cache, and view individual cached items content and metadata (depending on the driver’s innate capabilities).
  • Updated: Recursive directory permission settings for the file driver to ensure nested directories receive correct permissions when they are auto-created.
  • Removed: The cache_info tag has been deprecated. If you use the {exp:ce_cache:cache_info} tag in your template, nothing will show up.
  • Updated: The get_metadata tag now has new variables include: {expiry}, {made}, {ttl}, and {ttl_remaining}. The old {mdate}, and {expires} variables are deprecated, but will still work. The {content} variable has been removed (in favor of using the Get tag to retrieve content).
  • Added: New driver= parameter and corresponding configuration setting allow you to specify one or more drivers to use with applicable tags.
  • Changed: The adapter and backup settings are now deprecated. These settings are now combined into the driver setting, which can accept multiple fallback drivers. These two settings will still work though if the driver setting is empty.
  • Added: New trim= parameter and configuration setting for It and Save tags.
  • Added: A configuration setting can now be set as a default for the id= parameter for applicable tags.
  • Added: Memcached and Memcache configuration settings to allow for the configuration of multiple server items.
  • Added: Id validation. Ids should not have any whitespace characters in them. Letters, numbers, dashes, underscores, and slashes are all okay.
  • Updated: The Clean tag now cleans the current site’s cache for each of the drivers passed in by default. To clear the entire cache for each of the drivers, set the new site_only="no" parameter.
  • Updated: Due to popular demand, there is now documentation on how to nest It tags.

Version 1.3 - November 26, 2011

  • The extension is no longer needed, as the module now handles all of the extension's old responsibilities.

Version 1.2 - November 24, 2011

  • Bug fix - Update for the extension to use EE's output class. Should correct content encoding problems.

Version 1.1 - November 23, 2011

  • Added an extension to ensure escaped content (at any depth) still shows correctly if it is not within a cache:it or cache:save tag. This helps, for example, if you have a {cache:escape} tag in an embed, and the embed is used in some templates that are using CE Cache, and other that are not. The module already handled this pretty well before, but this should ensure it works in all situations.
  • Added code to attempt to set nested directory permissions to be as liberal as the server allows for file based-caching. This is useful if one or more nested cache directories were manually deleted and the cache is attempting to rebuild.

Version 1.0 - November 19, 2011

  • Initial Release