Skip to the content.

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.

You can download FW/1 3.0 Beta 1 from Github and that release page has a link to the complete list of closed tickets in FW/1 3.0 Beta 1 and closed tickets in DI/1 that are for FW/1 3.0. Note that those issues are only fixed in the FW/1 repository, not the DI/1 repository, but they will be backported later on.

DI/1 and AOP/1 come of age

As indicated above, the focus of Beta 1 has been on cleaning up DI/1 and AOP/1 to get them to a “1.0” release status as part of FW/1 3.0. Going forward, the DI/1 and AOP/1 repositories will only get updated with released versions and will be stripped down to minimal examples for those who wish to use them standalone. Future development (including issues and test cases etc) will all be done in the FW/1 repository.

DI/1 has been enhanced in this release to provide some features that will help developers migrating from ColdSpring (or who are looking for some of ColdSpring’s more advanced features in DI/1).

AOP/1 has been rewritten to better integrate with DI/1 and ensure that injected beans are intercepted (the beanProxy.cfc needed only minor tweaks and it does the heavy lifting of interception).

Here is the full list of changes in DI/1 and AOP/1 (since Alpha 1):

The following DI/1 setups are now equivalent:

var bf1 = new framework.ioc( "..." );
bf1.onLoad( myListener );

var bf2 = new framework.ioc( "...", { loadListener = myListener } );

Here are some examples:

bf.factoryBean( "a1Bean", "myFactory", "theMethod" );
// a1Bean = bf.getBean("myFactory").theMethod();
bf.factoryBean( "a2Bean", "yourFactory", "createIt", [ "dsn" ] );
// a2Bean = bf.getBean("yourFactory").createIt( bf.getBean("dsn") );
bf.factoryBean( "a3Bean", "warehouse", "builder", [ "dsn", "config" ],
    { dsn = "myDB" } );
// a3Bean = bf.getBean("warehouse").builder( "myDB", bf.getBean("config") );

FW/1 bug fixes and enhancements

Here are the changes in FW/1 itself since Alpha 1:

The road to gold

The next milestone should be Release Candidate 1 and only bug fixes are likely to be considered at this point, no new features or enhancements, unless they are required to make the Beta feature set fully usable. If all goes well, RC1 should be released in about 3-4 weeks, and the gold 3.0 release about 3-4 weeks after that (late September / early October).

Note that org.framework.corfield is a deprecated path for FW/1 - it has moved to framework.one - and whilst it is supported during the 3.0 prerelease builds, it will be removed in the gold release. Similarly, as noted in the Alpha 1 blog post, getRC() and getRCValue() are deprecated and will also be removed in the gold release.

releases , fw1 , di1

« FW/1 3.0 Alpha 1 available for testing! cfmljure Release 0.1.0 »

Comments