The second beta version of FW/1 3.1 is available for testing. Whilst this is a minor bug fix and enhancement release, it now includes the first major rewrite of AOP/1. Documentation will follow shortly. Massive thanks to Daniel Budde for the rewrite! You can download FW/1 3.1 Beta 2 from GitHub, as well as read the full release notes there.
The first beta version of FW/1 3.1 is available for testing. This is a minor bug fix and enhancement release. You can download FW/1 3.1 Beta 1 from GitHub, as well as read the full release notes there.
The thread safety issue affecting SES URLs and routes in FW/1 3.0 has been backported to the 2.2.x and 2.5.x releases so if you believe you are seeing incorrectly routed requests on either of those releases, you can update to the appropriate patch release:
- download FW/1 2.5.2 to replace Release 2.5.1 or 2.5
- download FW/1 2.2.3 to replace Release 2.2.2, 2.2.1 or 2.2
These include a context root fix for 2.5.1 and 2.2.2.
If you are on an earlier release of FW/1 and believe you are seeing the issue that is fixed in this patch, please post on the FW/1 mailing list (I’d rather not backport this patch any further – I’d rather you upgraded!).
Once again, thank you to David Sedeño who highlighted this critical issue!
If you are using SES URLs or routes with FW/1 3.0 you should download FW/1 3.0.2 and update your applications as soon as possible, to address a thread safety issue in the way that
CGI.PATH_INFO was handled in FW/1 3.0. This is an update to 3.0.1 and includes a context root fix.
The symptoms you might see include incorrectly routed requests under load.
Thank you to David Sedeño who highlighted this critical issue!
I released FW/1 3.0 about a month ago and now it’s time to get started on the 3.1 release.
I’m pleased to announce that after lots of user testing and almost no issues found, the Gold Release of FW/1 3.0 is now available!
I think that bug is finally squashed, based on early testing by some users that had encountered the bug, so the second Release Candidate build of FW/1 3.0 is now available!
For background on the new engine and the association behind it, read Adam Cameron’s blog post with Q&A about the launch.
I’ve already migrated all my local test environments to Lucee and can report that FW/1 (and DI/1 and cfmljure) all run beautifully on it - and it will be my primary test environment for future development of the FW/1 family going forward.
I’ve also migrated my local dev environment for World Singles over to Lucee and that went pretty smoothly too (I encountered just two issues - both minor, one already fixed in Lucee’s master repository).
The Lucee wiki has information about downloading and installing Lucee, as well as building Lucee from source, and how to migrate from Railo to Lucee (hint: it’s really easy - stop the server, remove
lucee.jar, start the server).
Have fun with Lucee!
Anyone following my tech trajectory will know that, after starting to learn Clojure in 2010, I’ve moved increasingly away from CFML and toward Clojure. In 2014, my team decided that Clojure would be our official primary language and all new development would happen there instead of in CFML. We still have a lot of CFML code in production - about 90kloc - but we consider it “legacy code” at this point. Most of that CFML code is a large ColdBox app that we built about five years ago (technically it’s three ColdBox apps but they share a lot of code). Our application Model has been slowly moving to Clojure so that we can reuse that code in new applications we’re building in Clojure. We’ve also been building new apps with FW/1 (and reusing both our CFML code and our Clojure code). We still like CFML as a templating language for views and our controllers - in our FW/1 apps at least - are often mostly just “glue” code that lets us call into our Clojure model code.
FW/1 3.0 has been in beta testing since August 2014 and lots of people are already running in production so I figured it was time to push out the first Release Candidate build.
The main focus of RC 1 has been bug fixes. Only a small number of functional enhancements have been added (notably
getEnvVar() to retrieve the value of a system environment variable which can be useful during environment control processing).
I started cfmljure back in 2010, a few months after I started to learn Clojure, as a way to run Clojure code inside a CFML application. That early version worked - we’ve been using it in at World Singles since mid-2011 to integrate Clojure into our large ColdBox application, and updated versions of cfmljure have been in very heavy production usage since May 2012.
Just over four weeks ago, I released FW/1 3.0 Alpha 1 and declared it feature complete. There were some big changes in that release and, in particular, some long-standing features were removed (after being deprecated in FW/1 2.5) and some recently-introduced features were also deprecated. Today I am releasing the first Beta version which includes bug fixes and usability enhancements, focusing primarily on DI/1 and AOP/1.
I consider FW/1 3.0 to be feature complete at this point so I am releasing Alpha 1 for testing. I expect people to run into a few bugs - this release has some big changes in it, compared to the 2.x release stream - and it’s possible that new feature requests will crop up during alpha testing, but everything I wanted to change is in place.
This is a migration release to pave the way for breaking changes in Release 3.0. All examples have been updated to latest best practices and now use cfcscript exclusively. Examples use DI/1 0.5.0 to manage all beans and services (as
framework.ioc), and no longer rely on start/end actions or the
Framework One version 2.2 is now available for production use! You can download it from the Framework One releases page on GitHub. This includes one bug fix over RC2 (interaction between
renderData() and trace output).