Bugfix: Custom object trigger deletions remove shares for other records (Github)
Prior to this release, if the documented approach was used for trigger code on a custom object, the line below would have the effect of removing all FormulaShare sharing for records for this object other than the records being created or updated:
This sharing would be reapplied when the next batch job runs, but wouldn't be in place until this time.
With the fix now in place, the line above will instead remove only FormulaShare sharing which is no longer valid for the objects in scope. For example after a record update, any users or roles who had access based on values of fields before the update, but not after, will have their access to the record revoked.
This issue will affect orgs where developers have implemented code for custom object triggers to delete the share records returned by the getSharesToDelete() method. Standard object trigger code and batch recalculation are unaffected.