Hi Everyone, Its summer time and Salesforce release cycle is on summer 18. Today we will take a quick overview of Summer 18 release notes.
- With the lightning:isUrlAddressable interface, we can now control which Lightning components can be opened programmatically. We can also now easily capture URL parameters using the v.pageReference attribute and use the parameter values in our component. With the lightning:navigation component, define a pageReference object for navigating to a custom component that implements lightning:isUrlAddressable and set any attributes the component allows.
- Previously when we are return records which have blob data(Attachment, ContentVersion) that gave us a generic error that was hard to debug. Now, a blob will return the size in a string instead of error, “Blob(sizeOfBlobInBytes)”. To access the actual blob contents on the client, we need to return a value as a JSON-serializable type, such as a string or integer, instead. On the client, we can convert the returned value to our preferred data structure in JavaScript.
- The Visualforce page <body> element now includes the CSS scoping class slds-vf-scope when lightningStylesheets=”true” in the tag. The scoping class matches the content to the Lightning Experience UI. When the lightningStylesheets attribute is set to true, it overrides the standardStylesheets attribute.
- In Apex now we can use Switch statement. The switch statement evaluates the expression and executes the code block for the matching when value. If no value matches, the code block for the when else block is executed. If there isn’t a when else block, no action is taken.
- We can now get the developer name of RecordTypes easily using two new methods. Previously we need to use Name due to which sometimes we face issue. Now we can use these new methods. •Schema.DescribeSObjectResult.getRecordTypeInfosByDeveloperName()
• Schema.RecordTypeInfo.getDeveloperName() - The SOQL Count() Function Doesn’t Count Toward Limits (Totally). Previously the number of rows returned in count function is counted against limit so we hit the 50000 records limit. Now this query will only counted as 1.
- We can now use the new System.Test.clearApexPageMessages() method to clear the messages on a Visualforce page while executing Apex test methods.
- Each org’s Apex code is now automatically recompiled before completing a metadata deploy, package install, or package upgrade. This change in behavior improves performance following metadata deploys and package updates. Previously, a deploy, install, or upgrade could leave an org with invalidated code, causing reduced performance while Apex was recompiled.
- The new @namespaceAccessible annotation marks public or protected Apex as available to other packages that share a namespace. If you use this annotation in Apex that isn’t packaged, it has no impact, so it can be deployed to development orgs.
- The maximum amount of Apex code that you can use in an org has been doubled, from 3 MB to 6 MB.
- Apex Exception Email Recipients Can Receive Process and Flow Error Emails. Previously its not possible to get these error emails to a specific user but now we can receive these emails.
- Salesforce has increased the size limit for debug logs from 2 MB per log to 5 MB. So now we can do debugging more easily.
- Previously if we have a broken component on lightning detail page then we get the blank screen but now if any component has error it will be dropped from page and we get notification for that.
- Now we can show the Lightning badge on LEX using the badge component
You can also signup for a pre- release org here to try all these points.
What did you like most in Summer 18 let me know in comments. Happy programming 🙂