2013-11-22 16:33:06 +00:00
4.0.0 2014-??-??
API Changes
========
* new: proto array xcache_get_refcount(mixed &$variable), with +1 side effect removed
* chg: proto array xcache_get_cowcount(mixed $value)
ChangeLog
========
* cacher:
* (WIP) defragment
* (WIP) cache to disk
2013-11-23 01:46:42 +00:00
* misc:
* Reflection info added for APIs
2013-11-22 16:33:06 +00:00
2013-12-13 07:28:45 +00:00
3.2.0 2013-??-??
ChangeLog
========
* cacher:
* fixed #333: reduce memory usage for small or empty files
2013-10-22 16:53:42 +00:00
3.1.1 2013-??-??
ChangeLog
========
* cacher
* compatible with bcompiler
2013-10-10 07:44:30 +00:00
3.1.0 2013-10-10
2012-12-19 08:42:53 +00:00
ChangeLog
========
2013-09-26 07:14:42 +00:00
* added support for PHP_5_5 (cacher, optimizer, disassembler)
2013-09-09 16:41:47 +00:00
* cacher:
* closed #228: allow using var caching for cli to share data between child processes
* compatible with pcntl_fork()
* fixed support for __FILE__ __DIR__ to correctly handle files that got moved/hardlinked (this fix is now move out of xcache.experimental)
* disassembler:
* fixed crash with nested sandbox
2013-09-26 07:14:42 +00:00
* improved support for PHP_4 ~ PHP_5_4, also added support for PHP_5_5
2013-09-17 16:28:40 +00:00
* admin
* make mkpassword.php easier for noob
2013-09-26 09:33:09 +00:00
* optimizer
* rewrite try/catch handling to fix nested try/catch
2012-12-19 08:42:53 +00:00
2013-10-10 07:44:30 +00:00
3.0.4 2013-10-10
2013-09-09 16:16:05 +00:00
ChangeLog
========
2013-09-09 16:41:47 +00:00
* cacher
2013-09-25 02:49:01 +00:00
* fixed #324: xcache.readonly_protection = Off cause SEGV under mass concurrent
2013-09-09 16:41:47 +00:00
* fixed #323: refix locking impl for threaded env
2013-10-10 07:34:51 +00:00
* build
* win32: fix build with no indent.exe nor cat.exe
2013-09-09 16:16:05 +00:00
2013-09-05 04:13:18 +00:00
3.0.3 2013-06-18
2013-09-09 16:16:05 +00:00
ChangeLog
2013-06-18 02:40:51 +00:00
========
* clean files in release (fix htdocs config)
2013-06-10 04:25:32 +00:00
3.0.2 2013-06-10
2013-01-14 14:22:36 +00:00
ChangeLog
========
2013-09-09 16:41:47 +00:00
* cacher:
* fixed #296: (PHP5.4+ only bug), racecondition Multiple instances of the same software causes PHP "cannot redeclare class" errors when readonly_protection is not in use
* fixed #301: refix locking impl
* fixed #307: compatible with Zend Debugger which requires to be installed after Zend Extension Manager
* admin
* fixed #303: tablesort.js not found in Diagnosis and Coverager
* misc
* fixed #297: segv on startup under sparc, ini setting overflow
2013-01-14 14:22:36 +00:00
2013-01-11 02:48:41 +00:00
3.0.1 2013-01-11
2012-10-31 14:38:01 +00:00
ChangeLog
========
2013-09-09 16:41:47 +00:00
* cacher:
* fixed crash when cache is too small on start up
* fixed #295: crash using traits with PHP 5.4.8+
* fix random crash when cache is reinitialized yet failed (Thanks to Brad Baker for generating crash dump)
* fix locking impl: improve stability on threaded env (Thanks to Mircea Nicolae for reproducing the bug)
* optimizer:
* (PHP_5_4) fix ZEND_JMP_SET_VAR
* (PHP_5_4) fix for goto
* diagnosis:
* undefined variable when ini is not found
* misc:
* fixed #290: workaround phpize vs fbsd make bug again
* improve compatibility with "the ionCube PHP Loader", Zend Optimizer
2012-10-31 14:38:01 +00:00
2012-10-29 12:08:25 +00:00
3.0.0 2012-10-29
2012-07-14 04:44:18 +00:00
API Changes
========
* chg: proto array xcache_clear_cache(int type, [ int id = -1 ]). -1 means all cache splits
2012-07-27 16:37:37 +00:00
* new: proto array xcache_enable_cache(int type, [ int id = -1, [ bool enable = true ] ])
2012-08-23 08:27:54 +00:00
* new: proto array xcache_admin_namespace()
* new: proto array xcache_set_namespace(string namespace)
2012-07-16 08:41:38 +00:00
Ini Settings Changes
========
* new: xcache.disable_on_crash = Off
2012-08-02 06:27:41 +00:00
* new: xcache.coverager_autostart = On
2012-08-09 09:20:05 +00:00
* new: xcache.allocator = bestfit (no other option value yet)
* new: xcache.var_allocator = bestfit (no other option value yet)
2012-11-07 07:12:47 +00:00
* new: xcache.var_namespace_mode = 0
* new: xcache.var_namespace = ""
2012-07-16 08:41:38 +00:00
2012-07-14 04:44:18 +00:00
ChangeLog
========
2013-09-09 16:41:47 +00:00
* cacher:
* closed #2 (auto disable caching on crash)
* closed #174 (updated api to support "clear all cache")
* closed #198 (support for caching protocol url)
* closed #287 (namespace support)
* cache can be enabled/disabled manually
* coverager:
* fixed #39 (ini_set never work for xcache.coverager setting. use API instead)
2012-07-24 02:39:52 +00:00
* code refactor
2013-09-09 16:41:47 +00:00
* use extension= to load XCache. loading via zend_extension= is unsupported
2012-07-24 02:39:52 +00:00
* split XCache features into multiple sub modules
2013-09-09 16:41:47 +00:00
* admin:
* updated XCache admin page
* adds an diagnosis module to give professional advise, accessable via htdocs pages
* misc:
* (>=PHP_5_3) closed #73 (warn for improper PHP_FCGI_CHILDREN setting fcgi mode)
2012-07-14 03:00:10 +00:00
2012-07-14 01:30:55 +00:00
2.0.1 2012-07-14
2012-05-11 03:04:00 +00:00
ChangeLog
========
* fixed #279: segv when cache is full (since 2.0)
2012-06-16 14:37:09 +00:00
* fixed #281: subsequenc request segv when timeout happens during compiling
2012-05-29 02:25:41 +00:00
* admin/ config changed. please update accordingly
2012-07-01 04:13:31 +00:00
* WIN32: kill invalidate CRT parameters on shutdown
2012-07-06 19:09:47 +00:00
* fixed: <=PHP_5_2 duplicate error message failed to include file
2012-07-09 08:38:25 +00:00
* fixed #283: XCache admin APIs (admin page) cause SEGV if XCache failed to initize
2012-07-11 04:53:00 +00:00
* fixed possible re-include a file by mixing include/include_once
2012-07-13 02:40:55 +00:00
* fixed #264, #284: __FILE__ __DIR__ handling for moved/hardlinked files (set "xcache.experimental = on" to eanble this fix)
2012-05-11 03:04:00 +00:00
2012-04-19 18:29:38 +00:00
2.0.0 2012-04-20
2007-05-27 14:04:56 +00:00
Ini Settings Changes
========
* new: xcache.experimental = Off
ChangeLog
========
2012-03-30 17:28:57 +00:00
* support for PHP_5_4
* reduce memory usage by caching 1 for multiple same content files
* correct __FILE__ __DIR__ supported for hardlinked files
2012-04-06 03:54:58 +00:00
* fixed #275: one line struct definition was confusing struct parser
2008-08-17 10:52:42 +00:00
* fixed #102: segv when var cacher is too small
* fixed #55: segv php tokenizer on certain special situation
2012-04-11 02:47:14 +00:00
* fixed #278: admin page: wrong layout in opera
2008-01-04 14:42:36 +00:00
* compiler errors: all compiler warning (E_STRICT only currently) is now cached and is supported for user handler
2012-04-05 13:38:10 +00:00
* tests/bug52160.phpt: report multiple error correctly
2008-08-17 10:52:42 +00:00
2011-06-04 02:28:13 +00:00
1.3.2 2011-06-04
2011-02-08 05:11:39 +00:00
========
2011-04-22 14:56:40 +00:00
* avoid possible filename injection in admin page
2011-04-18 04:25:16 +00:00
* adds 30 seconds timeout to "compiling" flag
2013-09-09 16:41:47 +00:00
* decompiler: improved decompiling
2011-04-26 05:27:47 +00:00
* disassembler: improper handling of null field
2011-04-09 03:08:38 +00:00
* disassembler: DECLARE_INHERITED_CLASS/DELAYED class not found
2011-04-08 04:08:37 +00:00
* disassembler: don't dump builtin functions
2011-02-08 05:11:39 +00:00
* fix win32 build against win32 native gnu tools
2011-02-08 05:13:22 +00:00
* compatibility fix: fix segv on shutdown when ionCube Loader is loaded
2011-03-19 14:32:00 +00:00
* fixed undefined index for xcache.count=1 and xcache.var_size>1
2011-03-19 14:37:40 +00:00
* fixed #258: builtin constant memory leak on compile
2011-02-08 05:11:39 +00:00
2011-02-08 05:10:10 +00:00
1.3.1 2010-11-27
========
* 2G/4G limitation on 64bit arch
* xcache_unset matching e.g. prefixed_ values
2009-08-04 03:02:22 +00:00
1.3.0 2009-08-04
2008-08-17 10:52:42 +00:00
== ChangeLog ==
* PHP 5.3 support
2009-08-04 03:02:22 +00:00
* fixed #138: no segv if cache is not initialized correctly
* default to 64M for xcache.size in xcache.ini
2009-07-05 06:17:44 +00:00
* could not show module info in admin page when XCache is the last module
* wrong http auth realm
2009-07-05 06:18:35 +00:00
* coverager: font-size and newline fix for firefox
2009-08-04 03:02:22 +00:00
* admin page is now magic quote gpc aware
2008-08-17 10:52:42 +00:00
1.2.2 2007-12-29
== ChangeLog ==
2007-12-29 03:48:54 +00:00
* added module dependency
2007-08-08 16:10:16 +00:00
* live with wrong system time: allow caching files with mtime in further
2007-07-12 03:11:06 +00:00
* bug fix for compatibility with Zend Optimizer and other non-cachable
2008-08-17 10:52:42 +00:00
* #59: Maximum execution time of 60 seconds exceeded
* #102: segv when var cacher is too small
* #55: segv php tokenizer on certain special situation
1.2.1 2007-07-01
== Ini Settings Changes ==
* new: xcache.admin.enable_auth = On
== ChangeLog ==
2007-05-27 12:56:17 +00:00
* #86: remove/edit variable in admin page
2007-06-29 03:09:47 +00:00
* fixed #109: fast inc/dec was trying to break ro protection
2007-06-21 16:37:29 +00:00
* fixed #101, #105: Fixed compatibility issue for apache 1.x
* fixed #94: Garbage collector disabled when xcache.cacher set to off
2007-05-31 04:17:28 +00:00
* fixed #92: Zend Optimizer compatibility issue
2007-05-27 12:56:17 +00:00
* fixed #77: hits/misses was not updated
2008-08-17 10:52:42 +00:00
* fixed #59: pass by reference for internal function was broken
2007-05-27 12:56:17 +00:00
* fixed #56: xcache_set segfaults when xcache.var_size=0
========
1.2.0 2006-12-10
Ini Settings Changes
========
* new: xcache.stat = On
* new: xcache.coverager = Off
* chg: xcache.coveragedump_directory default to ""
* del: xcache.coveragedumper = Off
New APIs
========
* array xcache_coverager_decode(string data)
* void xcache_coverager_start([bool clean = true])
* void xcache_coverager_stop([bool clean = false])
* array xcache_coverager_get([bool clean = false])
ChangeLog
========
* [290] [291] [292] build with the m4 on solaris
* [283] removed zend_append_version_info. not needed after [282]
* [282] fix possible alloca() scope problem in lock
* [281] keep config.nice on make xcachesvnclean
* [279] fixed #48, was leaking info when cacher is not enabled by size
* [280] [278] trunk: fix coredump on shutdown when loaded as "extension" and after "suhosin" or "zend optimizer". thanks to Alex, Cristian and Esser
* [271] fix auto detection of php-cli/php-cgi for test
* [270] make [269] pass test cases
* [269] do not destruct shallow copied tmp_auto_globals. also improve copying of other hash tables
* [268] full compatible with auto_globals_jit, no need to disable it in ini from now on
* [250] fixed css class on switcher
* [231] fix zval reference handling
* [230] update dprint support, added configure option: --enable-xcache-dprint
* [228] more robust coverager
* [227] cacher: remove redundant open_basedir check which broke php-src/ext/standard/tests/file/bug24313.phpt
* [221] cacher: fix eleak in op_array non-shadow-copy (readonly_protection=on)
* [220] fixed #36, Bug in inherited static class variables
* [219] fix prototype for readonly_protection=off, fix testcase Zend/tests/bug37632.phpt
* [217] kill leak warning on debug build
* [216] avoid crash on php compiler error
* [215] add `make xcachetest` to run xcache enabled test
* [214] [212] fixed #41, early class binding
* [272] [267] [263] [200] fixes for php6
* [224] [193] kill 64bit warning when self test is enabled
* [190] trick to load and work with zend optimizer
* [189] call op_array_ctor handler on restore to be more compatible with other zend_extension
* [257] [183] xcache module is not required by coverage viewer any more
* [165] xcache.stat support to allow tuning off stat (new ini)
* [164] better way to handle system level ini settings so it can be display in phpinfo standardly
1.1.0 2006-11-11
* merged [254] fix xcache.var_ttl displaying in info, fix xcache_get for ttl-unlimited
* merged [250] admin: fix switcher class on active
* merged [249] return 0 s instead of empty for deltatime
* merged [201] coverager: avoid crash when upstream failed to compile file
* merged from trunk: 159,161-162,167-180,182,184,186-187,194
* [194] PHP_5_2: new element in zend_brk_cont_element
* [186] [187] fix build on some rare arch
* [184] fix tplcov
* [178] fix type processor_t conflict with Mac OS X
* remove redundant open_basedir check, it's done before compiling
* trick in_compilation state, don't trigger __autoload at compile time
* FIX conflict between sandbox and user error handler
* [154] fix segv on MSHUTDOWN
* [153] win32/vc build fix
* [150] avoid crash when OOM on mem_realloc
* [148] reconstruct shm/allocator
* [147] show module info in statistics page
* [146] avoid reading of uninitialized data. thanks to valgrind
* [144] compat size displaying in admin page func
* [143] fixed string parameter parsing arg type for disassembler functions. thanks to check_paramaters.php
* [141] fix cache clear corruption bug
* [140] fix refcount on cache #1 #2 …
* [133] admin-page: be more friendly if XCache isn't loaded
* [132] fix zts on calling destroy_op_array
* [131] move open_files out of sandbox, it's not needed
* [130] improve locking for compile
* [137] [138] changed the coding way of unlinking list. fixed ttl expires dead loop
* [114] gc expired items, new ini: xcache.ttl xcache.gc_interval xcache.var_ttl …
* [126] fix xcache_isset reported by http://forum.lighttpd.net/topic/1397
* [119] fix leak in xcache.test=1; XCACHE_VERSION/XCACHE_MODULES length off-by-one
* [118] show gc countdown in admin page
* [113] zts build fix
* [112] avoid crash when OOM on mem_(calloc|realloc|strndup)
* [108] update percent bar to vertical/avail
* [107] show XCache version in admin page
* [105] trigger jit on $_SERVER when needed
* [101] note: xcache.mmap_path is a file
* [100] FIX: alloc'ed wrong size for string on restore
* [99] sohosin compatible & TSRM fix.
* [96] remove tailing \0 in filename of administration html output. reported by …
* [94] PHP_5_2: __tostring cache was MFH by php
* [93] try to show both count/size assert before abort
* [92] PHP_5_2: auto module_global is maintained by php engine
* [90] [91] kill compiler warnings
* [87] XCACHE_INDENT fallback
* [84] handle without inodes
* [79] fix messy XCACHE_MAP_FAILED checking
* [78] catch up with PHP_5_2, zend_property_info.ce
* [77] leakcheck
(not all changesets is list here)