Releases: hacklanta/lift-formality
Lift-formality 1.1.0: Spit-shine and Lift 3
Lift-formality has supported the Lift 3.0 series in snapshots for
a little while, but it wasn't public. We now have builds for 1.1.0 for
both Lift 3.0 and 3.1 series, and will be putting out a dot release
and build for the 3.2 series when that goes final soon.
Scala support is still at 2.11, but we should be putting out a dot
release soon to also add cross-compile for 2.12 (some test
dependencies need to be bumped and we wanted 1.1.0 out the
door first).
So what's changed?
- #11 made it so fields that aren't sent to the server don't manifest
asFailure
s by default; instead, you have to actively make them
Failure
in a boxed validation, otherwise they show up asEmpty
.
This was a bug we ran into in our use of lift-formality at @elemica. - #23 allows
textarea
elements to have their default value set
correctly. The API is unchanged, it just works now. - #23 also allows for empty default values for fields whose final type
is not aString
. You do this by providing anEmpty
when you want
no default value for these fields. - Finally, #23 fixed defaults for checkboxes, which were not being
passed through correctly into the markup. - #19 added the ability to call
fieldGroup(".css-selector")
to scope
a field group to a given selector. Before,fieldGroup
only existed
with no parameters. The underlying code supported scoping, you
just had to call theFieldGroup
class constructor directly.
Enjoy the release!
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.