All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, adheres to Semantic Versioning, and is generated by Changie.
Drop PHPUnit 10 support and upgrade to PHPUnit 11
- #14 : PHPUnit 11 support
- PHPStan may now analyse source code on level 9, that became compatible
- Give a chance to
RestartHandler
to restart process withphar.readonly
disabled even ifxdebug
extension is not available
Full Changelog: 4.0.0...4.0.1
Read the first release candidate notes of this major version to learn more about changes since 3.5.1
- GH-13 : v4.0.0-rc.1 does not support correctly the BOX
dump-autoload
setting
Full Changelog: 4.0.0-rc.1...4.0.0
Road to stable version 4.0
After almost one year since the latest 3.5.1 release, we’re getting closer to BOX Manifest 4.0 !
This new major version is based on Pipeline Pattern implemented with excellent package https://github.com/thephpleague/pipeline
Read this good article https://medium.com/@bonnotguillaume/software-architecture-the-pipeline-design-pattern-from-zero-to-hero-b5c43d8a4e60, if you are unconfortable with this design pattern.
An effort was made to write a better and enhanced documentation. Read it carefully at https://llaville.github.io/box-manifest/4.0/
All features are already included into this first release candidate. So, if you want to improve this package before final stable version 4.0, please carefully test this version and report any issues found in the bug reporting system.
- Shortcut
-b
for--bootstrap
option - Shortcut
-r
for--resource
option - New
make
command (to replace legacy commands) - New
inspect
command to show PHAR manifest list and details - Install
bamarni/composer-bin-plugin
to handle dev tools without conflicts - Introduces new ManifestFactory methods:
toSbomJson
andtoSbomXml
- Removed usage of deprecated
Fidry/Console
elements - Rename
--format
option to--output-format
, and change origin of constants and visibility - Upgrade
cyclonedx/cyclonedx-library
constraint to use major version 3 - Use latest SBOM specification version (1.6) as default
- Consider serialNumber as optional and do not stop SBOM generation if an appropriate source of randomness cannot be found
- Default build strategy has evolved to produce a new decorated console table format
- Version of BOX Manifest used to generate stub (from template) is now identified
- Introduces auto-detection by new filenames (see
Bartlett\BoxManifest\Composer\DefaultStrategy::getCallable
for details)
- #11 : No longer require
phar.readonly
to be off for using PHPUnit
Full Changelog: 3.5.1...4.0.0-rc.1
IMPORTANT: This bugfix release mark the latest version that will support BOX v4 and development is stopped !
- update
humbug/box
constraint to restrict BOX v4 support to 4.3.x - use latest SBOM spec version (1.5) on
manifest:build
command
- #10:
box:validate
command support now the recommendation color style formatter
Full Changelog: 3.5.0...3.5.1
CAUTION : if you want to use the new PostInstallStrategy
, please read composer/composer#11430 first.
PostInstallStrategy
to keep your manifests synchronized with dependencies installed.
- Refactor code to add strategy pattern on manifest build process
Full Changelog: 3.4.0...3.5.0
box:info
command display information about stub used
Full Changelog: 3.3.2...3.4.0
- Cannot run application when command is launched from
vendor/bin/box-manifest
(composerbin-dir
config)
WARNING Unless Composer added support to Symfony/Runtime, do not use vendor/bin/box-manifest
that will lead to a fatal error : see composer/composer#11416 for details
Full Changelog: 3.3.1...3.3.2
Same contents of release 3.3.0
- PHAR distribution was not built during Release GitHub Workflow.
Full Changelog: 3.3.0...3.3.1
box:compile
andbox:info
are now able to add and display manifest files- API: introduces
ManifestFormat
enumeration to replace hard-coded values
- Ascii Logo and text look like BOX logo
- Displays long version without logo
- SBOM manifests format identify now the BOX Manifest application as tool
- The
manifest:stub
command is now able to use resources list defined by the BOX map settings - API:
Manifest
enum renamed toManifestFile
- BC breaks:
ManifestFactory
did not used anymore the Box instance (affect class constructor and static create method)
Full Changelog: 3.2.1...3.3.0
resources
directory was missing on Docker and PHAR distributions.
Full Changelog: 3.2.0...3.2.1
- Add new console format to print manifest in a Symfony Console Table format
- Random Serial Number on BOM format (raise Composer constraint to support library version 2.1+)
- created DateTime metadata on BOM format
- Application was recombined to form a native 3 Symfony Commands (two native from BOX Manifest itself and three others from BOX Application)
- ManifestFactory may be able to enable or disable the ANSI color code decoration
- ManifestFactory build console output results on auto format detection (by default)
- Respect now the switches off debug mode (
--no-debug
)
Full Changelog: 3.1.1...3.2.0
- Replace simple key-value pairs TEXT manifest by highlighted version in PHAR
box-*
commands
- #6 : Symfony BOX styles are not applied on
box-compile
command - #7 : Display manifest at runtime do not respect
--no-ansi
console option rule
Full Changelog: 3.1.0...3.1.1
- box-stub command: stub code is no more hard coded and may be changed at runtime with
--template
option - box-stub command: manifest files is no more hard coded and may be changed at runtime with
--resource
option - Optimize size of PHAR distributions for box-* commands
- Release workflow was fixed to avoid wrong resource files list to use
Full Changelog: 3.0.0...3.1.0
BC breaks with this major version
- Do not use anymore the
cweagans/composer-patches
composer-plugin to patchhumbug/box
at install time. - This is a real standalone application with three distinct binary commands:
box-manifest
,box-stub
andbox-compile
Don't forget to read the documentation and its tutorial that will guide you to create your first manifest with its stub and compile in a PHAR.
- new Docker workflow to publish docker images to GitHub repository
- Entrypoint in Dockerfile refer now to multiple commands
- org.opencontainers.image.version label is generated by docker workflow now (avoid hard-coding and outdated version number)
Full Changelog: 2.3.1...3.0.0
- update humbug/box composer constraint to avoid installation of Box 4.3.x not yet supported
Full Changelog: 2.3.0...2.3.1
- PHPUnit 10 support : phpunit.xml.dist configuration migration
- #4 : Prevent error when Composer installation does not exists
- #5 : Prevent Fatal error when root package installed as none version published
Full Changelog: 2.2.1...2.3.0
- regression with previous version 2.2.0 when dependency version have an alias
Full Changelog: 2.2.0...2.2.1
- When package version is a branch alias, print branch name with commit reference for SimpleText in same way as DecorateText manifest builder
- update in the Getting Started guide the docker run syntax
Full Changelog: 2.1.0...2.2.0
- #3 : New Composer manifest builder to highlight dependencies constraints and versions
Full Changelog: 2.0.0...2.1.0
- #2 : Add support to BOX v4
Full Changelog: 1.2.0...2.0.0