An open source ColdFusion framework inspired by Ruby on Rails.
This is a maintenance release fixing an issue introduced with v.2.5.0 release where setting an alternate datasource in the model was being ignored and the default datasource was being used instead.
This is the official 2.3.0 release. There were no new enhancements or bug fixes introduced from release candidate 1 so the change log is essentially the same as v2.3.0.rc.1.
includeAssociations
argument #1080 - [Nikolaj Frey]Debug()
usage in plugin test cases #1061 - [Tom King]ValidatesConfirmationOf()
now correctly enforces prescence of confirmation property #1070 - [Adam Cameron, Tom King]resource()
/resources()
now allows empty only
property to utilise as non-route parent #1083 - [Brian Ramsey]status
argument to all render*()
functions to force returning a specific HTTP status code #1025 - [Adam Chapman, Tom King]accessControlAllowOrigin
can now match subdomain wildcards #1031 - [Tom King]automaticValidations
argument to the property
method - [Per Djurner]findOneBy[Property]And[Property]
and findAllBy[Property]And[Property]
- [Per Djurner]value
argument in findOrCreateBy[Property]
- [Per Djurner]full null support
- [Michael Diederich]required
argument to imageTag
to suppress exceptions if using non-existent files #979 - [Adam Chapman, Michael Diederich]IN
operator #944 - [Adam Chapman, Per Djurner]validatesUniquenessOf
does not respect allowBlank #914 - [Adam Chapman]Wheels.RouteNotFound
Error page now escapes the arguments.path
to prevent XSS attacks - [Michael Diederich]buttonTo()
now uses <button>
internally instead of <input>
allowing for html in content - #798 - [Tom Sucaet, Tom King, Per Djurner]refresh
url parameter for auto refreshing test framework html - #986 - [Adam Chapman]/migrator/templates
directory - [Adam Chapman]http_x_forwarded_proto
to determine if the application is running behind a loadbalancer that is performing SSL offloading - [Peter Amiri]url
and params
arguments with redirectTo
- [Adam Chapman]set(flashStorage="none")
#978 [Tom King]processRequest()
accepts a route param -#1030 - [Adam Chapman](Or, just things to look out for...)
Controller.cfc
which caused multiple issues. The migrator, test runner and routing GUIs have therefore all been re-written._method
)addRecord()
and updateRecord()
calls - #852 [Charley Contreras]setUpdatedAtOnCreate, softDeleteProperty, timeStampMode, timeStampOnCreateProperty, timeStampOnUpdateProperty
) - #852 [Charley Contreras]MSSQL
now uses NVARCHAR(max)
instead of TEXT
#896 [Reuben Brown]allowExplicitTimestamps=true
argument - #887 - [Adam Chapman]set(flashAppend=true)
option allows for appending of a Flash key instead of replacing - #855 - [Tom King]flashMessages()
now checks for an array of strings or just a string and outputs appropriately - #855 - [Tom King]flashInsert()
can now accept a one dimensional array - #855 - [Tom King]OR
and AND
- #765 [Dmitry Yakhnov, Adam Chapman]handle
to a valid variable name so it doesn't break when using dot notation - #846 [Per Djurner]validatesUniquenessOf()
check now handles cases when duplicates already exist - #480 [Randall Meeker, Per Djurner]validatesConfirmationOf()
now has a caseSensitive
argument to optionally perform a case sensitive comparison - #918 [Tom King]sendFile()
no longer expands an already expanded directory on ACF2016 - #873 [David Paul Belanger, Tom King, strubenstein]usesLayout()
now can be called more than once and properly respects the order called - #891 [David Paul Belanger]Time
and Timestamp
Column Types - #906 [Reuben Brown]cacheFileChecking
to true
in development mode - [Adam Chapman, Steve Harvey]params._json
- #939 [Tom King]&lock=false
in the URL for when reload requests won't work due to locking - [Per Djurner]redirect
argument for GET/PUT/PATCH/POST/DELETE
- #847 - [Tom King].[format]
based routes can now be turned off in resources()
and resource()
via mapFormat=false
- #899 - [Tom King]mapFormat
can now be set as a default in mapper()
for all child resources()
and resource()
calls - #899 - [Tom King]HEAD
requests are now aliased to GET
requests #860 - [Tom King]includeFilters
argument to the processRequest
function for skipping execution of filters during controller unit tests - [Adam Chapman]useIndex
argument to finders for adding table index hints #864 - [Adam Chapman]GET
requests and must be performed via POST
#886 - [Tom King]Access-Control-Allow-Origin
can now be set either via a simple value or list in accessControlAllowOrigin()
#888 [Tom King]Access-Control-Allow-Methods
can now be set via accessControlAllowMethods(value)
#888 [Tom King]Access-Control-Allow-Credentials
can now be turned on via accessControlAllowCredentials(true)
; #888 [Tom King]accessControlAllowMethodsByRoute()
now allows for automatic matching of available methods for a route and sets CORS Header Access-Control-Allow-Methods
appropriately #888 [Tom King]accessControlAllowHeaders(value)
#888 [Tom King]authenticityToken()
function for returning the raw CSRF authenticity token #925 [Adam Chapman]enablePublicComponent
, enableMigratorComponent
,enablePluginsComponent
enviroment settings to completely disable those features #926 [Tom King]pluginRunner()
now removed in favour of 1.x plugin behaviour for performance purposes #916 [Core Team]validateTestPackageMetaData
environment setting for skipping test package validation on large test suites #950 [Adam Chapman]migrator.TableDefinition
functions to allow singular variant of the columnNames
property #922 [Sébastien FOCK CHOW THO]onAbort
is now supported via events/onabort.cfm
#962 [Brian Ramsey]It is strongly recommended to update to CFWheels 2.0.2 if you are running either 2.0.0 or 2.0.1. This issue does not affect 1.x releases. This release introduces a potentially breaking change, so you are encouraged to test your application appropriately before deploying.
dbname
in cfdbinfo
calls when using custom database connection string.humanize()
function.rel
attribute for stylesheetlinkTag()
.NULL
value from a query with NULL support enabled no longer throws an error.