PackageTrack
Sign in Get early access

grasmash/yaml-expander

Expands internal property references in a yaml file.

4.0.0 33M downloads/mo #2083 most downloaded on Packagist grasmash/yaml-expander

What this package is like to depend on

Last release 2 months ago

11 Jun 2026

Release timing varies

gaps range from 6 weeks to 2.1 years

Some releases are documented

notes for 9 of 18 stable releases

Nothing withdrawn

no release was ever pulled

10 years old

18 releases · first in 2017

1 release in the last 12 months

see the full history below

Release timeline

18 releases · Jan 2017 to Jun 2026
2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 18
  1. 4.0.0 11 Jun 2026
    Release notes

    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

    Open source →
  2. 3.0.3 04 May 2024
    Release notes

    What's Changed

    New Contributors

    Full Changelog: 3.0.2...3.0.3

    Open source →
  3. 3.0.2 10 May 2022
    Release notes
    • Switch to GitHub Actions
    • Allow grasmash/expander 3.x

    Full Changelog: 3.0.1...3.0.2

    Open source →
  4. 3.0.1 28 Mar 2022
    Release notes

    What's Changed

    New Contributors

    Full Changelog: 3.0.0...3.0.1

    Open source →
  5. 3.0.0 24 Feb 2020
    Release notes
    • Changing Symfony requirement to ^4 | ^5
    • Updating PHPUnit dev requirement to ^8.2
    • Removing testing for PHP 7.0 and 7.1.
    Open source →
  6. 2.0.0 17 Aug 2019
    Release notes

    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.
    Open source →
  7. 1.4.0 16 Dec 2017
    Release notes

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

    Open source →
  8. 1.3.0 08 Dec 2017
    Release notes

    Adds support for Symfony 4.

    Open source →
  9. 1.2.0 26 Sep 2017
    Release notes

    This release adds support for expanding placeholders that reference arrays.

    Open source →
  10. 1.1.1 01 Aug 2017

    Nothing published for this version

  11. 1.1.0 24 Mar 2017

    Nothing published for this version

  12. 1.0.5 21 Mar 2017

    Nothing published for this version

  13. 1.0.4 17 Jan 2017

    Nothing published for this version

  14. 1.0.3 16 Jan 2017

    Nothing published for this version

  15. 1.0.2 16 Jan 2017

    Nothing published for this version

  16. 1.0.1 16 Jan 2017

    Nothing published for this version

  17. 1.0.0 13 Jan 2017

    Nothing published for this version

  18. 0.1.0 13 Jan 2017

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive