# 3.7.0 ### Versioned cache segmentation The cache API now maintains separate cache pools for each versioned stage. This prevents users from caching draft data and then exposing it on the live stage. ```php // Before: $cache = SS_Cache::factory('myapp'); Versioned::set_reading_mode('Stage.Live'); $cache->save('Some draft content. Not for public viewing yet.', 'my_key'); Versioned::set_reading_mode('Stage.Stage'); $cache->load('my_key'); // 'Some draft content. Not for public viewing yet' // After: $cache = SS_Cache::factory('myapp'); Versioned::set_reading_mode('Stage.Live'); $cache->save('Some draft content. Not for public viewing yet.', 'my_key'); Versioned::set_reading_mode('Stage.Stage'); $cache->load('my_key'); // null ``` Data that is not content sensitive can be cached across stages by simply opting out of the segmented cache with the `disable-container` argument. ```php $cache = SS_Cache::factory('myapp', 'Output', array('disable-container' => true)); ```