- From 1.0.5 to 1.0.6
- From 1.0.4 to 1.0.5
- From 1.0.3 to 1.0.4
- From 1.0.2 to 1.0.3
- From 1.0.1 to 1.0.2
- From 1.0.0 to 1.0.1
- From 0.x / pre-1.0 to 1.0
No breaking changes to the bundle API or configuration.
- Symfony 8 demo (Docker): Rebuild the FrankenPHP image after upgrading (
docker compose buildindemo/symfony8) soext-intland PCOV are available. The demo replaces the intl polyfills incomposer.json; do not run that demo’scomposer installon a host PHP withoutext-intlunless you remove thosereplaceentries (the Docker image is the supported path). - Docker Compose default host ports: If you start a demo without a
.envfile, Symfony 7 now publishes 8007 and Symfony 8 8008 by default (same as each.env.example). If you relied on the old implicit default 8001 for both, setPORTexplicitly in.env. - CI / maintainers:
make release-checkexpects demo functional tests and coverage; see CHANGELOG for PHPUnit and PCOV updates.
No breaking changes. Documentation and repository metadata only: correct GitHub URLs (nowo-tech/SerialNumberBundle), demo default ports in docs (8007 / 8008 per .env.example), README version policy, and bug-report template links. The Composer package name is still nowo-tech/serial-number-bundle.
No breaking changes. Demo Symfony 7 only: Composer audit config and routing file extensions (.xml) so the demo runs with Symfony 7.1.x and composer update / cache:clear succeed.
No breaking changes. Documentation only: new DEMO-FRANKENPHP.md for FrankenPHP demo setup.
No breaking changes. Tests are now under tests/Unit/ and tests/Integration/. If you extended or ran tests by path, update to the new structure; composer test and make test still run all tests. New scripts: composer test-unit, composer test-integration.
No breaking changes. This release adds the GitHub release workflow and fixes the Symfony 7 demo and a test expectation.
No breaking changes for the initial 1.0 release. If you were using an alpha/beta, ensure:
- API:
SerialNumberGenerator::generate()signature is unchanged:(array $context, string $pattern, int|string $id, ?int $idPadding = null). - Twig:
serial_number(context, pattern, id, padding?)andserial_number_mask(serial, visibleLast?, maskChar?). - Configuration: Keys remain
mask_char,mask_visible_last.
mask_charmust be a single character in config; longer strings are rejected. In Twig, if you pass a multi-character string asmaskChar, only the first character is used.serial_number_mask: Serial strings longer than 2048 characters are truncated to 2048 before masking. NegativevisibleLastis treated as 0 (fully masked).serial_number/generate():idPaddingis capped at 32; larger values are treated as 32.
These limits are for security (DoS prevention). See Security.