Force.com IDE Release Notes

The Force.com IDE provides a unified interface for building and deploying Force.com applications. Designed for developers and development teams, the IDE provides tools to accelerate Force.com application development, including source code editors, test execution tools, wizards and integrated help. It is currently available as a plug-in for Eclipse 3.2.2 or later.

Visit the Force.com IDE main page for more information.


Contents


Summer '08 Developer Preview

The Force.com IDE continues as a Developer Preview. It is unsupported, and its capabilities will change in upcoming releases, potentially with manual or no upgrade path. Questions and problems may be posted on the public discussion forum and/or see the FAQ.

The Summer '08 release of the Force.com IDE contains the following major new features:

  • Summer '08 Metadata API, adding the following components:
    • Home Page Components
    • Home Page Layouts
    • Page Layouts
    • Validation Rules
    • Workflows
  • Project Contents Selection lets you control what to download:
    • All packages and default unpackaged components (identical to previous releases)
    • Single package
    • Selected metadata types only
    • None (if loading project from version control system)
  • Usability Enhancements
    • Simplified connection options in the New Force.com Project wizard
    • Refresh objects list from within the New Apex Trigger and New Workflow wizards
    • Force.com Projects now use Eclipse proxy server settings, rather than per-project settings
    • Improved stability and performance
    • Toolbar button opens developer.force.com in the default browser

Summer '08 Known Issues

Upgrading

  • When you upgrade to the latest version of the Force.com IDE, you may not see the full list of available metadata types under File > New. To resolve this issue, close the Force.com Perspective by selecting Window > Close Perspective and then reopen it from Window > Open Perspective > Other... > Force.com.
  • Proxy server settings in Force.com Projects now use the Eclipse network preferences. All Force.com Projects will automatically use these settings, but when you upgrade your old Force.com Project proxy settings will be lost. To specify Eclipse network preferences, select File > New > Force.com Project and click the 'Proxy Settings' link. The Eclipse network preferences page can also be reached from Eclipse Preferences and Force.com Project Properties.
  • Non-Latin characters in filenames are no longer escaped. Save any changes to these metadata files before upgrading. After upgrading, refreshing from the server will create new copies of these files with UTF-8 names. You will need to remove the old files manually.
  • In the New Force.com Project wizard, the Endpoint field has been replaced by the Environment field, which allows you to select a Salesforce server by name.

Connectivity

  • This version of the Force.com IDE only works with the Summer '08 (13.0) API endpoint. Use with other API versions is not supported.
  • To create a Force.com Project against a Salesforce organization, the user must have the Modify All Data permission (typically held only by System Administrators).
  • In the New Force.com Project wizard, specifying a Read Timeout value outside the min/max range silently changes to the min/max.
  • Proxy servers using NTLM and digest authentication are not supported.
  • Changing proxy settings multiple times may require restarting Eclipse before changes take effect.
  • If you receive a Connection Refused error message, this could mean that the server was unavailable or that you should check your username and password.
  • Editing and saving an Apex Trigger, Apex Class, or Visualforce page in the absence of an internet connection throws the following assertion failure: AssertionFailedException: assertion failed: ContentViewer must have a content provider when input is set. assertion failed: ContentViewer must have a content provider when input is set.

Working with Metadata Files

  • When creating a new component, the object drop-down on Trigger, Layouts, and Workflow is not filtered based on package parent, so you may see items that are in other pacakges.
  • CustomPageWebLinks are not supported in the Summer '08 release of the IDE.
  • Page layouts, custom tabs, email templates, and static resources can be viewed and edited in the IDE, but not created.
  • Creating a new Visualforce Page or Apex Component inside a package folder in the IDE results in a Save Error, as these components are not packageable.
  • Removing a <fields> tag from a custom object does not actually remove the custom field on save. Instead, use the Salesforce web interface to delete the field.
  • Deleting a custom object from the IDE does not remove any corresponding .layout or .workflow files, even though these components are deleted from the server. These files must be deleted manually.
  • Adding a Master-Detail Reference custom field to an existing custom object is not supported by the Metadata API in Summer '08, and therefore is not supported by the IDE.
  • Force.com Projects will not automatically include new packages created in your organization after the project was created. To work with a package in this manner, create a new Force.com Project and select "Contents of package x" in the Project Contents tab.
  • Show in Salesforce Web does not support standard objects. The browser opens to a Salesforce page showing an Insufficient privileges message.
  • Deleting a metadata file while in Work Offline mode never deletes the file from the server, but will delete the file locally.
  • On Windows systems, in order to correctly display non-Latin characters in file contents, you must use UTF-8 encoding for Visualforce pages and s-controls.
  • When assigning a class from unpackaged to an uninstalled package on a server, the class in the unpackaged folder won't be deleted in IDE.
  • When components are moved to a new package, the duplicate component stills reside in the old package in the IDE. Therefore, the code coverage report view might reference the component in the out-of-date package, rather than the new package.

Server Synchronization

  • "Refresh from Server" never deletes local files. This may be confusing if you create a component under the "unpackaged" folder, and then move it to a named package. After choosing "Refresh from Server", you will have two of the same component, one in the named package, and one under the unpackaged folder.
  • "Deploy to Server", "Synchronize with Server" and "Save to Server" are only available at the "src" folder level. These options are not available on installed, managed packages.
  • If a file changes outside of the IDE, Eclipse doesn't automatically refresh the content. This may happen when using a source-control system and a file is synchronized or reverted. If a file change of this nature occurs, you will need to refresh the file (Eclipse's Refresh for filesystem changes and "Refresh from Server" or "Synchronize with Server") to pull those changes in.
  • If "Refresh from Server" is executed on a file while it is open in an editor, the file will be refreshed on disk but the contents of the editor will not reflect the refresh. Saving changes in the editor will overwrite the refreshed file. To edit the refreshed file, close the editor without saving and then reopen the file.
  • Saving a resource while the Synchronize View is open may falsely identify the resource as out of synchronization. Refreshing the Synchronize View removes the conflict.

Deployment

  • If the Deploy Wizard times out or is canceled while waiting for the server to complete a deployment, the server will continue the deployment but you will not be notified of the results.
  • The Deploy Wizard cannot deploy to an organization containing two packages with the same name. In this case, the IDE shows the error "Duplicate packages are installed. Can not make the deployment plan." If you have more than one package with the same name, you need to uninstall (or for local packages, rename) the duplicates.
  • The Deploy Wizard only allows deployment of metadata components that are enabled in the destination environment. Disabled components will be excluded from the deployment plan.
  • A deployment archive (archive of destination environment) will not be generated if the deployment plan only consists of deletes.
  • Email templates and documents in user-defined folders are excluded from the deployment plan.

Schema Browser

  • A syntax error in a malformed SOQL query is highlighted by the carrot (^) symbol. However, the carrot highlighted location is not accurate in the error dialog. Locate the syntax error by column and row number, instead of the carrot.
  • SOQL queries that return no results do so without an accompanying message. It may appear as if the query did not run, but in fact there are no returned rows.
  • Malformed queries may return an error of "Unable to open Schema Browser". If you receive this message, make sure your query is correct.

Eclipse Issues

  • The Force.com IDE is not compatible with with Eclipse 3.4 (Ganymede). Users installing the Force.com IDE plug-in into Eclipse 3.4 may experience unexpected or even harmful errors.
  • The IDE's "src" folder may cause conflicts with other project directory structures containing "src". If you have name clash problems, rename the non-Force.com folders so they are unique.
  • Maintaining support for Eclipse 3.2.2 requires Apex Code Editor syntax highlighting to be case-sensitive even though the Apex language is case-insensitive
  • After changing the Apex Code log level marker under Force.com project properties, the UI does not reflect the value change, even though the value is saved correctly and Apex Code executes with the correct logging level.
  • Mozilla Runtime Environment (MRE) installation depends on the correct Eclipse version (32-bit/64-bit). If the standard wizard toolkit (SWT) crashes while opening an artifact (menu items, dialogs, etc.), then make sure that the required MRE exists.

Other

  • If you are working with large (> 2.5MB) component content, Eclipse needs at least 512MB of memory. See Force.com FAQ.
  • You cannot delete a folder that contains documents. As a workaround, use the Salesforce user interface to delete the documents, then you can delete the folder in the IDE.
  • To delete a project resource from the server, you must use the Package Explorer.

Spring '08 Developer Preview

The Force.com IDE continues as a Developer Preview. It is unsupported, and its capabilities will change in upcoming releases, potentially with manual or no upgrade path. Questions and problems may be posted on the public discussion forum and/or see the FAQ.

The Spring '08 release of the Force.com IDE contains the following major new features:

  • Spring '08 Metadata API adds the following Salesforce components:
    • Visualforce components
    • Static resources
    • Email templates
    • Letterheads
    • Documents
  • Code Share Start lets you create projects from any Eclipse-enabled version control system, without fetching the existing contents of your organization.
  • Usability Enhancements include renaming the SOAP endpoints in the New Project wizard to clarify which endpoint you should use. Choose "production" to point to http://www.salesforce.com and "test" to point to sandbox. In previous releases, the production SOAP Endpoint was called "default".

April 1, 2008

Patch release version 12.0.2.200803272100 includes the following enhancements:

General

  • Read-only files supported
  • Proactive handling of retrieve requests where packages have the same name
  • Support for merge field insertion on custom and standard objects
  • Auto-retry on connection-related exceptions
  • IDE supports creating projects without fetching components

Apex Code Editor

  • Added content assistance for Database and updated System built-in type
  • Added custom and standard objects to content assistance and syntax highlighting
  • Updated current Apex code keywords for syntax highlighting
  • Upgraded syntax highlighting to be more Java-like

Deployment

  • Pre-deployment testing to a production environment no longer tests against non-relevant content, such as installed, managed content. In non-production environments, no tests run.
  • "Deploy to Server", "Save to Server" and "Synchronize with Server" context menu items are now only available on the "src" folder.
  • Resolved issues with Deployment Plan sorting
  • Conflicts with server are considered for both source and metadata files. For example, in the case of an Apex trigger, changes to either the body of the trigger or the associated metadata will flag the file for update

Usability Enhancements

  • Context-sensitive help on Force.com components
  • Updated logging support for execute anonymous includes log category and log level. However, note that workflow and callout are not supported.

Spring '08 Known Issues

Connectivity

  • Proxy servers that require basic authentication will cause the IDE to prompt for credentials when they are not already configured in your Eclipse workspace preferences. Most communication with Force.com will use your Force.com project's proxy settings, but some communications may use the proxy settings from Eclipse's workspace preferences.
  • NTLM and digest authentication with a proxy server may not work properly.

Editing Metadata

  • Custom tabs, documents, email templates, and static resources can be viewed and edited in the IDE, but not created.
  • Removing a custom field tag from a custom object does not actually remove it on save. Instead, use the Salesforce user interface to delete the field.
  • Removing a Custom Tab tag from a Custom Application does not actually remove it on save. Instead, use the Salesforce web interface to remove the tab.
  • Newly created custom objects are not immediately available as triggerable objects.
  • When deleting a file that is part of a multi-file metadata definition (e.g. .cls and .cls-meta.xml), the other file(s) in the metadata definition are not deleted. In this case, manually delete the associated composite file.

Server Synchronization

  • "Deploy to Server", "Synchronize with Server" and "Save to Server" are only available at the "src" folder level. These options are not available on referenced Packages.
  • If a file changes outside of the IDE, Eclipse doesn't automatically refresh the content. This may happen when using a source-control system and a file is synchronized or reverted. If a file change of this nature occurs, you will need to refresh the file to pull those changes in. If this file is already open in the IDE, choosing "Refresh from Server" will not show a change in content. In this case, you should close the file without saving changes, and then reopen it.
  • "Refresh from Server" does not delete local files. This may be confusing if you create a component in the "unpackaged" package, and then move it to a named package. After choosing "Refresh from Server", you will have two of the same component, one in the named package, and one in the unpackaged package.
  • If "Refresh from Server" is executed on a file while it is open in an editor, the file will be refreshed on disk but the contents of the editor will not reflect the refresh. Saving changes in the editor will overwrite the refreshed file. To edit the refreshed file, close the editor without saving and then reopen the file.
  • "Refresh from Server" does not delete a file that has an associated metadata (XML) file, you must delete the metadata file by hand. For exmaple, if you have an Apex class called myClass.cls, and you delete this file using the Web UI, and then you Refresh from Server, the associated myClass.cls-meta.xml is not deleted. You must delete this in Eclipse.
  • Use "Refresh from Server" to fetch or refresh content in "Referenced Packges" folder.
  • Saving a resource while the Synchronize View is open may falsely identify the resource as out of synchronization. Refreshing the Synchronize View removes the conflict.
  • If "Synchronize from Server" is executed from the project node and the remote server contains installed, managed packages ("Referenced Packges"), then installed, managed packages content will always appear as incoming changes despite no change to the project's installed, managed packages content.

Deployment

  • You cannot deploy changes to standard objects in the "unpackaged" package. If you want to deploy a custom field on the Account object, for example, you would need to make the changes in a named package.
  • The deploy wizard only allows deployment of metadata components that are enabled in the destination environment. Disabled components will be excluded from the deployment plan.
  • A deployment archive (archive of destination environment) will not be generated if the deployment plan only consists of deletes.
  • If you deploy changes from a project to an organization, and then immediately deploy again without making any changes, the deployment plan will show that all the artifacts are to be overwritten.

Other

  • Users must press the tab key or click the mouse outside of the component wizard input boxes to validate the content.
  • If you are working with large (> 2.5MB) component content, Eclipse needs at least 512MB of memory. See Force.com FAQ.
  • After changing the Apex Code log level marker under Force.com project properties, the UI does not reflect the value change, even though the value is saved correctly and Apex Code executes with the correct logging level.
  • The IDE's "src" folder may cause conflicts with other project directory structures containing "src". If you have name clash problems, rename the folders so they are unique.
  • Mozilla Runtime Environment (MRE) installation depends on the correct Eclipse version (32-bit/64-bit). If the standard wizard toolkit (SWT) crashes while opening an artifact (menu items, dialogs, etc.), then make sure that the required MRE exists.
  • In the Schema Browser, SOQL queries that return no results do so without an accompanying message. It may appear as if the query did not run, but in fact there are no returned rows.
  • In the Schema Browser, malformed queries may return an error of "Unable to open Schema Browser". If you receive this message, make sure your query is correct.
  • Editing and saving an Apex Trigger, Apex Class, or Visualforce page in the absence of an internet connection throws the following assertion failure: AssertionFailedException: assertion failed: ContentViewer must have a content provider when input is set. assertion failed: ContentViewer must have a content provider when input is set.
  • You cannot delete a folder that contains documents. As a workaround, use the Salesforce user interface to delete the documents, then you can delete the folder in the IDE.
  • To delete a project resource from the server, you must use the Package Explorer.

Winter '08 Developer Preview

The Force.com IDE is released as a Developer Preview. It is unsupported, and its capabilities will change in upcoming releases, potentially with manual or no upgrade path. Questions and problems may be posted on the public discussion forum and/or see the FAQ.


The Winter '08 release of the Force.com IDE contains the following major new features:

  • Expanded Metadata Support adds the ability to edit:
    • Visualforce pages and controllers
    • Objects and fields
    • Tabs
    • Applications
    • Profiles
  • Collision Resolution detects and synchronizes conflicting edits for all supported file types.
  • Usability Enhancements include the new Force.com Perspective with preselected tools for Force.com platform development.


Jan 18, 2008

Patch release version 11.1.1.200801181701 includes the following enhancements:

  • Resolved issue causing message "INVALID_OPERATION: rollbackOnError" when deploying to production Salesforce instances


Jan 15, 2008

Patch release version 11.1.1.200801151537 includes the following enhancements:

  • Product was renamed to Force.com IDE
  • Support for Force.com Code Share
  • Help system uses native Eclipse help navigation
  • Clicking line numbers in code coverage report goes to line in code
  • Improved support for Eclipse 3.2.2
  • Improved display of deployment errors
  • Content assistance (type object name then "." brings up in-line drop-down box) is available for Apex Classes and Apex Triggersfor built-in types (eg, System, Date, etc).

Dec 20, 2007

Major release version 11.1.1.200712191842 includes the following enhancements:

  • Toolkit was renamed to Force.com Toolkit for Eclipse
  • Support for creating and editing VisualForce pages and controllers
  • Support for editing custom fields and tabs
  • Support for creating and editing custom objects, applications, and profiles
  • Detection and synchronization of edit collisions for the newly supported file types
  • Improved usability through the addition of a Force.com perspective that preselects tools appropriate to Force.com platform development
  • Support for new Force.com SOAP API (v11.1)
  • Force.com Toolkit for Eclipse version number scheme follows supported API version
  • Supports Eclipse 3.2.2 to 3.3.1.1
  • Proxy Server settings are properly supported


Winter '08 Known Issues

Connectivity

  • Proxy servers that require basic authentication will cause Eclipse to ask for the proxy's authentication credentials if those credentials were not already set in Eclipse 3.2's Window -> Preferences -> Internet -> Proxy Settings or Eclipse 3.3's Window -> Preferences -> General -> Network Connections configuration screen. Most communication with Force.com will use your Force.com project's proxy settings, but some communications may use the proxy settings from Eclipse's workspace preferences.
  • NTLM and digest authentication with a proxy server may not work properly.
  • When creating a project and/or fetching components, the maximum number of connection attempts is three. If you exceed the maximum number of attempts, verify your connection settings or see your administrator.

Editing Metadata

  • Newly created Custom Objects are not immediately available as triggerable objects.
  • Creating new Custom Tabs is not supported in this release.
  • You cannot specify a length for custom fields that have a formula. Once you remove the length requirement, the custom field will be created.
  • When deleting an object, if the object marked for delete is a composite object (has associated metadata file) and the file exists locally only, the associated is file not selected for delete. In this case, delete the associated composite file (eg .cls-meta.xml) manually.
  • Removing a tab tag from a custom application does not actually remove it on save.

Server Synchronization

  • "Refresh from Server" does not delete content. This may be confusing if you create a component in the unpackaged package, and then move it to a named package. After choosing "Refresh from Server", you will have two of the same component, one in the named package, and one in the unpackaged package.
  • If resource was edited and a "Refresh from Server" is executed, users must close the opened, edited file and then reopen. Saving changes during closing will overwrite the refreshed file.
  • Synchronize does not allows refresh in time when a component is saved. The result is the Synchronize View shows and incoming change. Refreshing the view will remove the conflict.

Deployment

  • If a package manifest is sent with a non-enabled object type (even without a file of the type in the zip), deployment will fail with "Invalid ObjectType".
  • You cannot deploy changes to standard objects in the "unpackaged" package. If you want to deploy a custom field on Accounts, for example, you would need to make the changes in a named package.
  • The deployment wizard only allows deployment of permissible types. In some cases, it is not clear that the destination Force.com, environment does not have proper component - Apex Class, VisualForce, etc - permissions.
  • In the deploy plan wizard, unchecking a component does not remove it from the deployment plan.
  • A deployment archive (archive of destination environment) will not be generated if the deployment plan only consists of deletes.
  • Deployment fails when the destination Force.com environment permissions do not match source environment.

Other

  • Users must tab or focus out of new component wizard input boxes to validate content.
  • Minimum Eclipse memory size of 512MB is required for working with large (> 2.5MB) component content.
  • After changing the Apex Code log level marker under Force.com project properties, the UI does not reflect the value change, even though the value is saved correctly and Apex Code executes with the correct logging level.
  • The toolkit's "src" folder may cause conflicts with other project directory structures containing "src".
  • Mozilla Runtime Environment (MRE) installation depends on the correct Eclipse version (32-bit/64-bit). If the SWT crashes while opening an artifact, then make sure that the required MRE exists.
  • In the Schema Browser, a SOQL queries that returns no results does so without an accompanying message. It may appear as if the query did not run, but in fact there are no returned rows.
  • In the Schema Browser, malformed queries may return an error of "Unable to open Schema Browser". If you get this message, make sure your query is correct.
  • Editing and saving an apex trigger/class/page in the absence of an internet connection throws the following assertion failure: AssertionFailedException: assertion failed: ContentViewer must have a content provider when input is set. assertion failed: ContentViewer must have a content provider when input is set.
  • You cannot delete a folder that contains documents. As a workaround, use the application to delete the documents, then you can delete the folder in the IDE.

Apex Toolkit for Eclipse: Summer '07 Developer Preview

The Apex Toolkit for Eclipse was released as a Developer Preview with Summer '07. This toolkit is deprecated and unsupported, and there is no upgrade path to the Force.com IDE. Questions and problems may be posted on the public discussion forum and/or see FAQs.


Oct 16, 2007

Patch release version 8.1.0.200710161138 includes the following enhancements:

  • The component timestamps in the Force.com environment associated with the project (home environment) do not change during Toolkit project creation.
  • Merge field insertion functionality for s-controls has been restored.
  • Deleting a component in a Toolkit project deletes the corresponding component from the home Salesforce environment.
  • The template used in the trigger creation wizard has been improved.
  • During synchronization, the Toolkit recognizes components added to the home Salesforce environment.
  • When a new component is saved, conflicts are accurately detected.
  • Successful saves are correctly indicated.
  • Apex Code permissions on the home Force.com environment are detected in the creation and deploy wizards.
  • Warning messages when Apex code is disabled have been improved.
  • Creating or editing components within an installed, managed package are now prevented.
  • The following descriptive warning is displayed when you open a managed component: "Read-only and cannot be edited."
  • A unique name check during component creation is now performed.
  • Components are saved to the home Force.com environment encoded as UTF-8.
  • The code coverage report in the deploy wizard has been improved. Test compliance warnings are properly displayed.
  • 'Create' menu option has been removed from installed, managed package structure.
  • A progress dialog and cancel option are available during the synchronization check prior to deployment.
  • Enabled "Show In Salesforce" option for s-controls.
  • Changed the following Synchronize Perspective menu item labels.
    • "Replace local with server" is now "Apply remote to local project."
    • "Override remote and publish to server" is now "Apply local to organization."
  • Reduced this toolkit's dependencies on external components.


Known Issues:

  • Renaming Apex classes or triggers is not currently supported. Changing the name in the code will result in a new class or trigger being created.
  • "Deploy to Salesforce" only deploys Apex Code, not the s-controls that are in the project.
  • Selective component refreshing and synchronization is outstanding.
  • Double-clicking Problem Marker in the Error View does not move the cursor to the line number.
  • Refreshing a folder does not remove obsolete Apex Code or s-controls.
  • Unable to delete components in an Apex project that are associated with a namespaced Salesforce environment. This will be resolved when Winter '08 is available.
  • Unable to apply remote delete conflicts to a project within the Synchronize Perspective. Deletes must be made explicitly in either the Java Perspective or Resource Perspective.
  • Unicode characters are not properly displayed in Apex Code and s-control editors.
  • Apex Code content within managed packages is correctly hidden in the Toolkit, but should display method signatures that are available for integration.
  • The Toolkit currently requires the namespace of editable components to be specified during project creation. Failing to do so will result in an incorrect project structure and inability to edit components that are editable in the home environment.


Aug 16, 2007

Major update version 8.1.0.200708160841 includes the following enhancements:

  • Support for Apex Code language changes
  • Local file handling, including initial support for Eclipse built-in Team development capabilities
  • Detection of edit collisions between change in Apex toolkit and changes made in Force.com environment or by another developer using the Apex toolkit
  • Synchronization perspective to merge conflicting changes
  • Support for new Force.com SOAP API (v10)
  • Wizard for deployment of Apex Code between Force.com environments, including deployment into production environments ("Deploy to Salesforce")
  • Support for managed packages


Please note that the update site has changed, please see the installation instructions.


Known Issues:

  • Creating a new artifact in the Apex Toolkit can overwrite a new artifact with the same name
  • Renaming Apex classes or triggers is not currently supported. Changing the name in the code will result in a new class or trigger being created.
  • 'Deploy to Salesforce' only deploys Apex Code, not the S-Controls that are in the project.
  • Selective artifact refreshing and synchronization is outstanding.
  • Menu-based insertion of mergefields into S-Controls is being reimplemented and is not included in the current release
  • Double-clicking Problem Marker does not move cursor to line number.
  • Refreshing a folder does not remove obsolete Apex Code and/or S-Controls

Also, all existing Apex toolkit projects will need to be recreated from the Salesforce environment after installation of this update. If any old projects remain the workspace you may experience problems. The safest option is to create a new workspace after upgrade. See "Updating From Previous Versions"