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-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 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