Skip to content

Releases: jamessimone/apex-rollup

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

v1.3.7 - Winter '22, Parent filtering support, Full recalc bugfix, Grandparent rollup bugfix

09 Oct 18:16
348ca00
Compare
Choose a tag to compare
  • Bumping API version to 53.0 - upgraded plugins and apex-rollup to Winter22
  • Fix for #173 by adding support for parent-level calc item filtering. Adds RollupControl__mdt.ReplaceCalcItemsAsyncWhenOverCount__c (defaults to 1) - allows for subscribers to customize whether or not calc items are replaced synchronously or asynchronously depending on how many items are passed to Rollup for any given operation (reported by @fentes)
  • Fix for #179 by properly filtering CMDT records for intermediate grandparent rollup objects (reported by @rygramer)
  • Fixes a bug reported by jcart with the Full Recalc App that could occasionally lead to System.LimitException: Too many query rows: 50001
  • Fixed a bug in RollupEvaluator where filtering with decimal places didn't always produce the correct result
  • Updated the way RollupAsyncProcessor counts the number of deferrals to properly track across async contexts where the original static context might have been lost (which could lead to .... a lot of async jobs being burned). Thanks to Katherine West for the head's up on this one!

v1.3.6 - Flow & Multi-currency bugfixes

27 Sep 15:59
4b97f4a
Compare
Choose a tag to compare
  • Fixes #174 by preventing a pass by reference issue in RollupFlowBulkProcessor reported by @rygramer
  • Fixes #175 by removing the possibility for a divide by zero MathException

Rollup Logging & Eval bugfixes

23 Sep 21:27
3b12234
Compare
Choose a tag to compare
  • some internal bookkeeping to reduce signal-to-noise ratio on PMD false-positives issued by apex-assist (the joys of working with dependent packages, some might say)
  • Fixed pre-commit hook to properly work with sfdx-scanner
  • Fixed #170 by stripping line breaks/tabs/carriage returns from evaluation messages
  • Fixed #171 by properly handling the queried list of rollup loggers to combine when the first entry in the list is the included Apex Debug logger
  • Fixes an issue reported by Katherine West where some where clauses with in ... within ... the value of a field were not being queried correctly

v1.3.4 - Multi-currency bugfix support for RollupParentResetProcessor

21 Sep 21:42
28ec1b7
Compare
Choose a tag to compare

Two releases in one day! In addition to the content released in v1.3.3, we get the following updates with v1.3.4:

  • Fix multi-currency issue with RollupParentResetProcessor
  • Updated pwsh test script to correctly early exit Github Action when tests fail
  • Updating rollup/core/profiles/Admin.profile-meta.xml and adding rollup/app/profiles/Admin.profile-meta.xml so that each sub-directory can be deployed independently (when required)
  • Updated .forceignore to v2 parser