| Changelog for APC |
| Release |
What has changed? |
| 3.1.3p1 |
- fix pecl build / package.xml (Gopal) |
| 3.1.3 |
- 5.3 support + test-cases (Gopal)
- Lazy loading support (Shire)
- Fix PCRE module init order issues (Shire)
- APCIterator fixes (Shire)
- Cache slam checks (Gopal)
- ZEND_JMP_SET support (Shire)
- apc.use_request_time option (shire)
- apc.php hostname fixes (Shire)
- memprotect framework (Gopal)
- Win32 build-fixes (Kalle) |
| 3.1.2 |
- pecl package.xml/build fixes (bjori) |
| 3.1.1 |
- PHP4 compatibilty break
- apc_pool allocator (Gopal)
- doubly-linked sma allocator (Shire)
- php 5.3 gc compatibility (Gopal)
- APCIterator for easy access (Shire)
- apc_delete_file (Shire)
- apc_inc/apc_dec/apc_cas functions (Shire)
- apc.canonicalize (Gopal)
- apc.preload_path (Gopal)
- apc.rfc1867_ttl (Shire)
- apc.file_md5 (Shire)
- consolidate locking macros (Shire)
- remove futex/TSRM locks (Shire)
- non-blocking semaphore locks (Shire)
- zval* object rework (Gopal) |
| 3.0.19 |
* Move expunge callback groundwork to 3.1 (Rasmus)
* Fix fd-leak (Gopal)
* Fix double-free on builtin functions (Gopal)
* Initial PHP 5.3 support (Gopal) |
| 3.0.18 |
* Revert memleak patch (Gopal)
* Fix for bug 13504 (David Fraser) |
| 3.0.17 |
* Fix for CVE-2008-1488 (Daniel Papasian, Rasmus)
* Fix apc_add() cache expunge bug (Rasmus)
* Added parameter to apc_fetch to determine success/failure when fetching booleans (Shire)
* Fix misc. memleaks (Shire) |
| 3.0.16 |
* Fix for longstanding cache-full crash (Christian Seiler)
http://news.php.net/php.pecl.dev/4951 for the details
* Added optional shm unmap on a fatal signal feature (Lucas Nealan)
* Added PTHREAD_MUTEX_ADAPTIVE_NP option pthread locks (Paul Saab)
* Minor cleanups (Lucas Nealan)
* Added configure option to enable apc_cache_info('filehits') (Shire) |
| 3.0.15 |
* Eliminate a per-request time() syscall (Rasmus)
* Added rfc1867 prefix, name, and freq ini options (Shire)
* Allow deletion of individual user cache entries via apc.php (Sara)
* Fix overzealous cleanup during RSHUTDOWN (Gopal)
* Fix memory alignment and locking issues (Gopal)
* Make apc_compile insert/replace entries (Shire)
* Make mixed inheritance recompile & cache afresh (Gopal)
* Make nostat mode search include_path for canonicalization (Gopal)
* ZTS & other compile fixes (Gopal, Edin, Shire) |
| 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) |
| 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) |
| 3.0.12p2 |
* Let's get the version number right. 3.0.12p2 now. |
| 3.0.12p1 |
* The only change here is a trivial PHP 4 build fix. |
| 3.0.12 |
* Fix stray debug message
* Work on the optimizer - still not stable (Gopal, Ilia, Sara)
* Performance boost - Replace multiple loops over the opcode
array with a single loop for copying, jump fixups and auto
global pre-fetches. (Gopal)
* Perform fetch_global checks only in php5 and only if
auto_globals_jit is enabled. (Gopal)
* Fix bug #8579 - scrub php4 classes' function_table and default
properties before inserting into cache. (Gopal)
* Fix bug #8606 - ZEND_FETCH_GLOBAL is not an opcode, but is a
op1->type. The opcodes applicable are ZEND_FETCH_R and
ZEND_FETCH_W. (Gopal)
* PHP 5.2 Compatibility (Gopal)
* Make the include_once override optional - default off (Sara)
* Fixed crash when apc run in CLI, but enable_cli is off. (Ilia)
* Ensure that the apc_globals->cache_stack is cleared before the
shm cache is destroyed. Fixes segfault for corner-case i.e request
shutdown (apc_deactivate) is not called before module shutdown
calls (php_apc_shutdown_globals) (Gopal)
* TSRM fixes (ensure ts_free_id before apc.so is dlclosed) (Gopal)
* Fix memory leak of apc_cache_info_t->deleted_list (Gopal) |
| 3.0.11 |
* Made --enable-apc-mmap the default compile option (for real this time)
* Add an optional flag to apc_cache_info() and some apc.php tweaks to make it
only fetch header information to make it useful when you have tens of
thousands of entries. (Brian Shire)
* 64-bit fixes (George)
* Don't mix Full Path and Inode keys (George)
* Override ZEND_INCLUDE_OR_EVAL opcode (when possible) to speed up use of
require_once() and include_once() statements. (Sara)
* Add a non-blocking write_lock for cache inserts. This is a better approach
to prevent cache slams and deprecates the slam_defense setting. (Rasmus)
* A bit of work on the optimizer. (Sara)
* Various memory issues resolved. (Gopal) |
| 3.0.10 |
* Add apc.stat ini flag which defaults to 1. If set to 0, the main script and any fullpath
includes will not be stat'ed for any changes. You will have to restart the server if you
change anything. This mode increases performance quite a bit, especially if you have a
lot of includes.
* Get rid of the lock safety net hack I added in 3.0.9. It seems to cause more problems
than it solves. I'll need to revisit locking and signal handling at some point soon. |
| 3.0.9 |
Eliminate rand() call when slam_defense is not set (Rasmus)
Fix for __isset problem (Gopal)
Rewrite allocator from a "best fit" to a "next fit" algorithm (Rasmus)
Added a Cache Full counter so we have an idea how many times the segment has filled up causing an expunge (Rasmus)
Report back the correct number of available bytes in the segment instead of the allocated bytes. (Rasmus)
Add cache busy flag which is set when an expunge is underway (Rasmus)
Add automatic serialization of objects in apc_store() (Marcus)
64-bit .ini flag fix (Rasmus)
Static members fix (Gopal)
sma_cleanup() mem leak fix (Rasmus)
Fix for http://pecl.php.net/bugs/5311 (Rasmus)
Fix autoglobals JIT bug (Gopal)
Fix instance bug (Gopal)
Add a lock cleanup safety net to request shutdown (Rasmus)
Fix apc.slam_defense edge-case bug (Rasmus)
User entry memory usage tracking support (Ilia)
Allow keys used in apc_store/apc_fetch/apc_delete to be binary safe and prevent conflicts between keys that are found at the start of other keys. (Ilia) |
| 3.0.8 |
Fix invalid free in globals destructor introduced in 3.0.7 (Rasmus)
Cache corruption fix in cache-full cleanup code (Gopal) |
| 3.0.7 |
Fix to apc.php to show final segment in frag chart. (Ilia)
A couple of win32 fixes. (Frank)
Add apc.enable_cli ini directive. (Rasmus)
Add test cases. (Marcus)
Fix apc_define_constants() bug - http://pecl.php.net/bugs/5084 (Rasmus)
Simplify user cache handling by removing the user_cache_stack (Rasmus)
Fix apc_fetch() memory corruption (Andrei,Rasmus)
Added apc.max_file_size INI setting that allows exclusion of large files from being cached. Default file size limit, 1 megabyte. (Ilia) |
| 3.0.6 |
Added apc.php to package.xml file.
Track per-entry memory usage. (Val)
Various apc.php fixes and enhancements. (Ralf, Ilia, Rasmus)
fcntl locking robustness fixes. (Rasmus)
Shared read-locks where possible. (Rasmus)
Added file_update_protection configuration parameter. (Rasmus)
Windows ZTS fixes (Frank) |
| 3.0.5 |
Make it easier for sapis that only populate file_handle->filename to use APC. (Rasmus)
Support extensions such as bcompiler that need to hook into compile_file. (Val)
Ralf Becker's apcgui code has now become the default apc.php status page. (Ralf, Rasmus, Ilia)
Segfault in cache cleanup code (Ilia, Rasmus) |
| 3.0.4 |
Add win32 support from Edin.
Add --with-apxs switch to work around problem when loading APC into Apache binary compiled with LFS switches
A couple of other minor fixes. |
| 3.0.3 |
Fix compile problem against PHP 5.0.x |
| 3.0.2 |
Default to mmap and add a better error message for shmget failures |
| 3.0.1 |
PHP4 build fix |
| 3.0.0 |
PHP-5.1 Support and numerous fixes |
| 2.0.4 |
Fix for extending internal classes (andrei).
Fix for ref count no decreasing properly when scripts call exit. |
| 2.0.3 |
Additional fix for redeclared class errors. Fix for 64 bit systems. |
| 2.0.2 |
Win32 support added. |
| 2.0 |
Complete rework. |