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

Salesforce Summer '26 (API v67.0) Apex میں ایک بڑی تبدیلی لاتا ہے۔ یہ تبدیلی بغیر کسی ایرر (error) کے آپ کے کوڈ کے نتائج کو تبدیل کر سکتی ہے۔

برسوں سے، Apex ڈیفالٹ کے طور پر system mode میں چلتا رہا ہے۔ اس کا مطلب یہ تھا کہ SOQL، SOSL، اور DML صارف کی اجازت (user permissions) اور شیئرنگ رولز (sharing rules) کو نظر انداز کر دیتے تھے۔ آپ کا کوڈ ان صارفین کو ڈیٹا دکھا سکتا تھا جنہیں اسے نہیں دیکھنا چاہیے تھا۔

API v67.0 میں، ڈیفالٹ بدل جاتا ہے۔ ڈیٹا بیس آپریشنز اب user mode میں چلتے ہیں۔

v67.0 میں کیا تبدیلیاں آتی ہیں:

• SOQL، SOSL، اور DML ڈیفالٹ کے طور پر user permissions اور sharing rules کو نافذ کرتے ہیں۔ • وہ کلاسز جن میں sharing declaration نہیں ہے، اب ڈیفالٹ کے طور پر "with sharing" ہو جائیں گی۔ • "WITH SECURITY_ENFORCED" کو ہٹا دیا گیا ہے۔ اس کے بجائے آپ کو "WITH USER_MODE" استعمال کرنا ہوگا۔ • Triggers ہمیشہ system mode میں چلتے ہیں۔

یہ تبدیلی آپ کی کلاس کے API ورژن سے منسلک ہے۔ آپ کی پرانی کلاسز تب تک ویسی ہی رہیں گی جب تک آپ انہیں 67.0 پر اپ گریڈ نہیں کر لیتے۔ یہ آپ کو مائیگریشن (migration) کو کنٹرول کرنے کی اجازت دیتا ہے۔

ان خاموش مسائل سے ہوشیار رہیں:

محفوظ طریقے سے مائیگریٹ کیسے کریں:

ابھی یہ تبدیلیاں کرنے سے بعد میں پروڈکشن (production) میں خاموش بگ (bugs) سے بچا جا سکتا ہے۔

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

اختیاری لرننگ کمیونٹی: https://t.me/GyaanSetuAi