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. Hey there! This post could not be written any better!
    Reading through this post reminds me of my previous room mate!
    He always kept chatting about this. I will forward this post to him.

    Fairly certain he will have a good read. Thanks for sharing!

  2. You have made some decent points there. I checked on the internet for more info
    about the issue and found most people will go along with your
    views on this site.

  3. Good day! This post could not be written any better! Reading this post reminds me of my previous room mate!

    He always kept talking about this. I will forward this article to him.
    Pretty sure he will have a good read. Many thanks for sharing!

  4. Hi there, I found your site by way of Google while looking for a
    similar matter, your web site came up, it appears to be like great.
    I’ve bookmarked it in my google bookmarks.
    Hi there, simply become aware of your blog through
    Google, and located that it is really informative.
    I’m gonna watch out for brussels. I will be grateful
    in the event you continue this in future. Numerous other folks shall be benefited out of your writing.

    Cheers! https://francisnunez9.dreamwidth.org/profile

  5. Magnificent beat ! I would like to apprentice even as
    you amend your web site, how can i subscribe for a weblog
    site? The account aided me a acceptable deal.
    I were tiny bit familiar of this your broadcast provided bright clear
    idea

  6. Hello, I believe your website could be having internet
    browser compatibility issues. Whenever I take a look at your web site in Safari,
    it looks fine but when opening in IE, it’s got some
    overlapping issues. I just wanted to give you a quick heads up!
    Aside from that, wonderful blog!

  7. Howdy would you mind stating which blog platform you’re using?

    I’m going to start my own blog soon but I’m having a tough time selecting between BlogEngine/Wordpress/B2evolution and
    Drupal. The reason I ask is because your layout
    seems different then most blogs and I’m looking for something unique.
    P.S Apologies for being off-topic but I had to ask! https://justpaste.it/3i3ii

  8. You really make it seem so easy with your presentation but I find this matter to
    be really something which I think I would never understand.
    It seems too complex and very broad for me. I’m looking forward for
    your next post, I will try to get the hang of it!

  9. I do agree with all of the ideas you’ve presented for your
    post. They’re very convincing and can certainly work.
    Nonetheless, the posts are too brief for novices.
    Could you please lengthen them a bit from subsequent time?
    Thanks for the post.

  10. It’s hard to come by educated people on this topic, however, you sound like you know
    what you’re talking about! Thanks

  11. Your style is unique compared to other people I have read stuff from.
    Many thanks for posting when you have the opportunity, Guess I will just book mark this site.

Comments are closed.