Salesforce Winter ’21 Release Notes (Developer Perspective)

Update Resources with the PATCH HTTP Method in Apex Callouts

To make partial or full updates to a resource in an HTTP web service, specify the PATCH method in the HttpRequest class. Previously, only the PUT method was supported for full updates.

https://releasenotes.docs.salesforce.com/en-us/winter21/release-notes/rn_apex_callouts_patch.htm?edition=&impact=

Use the Safe Navigation Operator to Avoid Null Pointer Exceptions

Use the safe navigation operator (?.) to replace explicit, sequential checks for null references. This new operator short-circuits expressions that attempt to operate on a null value and returns null instead of throwing a NullPointerException.

Where: This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.

How: If the left-hand-side of the chain expression evaluates to null, the right-hand-side is not evaluated. Use the safe navigation operator (?.) in method, variable, and property chaining. The part of the expression that is not evaluated can include variable references, method references, or array expressions.

https://releasenotes.docs.salesforce.com/en-us/winter21/release-notes/rn_apex_SafeNavigationOperator.htm?edition=&impact=

Instead of checking System.isFuture() || System.isQueueable(), detect Apex Runtime Context with RequestId and Quiddity

//Get info about the current request
Request reqInfo = Request.getCurrent();

//Universally unique identifier for this request
//Same as requestId in splunk or REQUEST_ID in event monitoring
String currentRequestId = reqInfo.getRequestId();

//enum representing how Apex is running. e.g. BULK_API vs LIGHTNING
//Use this with a switch statement,
//instead of checking System.isFuture() || System.isQueueable() || ...
Quiddity currentType = reqInfo.getQuiddity();

Improve Apex Testing with New SObject Error Methods

If the SObject.addError() method has been called on an SObject instance, the SObject.hasErrors() method returns true. The SObject.getErrors() method returns a list of Database.Error objects that contain the errors. encountered.https://releasenotes.docs.salesforce.com/en-us/winter21/release-notes/rn_apex_trackErrors.htm?edition=&impact=

A new REST resource for Composite requests is now generally available

Then composite resources let you batch up multiple calls in a single call. By using this you can simplify your code, reduce network overhead, and improve your app’s performance.

composite graphs ensure that the steps in a given set of operations are either all completed or all terminated. It’s no longer necessary to check for a mix of successful and unsuccessful results. The Composite Graph resource payload increases the subrequest limit to 500 per payload, up from 25 per Standard Composite payload. A single API call can now do much more.

https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/using_composite_resources.htm

Transform Data with a Few Clicks (Pilot)

Data in your Salesforce org is stored across different objects. Use Data Processing Engine to bring all the data in one place and transform it based on your requirements. Start by creating an instance of Data Processing Engine. Then select data sources, define the various configurations, and choose whether you want to use the transformed data to create records or update existing records.

https://releasenotes.docs.salesforce.com/en-us/winter21/release-notes/rn_data_processing_engine_create.htm?edition=&impact=

1,085 thoughts on “Salesforce Winter ’21 Release Notes (Developer Perspective)”

  1. Thanks for a marvelous posting! I actually enjoyed reading it,
    you may be a great author. I will ensure that I bookmark your blog and may come back later in life.

    I want to encourage continue your great job, have a nice weekend!

  2. When someone writes an piece of writing he/she keeps the idea of a
    user in his/her mind that how a user can be aware of it.

    So that’s why this article is outstdanding. Thanks!

  3. It is the best time to make some plans for the future and it is time to be happy.

    I have read this post and if I could I want to suggest you some interesting things or tips.
    Maybe you can write next articles referring to this article.
    I want to read even more things about it!

  4. Woah! I’mreally loving thhe template/theme of this site.
    It’s simple, yet effective. A lot of times it’s very hard tto get that “perfect balance” between usability and visual appearance.
    I must say you’ve done a fantastic job with this. Additionally,
    the blog loads super fast ffor me on Chrome. Outstanding Blog!

    web page

  5. My brother suggested I might like this website. He was totally right.
    This post truly made my day. You cann’t imagine just how much
    time I had spent for this info! Thanks!

  6. Good day! I know this is kind of off topic but I was wondering which blog platform are you using for this site?
    I’m getting fed up of WordPress because I’ve had problems with hackers and I’m looking at
    alternatives for another platform. I would be fantastic if you
    could point me in the direction of a good platform.

  7. I am really loving the theme/design of your website. Do you ever
    run into any internet browser compatibility problems? A couple of my blog
    audience have complained about my website not operating correctly in Explorer but looks great in Opera.

    Do you have any recommendations to help fix this problem?

Comments are closed.