Community News: Latest PECL Releases (11.23.2021)

Latest PECL Releases:

rdkafka 6.0.0RC1
## Enhancements

PHP 8.1 support (@ruudk, @remicollet, @nick-zh, @arnaud-lb)

Breaking changes

Added tentative return types in PHP 8.1 builds

rdkafka 5.0.1
## Enhancements
– Add pausePartitions(), resumePartitions() on RdKfaka, RdKafkaKafkaConsumer (#438, @arnaud-lb)
– Clarify error when KafkaConsumer is closed (@zoonru)


Fix windows build (#440, @nick-zh)
Fix crash in RdKafkaMetadataTopic::getTopic() (#465, @arnaud-lb)

gRPC 1.42.0
– gRPC Core 1.42.0 update
swoole 4.8.2
– Fixed memory leak of proc_open hook
– Fixed compatibility of curl native hook with PHP-8.0 and PHP-8.1
– Fixed connection cannot be closed normally in the Manager process
– Fixed Manager process cannot use sendMessage
– Fixed CoroutineHttpServer received abnormally large POST data parsing
– Fixed cannot exit directly when a fatal error occurs in PHP8 environment
– Adjust coroutine max_concurrency option, only allowed to be used in Co::set()
– Adjust Coroutine::join() to ignore non-exists coroutine
imagick 3.6.0
– No change from 3.6.0RC2
phalcon 5.0.0alpha7
Full changelog can be found at:


Changes to the PhalconAcl:
Renamed PhalconAclComponentAware to PhalconAclComponentAwareInterface

Renamed PhalconAclRoleAware to PhalconAclRoleAwareInterface #15691

Changed require to require_once in PhalconLoader to avoid conflicts with other loaders #15489

Changed require to require_once in PhalconCliConsole and PhalconMvcApplication for a bit of extra performance #15489

PhalconCollection has been moved under the Support namespace:
Renamed PhalconCollection to PhalconSupportCollection

Renamed PhalconCollectionException to PhalconSupportCollectionException

Renamed PhalconCollectionReadOnly to PhalconSupportCollectionReadOnly

Renamed PhalconCollection to PhalconSupportCollection #15700

Changes to PhalconSessionBag:
Changed PhalconSessionBag::construct to accept a container instead of internally calling the default
Changed PhalconSessionBag::construct to throw an exception if the container is not specified
Changed PhalconSessionBag::init to store the data in the session #15494

Changed PhalconEventsEvent::construct() to allow source to be nullable #15133

Changes to PhalconCrypt

Moved PhalconCryptException to PhalconCryptExceptionException

Moved PhalconCryptMismatch to PhalconCryptExceptionMismatch

Changed the ccm/gcm modes to store the authTag with the encryption string and process it with the decryption string #15717

Created new namespace PhalconEncryption

Moved PhalconCrypt to PhalconEncryptionCrypt

Moved PhalconSecurity to PhalconEncryptionSecurity

Moved the whole Security namespace under Encryption

SecurityJWTExceptionsUnsupportedAlgorithmException to EncryptionSecurityJWTExceptionsUnsupportedAlgorithmException

SecurityJWTExceptionsValidatorException to EncryptionSecurityJWTExceptionsValidatorException

SecurityJWTSignerAbstractSigner to EncryptionSecurityJWTSignerAbstractSigner

SecurityJWTSignerHmac to EncryptionSecurityJWTSignerHmac

SecurityJWTSignerNone to EncryptionSecurityJWTSignerNone

SecurityJWTSignerSignerInterface to EncryptionSecurityJWTSignerSignerInterface

SecurityJWTTokenAbstractItem to EncryptionSecurityJWTTokenAbstractItem

SecurityJWTTokenEnum to EncryptionSecurityJWTTokenEnum

SecurityJWTTokenItem to EncryptionSecurityJWTTokenItem

SecurityJWTTokenParser to EncryptionSecurityJWTTokenParser

SecurityJWTTokenSignature to EncryptionSecurityJWTTokenSignature

SecurityJWTTokenToken to EncryptionSecurityJWTTokenToken

SecurityJWTBuilder to EncryptionSecurityJWTBuilder

SecurityJWTValidator to EncryptionSecurityJWTValidator

SecurityJWTValidator to EncryptionSecurityJWTValidator

SecurityException to EncryptionSecurityException

SecurityRandom to EncryptionSecurityRandom #15729


PhalconCryptCrypt::getHashAlgo() to PhalconCryptCrypt::getHashAlgorithm()

PhalconCryptCrypt::getAvailableHashAlgos() to PhalconCryptCrypt::getAvailableHashAlgorithms()

PhalconCryptCrypt::setHashAlgo() to PhalconCryptCrypt::setHashAlgorithm() #15717

Renamed PhalconFactoryAdapterFactory::getAdapters() to PhalconFactoryAdapterFactory::getServices() #15717

Changed PhalconCryptCrypt::__construct() to have useSigning set to true by default #15717

Changes to PhalconConfig

Moved PhalconConfig to PhalconConfigConfig

Changed PhalconConfigConfig::path by making the delimiter parameter a string

Changed PhalconConfigAdapterIni::__construct to not accept null as the mode. The default is now INI_SCANNER_NORMAL (2)
Refactored the code for more efficiency and speed #15720

Changed PhalconDbAdapterAdapterInterface::getInternalHandler() and PhalconDbAdapterPdoAbstractPdo::getInternalHandler() to return var instead of PDO for custom adapters with different engines #15119

Moved PhalconFilter to PhalconFilterFilter; added more tests #15726

Changed PhalconMvcModel::getPreparedQuery() to return QueryInterface instead of Query #15562

Moved PhalconCache to PhalconCacheCache #15728

Changed PhalconFactoryAdapterFactory to define the factory exception in getExceptionClass() instead of a property. #15728

Renamed PhalconDbAdapterAbstractAdapter::getSqlVariables() to PhalconDbAdapterAbstractAdapter::getSQLVariables() to align with the rest of the getSQL* methods #15637

Moved PhalconLogger to PhalconLoggerLogger #15727

Changes to PhalconEscaper

Moved PhalconEscaper to PhalconHtmlEscaper

Moved PhalconEscaperEscaperInterface to PhalconHtmlEscaperEscaperInterface

Moved PhalconEscaperException to PhalconHtmlEscaperException

Deprecated methods (to be removed at a future version)

escapeCss() becomes css()

escapeJs(), becomes js()

escapeHtml() becomes html()

escapeHtmlAttr() becomes attributes()

escapeUrl() becomes url()

setHtmlQuoteType() becomes setFlags() #15757

Changed PhalconEncryptionSecurity::hash() to also use password_hash() and accept ARGON2* algorithms #15731

Removed uncamelize of realClassName in PhalconMvcRouterRoute::getRoutePaths() if definition is string to make processing same as if array definition #15067

Changed PhalconValidation::getValue() behavior to get value from data if not found in entity. #14203

Changed PhalconFormsForm::isValid() signature: added whitelist argument. #14203

Changed PhalconSupportCollectionReadOnly to PhalconSupportCollectionReadOnlyCollection to avoid conflicts with the read-only feature in PHP 8.1 #15767

Removed PhalconText – replaced by PhalconSupportHelperStr* #15776

Removed PhalconHelperArr – replaced by PhalconSupportHelperArr* #15776

Removed PhalconHelperFile – replaced by PhalconSupportHelperFile* #15776

Removed PhalconHelperJson – replaced by PhalconSupportHelperJson* #15776

Removed PhalconHelperNumber – replaced by PhalconSupportHelperNumber* #15776

Removed PhalconHelperStr – replaced by PhalconSupportHelperStr* #15776

Removed references to PhalconText, PhaconHelper* from the code replacing it with PhalconSupportHelper* #15776

Synchronized tests with phalcon/phalcon thus increasing coverage #15776

Changed PhalconAssetsManager to require a PhalconHtmlTagFactory in its constructor #15776


Added more tests in the suite for additional code coverage #15691

Added PhalconEventsAbstractEventsAware class to handle the Events Manager when necessary #15691

Added PhalconAclAdapterAdapterInterface::getInheritedRoles() and PhalconAclAdapterMemory::getInheritedRoles() that returns the inherited roles based on a passed role name (or all if no parameter supplied) #15154

Changes to PhalconCrypt

Added PhalconCryptPaddingPadInteface and padding adapters









Added PhalconCryptPadFactory to easily create padding adapters
Added more tests increasing coverage #15717

Added PhalconCacheAdapter*::setForever() and PhalconStorageAdapter*::setForever() to allow storing a key forever #15485

Added PhalconEncryptionSecurity::getHashInformation() to return information for a hash #15731

Added constants PhalconEncryptionSecurity::CRYPT_ARGON2I and PhalconEncryptionSecurity::CRYPT_ARGON2ID #15731

Added allowEmpty checks to common validators #15515

Added PhalconFormsForm::getFilteredValue() to get filtered value without providing entity #15438

Added PhalconFormsForm::setWhitelist() and PhalconFormsForm::getWhitelist() #14203

Added dirtyState serialization in PhalconMvcModel #15571

Added short versions of helpers for PhalconHtmlTagFactory (call service as a method) #15776

Added short versions of helpers for PhalconSupportHelperFactory (call service as a method) #15776

Added PhalconHtmlHelperDoctype helper for doctype generation #15776

Added style or link tag option for PhalconHtmlHelperStyle #15776


Fixed Query::getExpression() return type #15553

Fixed PhalconMvcModel::getRelated() to correctly return relationships (cached or not) when the foreign key has changed #15649

Fixed PhalconDbAdapterPdo*, PhalconMvcModel and PhalconMvcModelMetaDataStrategyAnnotations to treat BIGINT numbers as string #15632

Fixed PhalconCryptCrypt::decrypt() to correctly calculate the hash when using signed mode #15717

Fixed PhalconMvcModelManager::isVisibleModelProperty() to correctly check if setting property is visible #15276

Fixed PhalconConfigConfig::merge to retain numeric indexes in deep merges #14705

Fixed globals (Zephir change) to correctly display string values for global settings in phpinfo() #15269

Fixed PhalconStorageAdapterRedis::getAdapter() and PhalconCacheAdapterRedis::getAdapter() to accept the connection timeout in the constructor options #15744

Fixed PhalconDbAdapterAbstractAdapter::getSQLVariables() to return an empty array when initialized #15637

Fixed PhalconCacheAdapter* and PhalconStorageAdapter* to delete a key when set() is called with a zero or negative TTL #15485

Fixed PhalconDbAdapterPdoMysql to not use PDO::ATTR_EMULATE_PREPARES and PDO::ATTR_STRINGIFY_FETCHES by default. This allows numbers to be returned with resultsets instead of strings for numeric fields #15361

Fixed PhalconValidationValidatorFile to use messageFileEmpty #14928

Fixed PhalconDbRawValue usage bugs in PhalconMvcModel::doLowUpdate() #15413

Fixed type attribute for stylesheet links #15776

Fixed PhalconDebug to not throw an exception if a URL service is not present #15381


Removed PhalconKernel – obsolete #15776

redis 5.3.5RC1
phpredis 5.3.5RC1

This release adds support for exponential backoff w/jitter, experimental
support for detecting a dirty connection, as well as many other fixes
and improvements.

You can find a detailed list of changes in and package.xml
or by inspecting the git commit logs.

— Sponsors —

Audiomack –
Open LMS –
BlueHost –
Object Cache Pro for WordPress –
Avtandil Kikabidze –
Zaher Ghaibeh –
BatchLabs –
Luis Zarate –

Fixed segfault in redis_setoption_handler [692e4e84] (Pavlo Yatsukhnenko)

Fix masters array in the event of a cluster failover [bce692962] (Bar Shaul)

Fix 32 bit type error [672dec87f] (Remi Collet)

Fix radix character in certain locales [89a871e24] (Pavlo Yatsukhnenko)

ZSTD Validation fix [6a77ef5cd] (Michael Grunder)

Remove superfluous typecast [b2871471f] (Remi Collet)

Updated documentation [f84168657, d017788e7, 20ac84710, 0adf05260,
aee29bf73, 09a095e72, 12ffbf33a, ff331af98, a6bdb8731, 305c15840,
1aa10e93a, d78b0c79d, c6d37c27c, a6303f5b9, d144bd2c7, a6fb815ef, 9ef862bc6]
(neodisco, Clement Tessier, T. Todua, dengliming, Maxime Cornet,
Emanuele Filannino Michael Grunder)

Travis CI Fixes
[a43f4586e, 4fde8178f, 7bd5415ac, fdb8c4bb7, d4f407470]
(Pavlo Yatsukhnenko)

Minor fixes/cleanup
[2e190adc1, 99975b592, 9d0879fa5, 22b06457b]
(Pavlo Yatsukhnenko)

Fix RedisArray constructor bug
(Pavlo Yatsukhnenko)

Moved to GitHub Actions
[4d2afa786, 502d09fd5] (Pavlo Yatsukhnenko)

Use more appropriate array iteration macro
[6008900c2] (Pavlo Yatsukhnenko)

Clean up session tests
[ab25ae7f3] (Michael Grunder)

RedisArray refactors [1250f0001, 017b2ea7f, 37ed3f079]
(Pavlo Yatsukhnenko)

Use zend_parse_parameters_none helper
[a26b14dbe] (Remi Collet)

Support for various exponential backoff strategies
[#1986, #1993, 732eb8dcb, 05129c3a3, 5bba6a7fc],
(Nathaniel Braun)

Added experimental support for detecting a dirty connection
[d68579562] (Michael Grunder)

Created distinct compression utility methods (pack/unpack)
[#1939, da2790aec] (Michael Grunder)

[#1894, ae2382472, ed283e1ab] (Pavlo Yatsukhnenko)
Read More