PHP Probe

For tools and AI agents: Markdown version

2026.10.3

  • 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

  • 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

  • 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

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

2026.9.2

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

2026.9.1

  • 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

  • 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

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

2026.8.7

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

2026.8.6

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

2026.8.5

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

2026.8.4

  • Support auto profiling in FrankenPHP worker mode

2026.8.3

  • Fix memory usage in profile for FrankenPHP

2026.8.2

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

2026.8.1

Maintenance release ·

2026.8.0

  • 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

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

2026.7.0

  • 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

Maintenance release ·

2026.4.1

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

2026.4.0

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

2026.3.1

  • 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

  • no change

1.93.0

  • Support dynamic sampling
  • Update dependencies; Internal releasing changes

1.92.60

  • Fix worker mode detection for Frankenphp
  • Internal releasing changes

1.92.59

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

1.92.58

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

1.92.57

Maintenance release ·

1.92.56

Maintenance release ·

1.92.55

Maintenance release ·

1.92.54

Maintenance release ·

1.92.53

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

1.92.52

  • 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

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

1.92.50

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

1.92.49

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

1.92.48

  • Fix worker mode detection in FrankenPHP

1.92.47

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

1.92.46

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

1.92.45

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

1.92.44

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

1.92.43

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

1.92.42

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

1.92.41

  • fix parse_str
  • Internal releasing changes; Update dependencies

1.92.40

  • Fix semicolon replacer in homebrew formula
  • Internal releasing changes

1.92.39

  • 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

Maintenance release ·

1.92.37

  • Fix log level for NULL function internal handler

1.92.36

  • Fix homebrew mac shipping script

1.92.35

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

1.92.34

  • Fix homebrew recipes releasing

1.92.33

  • 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

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

1.92.31

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

1.92.30

  • Enable PHP 8.4 release
  • Update dependencies

1.92.29

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

1.92.28

Maintenance release ·

1.92.27

Maintenance release ·

1.92.26

Maintenance release ·

1.92.25

  • PHP 8.4 - address SAPI changes
  • Update dependencies

1.92.24

Maintenance release ·

1.92.23

Maintenance release ·

1.92.22

Maintenance release ·

1.92.21

Maintenance release ·

1.92.20

Maintenance release ·

1.92.19

Maintenance release ·

1.92.18

Maintenance release ·

1.92.17

  • Fix homebrew issue when auto-updating

1.92.16

  • Upgrade probe-tester to 0.13.6
  • Update dependencies

1.92.15

Maintenance release ·

1.92.14

Maintenance release ·

1.92.13

  • Fix CS
  • Update dependencies; Internal releasing changes

1.92.12

  • Fix CS
  • Update dependencies

1.92.11

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

1.92.10

Maintenance release ·

1.92.9

Maintenance release ·

1.92.8

Maintenance release ·

1.92.7

Maintenance release ·

1.92.6

  • Release ZTS builds for PHP 8 on Alpine

1.92.5

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

1.92.4

  • Fix Homebrew releasing

1.92.3

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

1.92.2

  • Package PHP 8.3 ZTS Windows versions

1.92.1

  • Package PHP 8.3 FreeBSD versions

1.92.0

  • 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

  • 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

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

1.89.0

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

1.88.1

  • Fix an incompatibility with NewRelic

1.88.0

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

1.87.2

  • Fix capture of network resources

1.87.1

  • Fix releasing

1.87.0

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

1.86.8

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

1.86.6

  • Fix .blackfire.yaml download

1.86.5

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

1.86.4

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

1.86.3

  • Fix the releasing of the PHP 8.2 version with homebrew

1.86.2

  • 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

  • Add PHP 8.2 (RC7) support for FreeBSD

1.86.0

  • Add PHP 8.2 (RC7) support

1.85.0

  • 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

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

1.83.0

  • Fix some stability issues
  • Automatic profiles cancellation

1.82.1

  • Fix the processing of the payload

1.82.0

  • Expose the trace_id and transaction_name to the JS probe

1.81.0

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

1.80.0

  • 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

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

1.78.1

  • 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

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

1.77.0

  • 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

  • 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

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

1.74.1

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

1.74.0

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

1.73.0

  • 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

  • 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

  • Add PHP 8.1 support

1.70.0

  • 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

  • Collect Redis (PHPRedis and Predis) costs

1.68.1

  • Update openssl wrappers
  • Fix incorrect parent in generators

1.68.0

  • Embed PHP code
  • Optimizations

1.67.0

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

1.66.0

  • 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

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

1.64.0

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

1.63.0

  • Add Drupal 7 transaction detection

1.62.0

  • 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

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

1.60.0

  • 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

  • Fix invalid arguments string in some cases
  • Code cleanup

1.59.1

  • Fix SQL queries not collected in APM mode

1.59.0

  • 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

  • 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

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

1.56.1

  • Fix a crash with Prestashop

1.56.0

  • 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

  • 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

  • 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

  • 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

  • Implement distributed tracing with fopen/file_get_contents

1.51.0

  • 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

  • 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

  • Lock the APM in case of socket error

1.49.0

  • 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

  • Fix ARM64 packaging

1.48.0

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

1.47.0

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

1.46.5

  • Remove dependency on cURL extension on PHP 8.0

1.46.4

  • Fix homebrew recipes on PHP 8.0

1.46.3

  • Fix PHP 8.0 releasing

1.46.2

  • Fix PHP 8.0 releasing

1.46.1

  • Fix PHP 8.0 releasing

1.46.0

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

1.45.0

  • 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

  • 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

  • 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

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

1.41.0

  • Detect controller and framework while profiling

1.40.0

  • 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

  • APM: Fix sample-rate headers format

1.39.0

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

1.38.0

  • 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

  • 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

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

1.35.0

  • Add http_host value in APM trace

1.34.3

  • Fix crash caused by PHP ABI break with php_base64_encode

1.34.2

  • Fix crash with generators (identified using Tornado)

1.34.1

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

1.34.0

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

1.33.0

  • 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

  • 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

  • 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

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

1.29.6

  • Fix mod detection in after_install.sh

1.29.5

  • 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

  • Fix crash when using manual instrumentation

1.29.3

  • Fix crash in class hierarchy with PHP 7.4

1.29.2

  • 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

  • Fix release script

1.29.0

  • Add support for PHP 7.4

1.28.4

  • Fix Probe releasing

1.28.3

  • Fix Probe releasing

1.28.2

  • Fix Probe releasing

1.28.1

  • Fix Probe releasing

1.28.0

  • 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

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

1.27.0

  • 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

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

1.26.3

  • 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

  • Fix subprofile behaviour with HTTPS

1.26.1

  • Fix compilation on PHP 7.3 ZTS platform

1.26.0

  • 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

  • Add APM feature
  • Improve pcntl_exec() execution handler

1.24.4

  • 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

  • Fix warning on post install

1.24.2

  • Fix empty timeline when using the SDK

1.24.1

  • Fix packaging for PHP 7.3

1.24.0

  • Add support for PHP 7.3

1.23.1

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

1.23.0

  • 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

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

1.21.0

  • Fix behavior when incompatible extensions are loaded

1.20.1

  • Fix null pointer crash

1.20.0

  • 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

  • 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

  • Release PHP 7.2 support for FreeBSD

1.18.1

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

1.18.0

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

1.17.3

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

1.17.2

  • 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

  • Fix APCu key filtering
  • Fix compilation on PHP 7.2

1.17.0

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

1.16.2

  • Fix memory leak in start sequence

1.16.1

  • 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

  • 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

  • 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

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

1.14.3

  • Fix Probe argument error in oci_execute()

1.14.2

  • 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

  • Fix bad for() statement logic

1.14.0

  • 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

  • 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

  • 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

  • Fix missing Windows artifacts release

1.11.0

  • 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

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

1.10.5

  • Fix argument parsing & handling, fixing v1.10.3

1.10.4

  • Revert to v1.10.0

1.10.3

  • Fix environment variables precedence over .ini in PHP 7

1.10.2

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

1.10.1

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

1.10.0

  • 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

  • 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

  • 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

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

1.8.0

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

1.7.0

  • 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

  • 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

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

1.4.1

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

1.4.0

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

1.3.0

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

1.2.0

  • 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

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

1.0.0

  • 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

  • Fix recursivity handling

0.25.0

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

0.24.2

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

0.24.1

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

0.24.0

  • 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

  • Fix probe crash in case some environment variables are numeric

0.23.2

  • Fixed PHP 5.4 releasing

0.23.1

  • Fix probe crash in foreach() handler

0.23.0

  • 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

  • Fix special chars escaping map

0.22.0

  • 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

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

0.21.0

  • 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

  • Fix packaging when kernel arch is different than system arch

0.20.5

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

0.20.4

  • Fix PDO segfault
  • Fix session costs serialization

0.20.3

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

0.20.2

  • Fix flags again

0.20.1

  • Fix parsing flags

0.20.0

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

0.19.1

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

0.19.0

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

0.18.0

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

0.17.4

  • Collect Garbage Collector activity

0.17.3

  • Fix SQL truncation

0.17.2

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

0.17.1

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

0.17.0

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

0.16.2

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

0.16.1

  • Use the full version description
  • Fixed package description

0.16.0

  • 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

  • Fixed extension order loading on RedHat based systems

0.15.0

  • Blackfire probe replaces Sprofiler probe
  • Add Probe API

0.14.16

  • Fix Fedora and Debian packaging

0.14.15

  • Fixed build not always using the correct version

0.14.12

  • Added PHP 5.6 support for Linux

0.14.11

  • Uniformized .so files naming between Linux and MacOSx

0.14.8

  • 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