𝗬𝗼𝘂𝗿 𝗔𝗽𝗲𝘅 𝗠𝗶𝗴𝗵𝘁 𝗥𝗲𝘁𝘂𝗿𝗻 𝗙𝗲𝘄𝗲𝗿 𝗥𝗲𝗰𝗼𝗿𝗱𝘀 𝗶𝗻 𝗦𝘂𝗺𝗺𝗲𝗿 '𝟮𝟲

Salesforce Summer '26 (API v67.0) 为 Apex 带来了重大变化。这一变化可能会改变您的代码结果,而不会抛出任何错误。

多年来,Apex 默认以系统模式 (system mode) 运行。这意味着 SOQL、SOSL 和 DML 会忽略用户权限和共享规则。您的代码可能会向不应看到数据的用户展示数据。

在 API v67.0 中,默认设置发生了反转。数据库操作现在以用户模式 (user mode) 运行。

v67.0 中的变化:

• SOQL、SOSL 和 DML 默认强制执行用户权限和共享规则。 • 没有声明共享方式 (sharing declaration) 的类现在默认使用 "with sharing"。 • "WITH SECURITY_ENFORCED" 已被移除。您必须改用 "WITH USER_MODE"。 • 触发器 (Triggers) 始终以系统模式运行。

此变化与您类的 API 版本相关联。在您将其升级到 67.0 之前,旧类将保持不变。这让您可以控制迁移过程。

警惕这些隐蔽问题:

如何安全迁移:

现在进行这些更改可以防止日后出现隐蔽的生产环境 Bug。

Source: https://dev.to/maintask/your-apex-might-return-fewer-records-in-summer-26-and-not-throw-a-single-error-26de

Optional learning community: https://t.me/GyaanSetuAi