
The Coding Studio Inc. Tips
Community News: Latest PECL Releases (08.22.2023)
Published: 2023-08-22
Latest PECL Releases:mailparse 3.1.6 - fix #29 Segmentation fault with ISO-2022-JP Subject header fix #30 Segmentation fault with UTF-8 encoded X-MS-Iris-MetaData header revert fix #81403 mailparse_rfc822_parse_addresses drops escaped quotes couchbase 4.1.5 PCBC-939: Support query with read from replica. (#118) PCBC-831: Implement search index management. (#115) PCBC-945: Expose expiry options for increment/decrement. (#120) PCBC-937: Fix `removeMulti`, which didn't remove documents. (#123) PCBC-938: Override exception constructor in PHP Extension, which allows to initialize context in derived classes. (#117) PCBC-940: Support for subdoc read from replica. (#121) PCBC-884: Support for Native KV range scans. (#122, #127) Notable changes in core C++ CXXCBC-333: Fix parsing resolv.conf on Linux (#416) CXXCBC-335: Log connection options (#417) CXXCBC-343: Continue bootsrap if DNS-SRV resolution fails (#422) CXXCBC-242: SDK Support for Native KV Range Scans (#419, #423, #424, #428, #431, #432, #433, #434, #426) CXXCBC-339: Disable older TLS protocols (#418) amqp 2.0.0 Notable changes: Fix various API oddities, see https://github.com/php-amqp/php-amqp/tree/v2.0.0/UPGRADING.md for details Remove support for PHP 5 Various bug fixes ????Most use-cases should not require much changes from 1.x but check out https://github.com/php-amqp/php-amqp/tree/v2.0.0/UPGRADING.md for a detailed upgrade guide All changes (chronologically): CentOS development environment (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/issues/467) Ubuntu development containers (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/issues/466) Test against upcoming PHP 8.3 (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/issues/465) Make test host configurable (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/issues/464) Cosmetics on type functions (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/commit/350202f) Configurable serialization/deserialization depth (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/issues/463) Allow bitmask flags arguments to be nullable where previously AMQP_NOPARAM/zero was required (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/issues/462) Fix generated commit URLs in changelogs (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/commit/4ee6159) Handle nested AMQP value serialization/deserialization (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/issues/461) Document lack of reliability of AMQPConnection::isConnected (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/issues/306) Prevent reuse of channel ID of broken channels (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/issues/460) Gracefully handle zero as a heartbeat value (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/issues/459) Build with the clang compiler on CI (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/issues/457) Include stdint.h for PHP >= 8.0 on Windows (Jan Ehrhardt) (https://github.com/php-amqp/php-amqp/issues/456) Fix segfault in setPort (Remi Collet <remi@remirepo.net>) (https://github.com/php-amqp/php-amqp/issues/455) Document BC changes (Lars Strojny <lars@strojny.net>) Document pseudo-bool method changes (Lars Strojny <lars@strojny.net>) Fix mangled header on MacOS (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/issues/60) Validate argument parsing, add AMQPExchange::removeArgument() and AMQPQueue::removeArgument() (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/issues/452) Skip SSL tests if certificates are missing (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/issues/450) Check coding style and formatting of stub files (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/issues/447) Parallelize test execution (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/issues/444) Deterministic configuration for PHP CLI (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/issues/443) Fix tag creation during release management (Lars Strojny <lars@strojny.net>) Move test-report.sh into infra (Lars Strojny <lars@strojny.net>) The big fat API renovation (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/issues/437) Handle alpha/beta stability correctly (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/issues/5546436) Expose better version information (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/issues/438) Auto-format the codebase (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/issues/436) More consistent return types for AMQPEnvelope (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/issues/435) Update stubs (Lars Strojny <lars@strojny.net>) Fix parameter error handling in AMQPConnection and AMQPChannel (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/issues/434) Increase credentials and identifier limits (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/issues/433) Reliably clear consumer tag on AMQPQueue::cancel (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/issues/432) Ignore failures on experimental builds (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/issues/25) Update branch name (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/issues/7) Bump shivammathur/setup-php from 2.25.3 to 2.25.4 (dependabot[bot]) (https://github.com/php-amqp/php-amqp/issues/431) PHP 8.2 refactorings (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/issues/430) Fix php version check for static building (Misha Kulakovsky <m@klkvsk.ru>) (https://github.com/php-amqp/php-amqp/issues/425) Fix stub exception class (closes #427) (Lars Strojny <lars@strojny.net>) Document custom connection name in stubs (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/issues/700000) Expose Delivery Mode through constants (FlA?vio Heleno <flaviohbatista@gmail.com>) (https://github.com/php-amqp/php-amqp/issues/420) Fix deprecation issue in PHP 8.1 for $consumerTag argument to AMQPQueue::consume() method (Liviu-Ionut Iosif) (https://github.com/php-amqp/php-amqp/issues/421) Fix: Deprecated: Creation of dynamic property (8.2) (Remi Collet <remi@remirepo.net>) (https://github.com/php-amqp/php-amqp/issues/418) Fix AMQPEnvelope::getDeliveryTag() return type (FlA?vio Heleno <flaviohbatista@gmail.com>) (https://github.com/php-amqp/php-amqp/issues/415) Fix ack/nack/reject param documentation (FlA?vio Heleno <flaviohbatista@gmail.com>) (https://github.com/php-amqp/php-amqp/issues/414) Mention time units in all timeout-related methods (Andrii Dembitskyi <andrew.dembitskiy@gmail.com>) (https://github.com/php-amqp/php-amqp/issues/410) For a complete list of changes see: https://github.com/php-amqp/php-amqp/compare/v1.11.0...v2.0.0 redis 6.0.0RC2 --- 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.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 Kr?ss) 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 Kr?ss) 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) protobuf 3.24.1 * See github.com/protocolbuffers/protobuf/releases/tag/v24.1 for release notes. mongodb 1.16.2 ** Bug * [PHPC-2265] - Possible deadlock when querying during a MongoDB node restart * [PHPC-2268] - Remove duplicate call to bson_iter_key in BSONIterator::key ** Task * [PHPC-2258] - Upgrade libmongoc to 1.24.2 * [PHPC-2263] - Detect XSI or GNU strerror_r() implementation during build process * [PHPC-2270] - Define constants for POSIX features and extensions used by libmongoc 1.24 * [PHPC-2271] - Upgrade libmongoc to 1.24.3 amqp 2.0.0RC1 - Handle nested AMQP value serialization/deserialization (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/issues/461) - Document lack of reliability of AMQPConnection::isConnected (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/issues/306) - Prevent reuse of channel ID of broken channels (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/issues/460) - Gracefully handle zero as a heartbeat value (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/issues/459) - Build with the clang compiler on CI (Lars Strojny <lars@strojny.net>) (https://github.com/php-amqp/php-amqp/issues/457) For a complete list of changes see: https://github.com/php-amqp/php-amqp/compare/v2.0.0beta2...v2.0.0RC1 phalcon 5.3.0 Full changelog can be found at: https://github.com/phalcon/cphalcon/blob/master/CHANGELOG-5.0.md Added Added PhalconMvcModel::appendMessagedFrom for code consistency and to add messages from another model #16391 Added PhalconAutoloadLoader::isRegistered for debugging purposes #16391 Added PhalconMvcModelMetadata::initializeMetadata [#16393] (https://github.com/phalcon/cphalcon/issues/16393) Added PhalconMvcModelMetadata::getMetaDataUniqueKey [#16393] (https://github.com/phalcon/cphalcon/issues/16393) Added PhalconMvcModelMetadata::getColumnMapUniqueKey [#16393] (https://github.com/phalcon/cphalcon/issues/16393) Added PhalconEncryptionSecurityJWTBuilder::addHeader() to allow adding custom headers #16396 Changed Refactored PhalconMvcModel::doLowUpdate and PhalconMvcModel::postSaveRelatedRecords for better code logic and a clearer separation of behaviour, although it lead to partially repeated code. #16391 Cleaned PhalconMvcModelMetadata::initialize [#16393] (https://github.com/phalcon/cphalcon/issues/16393) Fixed Parse multipart/form-data from PUT request #16271 Set Dynamic Update by default system-wide #16343 Fixed memory leak in Micro application #16404