Welcome to SFDC Share Point

Salesforce Blogs

Welcome to SFDC Share Point

Salesforce Blogs

Salesforce Winter ’17 Release Notes

There are really some cool features and enhancements available as part of this release.

To look at the Salesforce release guide please find it here,

Trailhead is also available for Winter’17 Release.

To prepare for Winter’17 Maintenance Exam, Use this Link.

Below are some of the features or Enhancements,

Capabilities of and considerations when using change sets.

  1. New Change Set Component – Global Value Set, A global picklist value set, which is the set of shared values that custom picklist fields can use. A global value set isn’t a field itself.

  2. Get More Days to Schedule Your Quick Deployments. – The time window to quick-deploy your validations has expanded from 4 days to 10 days. This larger time window provides you more flexibility for scheduling your quick deployment and helps minimize the impact on your org.

<target name="quickDeploy">
  <sf:deployRecentValidation username="${sf.username}" password="${sf.password}" 
                             sessionId="${sf.sessionId}" serverurl="${sf.serverurl}"
  1. Deploy Apex Test Suites to Other Orgs – Apex test suites are now accessible through the Metadata API, using the ApexTestSuite type. You no longer need to recreate test suites in each of your testing orgs. Instead, create an Apex test suite once and deploy it and its test classes to each of your test environments.


  1. Debugging: Log Fewer Irrelevant Events – Public users’ activity no longer generates unmanageably large debug logs. This feature is available in both Lightning Experience and Salesforce Classic.

  2. Developer Console – Rename and Edit Test Suites More Easily – You can now rename test suites easily from within the Developer Console, using the Test Suite Manager’s new Rename Suite button. You can also edit a test suite by double-clicking the test suite’s name. This feature is available in both Lightning Experience and Salesforce Classic.

  3. AppExchange and Your Salesforce Org—Together at Last – Now you can install apps, components, and other AppExchange offerings without ever leaving your org.

  4. Custom Metadata Types: Relationship Field Updates, Loader Enhancements, Management of Deleted Metadata – Detail Here. 

  5. Custom Meta Data Loader – You can now update existing records of a custom metadata type using the custom metadata loader. Previously, you could only bulk-load new records.

  6. Limitations When Querying Custom Metadata Types with SOQL – You can’t use the ORDER BY clause on a relationship field of a custom metadata type.

  7. SOQL and Setup (or Metadata API) queries sometimes behave differently. – If you use SOQL to query a custom metadata type, the results include only those records that reference objects you have permission to access. However, a similar query within Setup or using the Metadata API results in all relevant records, including records that reference objects you can’t access.

  8. SOQL limits apply when querying custom metadata types. – When you execute a join query to an EntityDefinition object, the query counts toward your Apex transaction SOQL query limit. If you join to another custom metadata type, however, the query doesn’t count toward your limit.

Apex Code

  1. Build a Mocking Framework with the Apex Stub API (Pilot) – Apex now provides a stub API for implementing your own mocking framework. You can define the behavior of stub objects, which are created at runtime as anonymous subclasses of Apex classes. The stub API is composed of the System.StubProviderinterface and the System.Test.createStub() method.

  2. Escape Special Characters in Merge Fields for Apex Callouts That Use Named Credentials

Visual Force

  1. PageReference getContent() and getContentAsPDF() Methods Now Behave as Callouts (Critical Update) – The getContent() and getContentAsPDF() methods return the content of a rendered Visualforce page as HTML and PDF, respectively. With this critical update, the getContent() and getContentAsPDF() methods of the PageReference object behave as callouts, and the calls are tracked against the limits of the calling transaction.


  1. SOQL – Access Names on Foreign Keys – 

You now have read access to name fields on foreign keys, even if you don’t have access to the referenced object. Previously, you got a null value on names retrieved using dot notation if you didn’t have access to the object.

In the following example, Parent.Name now returns the correct value, regardless of access to the parent object.

Select Name, Parent.Name from Account

#admin #apex #Features