Skip to content

Commit

Permalink
prepare pre-release 4.0.0-rc.1
Browse files Browse the repository at this point in the history
  • Loading branch information
llaville committed Sep 4, 2024
1 parent ec62009 commit f807498
Show file tree
Hide file tree
Showing 21 changed files with 98 additions and 56 deletions.
42 changes: 42 additions & 0 deletions .changes/4.0.0-rc.1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@

## 4.0.0-rc.1 - 2024-09-04

**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](https://github.com/llaville/box-manifest/issues).

### Added

- 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` and `toSbomXml`

### Changed

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

### Fixed

- [#11](https://github.com/llaville/box-manifest/issues/11) : No longer require `phar.readonly` to be off for using PHPUnit

**Full Changelog**: [3.5.1...4.0.0-rc.1](https://github.com/llaville/box-manifest/compare/3.5.1...4.0.0-rc.1)
3 changes: 0 additions & 3 deletions .changes/unreleased/Added-20240730-130020.yaml

This file was deleted.

3 changes: 0 additions & 3 deletions .changes/unreleased/Added-20240730-131401.yaml

This file was deleted.

3 changes: 0 additions & 3 deletions .changes/unreleased/Added-20240820-070201.yaml

This file was deleted.

3 changes: 0 additions & 3 deletions .changes/unreleased/Added-20240820-072006.yaml

This file was deleted.

3 changes: 0 additions & 3 deletions .changes/unreleased/Added-20240820-131047.yaml

This file was deleted.

3 changes: 0 additions & 3 deletions .changes/unreleased/Added-20240823-151742.yaml

This file was deleted.

3 changes: 0 additions & 3 deletions .changes/unreleased/Changed-20240730-045524.yaml

This file was deleted.

3 changes: 0 additions & 3 deletions .changes/unreleased/Changed-20240730-130756.yaml

This file was deleted.

3 changes: 0 additions & 3 deletions .changes/unreleased/Changed-20240730-131757.yaml

This file was deleted.

3 changes: 0 additions & 3 deletions .changes/unreleased/Changed-20240730-133243.yaml

This file was deleted.

3 changes: 0 additions & 3 deletions .changes/unreleased/Changed-20240730-134001.yaml

This file was deleted.

3 changes: 0 additions & 3 deletions .changes/unreleased/Changed-20240804-071047.yaml

This file was deleted.

3 changes: 0 additions & 3 deletions .changes/unreleased/Changed-20240804-072013.yaml

This file was deleted.

3 changes: 0 additions & 3 deletions .changes/unreleased/Changed-20240805-144517.yaml

This file was deleted.

3 changes: 0 additions & 3 deletions .changes/unreleased/Changed-20240809-043328.yaml

This file was deleted.

4 changes: 0 additions & 4 deletions .changes/unreleased/Fixed-20231019-061046.yaml

This file was deleted.

8 changes: 3 additions & 5 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,17 +44,15 @@ jobs:
- # Build the current release with artifacts (php archive)
name: Build Release Artifact
run: |
bin/box-manifest make -r console-table.txt -r plain.txt -r sbom.json build
bin/box-manifest make --output-stub stub.php stub
bin/box-manifest make compile -c box.json.dist -vvv --ansi
bin/box-manifest make build stub configure compile -r console-table.txt -r plain.txt -r sbom.json --output-stub stub.php --output-conf box.json.dist -vvv --ansi
- # https://github.com/softprops/action-gh-release
name: Create Release from current tag
if: github.ref_type == 'tag'
uses: softprops/action-gh-release@v2
with: # https://github.com/softprops/action-gh-release#-customizing
prerelease: false
draft: false
prerelease: true
draft: true
body_path: ${{ github.workspace }}/.changes/${{ github.ref_name }}.md
# https://github.com/softprops/action-gh-release#%EF%B8%8F-uploading-release-assets
files: |
Expand Down
50 changes: 50 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
<!-- markdownlint-disable MD013 MD024 MD036 -->
# Changes in 4.x

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html),
and is generated by [Changie](https://github.com/miniscruff/changie).

## 4.0.0-rc.1 - 2024-09-04

**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](https://github.com/llaville/box-manifest/issues).

### Added

- 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` and `toSbomXml`

### Changed

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

### Fixed

- [#11](https://github.com/llaville/box-manifest/issues/11) : No longer require `phar.readonly` to be off for using PHPUnit

**Full Changelog**: [3.5.1...4.0.0-rc.1](https://github.com/llaville/box-manifest/compare/3.5.1...4.0.0-rc.1)
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2022-2023 Laurent Laville
Copyright (c) 2022-2024 Laurent Laville

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,10 @@ Provides a Symfony Console Application with the binary command `box-manifest` th

- Can generate manifest in [CycloneDX SBOM Standard][cyclonedx] format (`sbom-json` or `sbom-xml`)
- Can generate manifest in a simple key-value pairs `plain` text format (`key: value`)
- Can generate manifest in a decorated text format `ansi` or `console` (distinguish direct dependencies requirement and other uses)
- Can generate manifest in a decorated text format `console-style` or `console-table` (distinguish direct dependencies requirement and other uses)
- Can generate manifest in a custom user format
- Can generate a stub that should be able to display one or all manifests provided by the PHP Archive
- Can inspect a PHAR to find and display manifests contents

## Version Compatibility

Expand Down

0 comments on commit f807498

Please sign in to comment.