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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
//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();
//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();
//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. Quality articles is the important to invite the viewers to pay a quick visit the website, that’s
    what this website is providing.

    Here is my web-site; mega888 (Lora)

  2. Howdy! This is my 1st comment here so I just wanted to give a quick shout out and say I really enjoy reading your blog posts.
    Can you suggest any other blogs/websites/forums that cover the same
    subjects? Thanks a ton!

    Have a look at my web blog; 918kaya agent

  3. Its like you read my thoughts! You seem to grasp a lot approximately this, such as you wrote
    the e-book in it or something. I feel that you simply
    could do with some p.c. to drive the message house a bit, however instead of that,
    this is magnificent blog. A great read. I’ll certainly be back.

    Here is my web site http://www.hdmeg.net

  4. I know this web page offers quality depending posts and additional material,
    is there any other website which gives these kinds
    of data in quality?

    Have a look at my web page – xe888

  5. Your method of telling the whole thing in this paragraph is genuinely good, every one be capable
    of simply know it, Thanks a lot.

  6. I have been expⅼoring for a ⅼittlе bit for any higһ-quality
    articles oг webloig posts in this kind of hoսsse . Exploring in Yahoo I evventually
    stumbled upon this site. Studying this info So i’m hɑppy to exhibit that I have ɑn incredibly good uncannny feelinng I found out just what I needed.
    I most witһout a ⅾoubvt will make certain tο don?t disregard this website and give it
    a look on a continuing basis.

  7. I’m extremely impressed along with your writing skills and
    also with the layout in your weblog. Is that this a paid theme or did
    you modify it your self? Either way stay up the excellent quality writing, it is uncommon to look a great weblog
    like this one nowadays..

    Also visit my site: 918kaya online (wiki.lessdead.com)

  8. What’s Going down i am new to this, I stumbled upon this I have discovered It absolutely helpful and it has helped me out loads.

    I am hoping to give a contribution & assist different customers like its aided me.
    Great job.

    Here is my web blog – mega888 game

Comments are closed.