Skip to content

Releases: jamessimone/apex-rollup

v1.6.0 - Breaking Change: RollupEvaluator updates

18 Oct 04:12
b92179d
Compare
Choose a tag to compare

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

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 via System.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

02 Oct 19:46
8d45ddf
Compare
Choose a tag to compare
  • 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

27 Sep 19:31
0551c5a
Compare
Choose a tag to compare
  • A bit of cleanup following #503
  • Added new permission set to allow admins to show users the Recalculate Rollups button as per #502
  • Adding potential fix for #500

v1.5.86 - OR clause bugfix and full recalc update

25 Sep 15:54
0a6567a
Compare
Choose a tag to compare
  • Fixes #494 by properly handling deeper-nested OR clauses in where clauses for rollups
  • Fixes #500 by properly handling stateful maintenance of previously reset parents when children items cross multiple batches
  • Made some notes on WEEK_IN_YEAR date literal to come back to

v1.5.85 - COUNT bugfixes

18 Sep 14:19
4fb5d71
Compare
Choose a tag to compare
  • 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

08 Sep 17:44
d92f6f1
Compare
Choose a tag to compare
  • 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

30 Aug 16:05
a3ad162
Compare
Choose a tag to compare
  • #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

21 Aug 20:14
7479a33
Compare
Choose a tag to compare
  • 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

17 Aug 15:03
aa3a72e
Compare
Choose a tag to compare
  • 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

17 Aug 00:08
b5b84f8
Compare
Choose a tag to compare
  • Prevent NPE for no-op property access in RollupAsyncProcessor.getAsyncRollup
  • Fixes #474 by adding namespaced migration scripts for DLRS