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

Salesforce Summer '26 (API v67.0)은 Apex에 중대한 변화를 가져옵니다. 이 변화는 에러를 발생시키지 않으면서도 코드 실행 결과를 변경할 수 있습니다.

수년 동안 Apex는 기본적으로 시스템 모드(system mode)에서 실행되었습니다. 이는 SOQL, SOSL 및 DML이 사용자 권한과 공유 규칙(sharing rules)을 무시했음을 의미합니다. 즉, 코드가 권한이 없는 사용자에게 데이터를 보여줄 수도 있었습니다.

API v67.0에서는 이 기본 설정이 뒤바뀝니다. 이제 데이터베이스 작업은 사용자 모드(user mode)에서 실행됩니다.

v67.0에서 변경되는 사항:

• SOQL, SOSL 및 DML이 기본적으로 사용자 권한과 공유 규칙을 적용합니다. • 공유 선언(sharing declaration)이 없는 클래스는 이제 기본적으로 "with sharing"으로 동작합니다. • "WITH SECURITY_ENFORCED"가 제거되었습니다. 대신 "WITH USER_MODE"를 사용해야 합니다. • 트리거(Triggers)는 항상 시스템 모드에서 실행됩니다.

이 변화는 클래스의 API 버전과 연동됩니다. 기존 클래스는 67.0으로 업그레이드하기 전까지는 이전과 동일하게 유지됩니다. 이를 통해 마이그레이션을 제어할 수 있습니다.

다음과 같은 드러나지 않는 문제들을 주의하십시오:

안전하게 마이그레이션하는 방법:

지금 이러한 변경 사항을 적용하면 나중에 발생할 수 있는 조용한 운영 환경(production) 버그를 방지할 수 있습니다.

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