Skip to content

Releases: jamessimone/apex-rollup

v1.3.24 - Flow bugfixes & Parent-Level Filter updates

18 Jan 16:12
cccf766
Compare
Choose a tag to compare
  • 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

12 Jan 01:59
Compare
Choose a tag to compare
  • 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 to Write-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

23 Dec 20:00
01b401b
Compare
Choose a tag to compare

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

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 plugin README with the updated version. Still TODO here is automatically promoting these beta packages on merge to main (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 large sfdx-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

18 Dec 21:02
eb91632
Compare
Choose a tag to compare
  • reparenting optimizations
  • true fix for #179
  • added SFDX caching into pipeline thanks to @jongpie
  • brought RollupParentResetProcessor into line with the rest of the RollupAsyncProcessor.FullRecalcProcessor subclasses

v1.3.20 - Date Literal Function Support and RollupParentResetProcessor bugfix

10 Dec 23:44
8d686f6
Compare
Choose a tag to compare
  • 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

08 Dec 15:22
934e2c9
Compare
Choose a tag to compare
  • 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

07 Dec 22:54
18d2a39
Compare
Choose a tag to compare
  • 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 of FOR 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 from DEBUG to ERROR in RollupFinalizer

Big thanks to @jongpie for reviewing the approach taken for #208 and the pipeline caching

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