PackageTrack
Sign in Get early access

cycle/orm

PHP DataMapper ORM and Data Modelling Engine

v2.18.0 966K downloads/mo #4673 most downloaded on Packagist cycle/orm

What this package is like to depend on

Last release 2 months ago

15 Jun 2026

Release timing varies

gaps range from 2 weeks to 4 months

Most releases are documented

notes for 74 of 115 stable releases

Nothing withdrawn

no release was ever pulled

8 years old

117 releases · first in 2019

19 releases in the last 12 months

see the full history below

Release timeline

115 releases · Feb 2019 to Jun 2026
2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 60 of 117
  1. v2.18.0 15 Jun 2026
    Release notes

    What's Changed

    • Add RefersToMorphed relation for cyclic morphed references by @roxblnfk in #570

    Full Changelog: v2.17.0...v2.18.0

    Open source →
  2. v2.17.0 02 Jun 2026
    Release notes

    What's Changed

    • Support BackedEnum for discriminator values in STI by @roxblnfk in #566
    • Support wrapWhere() from database 2.19 by @roxblnfk in #567
    • Add wrapWhere option to QueryScope by @roxblnfk in #568
    • Fix relation override scope lost when Select is cloned by @roxblnfk in #569

    Full Changelog: v2.16.2...v2.17.0

    Open source →
  3. v2.16.2 22 May 2026
    Release notes

    What's Changed

    • Fix embedded entities loading via BulkLoader by @roxblnfk in #565

    Full Changelog: v2.16.1...v2.16.2

    Open source →
  4. v2.16.1 18 May 2026
    Release notes

    What's Changed

    Enhanced documentation in load options classes in 62ded83

    Full Changelog: v2.16.0...v2.16.1

    Open source →
  5. v2.16.0 15 May 2026
    Release notes

    What's Changed

    • Allow json type to be a scalar in the default Typecast by @gam6itko in #562
    • Stream entities lazily via Select::cursor() by @roxblnfk in #564

    Full Changelog: v2.15.0...v2.16.0

    Open source →
  6. v2.15.0 17 Mar 2026
    Release notes

    What's Changed

    • Support LoadOptions DTOs in BulkLoader::load() by @roxblnfk in #559
    • Declare Select methods in code instead of annotations by @roxblnfk in #560

    Full Changelog: v2.14.3...v2.15.0

    Open source →
  7. v2.14.3 06 Mar 2026
    Release notes

    What's Changed

    Full Changelog: v2.14.2...v2.14.3

    Open source →
  8. v2.14.2 05 Mar 2026
    Release notes

    What's Changed

    • Fix BulkLoader indexing with Stringable primary keys by @roxblnfk in #557

    Full Changelog: v2.14.1...v2.14.2

    Open source →
  9. v2.14.1 05 Mar 2026
    Release notes

    What was changed

    Now, for BelongsToMorphed relations, you can legally manually specify the morph_type column (without morph_id). This won't work if the entity is not new and the relation was set to null in this EM transaction (in this case, all relation fields will be prioritized to null). #556

    Why?

    Cycle ORM allowed some flexibility for the programmer. The recent fix that reset related fields broke some existing project codebases. To fix this, the old behavior was restored and supported with tests.

    Even though this behavior is backed by tests, we still recommend not doing it this way for best practice reasons.

    Full Changelog: v2.14.0...v2.14.1

    Open source →
  10. v2.14.0 03 Mar 2026
    Release notes

    What's Changed

    • Add options DTOs for Select::load() method by @roxblnfk in #553
    • Fix indexing of entities with object PK like UUID in BulkLoader by @roxblnfk in #554
    • Fix BelongsToMorphed not clearing morph type on null relation by @roxblnfk in #555

    Full Changelog: v2.13.2...v2.14.0

    Open source →
  11. v2.13.2 10 Feb 2026

    Nothing published for this version

  12. v2.13.1 30 Jan 2026

    Nothing published for this version

  13. v2.13.0 30 Jan 2026

    Nothing published for this version

  14. v2.12.3 26 Dec 2025

    Nothing published for this version

  15. v2.12.2 16 Dec 2025

    Nothing published for this version

  16. v2.12.1 16 Dec 2025

    Nothing published for this version

  17. v2.12.0 12 Dec 2025

    Nothing published for this version

  18. v2.11.1 24 Nov 2025

    Nothing published for this version

  19. v2.11.0 09 Sep 2025

    Nothing published for this version

  20. 2.11.0-RC1 04 May 2025 pre-release

    Nothing published for this version

  21. v2.10.1 31 Mar 2025

    Nothing published for this version

  22. v2.10.0 02 Mar 2025

    Nothing published for this version

  23. v2.10.0-RC1 no date pre-release

    Nothing published for this version

  24. v2.9.3 14 Jan 2025

    Nothing published for this version

  25. v2.9.2 07 Jan 2025

    Nothing published for this version

  26. v2.9.1 12 Dec 2024

    Nothing published for this version

  27. v2.9.0 05 Jun 2024

    Nothing published for this version

  28. v2.8.0 09 May 2024

    Nothing published for this version

  29. v2.7.1 13 Feb 2024
    Release notes
    • Fix inserting order in regular cases by @roxblnfk and @gam6itko (#381)
    Open source →
  30. v2.7.0 08 Feb 2024
    Release notes
    • Add Generated Fields option into ORM Schema by @roxblnfk (#462)
    Open source →
  31. v2.6.1 04 Jan 2024
    Release notes
    • Fix compatibility with PHP 8.3 by @msmakouz (#454)
    Open source →
  32. v2.6.0 21 Dec 2023
    Release notes
    • Add support for loophp/collection v7 by @msmakouz (#448)
    • Fix wrong adding table prefix on joins by @msmakouz (#447)
    Open source →
  33. v2.5.0 25 Nov 2023
    Release notes
    • Expose JSON methods in the Select query builder by @msmakouz (#445)
    • Add NullHeap by @roxblnfk (#441)
    Open source →
  34. v2.4.0 05 Oct 2023
    Release notes
    • Add support uninitialized collections in entities by @roxblnfk (#431)
    • Allow doctrine/instantiator 2.x by @msmakouz (#438)
    • Improve relations hydration for non-proxy entities. Now it more lazy. By @msmakouz (#429)
    Open source →
  35. v2.3.4 31 Jul 2023
    Release notes
    • Fix fields uncasting in the ManyToMany relation by @roxblnfk, thanks @gam6itko (#427, #428)
    • Fix resolving of a not loaded parent in the relation RefersTo by @roxblnfk, thanks @msmakouz and snafets (#414)
    • Fix belongs to relation when parent is changed using parent id by @roxblnfk, thanks @roquie (#346, #432)
    Open source →
  36. v2.3.3 21 Jul 2023
    Release notes
    • Fix loading for Embedded entities when parent is null by @gam6itko and @roxblnfk (#422, #423)
    • Fix: remove extra joins from JTI and eager relations when ManyToMany is resolved. By @msmakouz and @roxblnfk (#418)
    • Fix the Unit of Work persistState() method in a sequenced call. By @msmakouz and @roxblnfk (#424, #426)
    • Fix ManyToMany lazy loading when value object are used as keys. By @msmakouz and @roxblnfk (#318, #420)
    Open source →
  37. v2.3.2 19 Jun 2023
    Release notes
    • Fix proxy-mapper hydration mechanism: public relations in a non-proxy-entity are hydrated like private ones. There is a special logic related to ReferenceInterface hydrating. By @roxblnfk (#417)
    • Add the method forUpdate in the Select phpdoc. By @msmakouz (#413)
    Open source →
  38. v2.3.1 01 May 2023
    Release notes
    • Fix typecasting in relations when JTI entities are loaded by @roxblnfk (#408, #409)
    Open source →
  39. v2.3.0 03 Apr 2023
    Release notes
    • Update where() and orderBy() behavior in the JTI case. It possible to pass parent field name. By @roxblnfk (#405)
    • Select::wherePK() is now more strict. Use entity field name instead of table columns.
    • Fix method naming: AbstractLoader::loadIerarchy() deprecated and renamed to ::loadHierarchy().
    • Class \Cycle\ORM\Parser\Typecast is now not internal by @thenotsoft (#395)
    • Update test case generator script. Now it possible to set case name like "Issue777" and a template folder that different from the default CaseTemplate by @gam6itko (#389)
    Open source →
  40. v2.2.2 08 Feb 2023
    Release notes
    • Fix compatibility with PHP 8.2 (AllowDynamicProperties) by @roxblnfk (#394)
    • Add tests with using for microseconds in a datetime fields by @BelaRyc and @msmakouz (#383)
    Open source →
  41. v2.2.1 01 Dec 2022
    Release notes
    • Fix EM::persistState() that inserted the same entity twice by @roxblnfk (#368)
    • Fix bug on saving of replaced pivoted collection by @BelaRyc (#382)
    • Fix cascade mode in BelongsTo relation by @roxblnfk and @msmakouz (#347, #374)
    • Fix storing od embedded entities in a JTI by @butschster (#379)
    • Add tests case template by @roxblnfk and @kastahov (#372, #377)
    • Add a previous exception in TransactionException on throwing by @Eugentis (#367)
    • Add annotation @readonly for Repository::$select by @roxblnfk (#369)
    Open source →
  42. v2.2.0 05 Jul 2022
    Release notes
    • Add supporting for loophp/collection by @drupol (#344)
    • Add supporting for PHP 8.1 Enum in the default typecast handler Cycle\ORM\Parser\Typecast by @roxblnfk (#352)
    • Improve template annotations in Cycle\ORM\Select\Repository and Cycle\ORM\Select classes by @roxblnfk (#351)
    • Classes Cycle\ORM\Transaction\UnitOfWork and Cycle\ORM\Transaction\Runner are now not internal by @roxblnfk (#353)
    Open source →
  43. v2.1.2 05 Oct 2022

    Nothing published for this version

  44. v2.1.1 05 Jun 2022
    Release notes
    • Remove $config property overriding in the RelationConfig by @msmakouz (#343)
    • Fix bug on ManyToMany resolving by @roxblnfk (#345)
    Open source →
  45. v2.1.0 26 Feb 2022
    Release notes
    • Remove final from the Select class by @msmakouz (#327)
    • Fix keys comparing in the BelongsTo relation by @msmakouz (#326)
    • Add Psalm @template annotations to RepositoryInterface by @roxblnfk
    Open source →
  46. v2.0.2 27 Jan 2022
    Release notes
    • Fix a Tuple updating in the Pool by @roxblnfk (#319)
    Open source →
  47. v2.0.1 20 Jan 2022
    Release notes
    • Fix protected relation fields hydration on eager loading @roxblnfk (#314)
    Open source →
  48. v2.0.0 22 Dec 2021
    Release notes
    • Minimal PHP version is 8.0
    • Composited keys
    • 'Joined Table Inheritance' and 'Single Table Inheritance'
    • Added ProxyMapper (Cycle\Orm\Mapper\Mapper)
    • Supporting for arrays/Doctrine/Laravel or custom collections in HasMany adn ManyToMany relations
    • Typecasting moved to Mappers
    • Added Typecast handlers with Castable/Uncastable interfaces
    • Added Entity Manager and Unit Of Work instead of Cycle\ORM\Transaction
    • A lot of Interfaces are changed
    Open source →
  49. v1.8.2 04 Apr 2025

    Nothing published for this version

  50. v1.8.1 17 Jan 2022

    Nothing published for this version

  51. v1.8.0 28 Nov 2021
    Release notes
    • Added ORM::with. Other ORM::with* methods marked as deprecated @msmakouz (#257)
    • Better compatibility between ConstrainInterface and ScopeInterface @roxblnfk (#271)
    Open source →
  52. v1.7.1 04 Nov 2021
    Release notes
    • Fixed Node::getChanges() when a key in $current argument is undefined @msmakouz (#238)
    Open source →
  53. v1.7.0 01 Nov 2021
    Release notes
    • Update the Node data comparison mechanism @msmakouz (#235)
    • Fix Entity data comparison with objects in fields @msmakouz (#234)
    • Add ability for relations to independently determine related value changing @hustlahusky (#227)
    Open source →
  54. v1.6.1 12 Oct 2021
    Release notes
    • Prevent repeating entity hydration in the 'has many' relation
    Open source →
  55. v1.6.0 03 Sep 2021
    Release notes
    • Added Scope classes and deprecations for Constrain classes @roxblnfk (#209)
    Open source →
  56. v1.5.1 06 Aug 2021
    Release notes
    • Hotfix: missing type casting to string for primary key @roquie (#204)
    Open source →
  57. v1.4.2 09 May 2021
    Release notes
    • Hotfix: PK changes not tracked (#179)
    • Better heap sync (#180)
    Open source →
  58. v1.4.1 02 Apr 2021
    Release notes
    • Fix inserting empty entities by @roxblnfk (#175)
    Open source →
  59. v1.4.0 31 Mar 2021
    Release notes
    • Added support of Doctrine/Annotations v2 by @roxblnfk
    • Bugfix: prevent merge nodes with same roles when initializing pivot entity by @hustlahusky
    • Bugfix: RefersTo and BelongTo relations innerKey naming error by @roxblnfk
    • Added 'orderBy' option for relations by @roxblnfk
    • Fixed ID mapping column is set and differs from the field name by @roxblnfk
    Open source →
  60. v1.3.4 no date

    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