Skip to content

Lift Framework 3.0-RC1: Release Candidate

Pre-release
Pre-release
Compare
Choose a tag to compare
@Shadowfiend Shadowfiend released this 21 Mar 03:56

This release features the last tidbits before 3.0 goes out the door. These
include some cleanup, a bunch of dependency bumps, and a couple of
fixes to bugs discovered during use of 3.0-M8. No feature work landed in
this release, and only bug fixes will be permitted before the next release.

If we don't see any bugs in the next 2-4 weeks, we'll be releasing Lift 3.0.
We're all super excited to be this close to a final release!

Breaking Changes

  • (#1766) lift-json's \\ used to return a JValue. In cases where it matched
    a single field directly, it would return the field's value rather than a consistent
    container type. Matching multiple fields would return a JObject with the
    matched fields in it. Now, \\ always returns a JObject with the matching
    fields in it, even if there is only one such field. This may require adapting
    certain uses of \\, especially in for comprehensions. Code like
    for (JString(name) <- object \\ "name") will have to be changed to
    something more like for (JField(_, JString(name)) <- object \\ "name") to
    work correctly. Thanks to @eallik for reporting!
  • (#1773, #1779) Lift was depending on outdated versions of many libraries.
    We've bumped those dependencies, so we now depend on specs2 3.7 and
    Java Servlet 3.1. All other version bumps were non-major, including
    lift-json-scalaz now depending on Scalaz 7.2. See the dependency file's diff for the full breakdown of dependency updates.

Improvements

  • (#1772) When JsCmds including Noop were combined with &, you
    would get a lot of empty lines, since each Noop would emit some empty
    lines in those cases. Now, we ignore Noop when combining JsCmds,
    which should lead to reduced noise in serialized JS output. The most
    immediate impact is that page-specific JavaScript will be much more compact
    than it was before.

Fixes

  • (#1779) Props.whereToLook works correctly again. In 3.0-M8, we expanded
    the abilities of Props to read from arbitrary sources. Unfortunately, in the
    process, we broke the whereToLook setting that allowed you to adjust the
    search paths for Props to look for named property files. This has been fixed
    in RC1. Thanks to @serioga for reporting!
  • (#1769) Lift's JavaScript settings customization was set up such that you couldn't
    override things provided by Lift's liftVanilla or liftJQuery objects. This is now
    fixed, so custom JavaScript settings can build on and override those base functions.
    Thanks to @joescii for reporting… And fixing! ;)