Community News: Latest PECL Releases (09.12.2023)
Latest PECL Releases:
- opentelemetry 1.0.0RC1
opentelemetry 1.0.0RC1 - redis 6.0.0
--- Sponsors ---Audiomack - https://audiomack.com Open LMS - https://openlms.net BlueHost - https://bluehost.com Object Cache Pro for WordPress - https://objectcache.pro Avtandil Kikabidze - https://github.com/akalongman Zaher Ghaibeh - https://github.com/zaherg BatchLabs - https://batch.com Luis Zarate - https://github.com/jlzaratec
phpredis 6.0.0
- There were no changes between 6.0.0 and 6.0.0RC2.
phpredis 6.0.0RC2
- Fix arginfo for arguments that default to null [8d99b7d1] (Nicolas Grekas)
- Fix C99 usages [54d9ca45] (Remi Collet)
- Raise minimal supported version to 7.2 [e10b9a85] (Remi Collet)
phpredis 6.0.0RC1
This release adds new commands introduced in Redis 6.2 and 7.0 as well as many fixes and improvements.
You can find a detailed list of changes in CHANGELOG.md and package.xml or by inspecting the git commit logs.
- Fix restoring keys when using compression [82e08723] (Till Kruss)
- Fix missing auth in RedisSentinel stub [5db85561] (Lu Fei)
- Fix RedisSentinel pconnect check [42cbd88a] (Pavlo Yatsukhnenko)
- Fix NULL-pointer dereferences and handle possible UB [36457555] (Pavlo Yatsukhnenko)
- Fix security alerts [ee210f86, fb6a297c] (Pavlo Yatsukhnenko), (Michael Grunder)
- Fix segfault [55bf0202] (Pavlo Yatsukhnenko)
- Fix default host length [c40f9d6c] (Pavlo Yatsukhnenko)
- Fix redis session standalone stream ssl context [ed10f365, d1bc6727, 2ff11df5] (patricio.dorantes)
- Fix segfault with session+tls [a471c87a] (Pavlo Yatsukhnenko)
- Fix non standards conforming prototypes. [b3ce0486] (Michael Grunder)
- Avoid registering the same replicas multiple times [f2bfd723] (Marius Adam)
- Better unix:// or file:// detection. [d05d301b] (Michael Grunder)
- Future proof our igbinary header check [69355faa] (Michael Grunder)
- Fix BITOP cross-slot bug [af13f951] (Michael Grunder)
- SENTINEL RESET returns a long. [0243dd9d] (Michael Grunder)
- Fix redis_sock_read_multibulk_multi_reply_loop logic [d9cb5946, 5a643b62] (Pavlo Yatsukhnenko)
- Fix RPOP to unserialize/decompress data. [02c91d59] (Michael Grunder)
- Fix testObject for redis 7.2 [fea19b52, dcb95a3f] (Remi Collet)
- Fix bug: the pipeline mode socket return an unexpected result after reconnecting [a3327d9d] (thomaston)
- Fix stub files [9aa5f387, 74cf49f5, 8b1eafe8, e392dd88, b5ea5fd7, 71758b09, 2a6dee5d] (Nicolas Grekas), (Michael Grunder)
- Update documentation [b64d93e1, 703d71b5, eba1c6d2, 0f502c9e, 130b5d0b, 21c3ef94, b7bf22d4, 50151e7a, b9950727, ab4ce4ab, 8d80ca5b, c4de8667, 6982941b, 375d093d, 43da8dd9, 71344612, b9de0b97, 2d8a8a44, a2b0c86f, e0b24be1, e609fbe8, c4aef956, df50b2ad, cc2383f0, 0dd2836f, 7d5db510, 99340889, 70a55f3e, b04684d4, 980ea6b1, bb06ffa3, b8679d7a, 854f3aa4, a5c47901, cf63e96e, f05ba819, 17db2328, 450904f7, 114f4d60, 142bddf0, 87fa36d6, 531177d4, ecf65144, 53d142d9, c14a9e3a, 72f8eb25, 872b6931] (Karina Kwiatek), (Nicolas Grekas), (Muhammad Dyas Yaskur), (sergkash7), (Dawid Polak), (Michael Grunder), (Yurun), (twosee), (Juha), (Till Kruss)
- Allow to pass null as iterator [14d121bb] (Pavlo Yatsukhnenko)
- Add NOMKSTREAM option to XADD command. [f9436e25] (Pavlo Yatsukhnenko)
- Don't allow reconnect on read response [5a269ab6] (Pavlo Yatsukhnenko)
- Reset multi/pipline transaction on pconnect close [0879770a] (Pavlo Yatsukhnenko)
- Use read_mbulk_header helper where possible [ca8b4c93] (Pavlo Yatsukhnenko)
- Allow to pass null as auth argument [41517753] (Pavlo Yatsukhnenko)
- Refactor redis_parse_client_list_response [68136a29, aaa4c91a, 1fb2935b, cf2c052c] (Pavlo Yatsukhnenko)
- Refactor subscribe/unsubscribe [3c9e159c] (Pavlo Yatsukhnenko)
- Change PHPREDIS_CTX_PTR type [de3635da] (Pavlo Yatsukhnenko)
- Refactor redis_parse_info_response [982bd13b] (Pavlo Yatsukhnenko)
- Allow IPv6 address within square brackets [c28ad7bb] (Pavlo Yatsukhnenko)
- Allow multiple field-value pairs for hmset command. [e858e8e3] (Pavlo Yatsukhnenko)
- Refactor MINIT and use @generate-class-entries in stub files [3675f442] (Remi Collet)
- Use spl_ce_RuntimeException [3cd5ac1e, a7e5ea64] (Remi Collet)
- Regenerate arginfo using 8.2.0 [a38e08da] (Remi Collet)
- Refactor client command [a8d10291] (Pavlo Yatsukhnenko)
- Pull COUNT/ANY parsing into a helper function [d67b2020] (Michael Grunder)
- Return false or NULL on empty lpos response [39a01ac7] (Michael Grunder)
- BLPOP with a float timeout [a98605f2, dc9af529] (Michael Grunder)
- Make sure we set an error for key based scans [98fda1b8] (Michael Grunder)
- Add back a default switch case for setoption handler [87464932] (Michael Grunder)
- Update stubs so the tests pass in strict mode [bebd398c] (Michael Grunder)
- Move where we generate our salt [d2044c9f] (Michael Grunder)
- Refactor XINFO handler [3b0d8b77] (Michael Grunder)
- Refactor and fix XPENDING handler [457953f4] (Michael Grunder)
- Refactor FLUSHDB and update docs. [54a084e5] (Michael Grunder)
- Add missing directed node command to docs and refactor stubs. [5ac92d25] (Michael Grunder)
- Refactor BITPOS and implement BIT/BYTE option. [4d8afd38] (Michael Grunder)
- INFO with multiple sections [44d03ca0] (Michael Grunder)
- Refactor SLOWLOG command [d87f1428] (Michael Grunder)
- Refactor SORT and add SORT_RO command [8c7c5a3a] (Michael Grunder)
- Use ZEND_STRL in redis_commands.c [78de25a3] (Pavlo Yatsukhnenko)
- Refactor PubSub command [2a0d1c1e] (Pavlo Yatsukhnenko)
- Refactor SLAVEOF handler [f2cef8be] (Michael Grunder)
- Refactor ACL command [504810a5] (Pavlo Yatsukhnenko)
- Use fast_zpp API [376d4d27] (Pavlo Yatsukhnenko)
- Fix XAUTOCLAIM response handler [0b7bd83f] (Michael Grunder)
- Refactor command command [ff863f3f] (Pavlo Yatsukhnenko)
- Refactor rawCommand and WAIT [79c9d224] (Michael Grunder)
- Refactor SELECT command [86f15cca] (Michael Grunder)
- Refactor SRANDMEMBER command. [f62363c2] (Michael Grunder)
- Refactor OBJECT command. [acb5db76] (Michael Grunder)
- Refactor gen_varkey_cmd [3efa59cb] (Michael Grunder)
- Refactor MGET command. [8cb6dd17] (Michael Grunder)
- Refactor INFO and SCRIPT commands. [3574ef08] (Michael Grunder)
- Refactor MSET and MSETNX commands. [6d104481] (Michael Grunder)
- Refactor HMSET command. [90eb0470] (Michael Grunder)
- Refactor PFCOUNT command. [19fd7e0c] (Michael Grunder)
- Refactor SMOVE command. [204a02c5] (Michael Grunder)
- Rework ZRANGE argument handling. [aa0938a4] (Michael Grunder)
- Refactor a couple more command methods. [5b560ccf, c8224b93, 40e1b1bf, ccd419a4] (Michael Grunder)
- Refactor HMGET command [bb66a547] (Michael Grunder)
- Refactor CLIENT command [77c4f7a3] (Pavlo Yatsukhnenko)
- Refactor redis_long_response [f14a80db] (Pavlo Yatsukhnenko)
- Synchronize Redis and RedisSentinel constructors [ebb2386e] (Pavlo Yatsukhnenko)
- Use redis_sock_connect on connect [f6c8b9c6] (Pavlo Yatsukhnenko)
- Auto-select db in redis_sock_server_open [6930a81c] (Pavlo Yatsukhnenko)
- Use on-stack allocated valiables [7a055cad] (Pavlo Yatsukhnenko)
- Add XAUTOCLAIM command [01f3342c] (Pavlo Yatsukhnenko)
- Add SYNC arg to FLUSHALL and FLUSHDB, and ASYNC/SYNC arg to SCRIPT FLUSH [750b6cf3] (Pavlo Yatsukhnenko)
- Add reset command [947a2d38] (Pavlo Yatsukhnenko)
- Add hRandField command [fe397371] (Pavlo Yatsukhnenko)
- Add PXAT/EXAT arguments to SET command. [0a160685] (Pavlo Yatsukhnenko)
- Add GETEX, GETDEL commands. [11861d95] (Pavlo Yatsukhnenko)
- Add FAILOVER command. [4b767be7] (Pavlo Yatsukhnenko)
- Backoff settings in constructor [e6b3fe54] (Pavlo Yatsukhnenko)
- Add the COUNT argument to LPOP and RPOP [df97cc35] (Pavlo Yatsukhnenko)
- Unsubscribe from all channels [0f1ca0cc] (Pavlo Yatsukhnenko)
- Add lPos command. [687a5c78] (Pavlo Yatsukhnenko)
- Add the ANY argument to GEOSEARCH and GEORADIUS [bf6f31e3] (Pavlo Yatsukhnenko)
- Add 'BIT'/'BYTE' modifier to BITCOUNT + tests [a3d2f131] (Michael Grunder)
- Add missing configureoption entries in package.xml [59053f10] (Michele Locati)
- Implement CONFIG RESETSTAT [239678a0] (Michael Grunder)
- SINTERCARD and ZINTERCARD commands [64300508] (Michael Grunder)
- LCS command [c0e839f6] (Michael Grunder)
- EXPIRETIME and PEXPIRETIME [f5b2a09b] (Michael Grunder)
- [B]LMPOP and [B]ZMPOP commands [6ea978eb] (Michael Grunder)
- Implement new RESTORE options [9a3fe401] (Michael Grunder)
- Add new Redis 6.2.0 XTRIM options [6b34d17f] (Michael Grunder)
- Implement AUTH/AUTH2 arguments for MIGRATE [114d79d1] (Michael Grunder)
- Implement CONFIG REWRITE [525958ea] (Michael Grunder)
- Implement Redis 7.0.0 [P]EXPIRE[AT] [options 872ae107] (Michael Grunder)
- Variadic CONFIG GET/SET [36ef4bd8, a176f586] (Michael Grunder)
- EVAL_RO and EVALSHA_RO [f3a40830] (Michael Grunder)
- Implement ZRANGESTORE and add ZRANGE options [71bcbcb9] (Michael Grunder)
- XGROUP DELCONSUMER and ENTRIESREAD [1343f500] (Michael Grunder)
- Expose the transferred number of bytes [e0a88b7b, 90828019, 7a4cee2d] (Pavlo Yatsukhnenko), (Michael Grunder)
- TOUCH command [dc1f2398] (Michael Grunder)
- Redis Sentinel TLS support [f2bb2cdb] (Pavlo Yatsukhnenko)
- Add the CH, NX, XX arguments to GEOADD [2bb64038, e8f5b517] (Pavlo Yatsukhnenko)
- Implement SMISMEMBER for RedisCluster [abfac47b] (Michael Grunder)
- Implement ssubscribe/sunsubscribe [7644736e] (Pavlo Yatsukhnenko)
- Implement BLMOVE and add LMOVE/BLMOVE to cluster. [121e9d9c] (Michael Grunder)
- Implement LPOS for RedisCluster [7121aaae] (Michael Grunder)
- Implement GEOSEARCH and GEOSEARCHSTORE for RedisCluster. [fa5d1af9] (Michael Grunder)
- Implement HRANDFIELD for RedisCluster [e222b85e] (Michael Grunder)
- Implement COPY for RedisCluster [40a2c254] (Michael Grunder)
- Implement new ZSET commands for cluster [27900f39] (Michael Grunder)
- Add cluster support for strict sessions and lazy write [b6cf6361] (Michael Grunder)
- Add function command [90a0e9cc] (Pavlo Yatsukhnenko)
- Add FCALL/FCALL_RO commands [7c46ad2c] (Pavlo Yatsukhnenko)
- Remove unused macroses [831d6118] (Pavlo Yatsukhnenko)
- eio 3.1.0
Fixed issue #19: Initialized new stack pointers introduced in PHP 8.3.0RC1+ - eio 3.0.1
Fixed issue #19: Initialized new stack pointers introduced in PHP 8.3.0RC1+ - datadog_trace 0.91.1
## Profiling ### Fixed - detect an uninitialized runtime cache #2250 - sqlsrv 5.11.1
Fixed - Reset type after bind param (#1452) - Fixed error when using PDO::ATTR_STRINGIFY_FETCHES (#1468) by SakiTakamachi - Change connection options to case insensitive (#1460) - Bugfix for 1465 Adding a NULL check (#1471)Limitations
- No support for inout / output params when using sql_variant type
- No support for inout / output params when formatting decimal values
- In Linux and macOS, setlocale() only takes effect if it is invoked before the first connection. Attempting to set the locale after connecting will not work
- Always Encrypted requires MS ODBC Driver 17+
- Only Windows Certificate Store and Azure Key Vault are supported. Custom Keystores are not yet supported
- Issue #716 - With Always Encrypted enabled, named parameters in subqueries are not supported
- Issue #1050 - With Always Encrypted enabled, insertion requires the column list for any tables with identity columns
- Always Encrypted limitations
Known Issues
- This release requires ODBC Driver 17.4.2 or above. Otherwise, a warning about failing to set an attribute may be suppressed when using an older ODBC driver.
- Connection pooling on Linux or macOS is not recommended with unixODBC < 2.3.7
- When pooling is enabled in Linux or macOS
- unixODBC <= 2.3.4 (Linux and macOS) might not return proper diagnostic information, such as error messages, warnings and informative messages
- due to this unixODBC bug, fetch large data (such as xml, binary) as streams as a workaround. See the examples here
- pdo_sqlsrv 5.11.1
Fixed - Reset type after bind param (#1452) - Fixed error when using PDO::ATTR_STRINGIFY_FETCHES (#1468) by SakiTakamachi - Change connection options to case insensitive (#1460) - Bugfix for 1465 Adding a NULL check (#1471)Limitations
- No support for inout / output params when using sql_variant type
- No support for inout / output params when formatting decimal values
- In Linux and macOS, setlocale() only takes effect if it is invoked before the first connection. Attempting to set the locale after connecting will not work
- Always Encrypted requires MS ODBC Driver 17+
- Only Windows Certificate Store and Azure Key Vault are supported. Custom Keystores are not yet supported
- Issue #716 - With Always Encrypted enabled, named parameters in subqueries are not supported
- Issue #1050 - With Always Encrypted enabled, insertion requires the column list for any tables with identity columns
- Always Encrypted limitations
Known Issues
- This release requires ODBC Driver 17.4.2 or above. Otherwise, a warning about failing to set an attribute may be suppressed when using an older ODBC driver.
- Connection pooling on Linux or macOS is not recommended with unixODBC < 2.3.7
- When pooling is enabled in Linux or macOS
- unixODBC <= 2.3.4 (Linux and macOS) might not return proper diagnostic information, such as error messages, warnings and informative messages
- due to this unixODBC bug, fetch large data (such as xml, binary) as streams as a workaround. See the examples here
- protobuf 3.24.3
* See github.com/protocolbuffers/protobuf/releases/tag/v24.3 for release notes. - amqp 2.1.0
- AMQPValue interface for custom value objects (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/issues/473) - Implement AMQPQueue::recover() to provide the basic.recover method (fixes #478) (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/issues/484) - Fix double free when an error occurs in AMQPQueue::consume() (Jan Prachar <jan.prachar@gmail.com>) (https://github.com/php-amqp/php-amqp/issues/482) - Revamp error handling (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/issues/485) - Refactor AMQPQueue::consume error handling (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/issues/483) - Use RETURN_THROWS for parameter parsing errors (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/issues/474) - Fix auto-formatting (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/commit/877b2f4) - Remove appveyor badge (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/commit/4971c80) - Replace microtime() as a randomness source (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/commit/4503e53) - Fix version test for release builds (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/commit/00a6715) - Remove non-ASCII characters from package.xml to work around pecl.php.net issue (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/commit/732f7e8) - Bump actions/checkout from 3.5.3 to 3.6.0 (dependabot[bot]) (https://github.com/php-amqp/php-amqp/issues/475) - Bump symplify/easy-coding-standard from 12.0.6 to 12.0.7 (dependabot[bot]) (https://github.com/php-amqp/php-amqp/issues/472) - Bump actions/checkout from 3.5.3 to 3.6.0 (dependabot[bot]) (https://github.com/php-amqp/php-amqp/issues/471) - Bump actions/checkout from 3.6.0 to 4.0.0 (dependabot[bot]) (https://github.com/php-amqp/php-amqp/issues/481)For a complete list of changes see: https://github.com/php-amqp/php-amqp/compare/v2.0.0...v2.1.0
- zstd 0.13.1
- add test script - gRPC 1.58.0
- gRPC Core 1.58.0 update - datadog_trace 0.91.0
This release adds an enhanced WordPress integration, which can be enabled through datadog.trace.wordpress_enhanced_integration=1 in INI. Even more extensive span collection can be enabled through datadog.trace.wordpress_callbacks=1.Added
- Add automated login events to Wordpress #2162
- Enhance the WordPress Integration #2126
- Implement agent sampling #2223
- Add Laravel 9.X & 10.X tests #2237
- Add http.route to laravel #2204 #2241
Fixed
- (Legacy OpenTracing API) Check if the active span has a parent #2177
- Handle killed workers and change root span initialization in the integrations #2176
- fix: add Symfony command's exception to the root span #2194
- Fix #2174: Can't pass less args to an untyped function than originally passed #2227, #2243
- Fix #2232: Add Cargo.lock to pecl #2233
- fix: wrong service name on some laravel.event.handle spans #2235
- fix: PHP7 compatibility in logs correlation #2236
- Store library_dependencies in memfd, referenced via /proc/self/fd/X DataDog/libdatadog#221
- fix
datadog-setup.php
when INI file is a symlink #2242 - update webpki and other dependencies #2247
Internal Changes
- Add log levels #2158
- Add
zai_option_str
and use it in config #2205, #2213 - Refactor zai_string_view APIs and use them more #2203
- Rename zai_string_view to zai_str #2206, #2207, #2212
- Require zai_str.ptr to not be null #2214
- Add zai_string and use it in zai_config #2217
- Fix tests: allocate less TLS space by putting uhook HashTables into module globals #2219
- Add sidecar metrics into their own namespace, fix seq id Datadog/libdatadog#220
Profiling
This release reduces CPU overhead to collect stacks, and also reduces overhead when services are idle or partially idle. It also reduces the average amount of memory used.
Added
- attach fiber's function name as a label #2169
Fixed
- enable allocation profiling only if profiling is enabled #2185
- enable timeline only if profiling is enabled and lower overhead when disabled #2189
- fix empty profiles with timeline due to
end_timestamp_ns
unit being set #2244
Internal changes
- perf: speed up stack walking by using function run_time_cache #1998, #2182
- perf: only wake every 10ms if PHP is serving a request #2168
- refactor: extract ZaiStringView::to_string #2175
- build: update Cargo.lock #2183
- refactor: simplify string tables #2186
- perf: use u32 instead of usize for string table indices #2187
- test: add DatadogProfilingtrigger_time_sample #2201
- build: Update to Rust 1.71 / LLVM 16 #2208
- Bump libdatadog to v3.0.0 #2210
- fix(profiling): clippy lints #2215
- style(profiler): use let-else syntax #2216
- build(profiling): bump dependencies including libdatadog v4.0.0 #2228
Application Security Management (0.13.1)
Added
- Add trusted IPs capability DataDog/dd-appsec-php#279
- Add extra_services configuration DataDog/dd-appsec-php#282
Fixed
- Ensure ddtrace is also enabled DataDog/dd-appsec-php#281
- Fix service name alias configuration DataDog/dd-appsec-php#293
Internal changes
- Add automated login events integration test for Laravel and Symfony DataDog/dd-appsec-php#270
- Upload suppressions and fix current ones DataDog/dd-appsec-php#280
- WAF upgrade to 1.13.1 Datadog/dd-appsec-php#292
- Send events even when limiter does not force manual keep Datadog/dd-appsec-php#290
- Update ruleset to 1.7.2 Datadog/dd-appsec-php#291
- xdebug 3.3.0alpha2
Wed, Sep 06, 2023 - Xdebug 3.3.0alpha2= Fixed bugs:
- Fixed issue #2200: PECL package file has wrong max PHP version number, and peclweb refuses the package
- zstd 0.13.0
- enable append mode of stream compression