Below is provided a summary of the new and changed features in ColdFusion 9 Update 1.

Area

What?s new and changed

Language

Support for the following:

  • for-in construct (for arrays) in CFScript
  • var declaration within for loop in CFScript
  • Function argument metadata
  • Function equivalents for cfile action="upload" (FileUpload) and cffile action="uploadall" (FileUploadAll)

The following script functions have been implemented as CFCs:

  • dbinfo
  • imap
  • pop
  • ldap
  • feed

Caching

The following enhancements:

  • New function cacheGetSession
  • New parameter template in the function cacheGetMetadata.
  • cacheGetProperties and cacheSetProperties support diskSpoolBufferSizeMB, clearOnFlush, and diskExpiryThreadIntervalSeconds
  • Using user-defined caching regions in all cache functions except cacheGetProperties and cacheSetProperties

IIS 7

IIS 7 configuration for ColdFusion has no dependency on IIS 6 Metabase compatibility.

Ajax

The following enhancements:

  • Support for CFCs outside webroot
  • ColdFusion.FileUpload.getselectedfiles returns the status of upload operation
  • While using cffileupload, the url attribute is now optional and it defaults to cgi.script_name
  • Support for selecting multiple rows in cfgrid
  • Support for turning on/off grid column headers
  • New attribute autoExpand in cfgridcolumn
  • Supports mask attribute for HTML grids
  • The fileupload control now passes session information implicitly to the target page if session management is turned on either in Application.cfc or Application.cfm.

Added the following JavaScript Functions:

  • ColdFusion.Autosuggest.getAutosuggestObject,
  • ColdFusion.Layout.disableSourceBind
  • ColdFusion.Layout.enableSourceBind
  • Coldfusion.fileUpload.setUrl
  • ColdFusion.grid.getSelectedRows
  • ColdFusion.Map.show
  • ColdFusion.Map.hide
  • ColdFusion.Map.refresh
  • ColdFusion.Grid.getTopToolbar
  • ColdFusion.Grid.getBottomToolbar
  • ColdFusion.Grid.showTopToolbar
  • ColdFusion.Grid.hideTopToolbar
  • ColdFusion.Grid.showBottomToolbar
  • ColdFusion.Grid.hideBottomToolbar
  • ColdFusion.Grid.refreshTopToolbar
  • ColdFusion.Grid.refreshBottomToolbar

ORM

You can use multiple data sources for ORM in ColdFusion applications.

Also, the following enhancements:

  • New attribute MappedSuperClass added to cfcomponent/component.
  • New attributes skipCFCWithError and automanagesession added to the ormsettings struct in the THIS scope of Application.cfc.
  • Attribute missingrowignored in cfproperty now supports one-to-one relationship.
  • The function EntityNew takes the property values as struct in a second argument.

Amazon S3 Support

ColdFusion customers can now store data in Amazon S3.

SpreadSheet

Support for the following:

  • New functions SpreadsheetRemoveSheet and SpreadsheetFormatCellRange
  • New attribute excludeHeaderRow in cfspreadsheet
  • Performance improvements for formatting huge number of rows and columns using the SpreadSheet format functions.
  • Preformatting of a cell while you use SpreadSheetformatcell or SpreadSheetformatcellrange
  • Vertical alignment in format struct using the key verticalalignment.

AIR integration

The following enhancements:

  • Support for auto-generating primary keys
  • Support for encrypted database (introduced in AIR 1.5).
  • Cache file used by ActionScript ORM to track the operations on SQLite database is now in the applicationStoragedirectory instead of applicationDirectory. You can specify the location of the cahceDirectory in openSession API on syncmanager.
  • Self Join relationships for one-to-one, one-to-many and many-to-many database relationships.
  • Supports both Array and ArrayCollection for use in ActionScript Entity to represent a collection in a database relationship.
  • ActionScript ORM logs all the SQL statements that ORM uses to persist entities into the SQLite database.
  • New APIs keepClientObject and keepAllClientObjects to ensure that the server updates are not retained when ColdFusion server raises conflict.
  • The class SessionToken is dynamic and therefore, data can be stored on the token returned from the ORM APIs.
  • Supports autocommit mode

Flash Remoting

A channel-definition construct has been introduced in services-config.xml (CF_root/wwroot/WEB-INF/flex/) named serialize-array-to-arraycollection.

BlazeDS 4 and LCDS

Support for the following:

  • LCDS 3 and LCDS 3.1
  • BlazeDS 4.
  • New methods allowSend and allowSubscribe in ColdFusion Messaging Gateway CFCs.

Solr

Apart from overall improvement in the accuracy of indexing, the following enhancements:

  • Displays correct MIME types for all documents
  • Enhanced support for indexing of metadata for binary files
  • Support for the attribute previousCriteria (in the tag cfsearch)
  • Both the tags cfindex and cfsearch support the attribute categoryTree.
  • Option to enable/disable term highlighting for entire document

Logging

The following enhancements:

  • ColdFusion generates log files for the following services: http, ftp, web service, Portlet, Derby, and Feed
  • Enable/Disable logging: A new icon has been added in the Actions column of the Log Files page (ColdFusion Administrator > Debugging & Logging).
  • Support for automatic logging of scheduled tasks.

Server Monitoring

Enhancements in this release help you use Server Monitoring effectively in load conditions.

ColdFusion Administrator has the following monitoring options: Enable monitoring, Enable profiling, and Enable memory tracking.

Configurable seed for password encryption

Option to specify a new seed value to encrypt data source passwords

OEM upgrades

The following versions are supported:

  • Microsoft .NET Framework 4
  • Ehcache 2.0
  • Hibernate 3.5.2
  • ExtJS 3.1
  • Solr 1.4
  • DataDirect Connect for JDBC 4.1
  • MySQL 5.1.11

Other enhancements

  • Application.cfc lets you specify data source authentication details in the attribute datasource.
  • Support for HQL in cfquery
  • New actions for cfpdf AIR Proxy
  • The ActionScript proxy class for PDF service has the following new attributes: extracttext and extractimage
  • CFID, CFTOKEN, and jsessionid are marked httpOnly