Releases: nextras/orm
5.1.0 RC1
What's Changed
- Add DateTime property wrapper in #732
- Add Date property wrapper in #746
- Model PrimaryProxy modifier as property wrapper in #731
- Use Weak Reference in the Identity map in #764
- Add PropertyMetadata owner of embeddable to Embeddable::onAttach (BC break!) in #736
- Fixes for PHP 8.5 in #778
- Force initialization for Nette DI's lazy mode [closes #743] in #744
- Simplify counting SQL in relationships in #752
- Fix ordering reset via resetOrderBy() in #727
- Make repository look up overrideable in DIRepositoryFinder in #754
- Fix repeated queryBuilder construction in Collection in #763
- docker-compose: optimize performance by @JanTvrdik in #765
- Allow conditions with property names in keys and in sub-array keys to be combined by @mabar in #775
- Fix docs about wrapped expression result in #777
- Entity: allow skipping properties in toArray() method by @zelenomodrypes in #784
- Add Docker for local development in #753
- Update collection functions docs by @zelenomodrypes in #721
Full Changelog: v5.0.1...v5.1.0-rc1
5.0.1
5.0.0
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, #685, #687, #698]
- 🛡️ Introduced
literal-stringPHPDoc type to prevent SQL injection [d88eb6e]
Migration guide:
https://nextras.org/orm/docs/main/migrate_5.0
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
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
booleantype 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
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
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-stringPHPDoc 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:
- @ondrejmirtes made their first contribution in #519
- @ste93cry made their first contribution in #552
- @radimvaculik made their first contribution in #554
- @qwerin made their first contribution in #573
- @Anry7794 made their first contribution in #630
- @Zazimou made their first contribution in #638
Thank you!
Full Changelog: v4.0.7...v5.0.0-rc1