| Changelog for WinCache | 
                
                                    
                        | Release | 
                        What has changed? | 
                    
                                            
                                                    
                                | 2.0.0.9 | 
                                
                                    2.0.0.9: 
- Fix build for PHP 8.1 and later 
- Remove ownership/support contact information from phpinfo screen 
  * Note this is no longer a supported Microsoft product, and maintenance will only be done at a best-effort basis.                                 | 
                            
                                                                    
                                                    
                                | 2.0.0.8 | 
                                
                                    2.0.0.8: 
- Revert "Global\" prefix for named objects.  It breaks IIS Express. 
- Improve tracing by adding thread ID to debug trace logs                                 | 
                            
                                                                    
                                                    
                                | 1.3.7.12 | 
                                
                                    1.3.7.12: 
- Revert "Global\" prefix for named objects. It breaks IIS Express. 
- Improve tracing by adding thread ID to debug trace logs. 
- Code cleanup.                                 | 
                            
                                                                    
                                                    
                                | 1.3.7.11 | 
                                
                                    1.3.7.11: 
- choose better user cache table size at startup 
- improve detection of wincache segment corruption during allocate_memory                                 | 
                            
                                                                    
                                                    
                                | 2.0.0.7 | 
                                
                                    2.0.0.7: 
- choose better user cache table size at startup 
- improve detection of wincache segment corruption during allocate_memory                                 | 
                            
                                                                    
                                                    
                                | 1.3.7.10 | 
                                
                                    1.3.7.10: 
- Off-by-one error in interning key strings for hash table buckets in opcode cache                                 | 
                            
                                                                    
                                                    
                                | 2.0.0.6 | 
                                
                                    2.0.0.6: 
- Fix bug 71580 session_regenerate_id(): Failed to create(read) session 
- Code cleanup in file change notification 
- Ignore change notifications for new files, since they won't exist in the file cache                                 | 
                            
                                                                    
                                                    
                                | 1.3.7.9 | 
                                
                                    1.3.7.9: 
- AV in race condition during file change notification 
- Add max php version for package.xml 
- Add rudimentary validation of filemap files 
- Fix assign vs. comparison bug in session                                 | 
                            
                                                                    
                                                    
                                | 2.0.0.5 | 
                                
                                    2.0.0.5: 
- Fix array refcount for user and session caches 
- Fix string refcount for array keys 
- Fix IS_REFERENCE zvals passed to wincache_ucache_[inc|dec] functions 
- Minor bug fixes and tweaks                                 | 
                            
                                                                    
                                                    
                                | 2.0.0.4 | 
                                
                                    2.0.0.4: 
- Fix array refcount for user and session caches 
- Fix string refcount for array keys 
- Minor bug fixes and tweaks                                 | 
                            
                                                                    
                                                    
                                | 2.0.0.1 | 
                                
                                    2.0.0.0: 
- PHP7 Support 
- x64 Support 
- Remove opcode cache support 
- Remove custom SRW locking 
- Remove unused settings 
- Enforce NTS-only build 
- Comment clean up 
- Minor bug fixes and tweaks                                 | 
                            
                                                                    
                                                    
                                | 1.3.7.7 | 
                                
                                    1.3.7.7: 
- Fix crash when user/session cache encounters error during creation. 
- Fix error if session fails during creation and using SessionHandler class 
- Bug Fix: Add space for null terminator for PHP 5.4 and above. 
- Bug Fix: Don't copy the key name in zvcache if there isn't a key name. 
- Fixed metrics on shared memory segments 
- Add ETW tracing 
- Convert init event to a mutex (improve stability if something gets killed while holding the event) 
- Bug 69609: rmdir/unlink function reroutes do not clear resolve path cache                                 | 
                            
                                                                    
                                                    
                                | 2.0.0.0 | 
                                
                                    2.0.0.0: 
- PHP7 Support 
- x64 Support 
- Remove opcode cache support 
- Remove custom SRW locking 
- Remove unused settings 
- Enforce NTS-only build 
- Comment clean up 
- Minor bug fixes and tweaks                                 | 
                            
                                                                    
                                                    
                                | 1.3.7.4 | 
                                
                                    1.3.7.4: 
- Fix uninitialized variable issue that leads to av (null zend_error_cb). 
- Increase the timeout used to wait for other processes to finish initialization. 
- Re-order initialization such that User Cache will still work even if file cache fails to init. 
- Remove noisy ASSERTs. 
- Improve error checking in shared memory heap management functions. 
- Fix alloc bug in wincache_file_get_contents. 
- Enable setting of debuglevel and reroute_enabled from .user.ini. 
- Move shared memory segments out of the Windows System Pagefile. Added new configuration setting wincache.filemapdir to control where the temp files are created. 
- Refine VM base address selection for shared memory maps. 
- Ensure all named objects created with Global prefix when apppoolid is set.                                 | 
                            
                                                                    
                                                    
                                | 1.3.6.1 | 
                                
                                    1.3.6.1: 
- PHP 5.6 support. 
- BUG #67466: Mapping error during startup leads to unpredictable AV in opcode cache                                 | 
                            
                                                                    
                                                    
                                | 1.3.5.0 | 
                                
                                    1.3.5.0 release: 
- Compiled for PHP 5.5 
- Opcode Cache is disabled by default for PHP 5.5 because Opcache is available in Core 
- Added support for traits and trait aliases                                 | 
                            
                                                                    
                                                    
                                | 1.3.0 | 
                                
                                    1.3.0 release: 
- Added support for PHP 5.4, which includes support for the following: 
  * Zend Engine 2.4 structures (znode_op, zend_class_entry, etc.). 
  * Interned strings. 
  * Stop hooking zend_stream_open_function, due to breaking change in Zend 2.4. 
  * Removed PG(safe_mode) and php_checkuid() checks for Zend 2.4. 
- Cleaned up const compiler warnings. 
- Cleaned up random comments to make them PECL coding standards conformant.                                 | 
                            
                                                                    
                                                    
                                | 1.1.0stable | 
                                
                                    1.1.0 release: 
- Made reroute functionality take out number of parameters it can handle. Also made reroutes only when less or equal number of parameters are passed. 
- Added wincache_reroute_list and wrote file apis on top of file cache. Added file flags in fcache_value. 
- Removed function hooks which are not giving significant performance boost. Updated version number. 
- Added functionality to clear user cache from wincache.php. 
- Updated build number for RTW release. Removed rerouteini config property.                                 | 
                            
                                                                    
                                                    
                                | 1.1.0beta2 | 
                                
                                    1.1.0 Beta 2 release: 
- updated wincache.php to not show all user cache entries if the total number of entries exceeds 250 
- Added summaryonly to all the info functions. 
- Separated session cache from user cache. Added wincache_scache_info and wincache_scache_meminfo. 
- Made session cache use file backed shared memory so that sessions survive process recycle. 
- updated wincache.php to show user cache and session cache informaiton on different pages. 
- Calculated memory allocated for storing zval in user cache and exposed it from wincache_ucache_info. 
- Distributed file change notification infrastructure to be used with file cache. 
- Using pagefile backed shared memory if APP_POOL_ID environment variable is not available. 
- Fixed a bug in hashtable copyout. Missed setting hashtable global list tail. 
- Added ability to reroute functions in opcode copy code. 
- Using file change notification to detect changes to files. 
- Create separate session cache for each session.save_path values. 
- Added ability to get info on a single user cache entry. 
- Exposed functions to get information on folders on which file change notification is active. 
- Updated wincache.php to show the content of the user cache entries only if USE_AUTHENTICATION is enabled. 
- Added wincache_lock, wincache_unlock APIs. Bug fixes to file change notification and user cache. 
- Fixed tickcount rollover related bugs and namesalt truncation bug. 
- Bug fixes in usercache. Added optional isglobal to wincache_lock. 
- Forcing file change check on folder after listener is moved to different process. 
- Fixed fcnotify refcount bug and updated version number for beta2 release.                                 | 
                            
                                                                    
                                                    
                                | 1.1.0 | 
                                
                                    1.1.0-Beta release: 
- Added wincache user cache which can be used to store php values in cache. 
- Added wincache session handler. Now wincache user cache can be used to store session data. 
- Made behavior of user cache functions handle arrays and other key types.\ 
- Fixed a bug in session handler to make it work for SugarCRM. 
- Fixed inconsistencies in wincache_ucache APIs. Included session entries lookups in hit/miss counts. 
- Updated the wincache.php page to show the informaiton about user and session cache.                                 | 
                            
                                                                    
                                                    
                                | 1.0.1 | 
                                
                                    - Fixed require_once on PHP5.3. If the files were absolute and similar files were included in different case, require_once was including it twice. 
- Changed relative path cache to act as resolve path cache. Incremented refcounts under aplist lock. Did comparison using InterlockedCompareExchange. 
- Fixed crashes which were happening because aplist refcount and opcode cache refcount can get out of sync due to local cache. 
- Exposed is_local_cache property from ocache_fileinfo and fcache_fileinfo. Stats page will use this to indicate when local opcode data is shown. 
- Updated the wincache.php to pass chart data on query string to ensure that the charts show the same data that is displayed in tables 
- Updated the wincache.php to show whether information about a global or local cache instance is being displayed 
- Changed variable names and comments to indicate rplist is resolve path cache and not just relative path cache 
- Changed wincache.php to use resolve_path instead of relative_path                                 | 
                            
                                                                    
                                                    
                                | 1.0.0 | 
                                
                                    - Setting absentry and same_value in rplist_value under writelock. 
- Final v1 RTW build is version 1117. 
- Updated the wincache.php to show a warning if opcode cache size is too small and it has been automatically increased. 
- Changed minimum/maximum values of fcachesize, ocachesize. Added olocaltest. Forced ocachesize to be atleast 3 times fcachesize. 
- Prevent rplist_value same_value field from pointing to itself, else deleteval does double free on same rplist value. 
- Rplist, fcache, ocache entries are deleted by same process. Only marking rplist entries deleted when needed. 
- Made strings in rplist_value aligned to dword boundary. Other miscellaneous code improvements. 
- Converting opened_path to lowercase makes case-sensitive comparison of __FILE__ with realpath() fail. Fixed. 
- Process with local opcode cache never does complete remove_aplist_entry now. Added debuglevel 501 and warning codes. Modified asserts. 
- Changed cache size default values. Default size of file cache is 32 MB and opcode cache is 96 MB. 
- WINCACHE.PHP will now display files in Output cache and File cache in lexicographical sorted way. The same holds true for relative path cache tab. 
- First file executed appears duplicate in included_files list because WinCache adds the file in lowercase which is different from PHP core. 
- Taken care of zend bailout properly. 
- Removing the local entry when an entry in global aplist gets created. 
- Scavenger gets disabled if ttlmax value is 0. Also disabled scavenger in processes which create local opcode cache. 
- Fix VC6 compatibility. 
- Added total memory row for the file cache and opcode cache overview tables. Also re-ordered the colums in the file cache list to be consistent with opcode cache list. 
- Added tooltip for statistics column in wincache.php file. 
- Added memory usage pie charts to wincache.php file. 
- Minor changes to php_wincache. Made is_free unsigned int. Made used_header similar to free_header by adding two dummy size_t. 
- Implemented new INI directive FCENABLEDFILER for file cache which is similar to OCENABLEDFILTER for output cache. 
- Fixed the wincache.php authenticaiton logic to not conflict with IIS built-in authentication. 
- Added the "filelist" id's to the file list tables to allow usage of page anchors in navigation. 
- Modified the chart in wincache.php to display the numbers rounded to 2 digits after decimal point.                                 |