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. Having read this I thought it was rather enlightening.

    I appreciate you taking the time and energy to put this information together.
    I once again find myself personally spending a significant amount of time both reading and posting comments.
    But so what, it was still worthwhile!

    Here is my web page – mega888 jackpot

  2. Do you mind if I quote a few of your posts
    as long as I provide credit and sources back to your weblog?
    My blog site is in the very same area of interest as yours and my visitors would definitely benefit from a lot of
    the information you present here. Please let me know if this alright with you.

    Cheers!

  3. May I simply say what a relief to find an individual who actually
    knows what they are discussing over the internet. You definitely realize how to bring
    an issue to light and make it important. More people ought to check this out and understand this side of your story.
    It’s surprising you’re not more popular since you definitely have the gift.

  4. Wow, marvelous weblog layout! How lengthy have you been running a blog for?
    you made running a blog look easy. The total glance of your web site is excellent, as neatly as the content material!

  5. Link exchange is nothing else however it is simply placing the other person’s web site link on your page
    at proper place and other person will also do same for you.

    Also visit my webpage :: pusyy888

  6. Thanks for your marvelous posting! I truly enjoyed reading it, you
    might be a great author. I will make sure to bookmark your blog and
    will come back later in life. I want to encourage
    yourself to continue your great work, have
    a nice afternoon!

    Feel free to surf to my web site; xe88hack apk

  7. Please let me know if you’re looking for a article author for your site.
    You have some really great articles and I think I would be a
    good asset. If you ever want to take some of
    the load off, I’d absolutely love to write some articles for your blog in exchange for
    a link back to mine. Please shoot me an e-mail if interested.

    Cheers!

Comments are closed.