Skip to content

Version 0.4

Compare
Choose a tag to compare
@UnquietCode UnquietCode released this 18 Aug 02:55
· 251 commits to master since this release

Flapi 0.4 includes several bugfixes, as well as a bunch of new features. This release is larger than the rest, and has been a long time coming.

Highlights

  • No more *Impl classes!
  • triggered methods
  • generics support
  • enum selectors
  • $ wrapper for top level interfaces. (Feature suggested by Jiri Jetmar. Thanks!)
  • builder package partitioning
  • switched From CodeModel to JCodeModel
  • new runtime module
  • maven build plugin

New Documentation

A brand new documentation page is available at http://unquietcode.github.io/Flapi. Check it out!

BREAKING CHANGE - Switched From ObjectWrapper to AtomicReference

Previously, *Helper interfaces made use of a custom ObjectWrapper class to provide new instances. This has been replaced with the JDK AtomicReference class. While an annoying change, one of the goals of this project is to require as few additional classes to function as possible. Removing this was an easy win, and fortunately the change in your code is slight, typically just the import statement.

BREAKING CHANGE - New BlockChainBuilder API

When creating block chains via addBlockChain(), the returned BlockChainBuilder object's API has changed. Instead of creating a chain by prepending C to B to A, it is now possible to declare them as a flat list of A, B, C. This is facilitated by the addition of a end() method, which is required to finish constructing the block chain. Again, change is hard but the project is still in the 0.x development stage, and sometimes these changes are required.

The full release notes are available on the wiki.