Monday, January 16, 2012 Spring'12 Release Feature Set

Apex REST Updates

We’ve streamlined Apex REST and made it even easier to develop your custom endpoint. The following changes have been made to Apex REST API:
  • Apex REST automatically provides the REST request and response in your Apex REST methods via a static RestContext object. You no longer need to declare a RestRequest or RestResponse parameter in your method.
  • User-defined types are now allowed as Apex REST parameter types.
  • Apex REST methods are now supported in managed and unmanaged packages.
  • The order of elements in the JSON or XML response data no longer has to match the Apex REST method parameter order.

Concurrent Apex Jobs

Salesforce has increased the limit for the total number of Apex classes that you can schedule concurrently to 25 (the previous limit was 10). With this higher limit, you can now schedule more Apex jobs for concurrent execution.

ContentDocument Triggers

You can now associate Apex triggers with the ContentDocument object. You can create Apex triggers for the ContentDocument object only through the Metadata API. Alternatively, you can create the triggers using the IDE or the Migration Tool, both of which make use of the Metadata API.

OFFSET added to SOQL (Pilot)
We’re adding a new clause to SOQL which will allow your app to view records after a certain offset. Use OFFSET to specify the starting row offset into the result set returned by your query.
Using OFFSET is helpful for paging into large result sets, in scenarios where you need to quickly jump to a particular subset of the entire results. For example, the following SOQL query returns a result set that skips the first 100 rows of the full query results:
SELECT Name FROM Merchandise__c WHERE Price__c > 5.0 ORDER BY Name LIMIT 50 OFFSET 100
The resulting set of records would still be limited by 50, but would begin with the 101st record in the result set.
This feature is in Developer Preview. Please contact to enable it.