github kjdev/php-ext-brotli 0.20.0

3 hours ago

[0.20.0] - 2026-07-02

✨ Added

  • MIME type exclusions for transparent output compression (#91, 0e90584, dbb4cf0)
    • New brotli.output_compression_exclude_types INI entry (defaults to ""), a comma/whitespace-separated list of MIME types to exclude from the transparent output handler
    • Supports exact matches (application/pdf) and wildcard family matches (image/*)
    • The compared mimetype is trimmed at the first ; or whitespace, so values with parameters (e.g. text/html; charset=utf-8) still match
    • Regression tests tests/ob_exclude_001.phpt, tests/ob_exclude_002.phpt, tests/ob_exclude_003.phpt, tests/ob_exclude_099.phpt
  • --enable-apcu configure option to explicitly control APCu serializer support (#92, 3e35f34)
    • Defaults to auto (detected when available); pass --enable-apcu=no to force-disable, or --enable-apcu to require it and fail the build if the headers are missing

🐛 Fixed

  • Update TSRMLS cache before the MIME exclude check on ZTS (4feb5dd)
    • php_brotli_output_mimetype_excluded() runs before php_brotli_output_encoding() refreshes the cache, so SG()/BROTLI_G() could dereference a stale pointer on ZTS shared builds
    • Apply the same ZEND_TSRMLS_CACHE_UPDATE() fix already used in php_brotli_output_encoding()
  • Resolve MSVC toolset mismatch causing DLL load failure on Windows CI (#94, 41e24b0)
    • The toolset auto-selected via vswhere could differ from the one actually installed on the runner
    • Honor VCToolsVersion when set, and pin the vs17 job to a specific MSVC toolset via ilammy/msvc-dev-cmd
  • Enhance APCu include detection for in-tree builds (#93, 7cdc012)
    • In-tree compilation (APCu bundled inside the PHP source tree) always fell back to "not found"; also check under $abs_srcdir
    • --enable-apcu (non-auto) now aborts the build with an error instead of silently continuing when the header is missing

What's Changed

  • feat: add --enable-apcu option to toggle APCu support by @kjdev in #92
  • fix: resolve MSVC toolset mismatch causing DLL load failure on Windo… by @kjdev in #94
  • Enhance APCu include detection for in-tree builds by @henderkes in #93

New Contributors

Full Changelog: 0.19.0...0.20.0

Don't miss a new php-ext-brotli release

NewReleases is sending notifications on new releases.