Releases: jamessimone/apex-rollup
Releases · jamessimone/apex-rollup
v1.6.0 - Breaking Change: RollupEvaluator updates
Breaking Changes
- Fixes #494 by properly parsing calc item where clauses. This is the first breaking change in the last 90 releases of Apex Rollup, due to the chance that subscribers were using the SQL-based negation syntax:
Field NOT LIKE 'someValue%'
, for example, as opposed to the SOQL-compliant syntax:NOT(Field LIKE 'someValue%')
.- I've striven to make as few breaking changes to Apex Rollup as is possible over the last three years. This is a change that I'm excited to make, however! I was jumping through quite a few hoops with the prior
RollupEvaluator
implementation, which meant that I was never surprised when people raised issues about where clause parsing. - These changes come with both performance benefits for people making use of where clauses (less CPU time spent parsing the clauses, notably), as well as a tighter adherence to the SOQL standard for where clauses. I plan to further open source the parsing section of this codebase as a reusable SOQL-parsing solution
- I've striven to make as few breaking changes to Apex Rollup as is possible over the last three years. This is a change that I'm excited to make, however! I was jumping through quite a few hoops with the prior
Standard Changes
- Updating Rollup app name to Apex Rollup as per #516
- Further README cleanup based on #515
- Fixes #517 by preventing a NPE on calc items that don't have matching grandparents
- Fixes #521 by adding sorting to full recalc datatable
- Winter 24 updates - delete
RollupComparer
in favor of native sorting viaSystem.Comparator<T>
interface - Another fix for #500 where cached lookup items were sometimes crossing over into other full recalc runs
v1.5.88 - Grandparent Flow Rollups
- Fixes #509 by properly evaluating children types for grandparent rollups coming from Flow
- Updating README guidance on Changed Fields On Child Object
- Updating README as per #511
- Updating README Flow / Process Builder invocable section to more explicitly call out when the Apex one-liner is more appropriate due to merges as per #512
- Fixes stateful batch full recalc logic for MOST, FIRST, LAST, AVERAGE, and SOME when parent has children in excess of the batch chunk size
v1.5.87 - Housekeeping
v1.5.86 - OR clause bugfix and full recalc update
v1.5.85 - COUNT bugfixes
- Fixes an issue reported by @Windyo where count-based rollups going from one match to zero matches with a where clause on delete failed to decrement the parent value from 1 to 0
- Fixes #496 by properly handling case where additional calc items are the only matches during a count full recalc update
- Fixes
RollupIntegrationTests.limitsCorrectlyOnUpdate
, which used to occasionally flake and fail due to an implicit reliance on Id ordering
v1.5.84 - Full Recalculation Default Values bugfix
- removed now-defunct piece of README
- tweaked heap size limits to prevent an unfortunate issue where rollups on the verge of timing out exceeded the heap size limit prior to successfully deferring
- fixed an issue reported in #488 where full record set rollups wouldn't properly reset their parent's rollup field value when all children were updated in a single update to no longer match due to
RollupTests.shouldResetRollupValueWhenIsFullRecordSetAndUpdatedItemNoLongerMatches
having some incorrect setup 😅 - fixed an issue reported in #490 where the default recalc values weren't being applied properly to parents without matching children
- shifted some tests around and created
RollupFlowFullRecalcTests
to further organize things
v1.5.83 - Layout Tab Ordering
- #480 & #481 by @dschach to update tab ordering of rollup layouts for Name/Label section(s)
- Adds friendly error message when rollup metadata records are being spun up in memory in Apex (particularly relevant for rollups on Task/Event/User since creating those via the UI isn't supported) and values are misspelled
- Added test for recursive hierarchy rollups, and started optimizing that process
- Updated README guidance on Org Default Rollup Control record
v1.5.82 - Rollup Caboose updates
- Heap reductions/optimizations with regards to how unexpected full recalcs (which populate rollup cabooses) store field-level data about parent/child query fields
v1.5.80 & 81 - Namespace Package Updates
- Fixed several test issues that were preventing namespace package generation
- Finished optimization work that's been going on for several releases now on
RollupCalcItemReplacer
- Updated the namespaced package migration script for DLRS to properly refer to the namespaced package's Rollup Control record
- Addresses NPE from #475
v1.5.79 - Fixes NPE In RollupAsyncProcessor
- Prevent NPE for no-op property access in
RollupAsyncProcessor.getAsyncRollup
- Fixes #474 by adding namespaced migration scripts for DLRS