File php-APCu.changes of Package php-APCu

-------------------------------------------------------------------
Fri Aug  8 19:23:58 UTC 2025 - Arjen de Korte <suse+build@de-korte.org>

- Update to version 5.1.26
  * Fixed hang introduced in apcu 5.1.25, which can occur when
    defragmentation is triggered under load.
  * Fixed a test on PHP 8.5.

- Update to version 5.1.25
  * If the cache is full, try to clean up expired entries based on their
    per-entry hard TTL even if the soft apc.ttl is 0. Previously the entire
    cache was discarded.
  * If a new entry cannot be inserted due to fragmentation, the cache will
    be defragmented, combining many small free blocks into one big free
    block by moving around cache entries. This avoids the need to discard
    the entire cache in more cases.
  * The access time (which is used by the soft apc.ttl) is now also updated
    when using apcu_exists().
  * apc.entries_hint now defaults to 512 entries per 1MB of shared memory.
    Previously the default was 4096, independent of shm_size. This could
    lead to a large number of hash collisions if shm_size was increased
    without also increasing entries_hint.
  * Added apc.mmap_hugepage_size to use huge pages of a certain size for the
    apcu shared memory segment. This requires support for huge pages to be
    enabled in the kernel. Note that even if this option is not set, shared
    memory is still configured to use transparent huge pages.
  * The apc.shm_segments ini option has been removed. Multiple SHM segments
    are no longer supported. (They were already not supported when using
    mmap, which is the default mode of operation)
  * The apc.smart configuration setting should now work more reliably.
    Values > 1 can be used to increase the chance of discarding the entire
    cache when the amount of memory freed by removing expired entries was
    too small. This could be useful if performance degrades due to executing
    the logic to remove expired entries (+ defragmentation) too frequently
    during periods of high memory usage.
  * The number of cache cleanups performed (removal of expired entries) is
    now available in the array returned by apcu_cache_info() (via array key
    "cleanups").
  * The number of defragmentations performed is now available in the array
    returned by apcu_cache_info() (via array key "defragmentations").
  * Fixed several issues that caused inserting new entries to fail
    unexpectedly.

-------------------------------------------------------------------
Wed Oct  2 20:00:03 UTC 2024 - Arjen de Korte <suse+build@de-korte.org>

- Update to version 5.1.24
  * Make compatible with PHP 8.4.
  * apc.php: Preserve search parameter when deleting entry.
  * apc.PHP: Allow arbitrary search regex.

-------------------------------------------------------------------
Sat Nov 18 21:31:29 UTC 2023 - Arjen de Korte <suse+build@de-korte.org>

- Update to version 5.1.23
  * Revert use of monotonic clock for TTL
  * 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.

-------------------------------------------------------------------
Sat Dec 10 10:32:12 UTC 2022 - Arjen de Korte <suse+build@de-korte.org>

- Remove php7 build for Tumbleweed (PHP 7.4 has reached EOL)

-------------------------------------------------------------------
Thu Sep 29 21:00:40 UTC 2022 - Arjen de Korte <suse+build@de-korte.org>

- Update to version 5.1.22
  * 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

-------------------------------------------------------------------
Tue Nov  9 20:53:51 UTC 2021 - Arjen de Korte <suse+build@de-korte.org>

- Update to version 5.1.21
  * 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.

-------------------------------------------------------------------
Thu Mar  4 10:10:35 UTC 2021 - Arjen de Korte <suse+build@de-korte.org>

- Update to version 5.1.20
  * 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 "default" serializer is used
    (which is not the default).
  * Fix string reuse handling if "default" 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.

-------------------------------------------------------------------
Wed Feb 17 19:19:47 UTC 2021 - Arjen de Korte <suse+build@de-korte.org>

- Use _multibuild to also build for php8
- Use php_cfgdir and php_extdir macros to determine location of files

-------------------------------------------------------------------
Wed Oct  7 05:59:01 UTC 2020 - Johannes Weberhofer <jweberhofer@weberhofer.at>

- Update to version 5.1.19
  * Fixed apcu_store() with integer keys (#388).
  * Made apc.use_request_time=0 the default (#391).
  * Made apcu compatible with PHP 8.0.

-------------------------------------------------------------------
Wed Nov 20 13:03:03 UTC 2019 - Cristian Rodríguez <crrodriguez@opensuse.org>

- Update to version 5.1.18
- Fixed compatibility with PHP 7.4 and PHP 8.0
- 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.

-------------------------------------------------------------------
Sat Dec 15 11:07:06 UTC 2018 - ecsos@opensuse.org

- Updated to 5.1.15
  - Restore apc.serializer=php as the default, as the "default" 
    serializer still/again has issues.
  - Fix possible issues in persistence of arrays with the "default" 
    serializer.
  - Attempt to reduce shared memory fragementation.

- Updated to 5.1.14
  - 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.

- Updated to 5.1.13
  - 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.

-------------------------------------------------------------------
Wed Aug 15 15:38:38 UTC 2018 - crrodriguez@opensuse.org

- Updated to 5.1.12 
- gh#307: Fix 'Timout' 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'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.

-------------------------------------------------------------------
Fri Apr 20 10:40:06 UTC 2018 - jweberhofer@weberhofer.at

- updated to 5.1.11
  - fix gh#krakjoe/apcu#246 apcu_entry hangs
  - fix gh#krakjoe/apcu#259 deadlock in apcu_store
  - fix gh#krakjoe/apcu#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

- updated to 5.1.10
  - fix gh#krakjoe/apcu#247 when a NUL char is used as key, apcu_fetch(array) truncates the key
  - fix gh#krakjoe/apcu#248 apcu_fetch may return values causing zend_mm_corruption or segfaults
    when custom serializer is used
  - fix gh#krakjoe/apcu#260 apcu.serializer=default results in segfault
  - fix gh#krakjoe/apcu#274 non-portable shell == in config.m4
  - fix crash when passing bad array to apcu_delete
  - improve fix gh#krakjoe/apcu#266 refcounting errors in APCIterator
  - fix for PHP 7.3 compatibility

-------------------------------------------------------------------
Tue Jan 30 13:01:32 UTC 2018 - crrodriguez@opensuse.org

- Build with -fvisibility=hidden, PHP process namespace 
  pollution must be heavily limited to avoid symbol clashes.
- Use SOURCE_DATE_EPOCH if set instead of custom build hack.
- Update to version 5.1.9
- 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 

-------------------------------------------------------------------
Fri Apr  7 13:58:43 UTC 2017 - jweberhofer@weberhofer.at

- Removed unneccesary -devel package

-------------------------------------------------------------------
Fri Mar 17 05:38:14 UTC 2017 - jweberhofer@weberhofer.at

- updated to 5.1.8
  * fix gh#krakjoe/apcu#207 Segmentation fault in apc_sma_api_free()
  * fix gh#krakjoe/apcu#221 memory leak
  * update to apc dashboard (Tyson Andre)

- updated to 5.1.7
  * fixes gh#krakjoe/apcu#19: hung apaches on pthread wrlocks
  * fixes gh#krakjoe/apcu#203: segfaults in bailout / longjmp

- updated to 5.1.6
  * fixes gh#krakjoe/apcu#19: Hung apaches on pthread wrlocks
  * fixes gh#krakjoe/apcu#188: Fix Segfault in ZTS build when locking (Tyson Andre)
  * fixes gh#krakjoe/apcu#194: apcu_entry ttl not working
  * fixes gh#krakjoe/apcu#189: SegFault in apc_copy_zval
  * fixes gh#krakjoe/apcu#185: zend_mm_heap corrupted
  * fixes gh#krakjoe/apcu#190: memory leak/failed check for duplicates

- updated to 5.1.5
  * fix version check in control panel page (gh#krakjoe/apcu#182, lennartwesdijk)
  * do not create null strings, palloc may fail


-------------------------------------------------------------------
Thu May 19 13:08:02 UTC 2016 - pgajdos@suse.cz

- updated to 5.1.4
  * fix possible memory leak
  * fix #168 drop trying to return strings from shm
  * fix #170 do not create entries when serialization fails

-------------------------------------------------------------------
Fri Jan 29 09:02:56 UTC 2016 - pgajdos@suse.com

- updated to 5.1.3
- package renamed to php7-APCu
- package provides php-APCu symbol

-------------------------------------------------------------------
Tue Jan 12 16:14:50 UTC 2016 - pgajdos@suse.com

- call spec-cleaner

-------------------------------------------------------------------
Fri Jul 25 17:33:31 UTC 2014 - crrodriguez@opensuse.org

- version 4.0.6 

-------------------------------------------------------------------
Wed Nov 27 11:54:20 UTC 2013 - michele.catalano@mayflower.de

- Initial.

openSUSE Build Service is sponsored by