Releases: jamessimone/apex-rollup
Releases · jamessimone/apex-rollup
v1.3.17 - Code Coverage Plugin & Test Updates
- 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 forNEXT_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
- Fixing CONCAT_DISTINCT + SplitConcatDelimiter__c bug thanks to Katherine West
v1.3.15 - Permanent BigDecimal Fixes & COUNT_DISTINCT bugfix
- 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
- 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
- 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
- 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
- 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
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 inRollupEvaluator
updated for the combined evaluator toFINEST
- cuts back on duplicate logging entries and prevents the CPU usage associated with logging unless you are usingFINEST
to log- For non-update code paths (
INSERT
/DELETE
contexts, in other words), there were occasionally duplicated (and expensive) calls toRollupEvaluator
. These duplicated calls have been removed.
v1.3.9 - SOQL Date Literal Support
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
- V1.3.9 - SOQL date literal support by @jamessimone in #202
Full Changelog: v1.3.8...v1.3.9
v1.3.8 - Schedulable Class Updates & Full Recalculation Adjustments
- 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