ColdBox, the popular ColdFusion (CFML) development platform, has released version 7.1, bringing exciting new features, bug fixes, and improvements to further empower developers. This release focuses on enhancing productivity, improving debugging capabilities, and ensuring more reliable and efficient application development. In this blog post, we will explore the key highlights of ColdBox 7.1 and how they can benefit developers in their day-to-day coding activities. You can read the in-depth release notes here: https://coldbox.ortusbooks.com/readme/release-history/whats-new-with-7.1.0
Update
The best way to update is using CommandBox:
box update coldbox
That's it! You are up to date now!
Major Highlights
ColdBox 7.1 introduces several new features that expand the capabilities of the framework and facilitate better development practices:
Scheduled Tasks Debugging
You can now add a debug
argument to your task definitions, and your console will add tons of debugging for your tasks:
task( name : "My Task", debug : true )
toRedirectTo()
Matcher
You can now use this matcher to test relocations in a nice fluent expectation:
expect( event ).toRedirectTo( "main.index" )
REST on{errorType}Exception()
Convention
Thanks to our very own Gavin Pickin you can now create exception handlers in your REST Handlers that follow the on{type}Exception()
convention and you can listen to specific error type exceptions:
function onTypeMismatchException( event, rc, prc )
New Features
-
COLDBOX-1229: Added debug argument to
ScheduleExecutor
and Scheduler when creating tasks for consistency. This feature enables developers to add debug information to the ScheduleExecutor and Scheduler components, providing valuable insights during task creation. -
COLDBOX-1235: New
StringUtil.prettySQL
method for usage in debugging and whoops reports. This handy addition simplifies SQL debugging and troubleshooting by formatting SQL queries in a readable manner. -
COLDBOX-1238: New testing matcher:
toRedirectTo
for easier testing against relocations. With this new testing matcher, developers can now perform easier and more precise testing of redirections in their applications. -
COLDBOX-1239: New REST convention for custom error handlers:
on{errorType}Exception()
. This feature allows developers to define custom error handlers specifically for RESTful services, improving error handling and providing better user experiences.
WireBox Updates
WireBox, the powerful dependency injection framework integrated into ColdBox, also receives important updates in version 7.1:
-
WIREBOX-149:
toWebservice()
is now deprecated. Developers are encouraged to migrate away from toWebservice() and use modern approaches for better maintainability and compatibility. -
WIREBOX-147: Improve debug logging to not send the full memento on several debug operations. This improvement optimizes debug logging operations within WireBox, providing developers with cleaner and more concise debug information.
Improvements
ColdBox 7.1 includes various improvements that refine existing functionalities and enrich the overall development experience:
-
COLDBOX-1041: Logging category in ColdBox scheduler is generic. This improvement enhances logging in the ColdBox scheduler, making it more generic and easier to configure.
-
COLDBOX-1231: Improve RestHandler Exception handler with
on#ExceptionType#Exception()
convention. By introducing this convention, error handling for RESTful services becomes more flexible and customizable. -
COLDBOX-1234: Account for null or empty incoming JSON to prettyjson output. This enhancement ensures that the prettyjson output handles null or empty JSON data gracefully, avoiding potential issues during debugging.
-
COLDBOX-1236: Incorporate appName into the appHash to give more uniqueness to locks internally. This change enhances internal locking mechanisms, improving performance and reliability.
Bug Fixes
With every release, the ColdBox team strives to address known issues, and version 7.1 is no exception. Some of the critical bug fixes included in this release are:
-
COLDBOX-1233: Exception bean can't cast "i" to a number value. This fix ensures smoother handling of data type conversions, avoiding casting errors during processing.
-
WIREBOX-148: Several AOP and Internal WireBox methods not excluded from delegations. This bug fix improves the reliability of WireBox by addressing issues related to Aspect-Oriented Programming (AOP) and internal method handling.
Conclusion
ColdBox 7.1 represents a significant step forward for CFML developers, offering powerful new features, critical bug fixes, and enhancements that streamline development workflows and boost productivity. Whether you are a seasoned ColdBox user or just getting started, version 7.1 provides a more reliable and efficient platform for building web applications.
Always remember to fork and start: https://github.com/coldbox/coldbox-platform
To experience the latest ColdBox release, head over to their official website and check out the updated documentation. Happy coding!
Add Your Comment