Releases: jamessimone/apex-rollup
Releases · jamessimone/apex-rollup
v1.6.29 - Grandparent Full Recalc Bugfixes
- Fixed an issue with grandparent rollups where all parents couldn't be retrieved in one go due to polymorphic fields being used
- Fixes an issue reported by aesthetics where grandparent full recalc rollups with mutually exclusive where clauses could accidentally cache the previously filtered children from prior where clauses
v1.6.28 - Summer '24 Release
- Upgrades all metadata to API version 61.0
- Fixes an issue where the namespaced package version wasn't always getting the updated version name set correctly
- Adds support for grouped rollups using
RollupGrouping__mdt
metadata to specify the Rollup Operation field on that piece of metadata as well, allowing for you to do things like applying the MAX of three different SUMS to one parent field - Adds where clause to the cache key used for grandparent rollups
v1.6.27 - Concat Delimiter Supports New Line
- Optimizes an if statement to the outside of a for loop when it isn't necessary to filter children prior to rolling up
- Tech debt cleanup - removes blanket Deeply Nested If Statement PMD suppression
- Further cleaned up one of the conditionals in RollupCalcItemReplacer by taking advantage of null coalesce
- Fixes #595 - thanks to @jongpie for reminding me to update the DLRS migration scripts
v1.6.26 - Rollup Grouping support, FIRST/LAST/MOST/AVERAGE bugfixes
- Adds new
RollupGrouping__mdt
, which at the moment has no fields on it. I am considering the promotion ofRollup__mdt.RollupOperation__c
to a global value set in the future, which would allow for fun possibilities like taking the max of two sums. When two or more childrenRollup__mdt
records have their Rollup Grouping lookup field set and they are properly pointed to the same parent field, all children records will be retrieved and accounted for prior to setting the parent rollup field - Fixes #589 by updating the rollup calculators for AVERAGE, FIRST, LAST, and MOST, all of which weren't able to handle parents with more than 50k children during batch full recalcs
- Releases an updated version of the Extra Code Coverage plugin
v1.6.25 - Adds support for distinct sums, averages, and more
Overview
- As discussed in #583, adds support for distinct rollups via
Rollup__mdt.IsDistinct__c
. Technically, a CONCAT-based rollup can now supply this flag instead of using theCONCAT_DISTINCT
rollup operation value, but I am leaving support forCONCAT_DISTINCT
in order to not make this a breaking change - This change also has the notable benefit of abstracting most of the logic in
RollupCalculator
that was previouslySObject
-based, which will allow me to continue work on a feature that was requested last year (which I have not had time to get back to): the ability to "group" rollup operations (so, taking sums from two different children/two different children fields and applying them to the same parent field, or even wilder: taking the max of two sums and applying the winner to a parent field). While this work is still to come, this release paves the way for that functionality
Usage
You can now check off Is Distinct
on your Rollup metadata:
v1.6.24 - Update RollupLogger interface visibility
- Allows namespaced package subscribers to properly extend/implement RollupLogger interfaces for logging plugins. A huge thanks to @jasonsiders for contributing this!
v1.6.23 - Configurable Errors Thrown On Save
- Fixes an issue long-discussed in #523 that allows subscribers to throw errors on save with Apex Rollup instead of logging a WARN message
v1.6.22 - Grandparent COUNT_DISTINCT deletion bugfix
- Fixes #581 by properly handling COUNT_DISTINCT for grandparent rollup deletions
v1.6.21 - Rollup to Multicurrency Parents Bugfix
- Fixes an issue reported by Joseph Mason where rollups to different parents accidentally cached
the converted IsoCode value of the first child -> parent multicurrency conversion - Adds safety step in pipeline to ensure scratch orgs are deleted properly
v1.6.20 - Null Coalesce
- Backend changes to take advantage of the new null coalesce (
??
) syntax in Apex. While this does not affect the functionality of Apex Rollup, it helps with maintainability by decreasing the overall size of the package