All notable changes of the CompatInfoDB 3 release series will be documented in this file. This project adheres to Semantic Versioning, using the Keep a CHANGELOG principles.
3.18.0 - 2022-01-22
- PHP 8.1.2 support
- PHP 8.0.15 support
- new environment variable
APP_VENDOR_DIR
that identifyvendor
directory (auto-detection) bin/compatinfo-db
is made available into thebin-dir
(from composer config)- new command
db:create
to setup database and load its contents (replaces composer script initialization anddb:init
command)
- Igbinary reference updated to version 3.2.7 (stable)
- Lzf reference updated to version 1.7.0 (stable)
- Msgpack reference updated to version 2.2.0RC1 (beta)
- Rdkafka reference updated to version 6.0.0 (stable)
- Redis reference updated to version 5.3.6 (stable)
- add composer config platform, following @remicollet suggestion
- PHAR distribution compiled with box-project included now latest
data
references to be able to create external database
- drop support of Composer v1
symfony/phpunit-bridge
dependency (only used bydoctor --with-tests
command)- drop support of Doctrine DBAL v2, and raise minimum constraint to 3.2 to satisfy Deprecated `AbstractPlatform::getName()
- drop support of
composer/semver
v1 and v2 - drop support of PECL
xmlrpc
extension (PHP 8.0 or greater)
- #109 Class constants not well detected
3.17.0 - 2022-01-05
-
.github/workflows/gh-pages.yml
workflow to generate dynamically UML graphs for documentation -
Composer 2.2 compatibility for plugins
-
Support Typed properties features, now minimum PHP requirement is 7.4
Read more about this feature at :
- drop support for PHP 7.3 has ended 6th December 2021.
Bartlett\CompatInfoDb\Presentation\Console\ApplicationInterface::VERSION
constant that identify current version of Application- deprecated / End Of Life composer plugin
composer/package-versions-deprecated
, and use Composer 2.2 (LTS) equivalent feature
3.16.1 - 2021-12-19
3.16.0 - 2021-12-19
- PHP 8.1.1 support
- PHP 8.0.14 support
- PHP 7.4.27 support
- Amqp reference updated to version 1.11.0 (stable)
- Rdkafka reference updated to version 6.0.0RC2 (beta)
- Redis reference updated to version 5.3.5 (stable)
- Xdebug reference updated to version 3.1.2 (stable)
- Yac reference updated to version 2.3.1 (stable)
- moved Doctrine ORM
cli-config.php
file from root folder toconfig/
directory (more sense)
3.15.0 - 2021-12-01
- PHP 8.1.0 support
- Ast reference updated to version 1.0.16 (stable)
- Rdkafka reference updated to version 5.0.2 (stable)
- drop support of PHP 7.2
3.14.0 - 2021-11-22
- PHP 7.3.33 support
- PHP 7.4.26 support
- PHP 8.0.13 support
- Imagick reference updated to version 3.6.0 (stable)
- Rdkafka reference updated to version 6.0.0RC1 (beta)
- Redis reference updated to version 5.3.5RC1 (beta)
- PHAR manifest is now included into the
.phar
file and.box.metadata.cache
is only a cache file as it should be. See Box issue box-project/box#576 for info.
- file
config/container.php
replaced bysrc/Infrastructure/Framework/Symfony/DependencyInjection/ContainerFactory.php
- PHAR distribution with
box
compile command
3.13.0 - 2021-11-01
- PHP 7.3.32 support
- Xlswriter reference updated to version 1.5.1 (stable)
3.12.0 - 2021-10-26
- PHP 8.0.12 support
- PHP 7.4.25 support
- APCu reference updated to version 5.1.21 (stable)
- Uploadprogress updated to version 2.0.2 (stable)
- Xdebug reference updated to version 3.1.1 (stable)
- Xlswriter reference updated to version 1.5.0 (stable)
- Yaml reference updated to version 2.2.2 (stable)
- Zip reference updated to version 1.20.0 (stable)
- Add DBAL3 support (through doctrine/orm 2.10+) : remove calls to
Driver::getName()
- Add DBAL3 support (through doctrine/orm 2.10+) : remove calls to
Result::fetchColumn()
- #88 : OPENSSL_SSLV23_PADDING is optional
3.11.0 - 2021-09-25
- PHP 8.0.11 support
- PHP 7.4.24 support
- PHP 7.3.31 support
- http reference updated to version 4.2.1 (stable)
- mailparse reference updated to version 3.1.2 (stable)
- Xhprof reference updated to version 2.3.5 (stable)
- Zip reference updated to version 1.19.4 (stable)
3.10.0 - 2021-08-28
- Mega-Linter support as QA tool to avoid technical debt
- PHP 8.0.10 support
- PHP 7.4.23 support
- PHP 7.3.30 support
- Igbinary reference updated to version 3.2.6 (stable)
- Xhprof reference updated to version 2.3.4 (stable)
3.9.0 - 2021-07-31
uuid
extension supportxlswriter
extension support- EXPERIMENTAL support to PHP 8.1.x-dev
- PHP 8.0.9 support
- PHP 7.4.22 support
db:list
command show unsupported extensionsdb:list
command result can be filtered on extension type (bundle, pecl)db:list
command result can be filtered on extension name- Disable symfony deprecation warnings in PHPUnit tests
- Ast reference updated to version 1.0.14 (stable)
- Igbinary reference updated to version 3.2.4 (stable)
- Imagick reference updated to version 3.5.1 (stable)
- drop support of haru extension not maintained since 2012 (only PHP 5 compatible)
- drop support of htscanner extension not maintained since 2012 (only PHP 5 compatible)
- drop support of inclued extension not maintained since 2012 (only PHP 5 compatible)
- drop support of libevent extension not maintained since 2013 (only PHP 5 compatible)
- drop support of pdflib extension not maintained since 2019 (only PHP 5 compatible)
- drop support of pthreads extension not maintained since 2016
- drop support of riak extension not maintained since 2014 (only PHP 5 compatible)
- drop support of sphinx extension not maintained since 2015 (only PHP 5 compatible)
3.8.0 - 2021-07-06
- PHP 8.0.8 support
- PHP 7.4.21 support
- PHP 7.3.29 support
- Xhprof reference updated to version 2.3.3 (stable)
3.7.1 - 2021-06-28
doctor
command is now able to display library versions of the current platform in the PHP dependencies summary section
- #78 Zip reference (thanks to @remicollet for reporting)
- #79 Imagick reference (thanks to @remicollet for reporting)
3.7.0 - 2021-06-24
- PHP 8.0.7 support
- PHP 7.4.20 support
- ability to display dependency constraints on each extension with the
db:show
command - display PHP version of each function parameters with the
db:show <extenion> --functions
command - summary on
doctor
command (with status code 0: OK, 1:dependency constraint failures, 2:test failures, 3:dependency and test failures)
- Ast reference updated to version 1.0.12 (stable)
- Igbinary reference updated to version 3.2.3 (stable)
- Imagick reference updated to version 3.5.0 (stable)
- Mcrypt reference bundled with PHP before 7.2.0 is now compatible with PECL version 1.0.0 or greater
- Zip reference updated to version 1.19.3 (stable)
- Use
symfony/cache
implementation rather thandoctrine/cache
where driver implementations were removed in 2.0x (see https://github.com/doctrine/cache/blob/2.0.x/UPGRADE-1.11.md)
3.6.0 - 2021-05-13
- PHP 8.0.6 support
- PHP 7.4.19 support
- new
Dependencies
column indb:show
command output that will display librairies dependency constraints - new
doctor
command to help to debug issues by checking current installation
- Xhprof reference updated to version 2.3.2 (stable)
- ClassHydrator to handle dependencies
- #75 tests failure (thanks to @remicollet for reporting)
3.5.0 - 2021-05-03
- PHP 8.0.5 support
- PHP 7.4.18 support
- PHP 7.3.28 support
- Support to rdkafka extension (Kafka client based on librdkafka)
- new
db:build
command for developers only (usingAPP_ENV=dev
) to generate JSON files to add a new extension - add shortcut to option
all
of commanddb:list
flags
property in Class/Function entities to identify (public/protected/private methods, abstract, final, static classes/methods)- With new
flags
column,db:show <extension> --methods
command is now able to display when method is abstract (A), final (F) or static (S)
Caution DB structure changed
- Ast reference updated to version 1.0.11 (stable)
- Http reference updated to version 4.1.0 (stable)
- Igbinary reference updated to version 3.2.2 (stable)
- Mcrypt reference updated to version 1.0.4 (stable) for PHP 7.2.0 or greater
- Redis reference updated to version 5.3.4 (stable)
- Sync reference updated to version 1.1.2 (stable)
- Wddx was unbundled from PHP since version 7.4.0
- Xdebug reference updated to version 3.0.4 (stable)
- Xhprof reference updated to version 2.3.1 (beta)
- Clean-up JSON files by removing static (false) definition that is the default
As support to PHP 5 was dropped in release 2.0.0, we removed following extensions :
- apc
- ereg
- mhash
- mongo
- mysql
- sqlite
Some other extensions have support limited :
- wddx (PHP 5.2 to PHP 7.3), see https://wiki.php.net/rfc/deprecate-and-remove-ext-wddx
-
#70 test failure for pcre extension (thanks to @remicollet for reporting)
-
#72 Checks that elements available in extension are define in Reference
-
#73 Wrong static property in JSON files did not fail unit tests
-
Bartlett\CompatInfoDb\Infrastructure\Persistence\Doctrine\Repository\ConstantRepository::getConstantByName
when name is lowercase -
Wrong assertion in
Bartlett\CompatInfoDb\Tests\Reference\GenericTest::provideReferenceValues
aboutext.min
property -
Json reference version related to specific rules (see ExtensionVersionProviderTrait)
-
Warning :
enchant_dict_add_to_personal
: Alias of enchant_dict_add is DEPRECATED as of PHP 8.0.0enchant_dict_is_in_session
: Alias of enchant_dict_is_added is DEPRECATED as of PHP 8.0.0
3.4.2 - 2021-03-13
- Autoloader regression when using this dependency in another project like php-compatinfo
3.4.1 - 2021-03-13
CAUTION: uses config/bootstrap.php
to apply autoloader and initialize environment variables (APP_ENV
and APP_PROXY_DIR
)
- #69 Proxy files management is broken (thanks to @remicollet for reporting)
3.4.0 - 2021-03-12
- Autogenerate Doctrine proxy files.
- Sets environment variable
APP_PROXY_DIR
to defines the directory where Doctrine generates any proxy classes. - Default is
/tmp/bartlett/php-compatinfo-db/<VERSION>/proxies
(withVERSION
current application version)
- Sets environment variable
3.3.0 - 2021-03-09
- PHP 7.4.16 support
- PHP 8.0.3 support
- Add progress flag on
db:init
command to display a progress bar only on demand (for slow system) - Use PHPStan for static analysis in Github Actions Workflows
- Use the
ramsey/composer-install
action to install dependencies - APCu reference updated to version 5.1.20 (stable)
- Ssh2 reference updated to version 1.3.1 (beta)
- Xdebug reference updated to version 3.0.3 (stable)
- #66 oci8 test failure
- The flags parameter of
preg_replace_callback
was added in PHP 7.4.0
3.2.0 - 2021-02-09
- new repositories for easy access of single elements (class, interface, method, function, constant)
- PHP 7.3.27 support
- PHP 7.4.15 support
- PHP 8.0.2 support
- DB optimization: removed all empty (blank) properties by NULL value
- Redis reference updated to version 5.3.3 (stable)
- #65 Make the database compatible with all PHP versions
Because Doctrine ORM v2 has following issue
- 7598 Unable to create a proxy for a final class
we removed
final
keyword from Persistence Entity Objects
3.1.1 - 2021-01-20
- Xmldiff reference updated to version 1.1.3 (stable)
Thanks to @remicollet to reported all this four issues:
- #61 Keep Symfony 4.4 Backward Compatibility
- #62 OCI8 reference issue
- #63 http reference issue
- #64 xmlrpc reference issue
3.1.0 - 2021-01-09
- PHP 7.3.26 support
- PHP 7.4.14 support
- PHP 8.0.1 support
- replaced
return 0
byreturn Command::SUCCESS
andreturn 1
byreturn Command::FAILURE
in Console commands
- assure application version used when initializing platforms and displaying them
3.0.2 - 2021-01-06
- bump new Application version
- clean-up old component from v2.x
3.0.1 - 2021-01-06
- clean-up duplicated Odbc unit tests available both in PhpBundle and PhpPecl (keep PhpBundle)
- reorganizes test suites main list to allow suite filter feature of PHPUnit
- bump new year in LICENSE file
- removes
humbug/box
dependency - initializes SQLite database when invoking
composer install
orcomposer update
commands - Xdebug reference updated to version 3.0.2 (stable)
- Yac reference updated to version 2.3.0 (stable)
3.0.0 - 2020-12-29
- PHP 7.3.24 and 7.3.25 support
- PHP 7.4.12 and 7.4.13 support
- Doctrine ORM to support more Back-End than just native SQLite3, and handle domain of DDD architecture
- #49 PHP 8.0 support
- #52 Configuration - read it from a compatible PSR11 container
- #59 Phar distribution automated create/update with composer
- removed
bartlett:
namespace prefix and all commands - new
bartlett:db:release
command combines oldbartlett:db:release:php
andbartlett:db:publish:php
commands that were removed - #50 Dependency-Injection with Symfony component
replace old
ContainerService
that was introduced in version 2.13 - #51 CommandBus with Symfony Messenger component
- #54 update Sqlite3 reference to support PHP 8.0
- #56 Lite alternative to
laminas-diagnostics
solution - APCu reference updated to version 5.1.19 (stable)
- Igbinary reference updated to version 3.2.1 (stable)
- Jsmin reference updated to version 3.0.0 (stable)
- Memcache reference updated to version 8.0 (stable)
- Msgpack reference updated to version 2.1.2 (stable)
- OCI8 reference updated to version 3.0.1 (stable)
- Pdflib reference updated to version 4.1.4 (stable)
- Raphf reference updated to version 2.0.1 (stable)
- Rar reference updated to version 4.2.0 (stable)
- Redis reference updated to version 5.3.2 (stable)
- Uopz reference updated to version 6.1.2 (stable)
- Xdebug reference updated to version 3.0.1 (stable)
- Xhprof reference updated to version 2.2.3 (stable)
- Yac reference updated to version 2.2.1 (stable)
- Yaml reference updated to version 2.2.1 (stable)
- Zip reference updated to version 1.19.2 (stable)
bartlett:db:build:ext
command