New PHP5 APC - version 3.0.19, using PHP5 5.2.0-8+etch11,
[php5-apc.git] / CHANGELOG
1 3.0.19: 2008-05-14
2 - Move expunge callback groundwork to 3.1 (Rasmus)
3 - Fix fd-leak (Gopal)
4 - Fix double-free on builtin functions (Gopal)
5 - Initial PHP 5.3 support (Gopal)
6
7 3.0.18: 2008-03-28
8 - Revert memleak patch (Gopal)
9 - Fix for bug #13504 (David Fraser)
10
11 3.0.17: 2008-03-25
12 - Fix for CVE-2008-1488 (Daniel Papasian, Rasmus)
13 - Fix apc_add() cache expunge bug (Rasmus)
14 - Added parameter to apc_fetch to determine success/failure when fetching booleans (shire)
15 - Fix misc. memleaks (shire)
16
17 3.0.16: 2007-12-26
18 - Fix for longstanding cache-full crash (Christian Seiler)
19   http://news.php.net/php.pecl.dev/4951 for the details
20 - Added optional shm unmap on a fatal signal feature (Lucas Nealan)
21 - Added PTHREAD_MUTEX_ADAPTIVE_NP option pthread locks (Paul Saab)
22 - Minor cleanups (Lucas Nealan)
23 - Added configure option to enable apc_cache_info('filehits') (Shire)
24
25 3.0.15: 2007-10-18
26 - Eliminate a per-request time() syscall (Rasmus)
27 - Added rfc1867 prefix, name, and freq ini options (Shire)
28 - Allow deletion of individual user cache entries via apc.php (Sara)
29 - Fix overzealous cleanup during RSHUTDOWN (Gopal)
30 - Fix memory alignment and locking issues (Gopal) 
31 - Make apc_compile insert/replace entries (Shire)
32 - Make mixed inheritance recompile & cache afresh  (Gopal)
33 - Make nostat mode search include_path for canonicalization (Gopal)
34 - ZTS & other compile fixes (Gopal, Edin, Shire)
35   
36 3.0.14: 2007-03-21
37 - Build fix (Shire)
38 - Don't hook the upload hook if APC is disabled (Rasmus)
39 - Local shadow cache support (Gopal)
40 - Avoid uneccessary loops over op_arrays for "known" auto-globals (Gopal)
41 - Fix apc_add() to overwrite timed out user entries (Rasmus)
42 - Fix double inclusion of files with conditional classes in php4 (Gopal)
43 - Allocator fixes to reduce fragmentation (Gopal)
44
45 3.0.13: 2007-02-24
46 - File upload progress (Rasmus)
47 - Pthread mutex and spin locks (Shire)
48 - Recursive zval support for apc_fetch/_store (Shire, Gopal)
49 - apc.stat_ctime flag for ctime checks (Rasmus)
50 - Multiple key fetches with apc_fetch (Shire)
51 - Canary checks for shm memory deallocation (Gopal)
52 - Add hooks for external optimizer (Shire)
53 - Obsolete and remove apc optimizer (Gopal)
54 - APC info changes - cache insert rate, hit and miss rates (Shire)
55 - Fix apc_load_constants (Gopal)
56 - Rewrite dump opcode code to use vld (Gopal)
57 - Use apc_[ewn]print functions for error reporting (Shire) 
58 - Auto global fixes and refactoring (Gopal, Shire)
59 - Fix memory leaks in object serialization (Ilia)
60 - Memory cleanup code for destructor order (Gopal)
61 - Win32 build fixes (Ilia, Wez)
62 - ZTS and Php 4 build fixes (Bjori)
63 - Add apc_add() function (Rasmus)
64 - Add optional limited flag to apc_sma_info() (Rasmus)
65
66 3.0.12p2: 2006-09-05
67 - Package version up
68
69 3.0,12p1: 2006-09-05
70 - PHP4 build fixes
71
72 3.0.12: 2006-09-05
73 - PHP 5.2 compatibility (Gopal)
74 - TSRM fixes (Gopal)
75 - Add extra flags to op_array->reserved to improve op array 
76   processing code (Gopal)
77 - Fix crashes in optimizer and cli mode (Ilia)
78 - Optimizer fixes for PHP5 (Ilia, Gopal)
79 - Allow multiple inclusions of a file with a dynamic class (Gopal)
80 - Php 4 function table and properties fixes (Gopal)
81 - Fix memory leaks in apc_cache_info (Gopal)
82
83 3.0.11: 2006-08-16
84 - Made --enable-apc-mmap the default compile option (for real this time)
85 - Add an optional flag to apc_cache_info() and some apc.php tweaks to make it
86   only fetch header information to make it useful when you have tens of
87   thousands of entries.  (Brian Shire)
88 - 64-bit fixes (George)
89 - Don't mix Full Path and Inode keys (George)
90 - Override ZEND_INCLUDE_OR_EVAL opcode (when possible) to speed up use of
91   require_once() and include_once() statements. (Sara)
92 - Add a non-blocking write_lock for cache inserts.  This is a better approach
93   to prevent cache slams and deprecates the slam_defense setting. (Rasmus)
94 - A bit of work on the optimizer.  (Sara)
95 - Various memory issues resolved. (Gopal)
96
97 3.0.10: 2006-03-11
98 - Add apc.stat ini flag which defaults to 1.  If set to 0, the main script and any fullpath
99   includes will not be stat'ed for any changes.  You will have to restart the server if you
100   change anything.  This mode increases performance quite a bit, especially if you have a
101   lot of includes.
102
103 - Get rid of the lock safety net hack I added in 3.0.9.  It seems to cause more problems
104   than it solves.  I'll need to revisit locking and signal handling at some point soon.
105
106 3.0.9: 2006-03-04
107 - Eliminate rand() call when slam_defense is not set (Rasmus)
108 - Fix for __isset problem (Gopal)
109 - Rewrite allocator from a "best fit" to a "next fit" algorithm (Rasmus)
110 - Added a Cache Full counter so we have an idea how many times the segment has filled up causing an expunge (Rasmus)
111 - Report back the correct number of available bytes in the segment instead of the allocated bytes. (Rasmus)
112 - Add cache busy flag which is set when an expunge is underway (Rasmus)
113 - Add automatic serialization of objects in apc_store() (Marcus)
114 - 64-bit .ini flag fix (Rasmus)
115 - Static members fix (Gopal)
116 - sma_cleanup() mem leak fix (Rasmus)
117 - Fix for http://pecl.php.net/bugs/5311 (Rasmus)
118 - Fix autoglobals JIT bug (Gopal)
119 - Fix instance bug (Gopal)
120 - Add a lock cleanup safety net to request shutdown (Rasmus)
121 - Fix apc.slam_defense edge-case bug (Rasmus)
122 - User entry memory usage tracking support (Ilia)
123 - 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)
124
125 3.0.8: 2005-08-24
126 Fix invalid free in globals destructor introduced in 3.0.7 (Rasmus)
127 Cache corruption fix in cache-full cleanup code (Gopal)
128
129 3.0.7: 2005-08-16
130 - Fix to apc.php to show final segment in frag chart. (Ilia)
131 - A couple of win32 fixes. (Frank)
132 - Add apc.enable_cli ini directive. (Rasmus)
133 - Add test cases. (Marcus)
134 - Fix apc_define_constants() bug - http://pecl.php.net/bugs/5084 (Rasmus)
135 - Simplify user cache handling by removing the user_cache_stack (Rasmus)
136 - Fix apc_fetch() memory corruption (Andrei,Rasmus)
137 - Added apc.max_file_size INI setting that allows exclusion of large files from being cached. Default file size limit, 1 megabyte. (Ilia)
138
139 3.0.6: 2005-07-30
140 - Added apc.php to package.xml file.
141 - Track per-entry memory usage. (Val)
142 - Various apc.php fixes and enhancements. (Ralf, Ilia, Rasmus)
143 - fcntl locking robustness fixes. (Rasmus)
144 - Shared read-locks where possible. (Rasmus)
145 - Added file_update_protection configuration parameter. (Rasmus)
146 - Windows ZTS fixes (Frank)
147
148 3.0.5: 2005-07-27
149 - Make it easier for sapis that only populate file_handle->filename to use APC. (Rasmus)
150 - Support extensions such as bcompiler that need to hook into compile_file. (Val)
151 - Ralf Becker's apcgui code has now become the default apc.php status page. (Ralf, Rasmus, Ilia)
152 - Segfault in cache cleanup code (Ilia, Rasmus)
153
154 3.0.4: 2005-07-18
155 - Add win32 support (Edin )
156 - Add --with-apxs switch to work around problem when loading APC into Apache binary compiled with LFS switches (Rasmus)
157 - A couple of other minor fixes
158
159 3.0.3: 2005-07-05
160 - Fix compile problem against PHP 5.0.x
161
162 3.0.2: 2005-07-05
163 - Better shm error message
164
165 3.0.1: 2005-07-05
166 - PHP4 build fix
167
168 3.0: 2005-06-23
169 - PHP 5.1 support (Arun, Gopal, Rasmus)
170 - Major Inheritance bug fix (Arun, Gopal)
171
172 2.0: 2003-02-10
173 - ground-up rewrite sharing none of the original source code (djc)
174
175 1.0.10:
176 - merge mmap / shm code to be in one file, module supports both modes now [mpb 2001-05-15]
177 - added apc.mode config parameter [mpb 2001-05-15] NOTE: You'll have to add
178   this parameter to your php.ini file to activate apc shm or mmap caching
179 - generic source cleanup (missing includes, PATH_MAX usage etc) [mpb
180   2001-05-15]
181 - fixed: realpath return result checking in generate_key [mpb 2001-05-15]
182 - updated: gui updated (extras/apc_gui-1.0.2.tar.gz)
183 - experminental 'fast' cache-retrieval [djc 2001-05-20]
184 - fixed regex support [gws 2001-05-16]
185 - enhanced reader-writer lock support [rg 2001-05-07]
186
187 1.0.9:
188 - fixed (?) memory alignment bug on 64 bit archiecures 
189 - added many cache visibiliy functions 
190 - added opional fcntl locks under shm version 
191 - numerous bug fixes 
192
193 1.0.8:
194 - added ability to detect and decompile compiled files placed as 'source'
195   [gws,dw 2001-01-30]
196 - fixed apc_rstat bug [gws 2001-01-29]
197 - added hack to support included urls [gws 2001-01-30]
198 - fixed apc_cache_index [mb 2001-01-31]
199 - added multiple regex support [gs 2001-02-03]
200 - added apc_cache_info [mb,gs 2001-02-03]
201
202 1.0.7:
203 - partially fixed for Solaris [gws 2001-01-29]
204 - fixed mtime support for relative includes [gws 2001-01-29]
205 - code cleanup [yg,ta,gws 2001-01-29]
206
207 1.0.6:
208 - support for mtime in mmap [yg,gws 2001-01-27]
209 - fixed indexed-array initialization bug [djc,gws 2001-01-27]
210
211 1.0.5:
212 - support for relative include paths [djc,gws 2001-01-19]
213 - class member array support fixed [djc 2001-01-18]
214 - added apc_cache_index [gws 2001-01-18]
215
216 1.0.4:
217 - support for class hierarchies greater than two levels deep [djc 2001-01-17]
218
219 1.0.3:
220 - fixed support for class inheritance [djc 2001-01-16]
221
222 1.0.2:
223 - support for inherited classes [gws 2001-01-15]
224 - support for intialization of class variables and objects [gws 2001-01-13]
225
226 1.0.1:
227 - added optional file modification time check [djc 2001-01-12]