Six Summer '15 features Developers should be excited about

Every year Salesforce.com certified professionals have to take on 300+ pages of documentation for each of the three Salesforce.com releases to keep up-to-date with the latest and greatest features on the platform.

It's pretty hard to keep track and to remember everything that is coming out in each Salesforce.com release, though if you're developing on the platform you should at least glance through and familiarise yourself with the major features.

I'd like to quickly highlight the most important (at least for me as a developer) features that are coming out in the next (Summer '15) release that will have a major impact from a development point of view:

  1. Custom Metadata Types
  2. Data Loader officially supported for Mac OS X
  3. New code coverage calculation for multiline statements
  4. Iteration order for maps and sets is now predictable
  5. Choose which tests to run in a deployment
  6. Track your organisation's Apex transactions with Apex limit events (Pilot)

1. Custom metadata types

Imagine being able to deploy custom settings metadata and data from one org to another and to be able to reference the data in your code quicker, without adding a SOQL query entry to the governor limit counter.

This is now possible with the ability to define custom configurations that are cached on the platform, don't count towards the governor limits and can be deployed from org to org. Personally I think this is a huge piece that was missing over the years, especially for independent software vendors that had to write hundreds of lines of code for an alternative solution, or perhaps a post-installation documentation that creates an overhead for the end clients to configure the app before they can start using it.

At this stage I'm not 100% sure whether this will replace the current custom settings functionality or will differentiate in some way, but regardless, this is something that I'm really looking forward to.


2. Data Loader officially supported for Mac OS X

After many years of using LexiLoader as an alternative, finally we have an officially supported DataLoader for OS X. Hopefully this won't be the exact copy of the DataLoader for Windows and we'll get slightly better, more advanced application.

3. New code coverage calculation for multiline statements

Have you ever seen inconsistent code coverage when running test classes inside Salesforce.com and your IDE? Well, most likely that was due to having multiline statements that weren't calculated properly. This is a bugfix that will give developers trust to the test run results and save them time from re-running the tests in different environments in order to confirm the results.

Previously:

Summer '15:
4. Iteration order for maps and sets is now predictable

As we all know up to this point a Set or a Map is a collection of unordered elements. Every iteration through a collection could result with a different order of the elements, meaning that you could not rely on the order of elements of these 2 collections. From Summer '15 onward, things are changing - Maps and Sets will not have arbitrary order of the elements anymore, rather we'll get a predictable iteration every single time. This will allow developers to write less lines of code and improve performance of their components.


5. Choose which tests to run in a deployment

Deployments... Every Developer's nightmare!

Deploying to large and complex environments can be a pain and it takes forever for hundreds of test classes to run before any changes can be deployed (pray that you don't get an error!). You can now choose which tests to run in your deployment process, which will shorten the deployment time and increase productivity.


6. Track your organisation’s Apex transactions with Apex limit events (Pilot)

I've seen quite a few questions of the type "How to handle this apex error?" or "What is causing this apex error?".

Sometimes when a piece of apex code hits the platform's hard limits, a runtime error is thrown that cannot be handled and it is not always clear of what exactly happened.

With this feature you can keep track of Apex executions that are hitting (or are close to hit) these limits which will allow for developers to narrow down the cause of the problem, therefore optimise the code. It's only a pilot at this point in time but it's something that will definitely contribute to having a more healthy environment and better landscape of the business logic that runs in your org.

I hope my six Summer '15 features have provided some more detailed insight into the advantages this release will have for Developers. If have any further questions please contact me by clicking the link below:

For more on the Summer '15 release check out Harry Bohosian's blog: 
Whats new in the Salesforce Summer '15 release