Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

Community News:
Latest PECL Releases (11.23.2021)
Nov 23, 2021 @ 08:05:09

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: https://github.com/phalcon/cphalcon/blob/master/CHANGELOG-5.0.md


    • 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
    • Renamed
    • 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
    • PhalconCryptPaddingAnsi
    • PhalconCryptPaddingIso10126
    • PhalconCryptPaddingIsoIek
    • PhalconCryptPaddingNoop
    • PhalconCryptPaddingPadInterface
    • PhalconCryptPaddingPkcs7
    • PhalconCryptPaddingSpace
    • PhalconCryptPaddingZero
    • 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 Changelog.md and package.xml or by inspecting the git commit logs.

    --- 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

    • 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 85dc883ba (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)

    • SMISMEMBER Command [#1894, ae2382472, ed283e1ab] (Pavlo Yatsukhnenko)



Trending Topics: