
The Coding Studio Inc. Tips
Community News: Latest PECL Releases (09.12.2023)
Published: 2023-09-12
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