Releases: nextras/orm
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
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
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-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:
- @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
4.0.7
4.0.6
4.0.5
4.0.4
4.0.3
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
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. 🤗
4.0.1
New patch version 4.0.1 is out! 🎃 What's changed from 4.0.0?
- collection: fix HasManyCollection::fetch() accessing invalid iterator state, thanks VojtaBrtnik for reporting [734cd96]
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, @vaclavpavek, @chemix and @radimvaculik. 🤗