3.1.6 2010-11-30
- make slam_defense a little more optimistic, allow a thread/process to write
to cache in a loop
- ensure realpaths hit the realpath_cache, in no-stat mode
- prevent memory starvation, nuke all caches when expunging just one doesn't
work
- fix uploadprogress keylength issues (NUL is part of keylen, pecl bug #20016)
3.1.5 2010-11-02
- Reduce usage of CG(open_files) (mkoppanen at php dot net)
- Add support for php-trunk, new op code, new internals string format,
etc. (Dmitry)
- apc_debug are not compiler-valid NOPs for non-debug builds
- Fixed relative paths resolution when ./foo/a.php or ../foo/a.php (or similar
path) are used. 'foo/a.php' path behaviors remain unchanged
- Fixed a possible memory corruption, when partial path cannot be resolved by
expand_filepath()
- Fixed notices in apc.php (Tomasz Krawczyk)
- Fixed Bug #17978: standardize user keys to include NULs in
identifier_len. Z_STRLEN_P() doesn't, so add to it.
- Fixed bug #16966, apc produces tons of warnings "Unable to allocate memory
for pool".
- Added --enable-apc-debug configuration argument to enable debugging (Kalle)
- Added support for internal debugging on Windows (Kalle)
- ZTS optimizations (Kalle)
3.1.4 2010-08-05
- Windows builds may now have filehits and memory protection if enabled
(Kalle)
- Renamed the memory protection configure option to --enable-apc-memprotect
(Kalle, Shire)
- ZTS fixes and optimizations (Kalle, Felipe)
- Win32 stat support (Pierre, Kalle)
- Added support for interned strings, run-time caches and Zend Engine 2.4
(Dmitry)
- Added apc_exists() (Rasmus)
- Fixed potential XSS in apc.php (Pierre, Matt Chapman)
- Fixed pecl bug #17597 (keys with embedded NUL) (Gopal)
- Fixed pecl bug #17650 (Fix goto jump offsets) (Gopal)
- Fixed pecl bug #17527 (Standardized error reporting) (Gopal, Paul Dragoonis)
- Fixed pecl bug #17089 (Scrub the constant table of all inherited members
before caching) (Gopal)
- Fixed pecl bug #16860 (files can be included more than once even when
include/require_once are used) (Pierre)
- Fixed pecl bug #16717 (apc_fetch dies after 1 hour, regardless of ttl
settings) (Kalle)
- Fixed pecl bug #17597 (apc user cache keys with embedded NULs) (Gopal)
- Fixed pecl bug #13583 (apc upload progress fixes) (Gopal)
New in 3.0.14:
* Build fix (Shire)
* Don't hook the upload hook if APC is disabled (Rasmus)
* Local shadow cache support (Gopal)
* Avoid uneccessary loops over op_arrays for "known" auto-globals (Gopal)
* Fix apc_add() to overwrite timed out user entries (Rasmus)
* Fix double inclusion of files with conditional classes in php4 (Gopal)
* Allocator fixes to reduce fragmentation (Gopal)
New in 3.0.13:
* PHP 5.2 file upload progress tracking support (Rasmus)
* Pthread mutex and spin locks (Shire)
* Recursive zval support for apc_fetch/_store (Shire, Gopal)
* apc.stat_ctime flag for ctime checks (Rasmus)
* Multiple key fetches with apc_fetch (Shire)
* Canary checks for shm memory deallocation (Gopal)
* Add hooks for external optimizer (Shire)
* Obsolete and remove apc optimizer (Gopal)
* APC info changes - cache insert rate, hit and miss rates (Shire)
* Fix apc_load_constants (Gopal)
* Rewrite dump opcode code to use vld (Gopal)
* Use apc_[ewn]print functions for error reporting (Shire)
* Auto global fixes and refactoring (Gopal, Shire)
* Fix memory leaks in object serialization (Ilia)
* Memory cleanup code for destructor order (Gopal)
* Win32 build fixes (Ilia, Wez)
* ZTS and Php 4 build fixes (Bjori)
* Add apc_add() function (Rasmus)
* Add optional limited flag to apc_sma_info() (Rasmus)
Also fixes:
PR: 33424 by FUKAUMI Naoki
all PEAR packages to php?-pear-* and all Apache packages to ap13-* or
ap2-* respectively. Add new variables to simplify the Makefile
handling. Add CONFLICTS on the old names. Reset revisions of bumped
packages. ap-php will now depend on the default Apache and PHP version.
All programs using it have an implicit option of the Apache version
as well.
OK from jlam@ and adrianp@.
APC is the Alternative PHP Cache, which provides a way of boosting the
performance of PHP on heavily-loaded sites by allowing scripts to be cached
in a compiled state, so that the overhead of parsing and compiling can be
almost completely eliminated.