PackageTrack
Sign in Get early access

nicmart/tree

A basic but flexible php tree data structure and a fluent tree builder implementation.

0.10.1 22M downloads/mo #887 most downloaded on Packagist nicmart/Tree

What this package is like to depend on

Last release 9 months ago

25 Nov 2025

Ships unpredictably

gaps range from 4 weeks to 4.8 years

Nearly every release is documented

notes for 22 of 23 stable releases

Nothing withdrawn

no release was ever pulled

13 years old

23 releases · first in 2013

2 releases in the last 12 months

see the full history below

Release timeline

23 releases · Apr 2013 to Nov 2025
2014 2016 2018 2020 2022 2024 2026
Release Pre-release

Releases

latest 23
  1. 0.10.1 25 Nov 2025
    Release notes

    What's Changed

    New Contributors

    Full Changelog: 0.10.0...0.10.1

    Open source →
    Release notes

    For a full diff see [0.9.0...0.10.0`][0.10.0...0.10.1].

    Added

    • Added template/generic annotations for node values ([#333]), by [@smoench]
    Open source →
  2. 0.10.0 25 Nov 2025
    Release notes

    What's Changed

    • composer(deps-dev): bump ergebnis/composer-normalize from 2.44.0 to 2.45.0 by @dependabot[bot] in #334
    • github-actions(deps): bump actions/cache from 4.1.2 to 4.2.0 by @dependabot[bot] in #335
    • github-actions(deps): bump codecov/codecov-action from 5.0.7 to 5.1.2 by @dependabot[bot] in #337
    • github-actions(deps): bump shivammathur/setup-php from 2.31.1 to 2.32.0 by @dependabot[bot] in #338
    • github-actions(deps): bump ergebnis/.github from 1.9.2 to 1.9.3 by @dependabot[bot] in #345
    • github-actions(deps): bump actions/cache from 4.2.0 to 4.2.3 by @dependabot[bot] in #346
    • github-actions(deps): bump shivammathur/setup-php from 2.32.0 to 2.33.0 by @dependabot[bot] in #347
    • github-actions(deps): bump codecov/codecov-action from 5.1.2 to 5.4.2 by @dependabot[bot] in #348
    • composer(deps-dev): bump ergebnis/composer-normalize from 2.45.0 to 2.47.0 by @dependabot[bot] in #349
    • github-actions(deps): Bump codecov/codecov-action from 5.4.2 to 5.4.3 by @dependabot[bot] in #350
    • github-actions(deps): Bump shivammathur/setup-php from 2.33.0 to 2.34.0 by @dependabot[bot] in #351
    • github-actions(deps): Bump shivammathur/setup-php from 2.34.0 to 2.34.1 by @dependabot[bot] in #352
    • github-actions(deps): Bump shivammathur/setup-php from 2.34.1 to 2.35.1 by @dependabot[bot] in #353
    • github-actions(deps): Bump shivammathur/setup-php from 2.35.1 to 2.35.2 by @dependabot[bot] in #354
    • github-actions(deps): Bump actions/cache from 4.2.3 to 4.2.4 by @dependabot[bot] in #355
    • github-actions(deps): Bump actions/checkout from 4.2.2 to 4.3.0 by @dependabot[bot] in #356
    • github-actions(deps): Bump actions/checkout from 4.3.0 to 5.0.0 by @dependabot[bot] in #358
    • github-actions(deps): Bump shivammathur/setup-php from 2.35.2 to 2.35.3 by @dependabot[bot] in #357
    • github-actions(deps): Bump codecov/codecov-action from 5.4.3 to 5.5.0 by @dependabot[bot] in #359
    • github-actions(deps): Bump shivammathur/setup-php from 2.35.3 to 2.35.4 by @dependabot[bot] in #360
    • composer(deps-dev): Bump ergebnis/composer-normalize from 2.47.0 to 2.48.1 by @dependabot[bot] in #361
    • github-actions(deps): Bump ergebnis/.github from 1.9.3 to 1.10.0 by @dependabot[bot] in #363
    • github-actions(deps): Bump codecov/codecov-action from 5.5.0 to 5.5.1 by @dependabot[bot] in #364
    • composer(deps-dev): Bump ergebnis/composer-normalize from 2.48.1 to 2.48.2 by @dependabot[bot] in #365
    • composer(deps-dev): Bump ergebnis/license from 2.6.0 to 2.7.0 by @dependabot[bot] in #362
    • github-actions(deps): Bump shivammathur/setup-php from 2.35.4 to 2.35.5 by @dependabot[bot] in #366
    • github-actions(deps): Bump actions/cache from 4.2.4 to 4.3.0 by @dependabot[bot] in #367
    • github-actions(deps): Bump actions/checkout from 5.0.0 to 5.0.1 by @dependabot[bot] in #368
    • github-actions(deps): Bump actions/checkout from 5.0.1 to 6.0.0 by @dependabot[bot] in #369
    • Fix: Enable iconv extension by @localheinz in #371
    • Add support for PHP 8.5 by @dwightwatson in #370

    New Contributors

    Full Changelog: 0.9.0...0.10.0

    Open source →
    Release notes

    For a full diff see [0.9.0...0.10.0`][0.9.0...0.10.0].

    Added

    • Added support for PHP 8.5 ([#370]), by [@dwightwatson]
    Open source →
  3. 0.9.0 22 Nov 2024
    Release notes

    What's Changed

    New Contributors

    Full Changelog: 0.8.0...0.9.0

    Open source →
    Release notes

    For a full diff see [0.8.0...0.9.0`][0.8.0...0.9.0].

    Added

    • Added support for PHP 8.4 ([#331]), by [@pascalbaljet]
    Open source →
  4. 0.8.0 02 Dec 2023
    Release notes

    What's Changed

    Full Changelog: 0.7.2...0.8.0

    Open source →
    Release notes

    For a full diff see [0.7.2...0.8.0`][0.7.2...0.8.0].

    Added

    • Added support for PHP 8.3 ([#236]), by [@localheinz]
    Open source →
  5. 0.7.2 18 Jun 2023
    Release notes

    What's Changed

    • Fix: Throw LogicException when attempting to get Node from empty NodeBuilder by @localheinz in #209

    Full Changelog: 0.7.1...0.7.2

    Open source →
    Release notes

    For a full diff see [0.7.1...0.7.2`][0.7.1...0.7.2].

    Fixed

    • Started throwing a LogicException when attempting to get a Node from an empty NodeBuilder ([#209]), by [@localheinz]
    Open source →
  6. 0.7.1 24 Feb 2023
    Release notes

    What's Changed

    Full Changelog: 0.7.0...0.7.1

    Open source →
    Release notes

    For a full diff see [0.7.0...0.7.1`][0.7.0...0.7.1].

    Changed

    • Made use of variadic parameters in NodeBuilderInterface::leafs() and NodeBuilder::leafs() ([#168]), by [@localheinz]
    Open source →
  7. 0.7.0 28 Jan 2023
    Release notes

    What's Changed

    Full Changelog: 0.6.0...0.7.0

    Open source →
    Release notes

    For a full diff see [0.6.0...0.7.0`][0.6.0...0.7.0].

    Changed

    • Changed return type declaration of NodeInterface::root() from self to static ([#149]), by [@localheinz]
    • Added a missing return type declaration to NodeInterface::getSize() ([#150]), by [@localheinz]
    • Added parameter type declarations ([#151]), by [@localheinz]
    • Added property type declarations ([#152]), by [@localheinz]

    Fixed

    • Returned empty array from Node::getNeigbors() when node is root ([#153]), by [@localheinz]
    • Returned array with node only from Node::getNeigborsAndSelf() when node is root ([#154]), by [@localheinz]
    Open source →
  8. 0.6.0 27 Jan 2023
    Release notes

    What's Changed

    • composer(deps-dev): Bump ergebnis/license from 1.1.0 to 2.1.0 by @dependabot in #139
    • composer(deps-dev): Bump ergebnis/composer-normalize from 2.19.0 to 2.29.0 by @dependabot in #142
    • composer(deps-dev): Bump phpunit/phpunit from 8.5.32 to 9.5.28 by @dependabot in #140
    • github-actions(deps): Bump shivammathur/setup-php from 2.23.0 to 2.24.0 by @dependabot in #144
    • composer(deps-dev): Bump vimeo/psalm from 4.30.0 to 5.6.0 by @dependabot in #145
    • composer(deps-dev): Bump ergebnis/php-cs-fixer-config from 2.14.0 to 5.2.0 by @dependabot in #143
    • Enhancement: Run dependency analysis with maglnet/composer-require-checker by @localheinz in #146
    • Fix: Add getSize() to NodeInterface by @localheinz in #147
    • Fix: Add root() to NodeInterface by @localheinz in #148
    • Fix: Add return type declarations by @localheinz in #113

    Full Changelog: 0.5.0...0.6.0

    Open source →
    Release notes

    For a full diff see [0.5.0...0.6.0`][0.5.0...0.6.0].

    Changed

    • Added return type declarations ([#113]), by [@localheinz]
    • Added getSize() to NodeInterface ([#147]), by [@localheinz]
    • Added root() to NodeInterface ([#148]), by [@localheinz]
    Open source →
  9. 0.5.0 26 Jan 2023
    Release notes

    What's Changed

    • github-actions(deps): bump actions/checkout from 3.0.2 to 3.1.0 by @dependabot in #114
    • composer(deps-dev): bump vimeo/psalm from 4.27.0 to 4.28.0 by @dependabot in #115
    • composer(deps-dev): bump vimeo/psalm from 4.28.0 to 4.29.0 by @dependabot in #116
    • github-actions(deps): bump actions/cache from 3.0.10 to 3.0.11 by @dependabot in #117
    • github-actions(deps): Bump shivammathur/setup-php from 2.21.2 to 2.22.0 by @dependabot in #119
    • composer(deps-dev): Bump phpunit/phpunit from 8.5.30 to 8.5.31 by @dependabot in #118
    • composer(deps-dev): Bump psalm/plugin-phpunit from 0.17.0 to 0.18.0 by @dependabot in #120
    • composer(deps-dev): Bump psalm/plugin-phpunit from 0.18.0 to 0.18.1 by @dependabot in #121
    • composer(deps-dev): Bump psalm/plugin-phpunit from 0.18.1 to 0.18.3 by @dependabot in #122
    • composer(deps-dev): Bump psalm/plugin-phpunit from 0.18.3 to 0.18.4 by @dependabot in #124
    • github-actions(deps): Bump actions/checkout from 3.1.0 to 3.2.0 by @dependabot in #125
    • github-actions(deps): Bump actions/cache from 3.0.11 to 3.2.0 by @dependabot in #126
    • github-actions(deps): Bump actions/cache from 3.2.0 to 3.2.1 by @dependabot in #127
    • github-actions(deps): Bump shivammathur/setup-php from 2.22.0 to 2.23.0 by @dependabot in #128
    • github-actions(deps): Bump actions/cache from 3.2.1 to 3.2.2 by @dependabot in #129
    • github-actions(deps): Bump actions/checkout from 3.2.0 to 3.3.0 by @dependabot in #130
    • composer(deps-dev): Bump phpunit/phpunit from 8.5.31 to 8.5.32 by @dependabot in #133
    • Enhancement: Run tests on PHP 8.2 by @localheinz in #135
    • github-actions(deps): Bump actions/cache from 3.2.2 to 3.2.3 by @dependabot in #131
    • github-actions(deps): Bump ergebnis/.github from 1.7.0 to 1.8.0 by @dependabot in #132
    • Fix: Use ~ operator to limit compatibility with PHP versions by @localheinz in #134
    • Fix: Drop support for PHP 7.2 by @localheinz in #136
    • Fix: Drop support for PHP 7.3 by @localheinz in #137
    • Fix: Drop support for PHP 7.4 by @localheinz in #138

    Full Changelog: 0.4.0...0.5.0

    Open source →
    Release notes

    For a full diff see [0.4.0...0.5.0][0.4.0...0.5.0].

    Added

    • Added support for PHP 8.2 ([#135]), by [@localheinz]

    Changed

    • Dropped support for PHP 7.2 ([#136]), by [@localheinz]
    • Dropped support for PHP 7.3 ([#137]), by [@localheinz]
    • Dropped support for PHP 7.4 ([#138]), by [@localheinz]
    Open source →
  10. 0.4.0 04 Oct 2022
    Release notes

    What's Changed

    New Contributors

    Full Changelog: 0.3.1...0.4.0

    Open source →
    Release notes

    For a full diff see [0.3.1...0.4.0][0.3.1...0.4.0].

    Added

    • Added support for PHP 8.1 ([#105]), by [@localheinz]

    Changed

    • Dropped support for PHP 7.1 ([#106]), by [@localheinz]
    Open source →
  11. 0.3.1 27 Nov 2020
    Release notes

    For a full diff see [0.3.0...0.3.1][0.3.0...0.3.1].

    Added

    • Added support for PHP 8.0 ([#79]), by [@pascalbaljet]

    Changed

    • Dropped support for PHP 5.4 ([#55]), by [@localheinz]
    • Dropped support for PHP 5.5 ([#57]), by [@localheinz]
    • Dropped support for PHP 5.6 ([#58]), by [@localheinz]
    • Dropped support for PHP 7.0 ([#59]), by [@localheinz]
    Open source →
  12. 0.3.0 18 Jun 2020
    Release notes

    For a full diff see [0.2.7...0.3.0][0.2.7...0.3.0].

    Added

    • Added support for PHP 7.1 ([#47]), by [@localheinz]
    • Added support for PHP 7.2 ([#48]), by [@localheinz]
    • Added support for PHP 7.3 ([#49]), by [@localheinz]
    • Added support for PHP 7.4 ([#50]), by [@localheinz]

    Changed

    • Dropped support for HHVM ([#35]), by [@localheinz]
    • Moved constructor from NodeTrait to Node ([#30]), by [@asalazar-pley]
    Open source →
  13. v0.2.7 20 Aug 2015
    Release notes

    For a full diff see [0.2.6...0.2.7][0.2.6...0.2.7].

    Added

    • Added pre-order and post-order visitors ([#24]), by [@localheinz]
    Open source →
  14. v0.2.6 15 Jul 2015
    Release notes

    For a full diff see [0.2.5...0.2.6][0.2.5...0.2.6].

    Added

    • Added a getSize() method to Node ([#17]), by [@Djuki]
    Open source →
  15. v0.2.5 10 Feb 2015
    Release notes

    For a full diff see [0.2.4...0.2.5][0.2.4...0.2.5].

    Added

    • Added getDepth() and getHeight() methods to Node ([#9]), by [@nicmart]
    Open source →
  16. v0.2.4 16 Jun 2014
    Release notes

    For a full diff see [0.2.3...0.2.4][0.2.3...0.2.4].

    Added

    • New accessor methods ([#6]), by [@mdwheele]
    Open source →
  17. v0.2.3 21 Apr 2014
    Release notes

    For a full diff see [0.2.2...0.2.3][0.2.2...0.2.3].

    Changed

    • Node::getAncestors() now does not return the current node ([#4]), by [@nicmart],
    Open source →
  18. v0.2.2 18 Apr 2014
    Release notes

    For a full diff see [0.2.1...0.2.2][0.2.1...0.2.2].

    Fixed

    • Fixed a bug in the builder ([#3]), by [@nicmart]
    Open source →
  19. v0.2.1 05 Mar 2014
    Release notes

    For a full diff see [0.2.0...0.2.1][0.2.0...0.2.1].

    Added

    • Added root() and isRoot() to Node
    Open source →
  20. v0.2.0 05 Mar 2014
    Release notes

    For a full diff see [0.1.2...0.2.0][0.1.2...0.2.0].

    Changed

    • Dropped support for PHP 5.3
    • Extracted NodeTrait from Node
    Open source →
  21. v0.1.2 02 Mar 2014
    Release notes

    For a full diff see [0.1.1...0.1.2][0.1.1...0.1.2].

    Added

    • Added YieldVisitor, to get the yield of the tree
    Open source →
  22. v0.1.1 01 Mar 2014
    Release notes

    For a full diff see fcfd14e...v0.1.1.

    Added

    • Parent and neighbors methods, by @jdeniau
    Open source →
  23. v0.1.0 22 Apr 2013

    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