# PHP Probe changelog

## 2026.10.3 (2026-10-21)

- Support PDO::connect()
- Support monitoring Symfony Messenger 8.2 --concurrency workers
- Fix stale fiber frames across transactions
- Fix segfaults with ext/parallel
- Internal releasing changes; Update dependencies

## 2026.10.2 (2026-10-16)

- Probe now requires GLIBC >= 2.17
- Exclude the agent handshake from the automatic profiling pre transaction detection node
- Add PHP 8.6 support and builds
- Internal releasing changes

## 2026.10.1 (2026-10-13)

- Fix heap corruption after a bailout when another extension installs ZendMM handlers
- Drop probe state left by a request that bailed out
- Fix FrankenPHP worker segfault after a caught bailout
- Monitor Symfony Messenger workers without code changes
- Update dependencies; Internal releasing changes

## 2026.10.0 (2026-10-01)

- Add regression tests ruling out blackfire.so exception-leak amplification
- Update dependencies

## 2026.9.2 (2026-09-11)

- Emit a valid boolean async attribute in the browser probe script tag
- Internal releasing changes

## 2026.9.1 (2026-09-07)

- Instrument Shopware 6 DAL, service layer and HTTP cache, name Symfony console and Messenger transactions
- Instrument webonyx/graphql-php in profiles and Monitoring
- Internal releasing changes; Update dependencies

## 2026.9.0 (2026-09-02)

- Support gRPC calls as a service in Monitoring
- Support gRPC in profiles
- Add new setting 'blackfire.features.grpc' to disable gRPC support

## 2026.8.8 (2026-08-31)

- Fix memory usage growing on every request in FrankenPHP worker mode
- Fix memory usage growing on monitoring configuration updates

## 2026.8.7 (2026-08-26)

- Fix FrankenPHP worker crash after a worker script start when monitoring sampled an extended trace during the boot

## 2026.8.6 (2026-08-21)

- Fix potential crash and memory leak on ZTS builds (FrankenPHP, PHP-FPM) after an internal probe error

## 2026.8.5 (2026-08-20)

- Fix profiling only working on one FrankenPHP worker with PHP <= 8.2 ZTS

## 2026.8.4 (2026-08-19)

- Support auto profiling in FrankenPHP worker mode

## 2026.8.3 (2026-08-17)

- Fix memory usage in profile for FrankenPHP

## 2026.8.2 (2026-08-12)

- Fix wrong wall-time with worker mode for FrankenPHP
- Update dependencies

## 2026.8.1 (2026-08-05)

Maintenance release.

## 2026.8.0 (2026-08-04)

- Fix FrankenPHP worker restart heap corruption
- Stop double-freeing APM buffers on FrankenPHP worker threads
- Fix FrankenPHP release entries UAF
- Update dependencies; Internal releasing changes

## 2026.7.1 (2026-07-15)

- Prevent malformed agent response buffer overflow
- Fix APM JavaScript injection use-after-free
- Update dependencies; Internal releasing changes

## 2026.7.0 (2026-07-06)

- Fix use-after-free at shutdown when disable_functions removes overwritten functions
- Fix Version not set in Windows build
- Clean up legacy packaging
- Support regional profiles
- Update dependencies; Internal releasing changes

## 2026.5.0 (2026-05-21)

Maintenance release.

## 2026.4.1 (2026-04-30)

- Add application name to server-monitoring probes
- Internal releasing changes

## 2026.4.0 (2026-04-03)

- Fix memory leaks for FrankenPHP
- Fix an input parsing validation rule
- Update dependencies; Internal releasing changes

## 2026.3.1 (2026-03-24)

- Switch versioning to calver
- Remove WSL packages
- Fix probe php version in homebrew packages url
- Make observer API stable and default for PHP >= 8.1
- Internal releasing changes; Update dependencies

## 2026.3.0 (2026-03-10)

- no change

## 1.93.0 (2026-02-23)

- Support dynamic sampling
- Update dependencies; Internal releasing changes

## 1.92.60 (2026-01-22)

- Fix worker mode detection for Frankenphp
- Internal releasing changes

## 1.92.59 (2026-01-19)

- Support watch mode for FrankenPHP
- Update dependencies; Internal releasing changes

## 1.92.58 (2026-01-08)

- Fix request handling on sapi_deactivate for FrankenPHP on worker mode
- Update dependencies; Internal releasing changes

## 1.92.57 (2025-12-23)

Maintenance release.

## 1.92.56 (2025-12-23)

Maintenance release.

## 1.92.55 (2025-12-22)

Maintenance release.

## 1.92.54 (2025-12-17)

Maintenance release.

## 1.92.53 (2025-12-17)

- Increase buffersize to 64kb
- Update dependencies; Internal releasing changes

## 1.92.52 (2025-12-05)

- Fix missing references to PHP 8.5 in .deb
- Fix product version name for arm64 build
- Fix reset frankenphp worker mode state in watch mode
- Fix memory leak for PHP >= 8.3
- Update PHP 8.5 installation
- Instrument `frankenphp_finish_request`
- Internal releasing changes; Update dependencies

## 1.92.51 (2025-11-20)

- Add PHP 8.5 support
- Update dependencies; Internal releasing changes

## 1.92.50 (2025-11-06)

- Fix getting URI with FrankenPHP
- Update dependencies; Internal releasing changes

## 1.92.49 (2025-11-03)

- Fix transaction name for API platform < 4
- Add new functions support for PHP 8.5
- Internal releasing changes; Update dependencies

## 1.92.48 (2025-10-22)

- Fix worker mode detection in FrankenPHP

## 1.92.47 (2025-10-21)

- Fix auto profiling crash in FrankenPHP worker mode
- Update dependencies; Internal releasing changes

## 1.92.46 (2025-10-13)

- Fix URI not being set in FrankenPHP context
- Internal releasing changes

## 1.92.45 (2025-10-01)

- Fix classic mode for Frankenphp
- Add FrankenPHP version to the profile and APM
- Update dependencies; Internal releasing changes

## 1.92.44 (2025-09-26)

- Fix transaction name for API platform 4+
- Add initial monitoring support for FrankenPHP
- Internal releasing changes; Update dependencies

## 1.92.43 (2025-09-19)

- Increase payload header max length
- Internal releasing changes; Update dependencies

## 1.92.42 (2025-08-28)

- Disable sample rate logic from injecting JS probe
- Update dependencies

## 1.92.41 (2025-08-14)

- fix parse_str
- Internal releasing changes; Update dependencies

## 1.92.40 (2025-07-01)

- Fix semicolon replacer in homebrew formula
- Internal releasing changes

## 1.92.39 (2025-06-26)

- Add ping feature in the php probe
- Fix regex in homebrew formula to remove leading character
- Hide pixel tracking
- Internal releasing changes

## 1.92.38 (2025-06-10)

Maintenance release.

## 1.92.37 (2025-05-30)

- Fix log level for NULL function internal handler

## 1.92.36 (2025-05-21)

- Fix homebrew mac shipping script

## 1.92.35 (2025-05-20)

- Add new cpu/io functions for PHP 8.4
- Add PHP 8.3 and 8.4 to the compatibility tests step

## 1.92.34 (2025-05-15)

- Fix homebrew recipes releasing

## 1.92.33 (2025-05-15)

- PHP 8.4 support
- Add frankenphp SAPI detection
- Fix skip internal functions with NULL handler to prevent PHP 8.4 assertion
- Simplify closure's payload
- Add posttransfer time curl metadata
- Fix homebrew package upgrade
- Internal releasing changes; Update dependencies

## 1.92.32 (2025-01-09)

- Set EOL version to php <= 8.0 for FreeBSD probe
- Internal releasing changes

## 1.92.31 (2024-12-23)

- Disable bsd tests against EOL PHP versions
- Internal releasing changes; Update dependencies

## 1.92.30 (2024-12-04)

- Enable PHP 8.4 release
- Update dependencies

## 1.92.29 (2024-11-28)

- Add PHP 8.4 support
- Internal releasing changes; Update dependencies

## 1.92.28 (2024-11-05)

Maintenance release.

## 1.92.27 (2024-10-24)

Maintenance release.

## 1.92.26 (2024-10-14)

Maintenance release.

## 1.92.25 (2024-10-07)

- PHP 8.4 - address SAPI changes
- Update dependencies

## 1.92.24 (2024-09-30)

Maintenance release.

## 1.92.23 (2024-09-16)

Maintenance release.

## 1.92.22 (2024-08-05)

Maintenance release.

## 1.92.21 (2024-07-31)

Maintenance release.

## 1.92.20 (2024-07-18)

Maintenance release.

## 1.92.19 (2024-07-05)

Maintenance release.

## 1.92.18 (2024-06-28)

Maintenance release.

## 1.92.17 (2024-05-27)

- Fix homebrew issue when auto-updating

## 1.92.16 (2024-05-14)

- Upgrade probe-tester to 0.13.6
- Update dependencies

## 1.92.15 (2024-05-03)

Maintenance release.

## 1.92.14 (2024-04-29)

Maintenance release.

## 1.92.13 (2024-03-26)

- Fix CS
- Update dependencies; Internal releasing changes

## 1.92.12 (2024-03-18)

- Fix CS
- Update dependencies

## 1.92.11 (2024-03-05)

- Use constants for profile metadata
- Fix CS
- Update dependencies

## 1.92.10 (2024-02-19)

Maintenance release.

## 1.92.9 (2024-02-02)

Maintenance release.

## 1.92.8 (2024-01-16)

Maintenance release.

## 1.92.7 (2024-01-09)

Maintenance release.

## 1.92.6 (2024-01-05)

- Release ZTS builds for PHP 8 on Alpine

## 1.92.5 (2023-12-22)

- Inject JsProbe before closing tag
- Prevent injecting probe js in svg title
- Make the APM output handler removable

## 1.92.4 (2023-12-18)

- Fix Homebrew releasing

## 1.92.3 (2023-12-01)

- Configure the sample-rate of the browser probe with a sample rate

## 1.92.2 (2023-11-29)

- Package PHP 8.3 ZTS Windows versions

## 1.92.1 (2023-11-28)

- Package PHP 8.3 FreeBSD versions

## 1.92.0 (2023-11-22)

- Use browserKey and envId to get a regionalized probe URL
- Package PHP 8.3(RC6) version
- Use data-attribute when generating script tag
- Use BrowserKey sent in APM configuration

## 1.91.0 (2023-10-31)

- Make the browser probe URL configurable
- Package PHP 8.3(RC5) version
- Add a feature flag to disable "curl" methods override
- prevent segfault with hooks on generators

## 1.90.0 (2023-09-27)

- Increase payload header max length
- Update redis support
- Package PHP 8.3(RC2) version

## 1.89.0 (2023-09-04)

- Add compatibility with PHP 8.3beta (not released)
- Remove Magento Cloud specific support

## 1.88.1 (2023-07-03)

- Fix an incompatibility with NewRelic

## 1.88.0 (2023-06-27)

- Add new setting 'blackfire.debug.sigsegv_handler' (disabled by default)
- Performance improvements
- Fix CLI profiling with preloading enabled

## 1.87.2 (2023-05-23)

- Fix capture of network resources

## 1.87.1 (2023-05-09)

- Fix releasing

## 1.87.0 (2023-05-09)

- Move span's metadata to attributes
- Fix wrong computation of string length

## 1.86.8 (2023-04-20)

- Fix: don't send BF HTTP headers in case of auto-profiling
- Fix: truncate parameters containing data URI

## 1.86.6 (2023-03-31)

- Fix .blackfire.yaml download

## 1.86.5 (2023-03-24)

- Fix a segfault when Blackfire ran out of memory
- Update support URL

## 1.86.4 (2023-02-14)

- Fix API Platform transaction detection
- Fix a segfault in rare cases when running a post-hook (detected in Drupal 9)

## 1.86.3 (2022-12-21)

- Fix the releasing of the PHP 8.2 version with homebrew

## 1.86.2 (2022-12-19)

- Fix profile's title encoding
- Fix SQL & HTTP layers
- Extend macOS arm64 support to PHP 7.2 and 7.3
- Performance improvements

## 1.86.1 (2022-12-06)

- Add PHP 8.2 (RC7) support for FreeBSD

## 1.86.0 (2022-12-05)

- Add PHP 8.2 (RC7) support

## 1.85.0 (2022-11-14)

- Drop macOS ZTS support
- Improve service layers support
- Collect the Symfony route name
- Silent errors/exceptions triggered by a hook
- Log the PHP backtrace in case of crash
- Performance improvements

## 1.84.0 (2022-10-17)

- Performance improvements
- Add support of PHP 8.2.0RC3
- Update default span limit values
- Make the browser collector endpoint configurable

## 1.83.0 (2022-10-03)

- Fix some stability issues
- Automatic profiles cancellation

## 1.82.1 (2022-09-27)

- Fix the processing of the payload

## 1.82.0 (2022-09-19)

- Expose the trace_id and transaction_name to the JS probe

## 1.81.0 (2022-08-25)

- Add support for multi-hooks per function
- Make the browser key overridable

## 1.80.0 (2022-07-25)

- Add INI setting 'blackfire.apm_agent_timeout_ms'
- Add property 'parent_span_id' to spans
- Bind the hook closure to the hooked class
- Run the post-hooks before ending the profiling

## 1.79.0 (2022-06-22)

- Expose the span duration in post hooks
- Add more debug logs

## 1.78.1 (2022-06-20)

- Fix a conflict with some other extensions like NewRelic or OpenSwoole
- Fix key-pages not properly updated
- Increase the key-page pattern max size

## 1.78.0 (2022-05-17)

- Add an optional argument '$transactionName' to the 'BlackfireProbe::startTransaction' method
- Ignore PHP-FPM's ping and status endpoints from Monitoring

## 1.77.0 (2022-04-25)

- Allow naming an HTTP request with the HTTP header "X-Blackfire-HTTP-Query-Title"
- Add internal BlackfireProbe::observe() method
- Add INI setting 'blackfire.experimental.observer_api' to use the observer API (with JIT compatibility)
- Remove support of internal 'starts with' hooks

## 1.76.0 (2022-03-22)

- Update trace_id & span_id to follow W3C Trace Context & OpenTelemetry specifications
- Fix: collect spans and attributes only on the first sample
- Fix potential segfault with post hooks

## 1.75.0 (2022-02-28)

- Support automatic-profiling with the 'cli' SAPI
- Add new settings 'blackfire.features.auto_profiling' and 'blackfire.features.embedded_code'

## 1.74.1 (2022-02-15)

- Fix WordPress transaction detection
- Fix memory leak
- Refactor string escaping/memory usage

## 1.74.0 (2022-02-03)

- Add WordPress transaction detection
- Collect HTTP & Memcache layers
- Add support for post hooks
- Performance improvements
- Fix API Platform transaction detection

## 1.73.0 (2022-01-03)

- Add Span name property
- Add contribution type to the layer costs
- Collect SQL layers
- Improve API Platform transaction detection
- Fix minor issue with cURL on PHP 8.0+
- Fix memory leak related to Fibers support

## 1.72.0 (2021-12-14)

- Add a scope to the hooks
- Allow running a hook on a regular trace
- Improve Magento transaction detection
- Fix Hook\Context class properties

## 1.71.0 (2021-12-06)

- Add PHP 8.1 support

## 1.70.0 (2021-11-19)

- Collect MongoDB & AMQP layers
- Add $scope argument to the setAttribute() method
- Fix timeout value when connecting to the agent
- Fix memory leaks

## 1.69.0 (2021-10-26)

- Collect Redis (PHPRedis and Predis) costs

## 1.68.1 (2021-10-19)

- Update openssl wrappers
- Fix incorrect parent in generators

## 1.68.0 (2021-10-05)

- Embed PHP code
- Optimizations

## 1.67.0 (2021-09-20)

- Add probe-os header
- Simplify generator handling
- Fix default blackfire.log_level value

## 1.66.0 (2021-08-30)

- Update default configuration on macOS arm64
- Ignore empty environment variables
- Don't reset global metadata during request
- Optimizations
- Initial implementation of userland hooks (internal)

## 1.65.0 (2021-08-09)

- Add Shopware 5 transaction detection
- Create spans for curl_exec/curl_multi_exec HTTP requests

## 1.64.0 (2021-07-07)

- Collect spans exceeding a memory threshold
- Update header names to lower case

## 1.63.0 (2021-06-29)

- Add Drupal 7 transaction detection

## 1.62.0 (2021-06-23)

- Collect more cURL information
- Allow extended traces with the 'cli' SAPI
- Add compatibility with PHP 8.1alpha1
- Fix CPU and memory dimensions on APM timespans
- Fix: BlackfireProbe->setConfiguration() now requires its argument

## 1.61.0 (2021-06-17)

- Enable the APM by default (blackfire.apm_enabled=1)

## 1.60.0 (2021-06-14)

- Add timespan-time-threshold header
- Make timespan-limit-global and timespan-limit-per-rule settings configurable
- Update log message & level
- Fix missing called_class in some cases (APM)
- Fix a memory leak

## 1.59.2 (2021-06-02)

- Fix invalid arguments string in some cases
- Code cleanup

## 1.59.1 (2021-06-01)

- Fix SQL queries not collected in APM mode

## 1.59.0 (2021-05-28)

- Release darwin/arm64 (Apple Silicon) version
- Lower the APM socket timeout from 3s to 300ms
- Fix incorrect trace's timestamp when triggered by BlackfireProbe::startTransaction()
- Fix a crash when collecting a missing optional argument and no others

## 1.58.0 (2021-05-18)

- Add detection for Magento API Controllers
- Add support for PHP 8 Observer API (disabled)
- Remove unused code to reduce the size of the extension

## 1.57.0 (2021-05-04)

- Add static method BlackfireProbe::ignoreTransaction()
- Fix APM timespan threshold multiplied by 1000

## 1.56.1 (2021-04-19)

- Fix a crash with Prestashop

## 1.56.0 (2021-04-15)

- Add 'apm.connect_at_startup' INI setting
- Allow capturing an argument by its name
- Rename BlackfireProbe::startTracing() to BlackfireProbe::startTransaction()
- Rename BlackfireProbe::stopTracing() to BlackfireProbe::stopTransaction()

## 1.55.0 (2021-04-02)

- Build the FreeBSD versions on FreeBSD 11.4 to improve compatibility
- Compile the APM on Windows
- Support forwarding the agent's response to the client even if the profiling has not be enabled

## 1.54.0 (2021-03-26)

- Add detection for Magento Full Page Cache
- Add distributed tracing with curl
- Build the FreeBSD versions on FreeBSD 12.2
- Improve logs when locking the APM
- Fix 'starts with' ('^') matcher collecting too much
- Fix wrong return value definition of BlackfireProbe's methods
- Fix memory leaks

## 1.53.0 (2021-03-16)

- Rewrote distributed profiling with curl (fix many issues)
- Simplify profiling of SQL
- Fix PHP 8.0-zts build on Linux
- Disable PHP 8.0-zts build on Alpine because of an issue with musl
- Fix weak entropy issue for sub-profile and trace ids introduced in previous version

## 1.52.0 (2021-03-08)

- Implement distributed tracing with fopen/file_get_contents

## 1.51.0 (2021-02-25)

- Extract Laravel Blade template names
- Support creating APM spans exceeding a time threshold
- Add Drupal transaction detection
- Add missing return type info for Probe methods

## 1.50.0 (2021-02-08)

- Add static method BlackfireProbe::setTag(string key, mixed value)
- Add static methods BlackfireProbe::startTracing() and BlackfireProbe::stopTracing() to trace CLI scripts
- Unlock the APM after 300 seconds
- Fix PHP 8.0 method's return type

## 1.49.1 (2021-02-02)

- Lock the APM in case of socket error

## 1.49.0 (2021-01-08)

- Add Probe threshold for span quantity in payload
- Remove internal BlackfireApm class
- Fix PHP 8.0 support for Debian & RPM packages
- Fix: Remove newline character from filenames (PHP 7+)

## 1.48.1 (2020-12-18)

- Fix ARM64 packaging

## 1.48.0 (2020-12-16)

- Add ARM support
- Remove opcache "scripts" preload statistics from payloads

## 1.47.0 (2020-12-14)

- Add blackfire.hostname INI setting
- Add BlackfireProbe::getBrowserProbe static method
- Fix: avoid calling the autoloader when collecting twig template names

## 1.46.5 (2020-12-01)

- Remove dependency on cURL extension on PHP 8.0

## 1.46.4 (2020-11-26)

- Fix homebrew recipes on PHP 8.0

## 1.46.3 (2020-11-25)

- Fix PHP 8.0 releasing

## 1.46.2 (2020-11-24)

- Fix PHP 8.0 releasing

## 1.46.1 (2020-11-24)

- Fix PHP 8.0 releasing

## 1.46.0 (2020-11-24)

- Add support for FreeBSD, macOS and Windows on PHP 8.0
- Add Prestashop up to 1.6 transaction name detection

## 1.45.0 (2020-11-21)

- Add compatibility with PHP 8.0
- Fix a crash when collecting twig templates
- Fix: do not reset the controller-name when triggering an automatic profiling

## 1.44.0 (2020-11-09)

- Add BlackireProbe::setTransactionName method
- Collect Twig Template names as class labels in APM extended traces
- Create a span for the detected controller
- Filter part of OPcache status in APM extended traces
- Fix APM internationalization issues
- Fix: reset state if an automatic profile cannot be started

## 1.43.0 (2020-11-02)

- Don't use the script's name as a fallback for the "controller-name" APM header
- Introduce the "file" APM header
- Add transaction detection for Magento 1 and 2

## 1.42.0 (2020-10-12)

- Add a limit to the number of spans collected in an extended trace.

## 1.41.0 (2020-10-05)

- Detect controller and framework while profiling

## 1.40.0 (2020-10-02)

- APM Extended traces optimizations
- Add a 'pre-controller detection' node for controller-triggered automatic profiles
- Disable tracing before running an automatic-profiling triggered by a APM
- Fix localization issue when parsing floats
- Collect fastcgi_finish_request time only if the APM is enabled

## 1.39.1 (2020-09-07)

- APM: Fix sample-rate headers format

## 1.39.0 (2020-09-03)

- APM: Fix automatic profiling with long Blackfire-Query
- APM: Increase sample-rates precision
- APM: Collect fastcgi_finish_request time

## 1.38.0 (2020-08-27)

- Add support for "controller" key-page in automatic profiling
- Add extended-sample-rate header
- Rename timespan headers in extended-traces
- Fix controller/framework detection in extended-trace mode

## 1.37.0 (2020-08-18)

- Fix a crash in signature check when running an extended trace
- Fix a crash on Alpine when APCu is loaded but disabled
- Fix truncated APM arguments list
- Fix APM signature containing a newline
- Respect the log level in cryptographic functions
- Update APM config only if it has changed

## 1.36.0 (2020-07-16)

- Activate light profiling when extended tracing
- Add controller name and framework detected by the APM in profiles traces.

## 1.35.0 (2020-06-25)

- Add http_host value in APM trace

## 1.34.3 (2020-06-05)

- Fix crash caused by PHP ABI break with php_base64_encode

## 1.34.2 (2020-06-04)

- Fix crash with generators (identified using Tornado)

## 1.34.1 (2020-05-28)

- Fix corruption of $_SERVER['HTTPS'] on PHP 5
- Fix wrong identifier of anonymous class

## 1.34.0 (2020-05-07)

- Add "dot-blackfire" feature on PHP 5
- Update APM protocol
- Fix sample number not being reset while using distributed profiling

## 1.33.0 (2020-04-06)

- Optimize packet sizes when sending data to the agent
- Use macOS Mojave for building binaries
- Notarize macOS binaries
- Use the latest APM headers

## 1.32.0 (2020-03-26)

- Update APM JS loader
- Add "dot-blackfire" feature on PHP 7
- Add "probe-capabilities" protocol header
- Fix issues with Generators used in a class

## 1.31.0 (2020-02-10)

- Add hostname in APM traces
- Use sample rate if no key page
- Collect MagentoCloud environment variables
- Drop key-page dependent sample_rate in favor of a unique one

## 1.30.0 (2020-01-13)

- Update APM protocol
- Improve Generator support
- Update Homebrew formulae to HTTPS

## 1.29.6 (2019-12-31)

- Fix mod detection in after_install.sh

## 1.29.5 (2019-12-18)

- Fix timeline data are not always correctly reset between 2 profiles
- Fix timeline data sent twice with PHP 7.4
- Update APM log message

## 1.29.4 (2019-12-10)

- Fix crash when using manual instrumentation

## 1.29.3 (2019-12-05)

- Fix crash in class hierarchy with PHP 7.4

## 1.29.2 (2019-12-05)

- Fix crash in timespan with PHP 7.4
- Fix Probe object shutdown sequence
- Add a warning when the "pcov" extension is detected

## 1.29.1 (2019-11-26)

- Fix release script

## 1.29.0 (2019-11-26)

- Add support for PHP 7.4

## 1.28.4 (2019-11-16)

- Fix Probe releasing

## 1.28.3 (2019-11-15)

- Fix Probe releasing

## 1.28.2 (2019-11-15)

- Fix Probe releasing

## 1.28.1 (2019-11-15)

- Fix Probe releasing

## 1.28.0 (2019-11-05)

- Add the Context header (replacing _server)
- Force Web mode for FPM even if BLACKFIRE_QUERY environment variable is detected
- Cache BLACKFIRE_QUERY environment variable value at startup
- Fix a crash in Probe class API usage
- Fix x64 detection on Windows
- Fix Twig class detection

## 1.27.1 (2019-09-17)

- Make sure we have INIT_PZVAL_COPY available, even on old PHP versions

## 1.27.0 (2019-08-16)

- Add more info to phpinfo()
- Rework Zend hooks to deal with new OPCache hooks
- Modify subprofile ID generator so that it's only ever composed of alphanumerics
- Fix Twig template name extraction
- Fix APM data truncation

## 1.26.4 (2019-07-29)

- Sign packages
- Update for PHP 7.4 beta 1
- Fix signature options formatting

## 1.26.3 (2019-07-09)

- Fix bug in extensions conflict detection
- Fix multiple sub-profiles using the same stream context
- Don't add signature to sub-profiles performed using HTTP

## 1.26.2 (2019-06-28)

- Fix subprofile behaviour with HTTPS

## 1.26.1 (2019-06-19)

- Fix compilation on PHP 7.3 ZTS platform

## 1.26.0 (2019-06-19)

- Add "no_signature_forwarding" flag
- Fix X-Blackfire-Header overriden by sub-profile
- Fix APM starts whenever a profiling session is requested

## 1.25.0 (2019-04-29)

- Add APM feature
- Improve pcntl_exec() execution handler

## 1.24.4 (2019-02-06)

- Fix sub-profile id generation to be compatible with url encoding
- Fix agent spec mentioning open_base_dir makes the probe segfault
- Fix \BlackfireProbe::__construct reflection information

## 1.24.3 (2019-01-17)

- Fix warning on post install

## 1.24.2 (2018-12-20)

- Fix empty timeline when using the SDK

## 1.24.1 (2018-12-17)

- Fix packaging for PHP 7.3

## 1.24.0 (2018-12-14)

- Add support for PHP 7.3

## 1.23.1 (2018-10-09)

- Fix lost headers on multiple curl_exec calls
- Correctly handle curl_setopt_array calls

## 1.23.0 (2018-08-06)

- Add a sub-profile query automatically to all HTTP requests created via file_get_contents or cURL
- Add a warning and disable class hierarchy dump if opcache.fast_shutdown=1 on PHP 5
- Add AppDynamics to the list of conflicting extensions

## 1.22.0 (2018-07-03)

- Add support for .blackfire.yaml file with precedence over .blackfire.yml

## 1.21.0 (2018-06-21)

- Fix behavior when incompatible extensions are loaded

## 1.20.1 (2018-06-15)

- Fix null pointer crash

## 1.20.0 (2018-04-23)

- Add a new method to generate a Sub profile query
- Add a log when "pcntl_exec" is going to kill the probe

## 1.19.0 (2018-03-20)

- Add classes hierarchy support
- Use called scope for object invocations
- Properly handle numeric cookies name on PHP 7
- Add support for cPanel
- Fix Probe memory corruption for PHP 5

## 1.18.2 (2018-01-23)

- Release PHP 7.2 support for FreeBSD

## 1.18.1 (2018-01-10)

- Use memset() to fix PHP 7.2 bzero missing symbol on some OS
- Fix BSD API symbol collision

## 1.18.0 (2017-09-18)

- Add support for PHP 7.2
- Add support for sub_profile signature parameter

## 1.17.3 (2017-06-15)

- cPanel support
- Fix config_yml encoding
- Extract X-Forwarded-* and Forwarded headers to properly reconstruct URLs

## 1.17.2 (2017-06-13)

- Compute APCu 15th block size percentil
- Install SIGSEGV handler earlier
- Fix segfault when using mysqli_stmt_prepare()
- Always use '&' as separator for urlencode

## 1.17.1 (2017-06-05)

- Fix APCu key filtering
- Fix compilation on PHP 7.2

## 1.17.0 (2017-05-22)

- Add "configuration" Blackfire protocol feature
- Fix Blackfire::addMarker on PHP 7.0 with OPcache
- Fixed URL encoding of `?` in function arguments

## 1.16.2 (2017-04-20)

- Fix memory leak in start sequence

## 1.16.1 (2017-04-13)

- Add FreeBSD/PHP 7.1 support
- Fix blackfire.so was loaded twice on some Linux systems
- Fix file names in archives for Alpine releases

## 1.16.0 (2017-03-28)

- Add /etc/php/5.5/mods-available to scanned directories
- Add support for Alpine Linux (musl libc bindings)
- Add support for Windows Subsystem for Linux (GTOD timer)

## 1.15.0 (2017-02-27)

- Accept configuration pushed via HTTP to replace .blackfire.yml
- Move all Event-* measures to Threshold-*
- Add BlackfireProbe::addMarker() method
- Fix time offset value on discard() and close()

## 1.14.4 (2017-02-13)

- Disable oci8 module for non-supported Oracle Run-time Client Library Version

## 1.14.3 (2017-01-30)

- Fix Probe argument error in oci_execute()

## 1.14.2 (2017-01-11)

- fix crash in Probe related to 7.1 faked frame
- use memcpy() instead of byte-by-byte in bf_replace_bad_chars()
- detect ZTS setup for custom installations

## 1.14.1 (2016-11-14)

- Fix bad for() statement logic

## 1.14.0 (2016-11-07)

- Add oci_execute() support for SQL extraction
- Provide full arch in version output
- Rework main memory management
- Fix Probe crashing with MainInstance when no profiling triggered

## 1.13.0 (2016-09-21)

- Add PHP 7.1 support
- Fallback to agent auth when ini settings do not match
- Add ability to catch specific keys from array arguments
- Detect HttpKernel::handleRaw() in stack traces
- Detect SQL queries in ext/mysqli and ext/pgsql
- Fix edge cases with PHP detection on CentOS
- Fix PDOStatement::execute missing from timespan data
- Fix empty string management in INI settings
- Fix memory leak in signature management
- Fix probe timespan flag handling

## 1.12.0 (2016-08-16)

- Add timespan selectors & thresholds
- Improved PHP7 ZTS perfs by using static tsrmls cache
- Extract twig template names on PHP 7
- Add BlackfireProbe::isEnabled()
- Enhanced FreeBSD support
- Allow compiling without sessions support
- Fix I/O computation
- Fix file names in 'eval::' nodes

## 1.11.1 (2016-06-30)

- Fix missing Windows artifacts release

## 1.11.0 (2016-06-29)

- Make ZTS thus Windows really work
- Auto-release blackfire*.dll for Windows
- Add BlackfireProbe::isEnabled()
- Add Blackfire-Response: no-blackfire-yaml
- Better support for RHEL multi PHP
- Fix yum packages
- Fix profile headers truncation
- PHP 7 support is no longer beta

## 1.10.6 (2016-05-18)

- Fix packaging issues
- Fix ZendOpcache missing in php -v
- Fix wrong Blackfire version display

## 1.10.5 (2016-04-22)

- Fix argument parsing & handling, fixing v1.10.3

## 1.10.4 (2016-04-13)

- Revert to v1.10.0

## 1.10.3 (2016-04-11)

- Fix environment variables precedence over .ini in PHP 7

## 1.10.2 (2016-03-30)

- Better PHP binary detection in packaging
- Fix problem in Probe argument collection

## 1.10.1 (2016-03-11)

- Default to tcp://127.0.0.1:8307 on Windows
- Fix PHP Warning on stream connection

## 1.10.0 (2016-03-03)

- Reduce memory usage with a new memory manager
- Perf improvements in hot code paths
- Use monotonic clock on PHP 7 by default
- Use portable C-types for Windows compat

## 1.9.2 (2016-02-19)

- Add getrusage on Windows
- Normalize directory separator on Windows
- Refactor cpu count measure
- Improve SERVER keys fetch
- Check if php_url_encode_hash_ex fails
- Fix probe crash in Twig templates management
- Fix crash in _SERVER handling
- Fix compiler warnings
- Fix request-start/end on Windows
- Fix crash, ctime_r can be up to 26
- Fix QPC to us conversion

## 1.9.1 (2016-02-05)

- Take care of anonymous classes in PHP 7
- Fix RPMs packages
- Fixes shipping for ondrej PPA
- Fix Probe not reading _SERVER correctly
- Better TS for logs
- Safest conf.d dectection in shipping
- Looks like Ubuntu is installing recommended packages :/
- Tweaked homebrew output for the PHP ext installation
- Fix probe compiler warnings
- Fix shipping were we enabled blackfire.ini twice

## 1.9.0 (2016-02-01)

- Add PHP 7.0 support
- Add support for more installation directory layouts
- Remove ref_mismatch dimension
- Introduce env_id/token

## 1.8.0 (2016-01-06)

- Add FreeBSD support
- Add OPCache compilation measurement
- Global performance improvement
- Fix $_SERVER reading at runtime

## 1.7.0 (2015-11-27)

- Profile object destructors
- Reset pmu before starting new profile
- Drop unused probe dimensions
- Add `?` to encoded bad chars
- Validate INI settings at probe startup
- Fix session data gathering volatility
- Fix class names appearing twice in Twig template classes
- Fix memory corruption in setlocale utilisation
- Limit Twig template labels to 255 chars max

## 1.6.0 (2015-10-14)

- Build and release ZTS binaries for OS X
- Implement stream IO for SSL based streams
- Exit once .blackfire.yml is sent as HTTP response
- Some Probe refacto and performance improvements in fnArgs algo
- Reworked Probe API for better Thread Safety
- Ignore Blackfire-Fn-Args when flag_fn_args!=1
- Fix closure recursivity handling
- Fix names of closures in namespaces
- Fix crash in shutdown sequence

## 1.5.0 (2015-10-01)

- Add ability to retrieve .blackfire.yml with special query

## 1.4.1 (2015-09-10)

- Fixed configuration via ENV variables did not work and broke Blackfire-Auth in some cases

## 1.4.0 (2015-09-08)

- Added setConfiguration to allow .blackfire.yml to be defined from userland
- Fix Twig template name extraction when XDebug is enabled

## 1.3.0 (2015-09-03)

- Boost performance by backlisting userland and specific functions from CPU measurement
- Fix fork detection

## 1.2.0 (2015-09-01)

- Add support for Twig template name extraction
- Rename special session and GC nodes as non-metrics nodes that can be pruned
- Fix compilation on FreeBSD

## 1.1.0 (2015-08-18)

- Add support for Blackfire Yaml feature
- URL-encode `@` in args
- Always send a Blackfire-Probe header
- Do not log binary data

## 1.0.0 (2015-07-27)

- Enhance perf, reduce overhead
- Gather output bytes sent by SAPI
- Forward enabled flags as profile metadata
- Reworked globals and ZTS management to make them safer
- Fix handling of internal closures

## 0.25.1 (2015-07-02)

- Fix recursivity handling

## 0.25.0 (2015-07-01)

- Use runtime neutral profile headers
- Add debug logs about credentials

## 0.24.2 (2015-06-24)

- Fix recursivity handling
- Fix stack trace gathering on manual enable()
- Fix releasing content-type

## 0.24.1 (2015-06-05)

- Fix a crash in probe under PHP5.6 with foreach loops

## 0.24.0 (2015-06-03)

- Add stacktrace generator in case of SIGSEGV
- Fix probe connect timeout to agent
- Fix a crash in foreach handler for some special scenarios

## 0.23.3 (2015-05-28)

- Fix probe crash in case some environment variables are numeric

## 0.23.2 (2015-05-19)

- Fixed PHP 5.4 releasing

## 0.23.1 (2015-05-18)

- Fix probe crash in foreach() handler

## 0.23.0 (2015-04-29)

- Hook as Zend extension
- Prevent network from firing if invalid agentid
- Fix segfault occurring in the shutdown sequence
- Fix tracking foreach refs mismatches on 5.3

## 0.22.1 (2015-04-23)

- Fix special chars escaping map

## 0.22.0 (2015-04-17)

- Detect ref-mismatch with foreach loops (only with the main probe)
- Disabled ref-mismatch for PHP5.3 as it seems dangerous
- Better error management for streams
- Fix a memory error in Probe under 5.3
- Various cleanups

## 0.21.1 (2015-04-14)

- Fix segfault when enabling with call_user_func()
- Disable probes in forked processes

## 0.21.0 (2015-03-31)

- First public release of SDK API
- Add close() and disable()
- Add discard() and count()
- Add STALE state in user probes when samples quota is over
- Gather curl URL for curl calls
- Do not add SQL queries to PDO fetch* functions
- Flush main instance in case of fatal errors
- Auto flush user probe on destruct
- Fix data computing in body segment
- Fix error_handler not recognize when IS_OBJECT
- Fix stream reuse with several probes
- Fix probe messages
- Fix main instance detection
- Fix parsing signature
- Fix segfault when casting pipes to strings for fn args

## 0.20.6 (2015-02-26)

- Fix packaging when kernel arch is different than system arch

## 0.20.5 (2015-02-20)

- Fix segfault with PHP 5.3
- Fix probe exposing itself through error reporting
- Add flag_sessions flag, enabled by default

## 0.20.4 (2015-02-05)

- Fix PDO segfault
- Fix session costs serialization

## 0.20.3 (2015-02-04)

- Add probe version in logs
- Update ini settings to PHP_INI_ALL

## 0.20.2 (2015-02-03)

- Fix flags again

## 0.20.1 (2015-02-02)

- Fix parsing flags

## 0.20.0 (2015-01-22)

- Add cURL network stats
- Better phpinfo() reporting
- Fix PDO instrumentation
- Fix high ct overflow

## 0.19.1 (2015-01-07)

- Fix 32 bits support
- Fix request-start and request-end header values

## 0.19.0 (2014-12-30)

- Add session related metrics
- Drop PDO requirement
- Add new measurement interface

## 0.18.0 (2014-12-16)

- Fix memory error & memory usage improvements
- Fix signature detection code
- Forward "profile_title" query string
- Fix mt_rand seeding

## 0.17.4 (2014-12-08)

- Collect Garbage Collector activity

## 0.17.3 (2014-12-05)

- Fix SQL truncation

## 0.17.2 (2014-12-04)

- Disable some warnings
- Removed 512 bytes limitations on call lines
- Load average number of CPUs
- Fixed installation on Amazon Linux

## 0.17.1 (2014-11-27)

- Fix invalid _SERVER key for HTTP request method
- Fix validation code for blackfire.server_id/token

## 0.17.0 (2014-11-24)

- Enable env var to trigger the probe
- Add status code handling
- CPU and Memory flags are now ON by default

## 0.16.2 (2014-11-07)

- Fix response status code
- Add flag_fn_args flag
- Add reference mismatch detection

## 0.16.1 (2014-11-06)

- Use the full version description
- Fixed package description

## 0.16.0 (2014-11-05)

- Added new network stream output
- Added ZTS support
- Lowered libc version requirements
- Removed libbsd dependency
- Fixed loading on some PHP builds <= 5.3.3

## 0.15.1 (2014-10-30)

- Fixed extension order loading on RedHat based systems

## 0.15.0 (2014-10-20)

- Blackfire probe replaces Sprofiler probe
- Add Probe API

## 0.14.16 (2014-10-07)

- Fix Fedora and Debian packaging

## 0.14.15 (2014-10-03)

- Fixed build not always using the correct version

## 0.14.12 (2014-10-02)

- Added PHP 5.6 support for Linux

## 0.14.11 (2014-10-02)

- Uniformized .so files naming between Linux and MacOSx

## 0.14.8 (2014-10-01)

- No more distinctions between debian/ubuntu releases

## 0.14.7

- Fix Homebrew recipes for installing without homebrew PHP on versions above 5.4

## 0.11

- Add support for PHP 5.5
- Performance improvements
- Fix some leaks
- http_response_code() function for PHP5.3
- BLACKFIRE_FLAGS_FUNCTION_INFOS for user function filename definition and lineno
- Notice when double activation is detected

## 0.10

- always report non-function calls as run_init::*/*
- add closure information to distinguish them (filename, lines)
- fix leak when calling enable() multiple times
- enable() and disable() now return TRUE or FALSE on success/failure
