Lift Framework 2.6-M3
·
1781 commits
to main
since this release
I'm pleased to announce that Lift 2.6-M3 is out the door and should be available on Sonatype shortly.
Here's the rundown.
Notable Changes
- Box.get is officially deprecated. Previously, calling
.geton a box would trigger an implicit conversion from Box => Option. As we move towards encouraging people even more to utilize flatMap, map, etc to open boxes and to specify exceptions when they can't (a laopenOrThowException), we're officially deprecating the use of.geton a box, and you will start seeing warnings in your code if you do it as of this release. In Lift 3.0, the ability to call.geton a box will disappear.
New Features / Enhancements
- Case class decomposition performance improvements. By doing some clever code @chriswebster was able to bring the complexity of case class decomposition down to O(n).
- Memoization to prevent additional reflection during decomposition, also thanks to @chriswebster.
- Implementation of LiftRules.funcNameGenerator. You can now use your own logic for generating Func names. Thanks @japgolly
- The Framework should be capable of compiling in Scala 2.10.1+ now thanks to @pbrant.
- Some variable name cleanup in lift-json.
- Implementation of toSingleBox that converts a List[Box[T]] => Box[List[T]].
Bugfixes
- IE 11 detection is working. IE changed their typical user agent signature in IE 11. The detection code has been updated to account for this change.
- MockHttpServletRequest correctly handles empty parameters thanks to contributions by @dmclean62.
- Unexpected warnings related to page/instance resource IDs should no longer appear, a hat tip to @Shadowfiend for that one.
- Fixes for an issue where bad database connections wouldn't be released correctly. Thanks to @rofreytag for this.
Once again, thank you to everyone involved in making this release possible. Have a spectacular Saturday.