Releases: jamessimone/apex-rollup
Releases · jamessimone/apex-rollup
v1.3.24 - Flow bugfixes & Parent-Level Filter updates
- Fixes several issues related to rollups invoked by flow - ensures
REFRESH
rollups are fired properly when parent-level filtering is used; fixes issue with parent-level filtering where multiple rollups are present and the reason the rollup is firing is due to the old item matching and the new item not matching - Fixes #232 by working around a thorny
SObjectException
related to non-reparentable child records. The fix for this is not as performant as I would like, but it may be the only workaround for now - Tooling work - updates to base logging string for increased readability; tweaked the way packages are created to increase readability of pwsh output log
v1.3.23 - BigDecimal bugfixes & Plugin Infrastructure work
- Fixed #230 by adding proper COUNT support and default value support for checkbox fields
- Fixed an issue where
RollupParentResetProcessor
was clashing with other enqueuing options for rollup, preventing some deferred rollups from running properly. It now properly (should) only work with full recalculations - Took a page from @jongpie 's book and moved all pwsh scripts from using
Write-Output
toWrite-Debug
. Also took this as an opportunity to fully port rollup over to using the generic package creation script, reducing the hacky powershell script I wrote initially for this by 86% (less surface area for scripts = more time for debugging actual rollup issues). This is also the first release where all packages (plugins included) were promoted automatically through the pipeline - hooray time savings! - Fixed some
RollupDateLiteral
edge cases that came up with the new year - Fixed #229 by preventing BigDecimal issues from occurring in all
RollupCalculator
code paths
Happy new year! It's the first Apex Rollup release of 2022 - looking forward to many more . 🚀
v1.3.22 - CONCAT_DISTINCT bugfix & RollupAsyncProcessor efficiency
v1.3.22 Overview
This will probably be the last apex-rollup
release for 2021. Thank you so much for making this package & project an incredibly rewarding endeavor over the last year - see you in 2022!
Bug fixes
- Fixes issue reported by Katherine West with
CONCAT_DISTINCT
updates not always correctly removing the prior value from the parent record - Fixes issue where
RollupParentResetProcessor
could occasionally re-queue using the incorrect version (either batching when it should queue, or queueing when it should batch) - Fixing static state caching in RollupParentResetProcessor
Plugins
- new versions of the Custom Object Rollup Logger and Nebula Logger Adapter released - both of these packages now append the current rollup version to log messages produced
Operational improvements
- Automated the (local) production of all
plugin
packages using a combination of husky pre-commit hooks and a generic pwsh script that increments the package version number, creates the package, and updates the corresponding pluginREADME
with the updated version. Still TODO here is automatically promoting these beta packages on merge tomain
(which is what the base rollup package already does). This may not seem like a huge thing to read in the release notes, but it's an enormous time-saver and logistical hurdle cleared, as working on the plugins is a great experience, but managing the administration of them amidst a largesfdx-project.json
has proven increasingly challenging. - Adding in caching for SFDX scanner thanks to @jongpie (cuts 30 seconds off of each pipeline run!)
- Added in automation to maintain the current rollup version and append that to apex debug log messages (thanks @jongpie!)
v1.3.21 - Reparenting Optimizations
v1.3.20 - Date Literal Function Support and RollupParentResetProcessor bugfix
- Fixes #179 by ensuring
RollupParentResetProcessor
recalcs always run first when multiple operations are enqueued. Also added logging for when those parent-level fields are reset - Added support for date literal functions, started exploring any possible issues associated with #224
v1.3.19 - Combating Record Lock Issues
- Combating record lock issues generated by overnight scheduled rollup runs - FOR UPDATE was too aggressively locking the parent records in these cases. Scales back, a bit, the extent to which #221 uses
FOR UPDATE
to prevent these aggressive row locks from materializing
v1.3.18 - Support For Datatable-enqueued Rollups
- Fixes #208 with a hybrid approach - adding
RollupControl__mdt.ShouldRunSingleRecordsSynchronously__c
to allow for better quality-of-life when it comes to single-record updates, and the addition ofFOR UPDATE
when querying parent-level records so that sequentially queued up single record updates (such as the ones introduced by using Lightning Data Service, a la LWC Utils's SOQL Datatable - (Hopefully) fixes #220 by introducing safe navigation into the reparenting logic within
RollupAsyncProcessor
- Adds caching into the pipeline to speed things up
- Raises
LoggingLevel
for Queueable errors fromDEBUG
toERROR
inRollupFinalizer
Big thanks to @jongpie for reviewing the approach taken for #208 and the pipeline caching
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