Releases: wheels-dev/wheels
Releases · wheels-dev/wheels
CFWheels Version 2.0.0 Beta 1
Model Enhancements
- Support for passing in
select=falsetoproperty()to not include a calculated property by default in SELECT clauses - #122 [Adam Chapman, Per Djurner] - Support for setting calculated properties to a specific data type - [Per Djurner]
- Support for
returnIncludedAsandreturnIncludedarguments toproperties()for returning nested properties - [Adam Chapman] - Support for calling
updateProperty()with dynamic argument, e.g.updateProperty(firstName="Per")- [Per Djurner] - Support for using boolean transaction argument, e.g.
update(transaction=false)- #654 [Adam Chapman] - Support for MariaDB - #563 [AlexeiCF, Adam Chapman]
- Model instance
isPersisted()andpropertyIsBlank()methods - #559 [Chris Peters] - Database Migrations (dbmigrate) now available in the core - #664 [Adam Chapman, Tom King, Mike Grogan]
- Databases can now be automatically migrated to the latest version on application start - #766 [Tom King]
- New
timeStampModesetting ("utc","local"or"epoch") for thecreatedAtandupdatedAtcolumns - [Andy Bellenie] - Allow nested transactions - #732 [Andy Bellenie]
- The
handleargument to finders now set the variable name for the query so it's easier to find in the debug output - [Per Djurner] - Support added for HAVING when using aggregate functions in the
whereargument - #483 [Per Djurner] - Added support for the JSON data type in the MySQL adapter - #759 [Joel Stobart]
- Corrected mapping for text types in the MySQL adapter - #759 [Joel Stobart]
- Added global setting,
lowerCaseTableNames, to always lower case table names in SQL statements - [Per Djurner]
View Enhancements
flashMessages()are now in default layout.cfm - #650 [Tom King]- Added ability to override value in
textField(),passwordField()andhiddenField()- #633 [Per Djurner, Chris Peters] - Support for the
methodargument inbuttonTo()helper - #761 [Adam Chapman]
Controller Enhancements
- Support for HTTP verbs, scopes, namespaces, and resources in routes (ColdRoute) [Don Humphreys, James Gibson, Tom King]
- Support for passing in
ram://resources tosendFile()- #566 [Tom King] - Extended
sendMail()so that it can return the text and/or html content of the email - #122 [Adam Chapman] renderWith()can now set http status codes in header with thestatusargument - #549 [Tom King]- Cross-Site Request Forgery (CSRF) protection - #613 [Chris Peters]
- Parse JSON body and add to params struct - [Tom King, Per Djurner]
Bug Fixes
- Fixes skipped model instantiation due to Linux file case sensitivity - #643 [Adam Chapman, Tom King]
- Added spatial datatypes for MySQL - #660 [Normal Cesar]
- Made
humanize()keep spaces in input - #663 [Per Djurner, Chris Peters] - Avoid double redirect error when doing delayed redirects from a verification handler function - [Per Djurner]
- Fixes attempts to insert nulls for blank strings - #654 [Andy Bellenie, Per Djurner]
- Fix for using
validatePresenceOf()with default on update - [Andy Bellenie] - Fixes so paginated finder calls with no records include column names - #722 [Per Djurner]
- Fixes "invalid data" error when using unsigned integers in MySQL - #768 [Per Djurner]
Plugins
- Plugins now distributed via forgebox.io [Tom King]
- Update to the plugin system to allow overriding of the same framework method multiple times - #681 [James Gibson, Tom King]
- Added ability to turn off incompatible plugin warnings from showing - [Danny Beard]
- Plugins now have any java lib/class files automatically mapped onApplicationStart 731 [Andy Bellenie, Tom King]
- Plugins now read version number off their
box.jsonfiles and are displayed in debug area #68 [Tom King] - Plugin meta data as set in
box.jsonnow available inapplication.wheels.pluginMetascope #68 [Tom King]
Miscellaneous
- Redirect away after a reload request - [Chris Peters]
- Support checking IP in
http_x_forwarded_forwhen doing maintenance mode exclusions - [Per Djurner] - Support checking user agent string when doing maintenance mode exclusions - [Per Djurner]
- Added JUnit and JSON format test results - [Adam Chapman]
- Added empty application test directories - [Chris Peters, Adam Chapman]
- Added default
urlrewrite.xmlto support Tuckey URL rewriting with Commandbox #649 - [Tom King] - Added
beforeAll(),afterAll(),packageSetup(),packageTeardown()methods to test framework #651 - [Adam Chapman] - Added
errorEmailFromAddressanderrorEmailToAddressconfig settings - #95 [Andy Bellenie, Tony Petruzzi, Per Djurner] - Support for passing in any "truthy" value to
assert()in tests - [Per Djurner] - Added
/app/mapping pointing to the root of the application - [Per Djurner] - Added a
processRequest()function that simplifies testing controllers - [Per Djurner] - Added new embedded documentation viewer/generator for JavaDoc - #734 [Tom King]
- Removes all references to Railo - #656 (Adam Chapman)
- Made uncountable and irregular words configurable - #739 [Per Djurner]
- Removed
designmode - [Per Djurner] - Removed
cacheRoutessetting - [Per Djurner] - The
cacheFileCheckingandcacheImagessettings are now turned off in development mode - [Per Djurner] - Added
includeErrorInEmailSubjectsetting - [Per Djurner] - Environment switching via URL can now be turned off via
allowEnvironmentSwitchViaUrl- #766 [Tom King]
Breaking Changes
- Minimum Lucee version is now 4.5.5.006.
- Minimum ACF version is now 10.0.23 / 11.0.12.
- Support for Railo has been dropped.
- Rewrite and config files for IIS and Apache have been removed and has to be added manually instead.
- The
events/functions.cfmfile has been moved toglobal/functions.cfm. - The
models/Model.cfcfile should extendwheels.Modelinstead ofWheels(models/Wheels.cfccan be deleted). - The
controllers/Controller.cfcfile should extendwheels.Controllerinstead ofWheels(controllers/Wheels.cfccan be deleted). - The
initfunction of controllers and models should now be namedconfiginstead. - The global setting
modelRequireInithas been renamed tomodelRequireConfig. - The global setting
cacheControllerInitializationhas been renamed tocacheControllerConfig. - The global setting
cacheModelInitializationhas been renamed tocacheModelConfig. - The global setting
clearServerCachehas been renamed toclearTemplateCache. - The
updateProperties()method has been removed, useupdate()instead. - Form labels automatically generated based on foreign key properties will drop the "Id" from the end (e.g., the label for the "userId" property will be "User", not "User Id").
- Routes need to be updated to use the new routing system by calling
mapper(). - JavaScript arguments like
confirmanddisablehave been removed from the link and form helper functions (use the JS Confirm and JS Disable plugins to reinstate the old behaviour). - Timestamping (
createdAt,updatedAt) is now in UTC by default (set the globaltimeStampModesetting tolocalto reinstate the old behaviour). - Blank strings in SQL are now converted to null checks (e.g.
where="x=''"becomeswhere="x IS NULL"). - Tags are now closed in HTML5 style (e.g.
<img src="x">instead of<img src="x" />). - The
encodeargument tomailTonow encodes tag content and attributes instead of outputting JavaScript. - Class output is now dasherized (e.g.
field-with-errorsinstead offieldWithErrors). - The
renderPagefunction has been renamed torenderView.
CFWheels Version 1.4.5
Bug Fixes
- Display URL correctly in error email when on HTTPS.
- Added the datetimeoffset data type to the Microsoft SQL Server adapter.
- Fix for test link display in debug footer.
- Don't include query string when looking for image on file through imageTag().
- Format numbers in paginationLinks().
- Correct plugin filename case on application startup.
- Clear out cached queries on reload.
CFWheels Version 1.4.4
Bug Fixes
- Check global "cacheActions" setting.
- Fixed parsing for SQL IN parameters.
- Pass through all arguments properly when using findOrCreateBy.
- Make it possible to disable session management on a per request basis.
- Allow mailParams to be passed through to sendEmail().
- Fixed inconsistency in form helpers for nested properties.
- Fixed issue with grouping on associated models.
- Made the pagination() function available globally.
CFWheels Version 1.4.3
Bug Fixes
- Fix for using cfscript operators in condition and unless arguments.
- Added try / catch on getting host name since CreateObject("java") can be unavailable for security reasons.
- Fixed bug with cache keys always changing even though the input was the same.
- Remove white space character in output.
- Use correct path info in error email and debug area.
- Fixed plugin injection issue on start-up.
- Skip calculated properties that are aggregate SQL functions in the GROUP BY clause.
- Fixed error when trying to validate uniqueness on blank numeric properties.
CFWheels Version 1.4.2
Bug Fixes
- Fix for selecting distinct with calculated property.
- Fixed so default values are applied to non persistent properties.
- Fixed missing var scope causing error on Lucee.
- Don't show debug info on AJAX requests.
- Fixed permissions issue with imageTag() when running on shared hosting.
- Removed use of ExpandPath() in debug file since it was causing file permission issues.
- Skip setting object property when NULL is passed in.
- Fixed edge case issue with calling dynamic association methods.
- Fixed lock name in onSessionEnd event.
- Ignore white space in the "where" argument to finders.
- Ignore spaces in the "keys" argument to hasManyCheckBox() and hasManyRadioButton().
- Skip running callbacks when validating uniqueness and similar situations.
- Avoid plugin directory exception during first application load.
- Fix for using cfscript operators in "condition" and "unless" argument on ACF 8.
- Fix for rolling back nested properties.
- Ability to pass in list to "includeBlank" argument on dateSelect() and similar functions.
- Ability to set attributes on the input element created by buttonTo().
- Added missing "onlyPath" argument to imageTag().
- Corrected output of property labels in error messages.
CFWheels Version 1.4.1
Bug Fixes
- Skip callbacks when running calculation methods.
- Fixed rewrite rules so base URL is rewritten correctly on Apache.
- Removed incorrect path info information set by Apache
- Fixed routing bug when running from a sub folder on Adobe ColdFusion 10.
- Made sure error emails never depend on application variables being set.
Miscellaneous
- Removed tests folder.
- Updates to framework utility pages - Update logo, Fix links on congrats page to point to new documentation site.
CFWheels Version 1.4
Model Enhancements
- Allow spaces in list passed in to the
includeargument on finders. - Added
findOrCreateBy[Property](),findAllKeys(),findFirst()andfindLast()finder methods. - Add support for
GROUP BYinsum(),average()etc. - Made
exists()check for any record whenkeyandwhereis not passed in. - Added
clearChangeInformation()for clearing knowledge of object changes. - Evaluate validation error messages at runtime.
View Enhancements
- Respect blank
textargument inlinkTo(). - Allow
styleSheetLinkTag()andJavaScriptIncludeTag()to reference files starting from the root. - Added
monthNamesandmonthAbbreviationsarguments to form helpers for easy localization.
Controller Enhancements
- Ability to prepend functions to the filter chain instead of appending.
- Pass in
appendToKeytocaches()to cache content separately. - Allow external attachments with
sendEmail(). - Ability to redirect to a specific URL.
- Option to correct JSON output by passing in
x="string"orx="integer"torenderWith().
Bug Fixes
- Fix for blank path_info in CGI scope.
- Fix for accessing request scope key that does not exist from session.
- Removed
validateproperty that was incorrectly set when callingcreate(). - Pass through
parameterizeinexists(). - Do not remove
ASwhen it's in the SQL for a calculated property. - Obfuscate parameters in named route patterns when URL rewriting is off.
- Pass through
includeSoftDeletesargument correctly.
Miscellaneous
- Support for the Lucee server.
- Made
developmentthe default environment mode. - Removed deprecation work-around for the
ifargument on validation helpers. - Removed deprecation work-around for the
classargument on association initialization methods. - Removed the
libfolder. - Removed the
h()function, useXMLFormat()instead.
CFWheels Version 1.3.4
- Removed unnecessary tests folder.
CFWheels Version 1.3.3
- Correct output of boolean HTML attributes using new global
booleanAttributessetting. - Make sure locks cannot be affected by other applications running on the same server.
- Fixed bug with updating an integer column from
NULLto0. - Fixed potential permissions issue when running on shared hosting.
CFWheels Version 1.3.2
v1.3.2