Skip to content

Releases: nextras/orm

5.0.0

14 Dec 21:04
891819a
Compare
Choose a tag to compare

Major changes:

Minor changes:

  • Allow working with a has-one relationship before attachment to the repository [#467]
  • HasMany::set() optimized to avoid unneeded remove/add [#512]
  • Introduced MemoryCollection and related ICollection::toMemoryCollection() [#533]
  • Support for instances of OrmExtension [#660]
  • relationship: reading removed entity re-tracks it by [#510]
  • Entity::hasValue() should not set null value for the uninitialized property by [#514]
  • Added ICollection::fetchChecked() [#554]
  • Support nullable classes definition with '?' [#556]
  • conventions: fix ManyHasMany keys lookup on MySql with different key casing [#581]
  • Use spl_object_id instead of spl_object_hash [#605]
  • [Nette] Initialize metadata on DIC startup [#606]
  • mixed type allows null [#595]
  • Relationships fixes in HasOne [#620]
  • Use PhpDocParser for property parsing [#680]
  • Add a workaround for same-named columns in GROUP BY for MySQL [#664]

Thank you!
Special thanks to @stepapo for thorough testing and bug reporting.
Thanks to new contributors @ondrejmirtes, @ste93cry, @radimvaculik, @qwerin, @Anry7794, @Zazimou, @jkavalik.

Full Changelog: v4.0.7...v5.0.0

v5.0.0-rc3

04 Nov 20:59
940f786
Compare
Choose a tag to compare
v5.0.0-rc3 Pre-release
Pre-release

What's Changed since rc2

We found that SQL "rewrites" for Any aggregation produces non-optimal SQL code compared to Orm 4.0 - SQL queries were using HAVING clause when they didn't have to. CollectionFunctions' processing was rewritten to two-phase processing allowing us better detection when the HAVING clause is needed. This is a major change since the last RC.

  • Two-phase SQL rewrites by @hrach in #687
  • Fix having lifting required by row aggregator by @hrach in #698
  • Add support for stable phpdoc-parser 1.x branch [caca579]
  • Fix detection of boolean type property (it worked in Orm 4.0) [7765573]

Special thanks to @stepapo for thorough testing and bug reporting.

Full Changelog: v5.0.0-rc2...v5.0.0-rc3

v5.0.0-rc2

28 Oct 11:45
Compare
Choose a tag to compare
v5.0.0-rc2 Pre-release
Pre-release

What's Changed

  • Add workaround for same-named columns in GROUP BY for MySQL by @hrach in #664
  • Fix missing aggregation key on m:m joining table by @hrach in #665
  • Fix Date(time) instance in primary key by @jkavalik in #677
  • Use PhpDocParser for property parsing by @hrach in #680
  • separate WHERE & HAVING in expression result & fix buggy having rewrite by @hrach in #685

New Contributors

Full Changelog: v5.0.0-rc1...v5.0.0-rc2

v5.0.0-rc1

09 Apr 15:39
3b71eb8
Compare
Choose a tag to compare
v5.0.0-rc1 Pre-release
Pre-release

Major changes:

  • 🐘 The minimum PHP version is 8.1 [31043a3]
  • ⛺ Introduction of PHPDoc generics, fully supporting PHPStan, and making the code safer [404b47b, ab9cdcf, 3dcb20b, e8a90db]
  • 📋 Added support for PHP 8's Enums [#585]
  • 📦 Added row aggregations for relationships and great refactoring of Collection functions [#496, #531, #545, #546, #542, #566, #587, #633, #652, #655]
  • 🛡️ Introduced literal-string PHPDoc type to prevent SQL injection [d88eb6e]

Minor changes:

  • Allow working with a has-one relationship before attachment to the repository [#467]
  • HasMany::set() optimized to avoid unneeded remove/add [#512]
  • Introduced MemoryCollection and related ICollection::toMemoryCollection() [#533]
  • Support for instances of OrmExtension [#660]
  • relationship: reading removed entity retracks it by [#510]
  • Entity::hasValue() should not set null value for uninitialized property by [#514]
  • Added ICollection::fetchChecked() [#554]
  • Support nullable classes definition with '?' [#556]
  • conventions: fix ManyHasMany keys lookup on MySql with different key casing [#581]
  • Use spl_object_id instead of spl_object_hash [#605]
  • [Nette] Initialize metadata on DIC startup [#606]
  • mixed type allows null [#595]
  • Relationships fixes in HasOne [#620]

New Contributors:

Thank you!

Full Changelog: v4.0.7...v5.0.0-rc1

4.0.7

01 Jul 10:26
28c98dd
Compare
Choose a tag to compare

What's Changed

  • [Nette] Initialize metadata on DIC startup - v4.0 by @mabar in #590
  • allow nette/utils 4.0 by @hrach in #632

Full Changelog: v4.0.6...v4.0.7

4.0.6

07 Sep 07:38
Compare
Choose a tag to compare
  • fix nullable type ?Type parsing [#592]

4.0.5

11 Jul 21:42
Compare
Choose a tag to compare

What's Changed

  • Add missing array key checks when using the debug_backtrace() function, #552 by @ste93cry
  • Conventions: fix ManyHasMany keys lookup on MySql with different key casing, #578

Full Changelog: v4.0.4...v4.0.5

4.0.4

13 Dec 08:37
2c40588
Compare
Choose a tag to compare

New patch version 4.0.4 is out! ❄️ What's changed from 4.0.3?

  • fixed support for PHP 8.1 [2c40588]
  • build v4 branch with GitHub actions

See full commit changelog.

4.0.3

28 Jul 20:17
d3586f8
Compare
Choose a tag to compare

New patch version 4.0.3 is out! ☀ What's changed from 4.0.2?

  • relationship: reading removed entity retracks it [4bea473]
  • repository: revert obtaining entity by entity instance (temporarily to easy update to v4) [d3586f8]

See full commit changelog.

You may support Nextras Orm by giving it a star here on GitHub ⭐ or by Sponsorship (even with a one-time payment).
Thanks to current sponsors: @stpnkcrk, @vaclavpavek, @chemix, @radimvaculik, @zraly, @manweCZ, @stepapo 🤗

4.0.2

27 Mar 14:17
Compare
Choose a tag to compare

New patch version 4.0.2 is out! 🌱 What's changed from 4.0.1?

  • dbal conventions: removed buggy optimization for finding M:M mapping columns [6763e43]
  • array mapper: fix resolving relationship mapper for proper data storage in ArrayMapper [4218ff6]

Thanks @martenb for report.

See full commit changelog.

You may support Nextras Orm by giving it a star here on GitHub ⭐ or by Sponsorship.
Thanks to current sponsors: @stpnkcrk, @davidkregl, @vaclavpavek, @chemix, @radimvaculik, @zraly, @manweCZ. 🤗