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

Salesforce Summer '26 (API v67.0) では、Apex に重大な変更が導入されます。この変更により、エラーが発生することなくコードの実行結果が変わる可能性があります。

長年、Apex はデフォルトでシステムモードで実行されてきました。これは、SOQL、SOSL、および DML がユーザー権限や共有ルールを無視することを意味していました。そのため、本来表示すべきでないユーザーに対してデータが表示されてしまう可能性がありました。

API v67.0 では、このデフォルト設定が逆転します。データベース操作は、今後ユーザーモードで実行されるようになります。

v67.0 での変更点:

• SOQL、SOSL、および DML は、デフォルトでユーザー権限と共有ルールを適用します。 • 共有宣言のないクラスは、デフォルトで "with sharing" になります。 • "WITH SECURITY_ENFORCED" は削除されます。代わりに "WITH USER_MODE" を使用する必要があります。 • トリガーは常にシステムモードで実行されます。

この変更はクラスの API バージョンに紐付いています。既存のクラスは、67.0 にアップグレードするまで変更されません。これにより、移行をコントロールできます。

次のような「サイレントな問題」に注意してください:

安全に移行する方法:

今これらの変更を行っておくことで、将来的な本番環境でのサイレントなバグを防ぐことができます。

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

オプションの学習コミュニティ: https://t.me/GyaanSetuAi