നിങ്ങളുടെ Apex-ൽ സമ്മർ '26-ൽ കുറഞ്ഞ റെക്കോർഡുകൾ ലഭിച്ചേക്കാം

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 എന്നിവ ഡിഫോൾട്ട് ആയി യൂസർ പെർമിഷനുകളും ഷെയറിംഗ് റൂളുകളും നടപ്പിലാക്കും. • ഷെയറിംഗ് ഡിക്ലറേഷൻ ഇല്ലാത്ത ക്ലാസുകൾ ഇനി മുതൽ "with sharing" ആയി കണക്കാക്കപ്പെടും. • "WITH SECURITY_ENFORCED" ഒഴിവാക്കി. പകരം നിങ്ങൾ "WITH USER_MODE" ഉപയോഗിക്കണം. • Triggers എപ്പോഴും system mode-ൽ തന്നെ പ്രവർത്തിക്കും.

ഈ മാറ്റം നിങ്ങളുടെ ക്ലാസിന്റെ API വേർഷനുമായി ബന്ധപ്പെട്ടിരിക്കുന്നു. നിങ്ങൾ അവയെ 67.0-ലേക്ക് അപ്‌ഗ്രേഡ് ചെയ്യുന്നത് വരെ പഴയ ക്ലാസുകളിൽ മാറ്റം വരില്ല. ഇത് മൈഗ്രേഷൻ (migration) നിയന്ത്രിക്കാൻ നിങ്ങളെ സഹായിക്കുന്നു.

ശ്രദ്ധിക്കേണ്ട നിശബ്ദമായ പ്രശ്നങ്ങൾ (silent issues):

സുരക്ഷിതമായി മൈഗ്രേറ്റ് ചെയ്യുന്നത് എങ്ങനെ:

ഈ മാറ്റങ്ങൾ ഇപ്പോൾ വരുത്തുന്നത് ഭാവിയിൽ പ്രൊഡക്ഷനിൽ ഉണ്ടായേക്കാവുന്ന നിശബ്ദമായ ബഗുകൾ (bugs) ഒഴിവാക്കാൻ സഹായിക്കും.

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