Releases: atuttle/Taffy
Version 2.2.0
Bugs Fixed
- #170: Don't run Taffy's onError handler if errors occur inside a path included in
unhandledPaths
- #172: Updated examples and documentation to use
onApplicationStart
instead ofapplicationStartEvent
andonRequestStart
instead ofrequestStartEvent
. - #178: ETag header was not being returned when client supplied an ETag but the value didn't match (e.g. client cache out of date)
- #182: Dashboard would throw an exception when using Hoth exception logging because its config is a simple string instead of an object. Updated the dashboard code to account for this situation.
- #184: Typo in baseRepresentation.cfc has been fixed.
New Features
- #169: If your JSON POST body is not a structure (
{...}
) then it will be passed to the resource as named argument_body
. This includes simple values, arrays, etc. - #179: New logo!
Thanks
Special thanks to Aaron Martone, Andy Matthews, and w1nterl0ng for your help designing the logo, and Tony Junkes for the final design!
Thanks to Richard Poole, Jesse Franceschini, Cody Martin, marbetschar, Lee Howard, and Bill Rawlinson for your bug reports and other contributions to this release!
Version 2.1.0
Bugs Fixed
- #166 Dashboard: Fix a bug where body wasn't pre-filling if the resource only has post/put verbs. Thanks to @jbvanzuylen for the pull request!
- #165 Fixed dashboard display issue in Firefox and IE (apparently floats don't work the same way everywhere?)
- #173 Updated ColdSpring example to use
onApplicationStart
instead ofapplicationStartEvent
. Thanks to @billrawlinson for the pull request! - #121 A few of the tests were failing on Railo4 BER - these have all been addressed
- Fixed a weird issue with CGI variables on IIS7
New Features
- #167 Added ability to delete a streamed file after streaming is complete. Thanks to @dominic-oconnor for the pull request!
- #174 Added an exception logging adapter that dumps the error to the screen (cfdump) instead of logging it. Thanks to @billrawlinson for the pull request!
- #155 Pass all non-framework metadata for resource functions (e.g. get/post/put/delete) to a new argument of
onTaffyRequest
. Enables fun stuff like role-based security. Here's a basic example of how to use it. - Show the original exception if another exception occurs during exception logging. (Both are shown, original below new)
- Include a full, structured stack trace when returning exceptions as json (if it's available).
- Added an exception logging adapter that doesn't log anything anywhere (good for dev if you're returning exceptions as json)
Version 2.0.2
- Bug #159: CORS headers weren't properly returned if the resource throws an exception
- Pull Request #161 from @Damonmiller with CF8 and Railo compatibility fixes
Version 2.0.1
Resolves issue #156
Version 2.0.0
New Features
- #84 Dashboard Redesign
- Completely new visual design: 117% less eye-bleedy!
- #63 Dashboard API reload should maintain UI state
- #64 Dashboard should show response time
- #78 Display resources with syntax errors in dashboard
- #112 Dashboard: Prettify returned JSON
- #139 Dashboard should indicate Taffy Version
- #140 "No resources found" dashboard helper message only displayed during a reload
- #149 Generated docs suck
- #138 JSONP support (GET requests only) - DOCS
Bugs Fixed
- #135 var-scoping issue specific to CF8
- #137 var-scoping issue during DI
- #142 Viewing auto-gen'd documentation multiple times can cause an exception
- #143 Dashboard throws exception if no resources are defined
- #144 Properly support Access-Control-Request-Headers (for CORS AJAX)
- #146 Sometimes CRC instantiation could choke
- #148 Dependency injection via
<cfproperty>
/property
wasn't working if the dependency was managed by a 3rd party bean factory (e.g. ColdSpring) - Fix a bug that could cause "200 200 OK"
Obsoletions
Since this is the first major-version change since Taffy 1.0, just over 3 years ago, it's time to clean house a bit. Together, we've learned a lot about what makes Taffy great and what wasn't so great about it. In the last 3 years, many things have been deprecated. As of 2.0.0, they are all now removed. Onward and upward!
Need a migration guide? Here it is!
In addition to the previously deprecated features being removed, we're also taking this opportunity to rip off a band-aid, as it were: The applicationStartEvent()
and requestStartEvent()
methods were always a little bit of a kludge, and the only benefit they provided was that you didn't need to worry about calling super.onApplicationStart()
and super.onRequestStart()
respectively.
While that hand-holding seemed like a good idea at the time, the truth is that calling super-methods is a pretty basic concept for OOP, and it's more important that I help you learn to do it right (if needed) than to hold your hand like a child. I want you to be awesome. Be awesome!
As of Taffy 2.0.0, instead of applicationStartEvent()
you should use onApplicationStart()
and call super.onApplicationStart()
(required!); and instead of requestStartEvent()
, use onRequestStart()
and call super.onRequestStart()
(required!). If you're not sure where the best place in your code would be to make the super- calls, check the Migration Guide.
Version 1.3.3
Resolves #147 in the 1.3.x maintenance branch.
Version 1.2.1
Resolves #147 in the 1.2.x maintenance branch