FW/1 - The Invisible Framework

Framework One and friends...

FW/1 4.0.0 Released!

| Comments

The Gold Release of FW/1 4.0.0 is available for general release and production use. The focus of this release is improved REST support:

  • JSON-encoded and URL-encoded POST / PUT body support.
  • Controllers have easy access to HTTP headers.
  • Builder syntax for renderData() result elements.
  • Support for user-supplied rendering functions.
  • Integrated support for HTTP OPTIONS verb.
  • Per-resource error handling.
  • Setting status text (in addition to status code) in HTTP responses.
  • Wildcard HTTP method support.

Dependency Injection (DI/1) has also received a lot of attention in this release, including the addition of a flexible and powerful builder syntax for declaring beans.

See the FW/1 4.0.0 Change Log for full details of all the enhancements and bug fixes. Please note that there are a few breaking (or potentially breaking) changes since 3.5.1, with the most notable one being that Adobe ColdFusion 10 is now the minimum supported version. Support for Railo and Lucee has not changed.

This will be followed by a 4.1 maintenance release and a 4.5 migration release, which will pave the way for some breaking changes planned for the 5.0 release. For more details of future plans, consult the FW/1 Roadmap.

FW/1 4.0.0 Beta 2

| Comments

FW/1 4.0.0 Beta 2 is available. The only change from Beta 1 is that the enableJSONPOST setting has been renamed to decodeRequestBody. This is a breaking change if you were using that setting in the earlier Alpha / Beta builds: you will now get an exception and will need to update your application’s configuration.

For full details, read the Change Log for FW/1 4.0.

FW/1 4.0.0 Alpha 1

| Comments

FW/1 4.0.0 Alpha 1 is available. At this point FW/1 4.0.0 is feature complete – there may be a few very minor changes between now and the Beta, and then only bug fixes through the RC phase. We’ve been using this develop version in production at work all along so I consider it solid enough for serious work.

FW/1 4.0 and Beyond

| Comments

Happy New Year and Welcome to 2016!

FW/1 3.5 has been out for a few months now and I want to talk about what’s coming this year.

FW/1 3.5.0 Released!

| Comments

The Gold Release of FW/1 3.5.0 is available for general release and production use. The focus of this release is integration, bringing an improved way to add subsystems to an existing application, an easier way to add FW/1 to a legacy application, support for mixed CFML / Clojure applications, better support for WireBox, and full support for ForgeBox and CommandBox!

FW/1 3.5.0 Release Candidate 2 Available!

| Comments

The second Release Candidate of FW/1 3.5.0 is available for testing.

This Release Candidate contains a few bug fixes discovered since Release Candidate 1. I consider this stable enough to evaluate for production usage at this point – I expect this RC to be the Gold Release unless end user testing uncovers a showstopping issue in the next week or two!

You can read the full list of changes since 3.1 on GitHub, along with accepted pull requests since 3.1..

FW/1 Out of the Box

| Comments

FW/1 is up on ForgeBox. ForgeBox is the npm / Maven of the CFML world. If you haven’t heard about it – or you think it’s only for “Box” products – you need to check it out! It’s a repository for CFML projects that can be easily installed via Command Box. Wait! You haven’t heard of that either? Gosh, you’ve got some reading to do! It’ll change the way you do development!

Go get it installed, then read on!

FW/1 New Releases Etc

| Comments

A couple of months have passed since FW/1 3.1 was released but things have been busy behind the scenes!

As indicated in July, work on FW/1 3.5 had been progressing in parallel (the first time two releases of FW/1 have been worked on concurrently!) and you can already download FW/1 3.5 Alpha 2. Yes, there was an Alpha 1 as well, but as work progressed on the massively overhauled 3.5 documentation, some important usability enhancements appeared and a new alpha was released within 24 hours! In particular, the Clojure and CFML Sitting in a Tree section has been extensively updated and includes a fully worked example of how to create FW/1 application from scratch using the REPL to create Clojure services and controllers, with CFML views and layouts!

You’ll also probably notice that the FW/1 website has had a facelift, finally getting the look’n’feel that Kevin Stannard designed five years ago. Better late than never, and huge thanks to Kevin again for his wonderful logo design and choice of colors! The 3.5 documentation now includes a table of contents on each page, making it easier to navigate (this will probably get backported to 3.1 and 3.0 at some point).

In addition to the ongoing work on FW/1 3.5, we also have an important bug fix release for the 3.1.x version which addresses a potential problem with REST APIs.

Finally, if you’re a CommandBox fan, we have good news: you can now easily install FW/1 3.1.2 and 3.5.0 (prerelease) via box. I’ll be blogging about this shortly. The 3.1.2 release is exactly the same as 3.1.1 (including the version number!) but it includes box.json for compatibility with ForgeBox / CommandBox. In addition, Tony Junkes has contributed an initial set of box commands for FW/1 that let you get up and running quickly. This will be covered in the next blog post.

FW/1 3.1 Release Candidate 2 Available!

| Comments

The second Release Candidate of FW/1 3.1 is now available for testing. You download FW/1 3.1 RC 2 from GitHub.

These are the changes since RC 1:

  • Major overhaul of AOP/1; intercept by CFC type; intercept by CFC name regex (Daniel Budde).
  • Routes now support regex restriction on placeholder variables (Guillaume Boivin).

For a complete list of changes since 3.0:

At this point, release 3.1 should be considered “production ready” and only critical bug fixes will be included between now and the “gold” release. It will be merged to master tomorrow in preparation for the final release at the weekend.

As noted before, release 3.5 will follow fairly quickly after that, with a focus on language integration, bringing automatic support for Clojure code in the Model and Controllers, as well as first class support for the Lucee Language in the Model, the Views, and the Controllers.

FW/1 3.1 Release Candidate 1 Available!

| Comments

The first Release Candidate of FW/1 3.1 is now available for testing. You download FW/1 3.1 RC 1 from GitHub.

These are the changes since Beta 2:

  • renderData() supports "jsonp" (Giancarlo Gomez) and "html".
  • renderData() now causes a content reset before rendering the data (Giancarlo Gomez).
  • Subsystem-specific configuration can now override diEngine, diLocations, and diComponent. Previously it could only override diConfig.
  • setupApplication() no longer runs twice when first request is also a reload request.

For a complete list of changes since 3.0:

At this point, release 3.1 is “feature complete” and only bug fixes will be included between now and the “gold” release. Release 3.5 will follow fairly quickly after that, with a focus on language integration, bringing automatic support for Clojure code in the Model and Controllers, as well as first class support for the Lucee Language in the Model, the Views, and the Controllers.