Releases: jamessimone/apex-rollup
Releases · jamessimone/apex-rollup
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
v1.3.7 - Winter '22, Parent filtering support, Full recalc bugfix, Grandparent rollup bugfix
- 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 to1
) - allows for subscribers to customize whether or not calc items are replaced synchronously or asynchronously depending on how many items are passed toRollup
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 toSystem.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
Rollup Logging & Eval bugfixes
- 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
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 addingrollup/app/profiles/Admin.profile-meta.xml
so that each sub-directory can be deployed independently (when required) - Updated
.forceignore
to v2 parser