Skip to content

Releases: jamessimone/apex-rollup

v1.3.17 - Code Coverage Plugin & Test Updates

02 Dec 16:26
9c08f22
Compare
Choose a tag to compare
  • Added Code Coverage Plugin for orgs that need additional code coverage for rollup. This plugin is auto-updated whenever changes are made to qualifying tests found in the extra-tests directory (where "qualifying" means: "no reliance on custom fields, CMDT, flows, triggers, etc ...) - thanks to Karl Berlin for pointing out the need for this one 🚀
  • Efficiency improvements within RollupCalculator by getting rid of intermediate lists/sets when possible prior to querying 🧮
  • Fixed a broken test in RollupDateLiteralTests (didn't work for NEXT_N_MONTHS literal when the month in question was February and the test was always adding 30 days 🤦‍♂️)

v1.3.16 - Fixing CONCAT_DISTINCT + SplitConcatDelimiter__c bug

29 Nov 22:27
e592147
Compare
Choose a tag to compare
  • Fixing CONCAT_DISTINCT + SplitConcatDelimiter__c bug thanks to Katherine West

v1.3.15 - Permanent BigDecimal Fixes & COUNT_DISTINCT bugfix

23 Nov 20:07
51cc4af
Compare
Choose a tag to compare
  • permanently fixes #212 by correctly re-initializing decimal types (big thanks to the folks with the Apex team for helping me debug this issue!)
  • fixes a bug with COUNT_DISTINCT where null values could have been added to counts incorrectly while items were being deleted

v1.3.14 - Too Many Query Rows bugfix

18 Nov 18:36
7783c94
Compare
Choose a tag to compare
  • Potential fix for #215 by deferring rollups where it wasn't possible to retrieve all additional calc items in one full recalculation

v1.3.13 - Updating sharing model for all full batch rollups

17 Nov 16:31
ab95975
Compare
Choose a tag to compare
  • fixed small bug with deferred rollups in attempt to further address #210
  • updating sharing model for all full batch rollups

v1.3.12 - First/Last/Average Optimizations & BigDecimal bugfix

16 Nov 15:40
8ef6431
Compare
Choose a tag to compare
  • Fixing issue reported by Katherine West with splitting by concat delimiter on calc items for Flow
  • Adding additional optimization for First/Last-based rollups
  • Fixes #212 where non-integer types can lead to a BigDecimal exception on DML update if arithmetic derived from Database.countQuery is used

v1.3.11 - Full Recalc Improvements

06 Nov 18:47
fb83a07
Compare
Choose a tag to compare
  • Fixes #207 by ensuring promotion script gets correct package Id to promote
  • Adding missing fix for #203 - full recalc processors now respect lower Rollup Control batch size limits, too
  • Patching a few issues further issues with CONCAT_DISTINCT, added in proper handling for old calc item matching and new one not matching for several operations
  • Fixes #209 by deep cloning trigger records to prevent System.FinalException: Record is read-only
  • Fix for #210 - properly reference cached calc items when performing full recalc across batches
  • Fixes #204 by passing parent records through when parent-level filtering exists and the parent-level field referenced isn't on the current parent

v1.3.10 - Efficiency Improvements, Bugfixes & Option to Split on Calc Item Values for CONCAT_DISTINCT

03 Nov 15:29
b054c96
Compare
Choose a tag to compare

What's Changed

  • Fixes #194 by adding the ability to split on the calc items' values when using CONCAT_DISTINCT
  • Fix for #193 by statically caching deferred rollups in the event that it's not possible to re-enqueue in the current transaction, but an async rollup is also already running. Several safety improvements added to prevent NPE in various code paths related to this issue
  • Fixes #203 by respecting lowest possible batch size amongst passed in Rollup Control records
  • Fixes #186 (temporarily) with rollup date function bypass in RollupEvaluator - true SOQL date function support to be added soon
  • Fixes #204 by properly handling parent-level fields in RollupEvaluator and REFRESH-context flows
  • Fixing issue reported by Katherine West with failures on CONCAT_DISTINCT updates

Efficiency Improvements

Synchronous Improvements

There were several non-optimal code paths prior to the async section of apex-rollup commencing (so ... during the synchronous part of rollup). Optimizations have been made in several areas:

  • the prior release (#202) introduced RollupCalcItemReplacer and ... the initial attempt to cache this object went poorly. That has now been addressed
  • reduced the number of outer ("conductor") rollups being created by fixing a "bug" (which has been in existence for a long time without me noticing where the rollup conductor defaulted to the batchable version on every code path - for most async rollups, which are being enqueued, this meant re-initializing the conductor right before going async. This issue has been resolved

Async Improvements

  • LoggingLevel usage in RollupEvaluator updated for the combined evaluator to FINEST - cuts back on duplicate logging entries and prevents the CPU usage associated with logging unless you are using FINEST to log
  • For non-update code paths (INSERT/DELETE contexts, in other words), there were occasionally duplicated (and expensive) calls to RollupEvaluator. These duplicated calls have been removed.

v1.3.9 - SOQL Date Literal Support

23 Oct 18:57
f5e3c47
Compare
Choose a tag to compare

Commit & Issue Summary

  • fixes #83 by adding support for SOQL date literals - massive shoutout to @ssk42, who in addition to contributing to this fix was also an invaluable sounding board for what ended up being a massive work-in-progress
  • added missing test from v1.3.8 - RollupFullRecalcTests.shouldAllowForMutuallyExclusiveWhereClausesOnBulkFullRecalc()
  • Added additional invocable method, Full Recalc CMDT-driven Invocable, (contributed by @dschibster) and documentation for its usage
  • Updated documentation regarding enabling RollupSetttings__c with feedback from eekers
  • Fixed a bug with hierarchy/grandparent rollups in Flow reported by eekers
  • Fixes #199 by updating package description to always use Github description text
  • Fixes #190 by correctly handling chained query fields in RollupCalcItemReplacer

What's Changed

Full Changelog: v1.3.8...v1.3.9

v1.3.8 - Schedulable Class Updates & Full Recalculation Adjustments

14 Oct 00:09
d7af414
Compare
Choose a tag to compare
  • Added helptext for singular (text-based) full recalc app screen so that users don't accidentally start their SOQL where clause (when applicable) with WHERE
  • Further Winter '22 cleanup making use of the new Enum.valueOf() methods
  • Upgraded Codecov plugin to v2 to avoid upcoming deprecation
  • Fixed an issue reported by Katherine West where schedulable rollup classes wouldn't ... run
  • Fixed an issue reported by Katherine West and jcart with some full recalculation code paths