<?xml version="1.0" encoding="UTF-8"?>
<package packagerversion="1.10.13" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 http://pear.php.net/dtd/tasks-1.0.xsd http://pear.php.net/dtd/package-2.0 http://pear.php.net/dtd/package-2.0.xsd">
 <name>apcu</name>
 <channel>pecl.php.net</channel>
 <summary>APCu - APC User Cache</summary>
 <description>APC User Caching</description>
 <lead>
  <name>Joe Watkins</name>
  <user>krakjoe</user>
  <email>krakjoe@php.net</email>
  <active>yes</active>
 </lead>
 <lead>
  <name>Remi Collet</name>
  <user>remi</user>
  <email>remi@php.net</email>
  <active>yes</active>
 </lead>
 <lead>
  <name>Nikita Popov</name>
  <user>nikic</user>
  <email>nikic@php.net</email>
  <active>yes</active>
 </lead>
 <developer>
  <name>Anatol Belski</name>
  <user>ab</user>
  <email>ab@php.net</email>
  <active>yes</active>
 </developer>
 <date>2024-09-21</date>
 <time>19:08:07</time>
 <version>
  <release>5.1.24</release>
  <api>5.1.18</api>
 </version>
 <stability>
  <release>stable</release>
  <api>stable</api>
 </stability>
 <license uri="http://www.php.net/license">PHP License</license>
 <notes>
- Make compatible with PHP 8.4.
- apc.php: Preserve search parameter when deleting entry.
- apc.PHP: Allow arbitrary search regex.
 </notes>
 <contents>
  <dir name="/">
   <file md5sum="67f5eef1e906d033bed15a53b5504caa" name="tests/apc_001.phpt" role="test" />
   <file md5sum="83bbc8ba2940f876e019554e33c5545f" name="tests/apc_002.phpt" role="test" />
   <file md5sum="7bd84544b554a6b5a77fafdcfc6eb66d" name="tests/apc_003b.phpt" role="test" />
   <file md5sum="785ff56303888aa8d43875a0fb1e8a68" name="tests/apc_003b_legacy.phpt" role="test" />
   <file md5sum="a0a4317ee4fae17f0244c3215f4af2dd" name="tests/apc_004.phpt" role="test" />
   <file md5sum="b761730974b6126022fe1882e3d4f336" name="tests/apc_005.phpt" role="test" />
   <file md5sum="85d95e951a9835c3ccb413d7686353b9" name="tests/apc_005b.phpt" role="test" />
   <file md5sum="0793c7136b208b9cf16ddba17b9942db" name="tests/apc_005c.phpt" role="test" />
   <file md5sum="3fbd1d76c5089eb76c9f836d0d86c80f" name="tests/apc_006.phpt" role="test" />
   <file md5sum="5d88794a726f63617beb8330f57a5d95" name="tests/apc_006_php73.phpt" role="test" />
   <file md5sum="e8942b1f84a4c254970b14b45417fe64" name="tests/apc_006_php81.phpt" role="test" />
   <file md5sum="8b3820f5e721d51852af7169d508eda5" name="tests/apc_007.phpt" role="test" />
   <file md5sum="b1a8ba850e142a8b40f3f208b9f8fd67" name="tests/apc_008.phpt" role="test" />
   <file md5sum="923441dbe3d1aa8647b2870ad9996d89" name="tests/apc_010.phpt" role="test" />
   <file md5sum="4f79569299cbb1aaf15ee1443c1b87a7" name="tests/apc_011.phpt" role="test" />
   <file md5sum="4cf189bee0f6b0c56003502f793c873f" name="tests/apc_012.phpt" role="test" />
   <file md5sum="bacffe66e3b6c36904b43c71c70f717f" name="tests/apc_013_exists.phpt" role="test" />
   <file md5sum="53dbb35a7959b8845de4f50e90ca85fc" name="tests/apc_014_store_ref.phpt" role="test" />
   <file md5sum="58e265acefce7cffc082a1d755d8ac3c" name="tests/apc_015.phpt" role="test" />
   <file md5sum="bc37ac5649c2f0b63f077a1c4e988cb5" name="tests/apc_016.phpt" role="test" />
   <file md5sum="b72d66f975adbc77eee12d61c34302e8" name="tests/apc_017.phpt" role="test" />
   <file md5sum="3edc2ddde2b7bd9bc6972cfdd9a7e4bb" name="tests/apc_018.phpt" role="test" />
   <file md5sum="dd9b9612758c1d54020c570ff9c9c459" name="tests/apc_019.phpt" role="test" />
   <file md5sum="83b7f4f46366a6fd4aea066df83a6a2e" name="tests/apc_020.phpt" role="test" />
   <file md5sum="056c72fa8f20b6999ca25cc9dd58474d" name="tests/apc_021.phpt" role="test" />
   <file md5sum="8c9b05e2968daa16edb1f769e93dc14d" name="tests/apc_022.phpt" role="test" />
   <file md5sum="ec04fc91c85e12c0bce05fa2dcd5533b" name="tests/apc_023.phpt" role="test" />
   <file md5sum="cdb57cd87b261c10189ce4d679ddaa49" name="tests/apc_024.phpt" role="test" />
   <file md5sum="e3ba287c8a1ecd675ded3a1d5de90289" name="tests/apc_025.phpt" role="test" />
   <file md5sum="1f5ccb0df370728efd21def6ff198b59" name="tests/apc_099.phpt" role="test" />
   <file md5sum="59a814036ce7e2f02098ebbe2de76965" name="tests/apc54_014.phpt" role="test" />
   <file md5sum="3c0554d3785102fd0adcf4049a240188" name="tests/apc54_018.phpt" role="test" />
   <file md5sum="9e527d0ae60077d84b28cad1abfb3464" name="tests/apc_disabled.phpt" role="test" />
   <file md5sum="c8ad6606ae3374c80782f2a3c11b9168" name="tests/apc_entry_001.phpt" role="test" />
   <file md5sum="5a55e6a00e2bafaffcbfe023bcf0e461" name="tests/apc_entry_002.phpt" role="test" />
   <file md5sum="48c5e0c55172fe97fa646d7b8200985a" name="tests/apc_entry_003.phpt" role="test" />
   <file md5sum="930cd2c968833b4ebfe890b44bfaabcd" name="tests/apc_entry_recursion.phpt" role="test" />
   <file md5sum="936405977df99848ca25d2349b61517e" name="tests/apcu_fetch_empty_array_reference.phpt" role="test" />
   <file md5sum="b5570c4ee2ccd2b69b97144ff449e719" name="tests/apc_inc_perf.phpt" role="test" />
   <file md5sum="5deef9b059e17d0d8eb4a066335227dc" name="tests/apc_store_array_int_keys.phpt" role="test" />
   <file md5sum="6b2267e0ce38b1919881f08704064b8f" name="tests/apc_store_array_with_refs.phpt" role="test" />
   <file md5sum="2e913666c3215f249a1437fe95b0d465" name="tests/apc_store_reference.phpt" role="test" />
   <file md5sum="f53842687fa00dae6477348b03357885" name="tests/apc_store_reference_php8.phpt" role="test" />
   <file md5sum="0bb916910a642423f51c57b355940a3c" name="tests/apc_store_string_reuse.phpt" role="test" />
   <file md5sum="c1c01f2ecbf323bfe0941e4b0379e83c" name="tests/apcu_sma_info.phpt" role="test" />
   <file md5sum="081aef8b438782cfb2a702004e903ca0" name="tests/bug63224.phpt" role="test" />
   <file md5sum="8cf447067cd74efaeee55aa23f4d4ab9" name="tests/bug76145.phpt" role="test" />
   <file md5sum="258cc67a839b35df85d7cdaef57710e9" name="tests/get_included_files_inc1.inc" role="test" />
   <file md5sum="f1e8b517459a9ebd8dba964d4990fc31" name="tests/get_included_files_inc2.inc" role="test" />
   <file md5sum="c95a47810e7195ebcc32b36c33d09f87" name="tests/get_included_files_inc3.inc" role="test" />
   <file md5sum="255ac3dde003d6bbaa7c4341f90f339c" name="tests/ghbug176.phpt" role="test" />
   <file md5sum="b7aa9dcff9b25aa15b39cd5d4b3814e2" name="tests/ghbug168.phpt" role="test" />
   <file md5sum="d148e8c9a58f6fd65aabcd3656c341d8" name="tests/ghbug185.phpt" role="test" />
   <file md5sum="3bbd4794965d996c756e73486bce5edd" name="tests/ghbug247.phpt" role="test" />
   <file md5sum="4cff8b1aa22d96d5923617aba48e660b" name="tests/ghbug248.phpt" role="test" />
   <file md5sum="9d4f9549180f6d8be71cd88053b6eb31" name="tests/ghbug335-fail.phpt" role="test" />
   <file md5sum="4dd56f6aec291560049137318f39cb15" name="tests/ghbug335.phpt" role="test" />
   <file md5sum="cd4619a8a788ea7875ca220d0f85b211" name="tests/iterator_001.phpt" role="test" />
   <file md5sum="24dfd64d19b7cf5a1de342bc22acbe93" name="tests/iterator_002.phpt" role="test" />
   <file md5sum="1667b91b00e3f67be3efd947b9df1f16" name="tests/iterator_003.phpt" role="test" />
   <file md5sum="ce3bf71283dbedd633b9b7464f61ec78" name="tests/iterator_004.phpt" role="test" />
   <file md5sum="8e3a2af5da00f0445d8582d8731b342f" name="tests/iterator_005.phpt" role="test" />
   <file md5sum="f8d025112fab5c83d0142ba5953cf261" name="tests/iterator_006.phpt" role="test" />
   <file md5sum="a4fec203967bcc8a3925317bfcfbbb1e" name="tests/iterator_007.phpt" role="test" />
   <file md5sum="3fca84a5a69a5ba0e3a5b78b05783b5b" name="tests/iterator_008.phpt" role="test" />
   <file md5sum="efe5722a33e51887bba7d9b5dcc1d08d" name="tests/iterator_009.phpt" role="test" />
   <file md5sum="69a13159c832208b4ab74d8f2fafbd43" name="tests/iterator_010.phpt" role="test" />
   <file md5sum="72e3804244693d47eac8662c4a9c5c0c" name="tests/iterator_011.phpt" role="test" />
   <file md5sum="0efc1dc1d2e46b2c178426e682553a1a" name="tests/not_enough_shm.phpt" role="test" />
   <file md5sum="5c600156e0d79cdc18d4c617d9cff564" name="tests/server_test.inc" role="test" />
   <file md5sum="14e70551b840b0cabe01bbc2082ddb6b" name="tests/skipif.inc" role="test" />
   <file md5sum="d3e99785dd8c70d30e60150b36d746ae" name="tests/sma001.phpt" role="test" />
   <file md5sum="ad8d1faf4647db3795cb42f4f00a4f6c" name="tests/typed_prop.phpt" role="test" />
   <file md5sum="28779d87940edb30a1986cc520d5619b" name="tests/data/abc.data" role="test" />
   <file md5sum="a77d6ee236d985bab7f0d94298aada06" name="tests/bad/abc.data" role="test" />
   <file md5sum="b95d97be7c2201ee88814b7d11736c46" name="apc_api.h" role="src" />
   <file md5sum="9b19fa2805b0008fcddb46dbad346959" name="apc_arginfo.h" role="src" />
   <file md5sum="25e6abf332944ed1478a0629011a8c5e" name="php_apc.stub.php" role="src" />
   <file md5sum="a0d915093bd240e2a9e6e0157911c24d" name="php_apc_arginfo.h" role="src" />
   <file md5sum="96db1b834657243c6a4a93a952083973" name="php_apc_legacy_arginfo.h" role="src" />
   <file md5sum="a6468839ceb1159a8db964de474c819d" name="apc.c" role="src" />
   <file md5sum="c6216774783a1d8eeb69bd4439eb5cbd" name="apc_cache.c" role="src" />
   <file md5sum="102895342448d10e2b7a81de70123cd8" name="apc_cache.h" role="src" />
   <file md5sum="9bdd64f1b9462d01967663ed7d2e6d49" name="apc_globals.h" role="src" />
   <file md5sum="758c40f81eab1c3e2e2ad6f8c99e80fd" name="apc.h" role="src" />
   <file md5sum="857a0e8b08deb87aefed67df53024e31" name="apc_iterator.c" role="src" />
   <file md5sum="8f7773ab47a15bae48b0a5d23371f186" name="apc_iterator.h" role="src" />
   <file md5sum="03224728d9e450d1b1cf149c9a9fcb87" name="apc_iterator.stub.php" role="src" />
   <file md5sum="4e7f2224964ccf48ebe630bbfa250f18" name="apc_iterator_arginfo.h" role="src" />
   <file md5sum="edc3e647a00ecfb26ec5522fab87d43d" name="apc_iterator_legacy_arginfo.h" role="src" />
   <file md5sum="43856d4e9fef543b932ca76456c9bda8" name="apc_lock.c" role="src" />
   <file md5sum="4eca00403ddd553dfa5a887821861432" name="apc_lock.h" role="src" />
   <file md5sum="29b7ca5be57d6bf282e5e1da127228c1" name="apc_mmap.c" role="src" />
   <file md5sum="aae4c270066b3361ddd4b2b2efc23ab5" name="apc_mmap.h" role="src" />
   <file md5sum="e154b00b2dba1eb338d0e4b032c3bd96" name="apc_mutex.c" role="src" />
   <file md5sum="4b6c80fdecfec8b8681b8693cd7c2710" name="apc_mutex.h" role="src" />
   <file md5sum="583aac989237c030669da7fac230fa2f" name="apc_persist.c" role="src" />
   <file md5sum="b2cd87cb6c6d64572cfe406a239e535f" name="apc.php" role="src" />
   <file md5sum="627f43d6e795046b710b21483ce59fe1" name="apc_php.h" role="src" />
   <file md5sum="fe859a2d8ea016352c3ae4890c723738" name="apc_shm.c" role="src" />
   <file md5sum="4b2c01c2aedd6f501bdb051087ccf24e" name="apc_shm.h" role="src" />
   <file md5sum="9694a237d4b3aeaed77680902273a810" name="apc_signal.c" role="src" />
   <file md5sum="475012375fef94edf7f3f6a67b4b2ce8" name="apc_signal.h" role="src" />
   <file md5sum="f876cf5e7e1060f346cfc42c2512cf31" name="apc_sma.c" role="src" />
   <file md5sum="4d6c31c0c6da1fb2ca0b4bf1acc94b44" name="apc_sma.h" role="src" />
   <file md5sum="7c82d91e30896b71d9401fa4ca8253f9" name="apc_stack.c" role="src" />
   <file md5sum="b3f7fd8dd9131ac0da1a7722cf17cb5c" name="apc_stack.h" role="src" />
   <file md5sum="8ce07f699aeab5cc6fda734b69d01605" name="apc_strings.h" role="src" />
   <file md5sum="a0a13e3ce6747f4e49bb5b6770a0252e" name="apc_time.c" role="src" />
   <file md5sum="978c1b68907205b750f02bee887eb05a" name="apc_time.h" role="src" />
   <file md5sum="b760ae5b38bc5de17817f4ce57994113" name="apc_windows_srwlock_kernel.c" role="src" />
   <file md5sum="43245b90211fa4bc121b9cb77885a37c" name="apc_windows_srwlock_kernel.h" role="src" />
   <file md5sum="2c68c2e1adee3a67e3131c76e700712d" name="apc_serializer.h" role="src" />
   <file md5sum="6ff42227749fba7ee7f885f19e72f469" name="config.m4" role="src" />
   <file md5sum="01c13997095ef8275e1ee8e8f6a2abdb" name="config.w32" role="src" />
   <file md5sum="52dd90569008fee5bcdbb22d945b1108" name="LICENSE" role="doc" />
   <file md5sum="155853fb8cb9945c07313f05874866b6" name="Makefile.frag" role="src" />
   <file md5sum="eea150699d3dffb2cdf7d243854189d7" name="NOTICE" role="doc" />
   <file md5sum="5b336f9f0bb6bbd09223906e710a3367" name="php74_shim.h" role="src" />
   <file md5sum="c1890e7b58e3a7971f5ddc06529f7393" name="php_apc.c" role="src" />
   <file md5sum="9053e27544f96f107be96a005ee572b7" name="php_apc.h" role="src" />
   <file md5sum="f82908e4f2db9d874ba1235f360379a5" name="README.md" role="doc" />
   <file md5sum="5582cfd7f630c12be3ae17b3aa765ed3" name="TECHNOTES.txt" role="doc" />
  </dir>
 </contents>
 <dependencies>
  <required>
   <php>
    <min>7.0.0-dev</min>
   </php>
   <pearinstaller>
    <min>1.10</min>
   </pearinstaller>
  </required>
 </dependencies>
 <providesextension>apcu</providesextension>
 <extsrcrelease>
  <configureoption default="no" name="enable-apcu-debug" prompt="Enable internal debugging in APCu" />
 </extsrcrelease>
 <changelog>
  <release>
   <date>2023-11-11</date>
   <version>
    <release>5.1.23</release>
    <api>5.1.18</api>
   </version>
   <stability>
    <release>stable</release>
    <api>stable</api>
   </stability>
   <license uri="http://www.php.net/license">PHP License</license>
   <notes>
- Revert use of monotonic clock for TTL (#451)
- Fix a crash when serializing packed arrays (e.g. lists) in PHP 8.2+ with `apc.serializer=default`.
- Reduce memory usage when serializing packed arrays (e.g. lists) in PHP 8.2+ with `apc.serializer=default`.
- Speed up serializing arrays with `apc.serializer=default`.
- Reduce memory usage when unserializing instances of the empty array in PHP 7.3+.
- Removed no longer working apcue extension.
- Increased limit on maximum number of slots.
- Made tests compatible with PHP 8.3.
   </notes>
  </release>
  <release>
   <date>2022-09-19</date>
   <version>
    <release>5.1.22</release>
    <api>5.1.18</api>
   </version>
   <stability>
    <release>stable</release>
    <api>stable</api>
   </stability>
   <license uri="http://www.php.net/license">PHP License</license>
   <notes>
- PHP 8.2 compatibility
- PHP 8.1 compatibility in apc.php
- Fix --enable-apcu-rwlocks configure option
- Enable transparent huge pages for mmap memory
- Use monotonic clock for TTL
   </notes>
  </release>
  <release>
   <date>2021-10-07</date>
   <version>
    <release>5.1.21</release>
    <api>5.1.18</api>
   </version>
   <stability>
    <release>stable</release>
    <api>stable</api>
   </stability>
   <license uri="http://www.php.net/license">PHP License</license>
   <notes>
- Fixed compatibility with PHP 8.1 by adding return types to APCUIterator.
- APCUIterator::current() and ::key() can no longer be called on an invalid iterator.
   </notes>
  </release>
  <release>
   <date>2021-03-04</date>
   <version>
    <release>5.1.20</release>
    <api>5.1.18</api>
   </version>
   <stability>
    <release>stable</release>
    <api>stable</api>
   </stability>
   <license uri="http://www.php.net/license">PHP License</license>
   <notes>
- Fix deadlocks when other apcu_* functions are used inside apcu_entry(). It should now be safe to use any functions inside the apcu_entry() callback.
- Fix division by zero exception in apc.php.
- Fix handling of references in PHP 8 if &quot;default&quot; serializer is used (which is not the default).
- Fix string reuse handling if &quot;default&quot; serializer is used (which is not the default).
- Check for failures when acquiring read locks to report problems earlier (write locks were already checked previously).
- Adjust tests for current PHP 8.1 development branch.
- Remove *_api.h headers. Use apc_cache.h instead of apc_cache_api.h etc.
   </notes>
  </release>
  <release>
   <date>2020-10-05</date>
   <version>
    <release>5.1.19</release>
    <api>5.1.18</api>
   </version>
   <stability>
    <release>stable</release>
    <api>stable</api>
   </stability>
   <license uri="http://www.php.net/license">PHP License</license>
   <notes>
- Fixed apcu_store() with integer keys (#388).
- Made apc.use_request_time=0 the default (#391).
- Made apcu compatible with PHP 8.0.
   </notes>
  </release>
  <release>
   <date>2019-10-28</date>
   <version>
    <release>5.1.18</release>
    <api>5.1.18</api>
   </version>
   <stability>
    <release>stable</release>
    <api>stable</api>
   </stability>
   <license uri="http://www.php.net/license">PHP License</license>
   <notes>
- Implement apcu_inc() and apcu_dec() using atomic operations. This means that these functions no longer have to acquire a write lock. These functions will now wraparound on overflow, instead of saturating to a floating point value.
- Make table header in apc.php sticky.
- Fix compile warnings related to mktemp() usage.
- Fix compatibility with PHP 8.0.
- Fix required number of arguments for apcu_store() returned by Reflection.
   </notes>
  </release>
  <release>
   <date>2019-02-08</date>
   <version>
    <release>5.1.17</release>
    <api>5.1.15</api>
   </version>
   <stability>
    <release>stable</release>
    <api>stable</api>
   </stability>
   <license uri="http://www.php.net/license">PHP License</license>
   <notes>
- Fixed compatibility with PHP 7.4 and PHP 8.0.
   </notes>
  </release>
  <release>
   <date>2018-12-16</date>
   <version>
    <release>5.1.16</release>
    <api>5.1.15</api>
   </version>
   <stability>
    <release>stable</release>
    <api>stable</api>
   </stability>
   <license uri="http://www.php.net/license">PHP License</license>
   <notes>
- Fix build on OSX.
   </notes>
  </release>
  <release>
   <date>2018-12-07</date>
   <version>
    <release>5.1.15</release>
    <api>5.1.15</api>
   </version>
   <stability>
    <release>stable</release>
    <api>stable</api>
   </stability>
   <license uri="http://www.php.net/license">PHP License</license>
   <notes>
- Restore apc.serializer=php as the default, as the &quot;default&quot; serializer still/again has issues.
- Fix possible issues in persistence of arrays with the &quot;default&quot; serializer.
- Attempt to reduce shared memory fragmentation.
   </notes>
  </release>
  <release>
   <date>2018-11-21</date>
   <version>
    <release>5.1.14</release>
    <api>5.1.14</api>
   </version>
   <stability>
    <release>stable</release>
    <api>stable</api>
   </stability>
   <license uri="http://www.php.net/license">PHP License</license>
   <notes>
- Fixed GH #347: Disable slam defense by default.
- Fix potential issue with destruction of locks. This does not affect Linux, but might affect Windows and BSD.
- Use mutex instead of rwlock for shared memory allocator (if pthreads mutex available).
- Require only read-lock for apcu_cas(), by using atomic compare-and-swap.
   </notes>
  </release>
  <release>
   <date>2018-11-19</date>
   <version>
    <release>5.1.13</release>
    <api>5.1.13</api>
   </version>
   <stability>
    <release>stable</release>
    <api>stable</api>
   </stability>
   <license uri="http://www.php.net/license">PHP License</license>
   <notes>
- Reimplement persistence logic using precise allocation rather than memory pools. This reduces
memory usage of cache entries, especially for small values, and improves performance of persisting
and unpersisting values.
- Fixed GH #335: Stampede protection is broken.
- Fixed GH #328: Segfault in apcu_key_info() if APCu is disabled.
- Generally make the behavior of functions if APCu is disabled more consistent.
- Fixed PHP bug #72980: Empty strings are now consistently allowed as cache keys.
- Optimized apcu_key_info() and apcu_cache_info() by using interned strings.
- Fix build against PHP master (PHP 7.4).
- Many changes to internal C APIs.
   </notes>
  </release>
  <release>
   <date>2018-07-09</date>
   <version>
    <release>5.1.12</release>
    <api>5.1.12</api>
   </version>
   <stability>
    <release>stable</release>
    <api>stable</api>
   </stability>
   <license uri="http://www.php.net/license">PHP License</license>
   <notes>
- gh#307: Fix &apos;Timout&apos; sort option (apc.php).
- gh#308: Keep search parameter on cache entry detail link (apc.php).
- Fix --enable-apcu-clear-signal support.
- Show entries with expired global TTL in APCuIterator.
- Respect TTL when calculating APCuIterator totals.
- The per-entry TTL now always takes precedence over the global TTL.
- The global TTL is now always relative to the access time.
- apcu_inc() and apcu_dec() no longer update hard-expired entries. Instead a new entry is created.
- Added optional $ttl argument to apcu_inc() and apcu_dec(), used when creating a new entry.
- PHP bug #76145: Fix use of APCu inside Serializer::(un)serialize().
- gh#304: If apcu_cas() is used on a non-existing entry, don&apos;t insert it.
- gh#295: Improve APCuIterator performance by using PCRE JIT and preallocating key strings.
- Reduce the memory overhead of cache entries.
- Prevent potential memory corruption in the cache slam defense implementation.
- Ensure cache entry references are released on bailout during unserialization.
- Make support for atomic operations a hard requirement for building APCu.
- Check write-lock acquisition for failure, to help debugging deadlock situations.
- Make sure apcu_inc/dec are atomic when working on a non-existing entry.
- Many changes to internal C APIs.
   </notes>
  </release>
  <release>
   <date>2018-03-08</date>
   <version>
    <release>5.1.11</release>
    <api>5.1.11</api>
   </version>
   <stability>
    <release>stable</release>
    <api>stable</api>
   </stability>
   <license uri="http://www.php.net/license">PHP License</license>
   <notes>
- fix gh#246 apcu_entry hangs
- fix gh#259 deadlock in apcu_store
- fix gh#281 undefined variable in apc.php
- fix handling of fatal errors in apcu_entry
- check string lengths when looking up keys
- many internal C APIs changed
   </notes>
  </release>
  <release>
   <date>2018-02-16</date>
   <version>
    <release>5.1.10</release>
    <api>5.1.2</api>
   </version>
   <stability>
    <release>stable</release>
    <api>stable</api>
   </stability>
   <license uri="http://www.php.net/license">PHP License</license>
   <notes>
- fix gh#247 when a NUL char is used as key, apcu_fetch(array) truncates the key
- fix gh#248 apcu_fetch may return values causing zend_mm_corruption or segfaults
  when custom serializer is used
- fix gh#260 apcu.serializer=default results in segfault
- fix gh#274 non-portable shell == in config.m4
- fix crash when passing bad array to apcu_delete
- improve fix gh#266 refcounting errors in APCIterator
- fix for PHP 7.3 compatibility
   </notes>
  </release>
  <release>
   <date>2018-01-02</date>
   <version>
    <release>5.1.9</release>
    <api>5.1.2</api>
   </version>
   <stability>
    <release>stable</release>
    <api>stable</api>
   </stability>
   <license uri="http://www.php.net/license">PHP License</license>
   <notes>
- fix gh#234 mmap disabled when configure is called with --enable-apcu-mmap
- fix gh#226 Warning: apcu_fetch(): apc_fetch() expects a string or array of strings.
- mitigate gh#223 Fatal error when starting php on windows
- add support for PCRE2 in 7.3
- use row formatting for information in phpinfo() tables
- set IS_STR_PERSISTENT so refcounting failures are reported by -DRC_DEBUG=1
- fix gh#266 refcounting errors in APCIterator
   </notes>
  </release>
  <release>
   <date>2017-01-16</date>
   <version>
    <release>5.1.8</release>
    <api>5.1.2</api>
   </version>
   <stability>
    <release>stable</release>
    <api>stable</api>
   </stability>
   <license uri="http://www.php.net/license">PHP License</license>
   <notes>
- fix gh#207 Segmentation fault in apc_sma_api_free()
- fix gh#221 memory leak
- update to apc dashboard (Tyson Andre)
   </notes>
  </release>
  <release>
   <date>2016-10-21</date>
   <version>
    <release>5.1.7</release>
    <api>5.1.2</api>
   </version>
   <stability>
    <release>stable</release>
    <api>stable</api>
   </stability>
   <license uri="http://www.php.net/license">PHP License</license>
   <notes>
- fixes gh#19: hung apaches on pthread wrlocks
- fixes gh#203: segfaults in bailout / longjmp
   </notes>
  </release>
  <release>
   <date>2016-10-06</date>
   <version>
    <release>5.1.6</release>
    <api>5.1.2</api>
   </version>
   <stability>
    <release>stable</release>
    <api>stable</api>
   </stability>
   <license uri="http://www.php.net/license">PHP License</license>
   <notes>
- fixes gh#19:  Hung apaches on pthread wrlocks
- fixes gh#188: Fix Segfault in ZTS build when locking (Tyson Andre)
- fixes gh#194: apcu_entry ttl not working
- fixes gh#189: SegFault in apc_copy_zval
- fixes gh#185: zend_mm_heap corrupted
- fixes gh#190: memory leak/failed check for duplicates
   </notes>
  </release>
  <release>
   <date>2016-06-07</date>
   <version>
    <release>5.1.5</release>
    <api>5.1.2</api>
   </version>
   <stability>
    <release>stable</release>
    <api>stable</api>
   </stability>
   <license uri="http://www.php.net/license">PHP License</license>
   <notes>
- fix version check in control panel page (gh#182, lennartwesdijk)
- do not create null strings, palloc may fail
   </notes>
  </release>
  <release>
   <date>2016-05-12</date>
   <version>
    <release>5.1.4</release>
    <api>5.1.2</api>
   </version>
   <stability>
    <release>stable</release>
    <api>stable</api>
   </stability>
   <license uri="http://www.php.net/license">PHP License</license>
   <notes>
- fix possible memory leak
- fix gh#168 drop trying to return strings from shm
- fix gh#170 do not create entries when serialization fails
   </notes>
  </release>
  <release>
   <date>2016-01-15</date>
   <version>
    <release>5.1.3</release>
    <api>5.1.2</api>
   </version>
   <stability>
    <release>stable</release>
    <api>stable</api>
   </stability>
   <license uri="http://www.php.net/license">PHP License</license>
   <notes>
- fixed macro using interlocked increment in Windows
- fix gh#158 apc_inc() with negative step value hangs the process
- fix gh#164 apc_inc() can take minutes with huge step value
   </notes>
  </release>
  <release>
   <date>2015-12-02</date>
   <version>
    <release>5.1.2</release>
    <api>5.1.2</api>
   </version>
   <stability>
    <release>stable</release>
    <api>stable</api>
   </stability>
   <license uri="http://www.php.net/license">PHP License</license>
   <notes>
- be wholly consistent with APC in use of atomics
   </notes>
  </release>
  <release>
   <date>2015-11-20</date>
   <version>
    <release>5.1.0</release>
    <api>5.1.0</api>
   </version>
   <stability>
    <release>beta</release>
    <api>beta</api>
   </stability>
   <license uri="http://www.php.net/license">PHP License</license>
   <notes>
- PHP 7 compatibility
- provide APC compatibility in &quot;apc&quot; optional extension
- move APCIterator to APC compatibility extension
- add APCuIterator without cache argument
- drop apcu_bin_* functions
- add apcu_entry(key, callback, ttl) function
- fix race on refcount of entry when using rwlocks (or on windows)
   </notes>
  </release>
  <release>
   <date>2014-10-11</date>
   <time>17:02:21</time>
   <version>
    <release>4.0.7</release>
    <api>4.0.7</api>
   </version>
   <stability>
    <release>beta</release>
    <api>beta</api>
   </stability>
   <license uri="http://www.php.net/license">PHP License</license>
   <notes>
- fix inconsistent member names for entries in userland
   </notes>
  </release>
  <release>
   <date>2014-06-12</date>
   <time>13:39:04</time>
   <version>
    <release>4.0.6</release>
    <api>4.0.6</api>
   </version>
   <stability>
    <release>beta</release>
    <api>beta</api>
   </stability>
   <license uri="http://www.php.net/license">PHP License</license>
   <notes>
- fix issues with stddef inclusion causing compilation issue
   </notes>
  </release>
  <release>
   <date>2014-06-11</date>
   <time>05:48:25</time>
   <version>
    <release>4.0.5</release>
    <api>4.0.5</api>
   </version>
   <stability>
    <release>beta</release>
    <api>beta</api>
   </stability>
   <license uri="http://www.php.net/license">PHP License</license>
   <notes>
- fix compile with 5.6 beta
   </notes>
  </release>
  <release>
   <date>2014-03-01</date>
   <time>07:29:53</time>
   <version>
    <release>4.0.4</release>
    <api>4.0.4</api>
   </version>
   <stability>
    <release>beta</release>
    <api>beta</api>
   </stability>
   <license uri="http://www.php.net/license">PHP License</license>
   <notes>
- Fix deadlocking due to destroyed locks
- Fix various compatibility bugs
   </notes>
  </release>
  <release>
   <date>2014-01-27</date>
   <time>09:00:00</time>
   <version>
    <release>4.0.3</release>
    <api>4.0.3</api>
   </version>
   <stability>
    <release>beta</release>
    <api>beta</api>
   </stability>
   <license uri="http://www.php.net/license">PHP License</license>
   <notes>
- Fix various compatibility problems
- Fix a few lingering faults
- Remove experimental eval serializer
- Fix iterator for compatibility
   </notes>
  </release>
  <release>
   <date>2013-09-14</date>
   <time>21:00:00</time>
   <version>
    <release>4.0.2</release>
    <api>4.0.2</api>
   </version>
   <stability>
    <release>beta</release>
    <api>beta</api>
   </stability>
   <license uri="http://www.php.net/license">PHP License</license>
   <notes>
- Fixed bug #15 APC compatibility option broken (Anatol)
- Changes to m4/w32, various (Anatol)
- Fix build is always in debug mode, Related to #15 (Anatol)
- Fix apc_clear_cache compatibility issues, Issue #18 (Joe)
- Fix APCIterator compatibility issues, Issue #20 (Anatol)
- Assert cache clear only when &apos;user&apos; was passed #18 (Anatol)
- fix type casts time_t vs ulong (Anatol)
- Fixed the gc routine (Anatol)
- Restore APC hook for register serializer, Issue #24, #25 (Remi Collet)
- Compiler warnings avoided, various (Remi Collet)
- Don&apos;t segfault if mmap() failed, Issue #27 (Anatol)
- Fix variable typo in config.m4 for php_cv_semun (Kevin Abel)
- Revert horribleness related to APC_ALIGN (Joe)
- Fix call to stream open wrapper (Joe)
- php_apcu.dll does not load anymore under X64, Issue #29 (Anatol)
- Fix external api functionality (Joe)
- Bring back fcntl support for FreeBSD, Issue #36 (Joe)
- Bring back spinlocks, various issues (Joe)
- Fixed symbol clashing, windows debug mode, again (Anatol)
- apcu_key_info / apc_cache_stat functions (Joe)
   </notes>
  </release>
  <release>
   <date>2013-03-27</date>
   <time>03:10:00</time>
   <version>
    <release>4.0.0</release>
    <api>4.0.0</api>
   </version>
   <stability>
    <release>beta</release>
    <api>beta</api>
   </stability>
   <license uri="http://www.php.net/license">PHP License</license>
   <notes>
All opcode caching abilities removed
The default locking is now rwlocks
APCu API installed in build environment
Please see TECHNOTES/README.md
   </notes>
  </release>
 </changelog>
</package>
