Lift-formality 1.0.0: All done!
Not all done, but a first release!
@elemica is now formally using lift-formality in production, so
things are kicking up. 1.0.0 has some pretty extensive features,
which are detailed in the 1.0.0 README. Here's a few:
- Define fields that deserialize to a particular type other than
String in a defined way. - Define fields that consist entirely of CSS selector transforms,
leaving the markup types entirely in HTML (e.g., the field types
like number, range, etc). - Add validations to fields that operate on the deserialized type.
- Group primitive and complex fields together into field groups,
whose component parts can be composed into container types
that make sense in your domain. - Handle the final success and failure states of a form in your domain
data types. - Integrate with Lift's internal error reporting features.
- Create forms that are defined in a functional way, with lift-formality
handling all the statefulness behind the scenes.
I'm certain more needs will come up in the future and we'll deal with
them as they come---just file a note in the Github issues!
What's Not Included
Two big things aren't here:
- Support for Lift 3.0.0. This should be forthcoming soon.
- Support for Scala 2.12. Since Lift 2.6 and Lift 3.0 can't be compiled
for Scala 2.12 yet, we're holding off on lift-formality as well. Once
we can compile Lift for Scala 2.12 (hopefully in 2.12.1), we'll publish
a version of lift-formality that works with it as well.