Skip to content

Releases: grasmash/yaml-expander

4.0.0

11 Jun 13:06

Choose a tag to compare

Breaking changes

  • Requires PHP >= 8.1 (previously no PHP constraint).
  • symfony/yaml 4.x and 5.x (EOL) are no longer supported; allowed versions are ^6.4.40 || ^7.4.12 || ^8.0.12.
  • grasmash/expander 1.x and 2.x are no longer supported; requires ^3.0.1.
  • Native parameter and return types on the public API (parse(), expandArrayProperties()). Passing non-string YAML or a non-array reference array now throws TypeError.
  • parse() now returns [] for empty YAML and throws UnexpectedValueException when YAML parses to a non-array value (previously both surfaced as an opaque TypeError).

Security

  • symfony/yaml constraint excludes versions vulnerable to CVE-2026-45304 (YAML parser "Billion Laughs" memory exhaustion).
  • PHPUnit dev constraint excludes versions vulnerable to CVE-2026-24765.
  • Dropped php-coveralls, which pulled in vulnerable guzzlehttp releases at lowest versions; coverage is now uploaded with coverallsapp/github-action.
  • All GitHub Actions are pinned to commit SHAs.
  • New README guidance: only parse YAML from trusted sources.

Improvements

  • The constructor logger is now optional and defaults to NullLogger: new YamlExpander().
  • declare(strict_types=1) throughout.
  • 100% test coverage; new tests for empty input, scalar input, invalid YAML, and unresolved-placeholder behavior.
  • Test suite modernized to PHPUnit 10–13 (attributes, static data providers).
  • CI now tests PHP 8.1–8.4, including a working lowest-dependencies job (the previous prefer-lowest job silently never ran), with Dependabot enabled for composer and GitHub Actions.
  • README examples rewritten to match the actual API; CONTRIBUTING.md and RELEASE.md now contain accurate instructions.
  • squizlabs/php_codesniffer 4.x allowed for development.

Full Changelog: 3.0.3...4.0.0

🤖 Generated with Claude Code

3.0.3

05 May 19:19
6b35ac5

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 3.0.2...3.0.3

3.0.2

10 May 13:32

Choose a tag to compare

  • Switch to GitHub Actions
  • Allow grasmash/expander 3.x

Full Changelog: 3.0.1...3.0.2

3.0.1

05 May 14:34
bc3c033

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 3.0.0...3.0.1

3.0.0

24 Feb 20:13
428e50b

Choose a tag to compare

  • Changing Symfony requirement to ^4 | ^5
  • Updating PHPUnit dev requirement to ^8.2
  • Removing testing for PHP 7.0 and 7.1.

2.0.0

17 Aug 02:02
6ab3120

Choose a tag to compare

The 2.x is much lighter weight and relies on grasmash/expander for most expansion logic.

  • This library is now a simple yaml-specific wrapper around grasmash/expander.
  • It is backwards in compatible due to class renaming.
  • Support for PHP 5.4 and 5.5 has been dropped.

1.4.0

16 Dec 16:07
3f0f600

Choose a tag to compare

Adding support for environmental variables in the form of ${env.test}.

1.3.0

11 Dec 17:59
3f45a3e

Choose a tag to compare

Adds support for Symfony 4.

1.2.0

26 Sep 17:01

Choose a tag to compare

This release adds support for expanding placeholders that reference arrays.