The Lift Web Framework team is pleased to announce the lift-1.1-M8 release!
Lift is an expressive and elegant framework for writing web applications.
Lift stresses the importance of security, maintainability, scalability
and performance while allowing for high levels of developer
productivity.
Lift is a Scala web framework.
Changes in this version include:
New features:
o Added new built-in <lift:html5> snippet that sets HTML5 DOCTYPE on the
XHTML response
o Add ability to call JS code after AJAX form submit Issue: 148.
o Add AJAX editable field generator to SHtml, add AjaxEditableField to
Mapper. Issue: 181.
Fixed Bugs:
o JqJsCmds.ModalDialog now takes JsObj argument to work with BlockUI v2.x
Issue: 218.
o Fixed typo in DerbyDriver.integerIndexColumnType: IDENITY -> IDENTITY
o Fixed Mapper to use DriverType.columnTypeMap everywhere Issue: 211.
o Fixed Mapper logging to properly log inserts, updates and deletes Issue:
210.
o Breaking Changes:
1) LocParam
LocParam has been made a sealed trait to facilitate pattern matching
within the Lift codebase and has had a contravariant type parameter added to
its type to facilitate typesafe interactions with Loc[T]. The new trait is
hence LocParam[-T]. As LocParam is now a sealed trait, I have added an
extension point for user-specified LocParam subtypes as UserLocParam[-T]
extends LocParam[T]. Since the new type parameter is contravariant, LocParam
subclasses that are applicable for any Loc[T] have the type LocParam[Any],
and a type alias AnyLocParam has been added for this type.
The Loc.checkProtected method now enforces type consistency between
the evaluated Link[T] and the list of LocParam[T] which are used to evaluate
whether the link is accessible given the specified parameters.
2) Renames
Previously, the "Param" suffix was used for two unrelated purposes
within Loc: first, to refer to the type parameter of the Loc, and secondly
for the LocParam configuration. This overloading made the code and the API
somewhat difficult to read, so the first usage has been removed resulting in
the following renames:
ParamType => T
NullLocParams => //removed, Unit is sufficient!
Loc.defaultParams => Loc.defaultValue
Loc.forceParam => Loc.overrideValue
Loc.foundParam => Loc.requestValue
Loc.additionalKidParams => Loc.childValues
After this change, all instances of the "param" name within Loc
should refer to something having to do with LocParam instances.
Non-Breaking Additions:
case class IfValue[T](test: Box[T] => Boolean, failMsg: FailMsg)
extends LocParam[T]
case class UnlessValue[T](test: Box[T] => Boolean, failMsg: FailMsg)
extends LocParam[T]
case class TestValueAccess[T](func: Box[T] => Box[LiftResponse])
extends LocParam[T]
If you are using a non-Unit typed Loc, you can use these LocParam
instances to enforce access rules at the value level.
case class ValueTemplate[T](template: Box[T] => NodeSeq) extends
LocParam[T] //per-value template selection
DataLoc[T] subclass of Loc was added to facilitate the use of the
new more typeful LocParam subtypes.
A few changes to Link:
Since Link.createLink creates a Box[Text] (and not a clickable link)
a couple of methods were added to create the intermediate, unboxed
values in order that subclasses can more easily manipulate the
resulting path:
Link.pathList(value: T): List[String] // added to facilitate
creation of value-aware paths by subclasses.
Link.createPath(value: T): String //creates the String
representation of the path that is subsequently turned into XML and boxed by
Link.createLink Issue: 139.
o Allowing page fragments wrapped by <lift:lazy-load> node to be processed
and loaded asynchronously. Issue: 56.
o Updated documentation for Msgs Issue: 153.
o XmlResponse(...) now accepts optional HTTP status code, mime type and
cookies. Issue: 177.
o SQL Server Alter Table Fails Issue: 14.
o Typo in Req.scala Issue: 170.
o Snapshot jars contains several Box.class files Issue: 166.
o Fix scala:doc and vscaladoc configuration along with provision for module
specific configuration for packageLinkDefs. Issue: 180.
o Upgrade Lift archetypes to use the new archetype metadata format.
Enhance/fix archetype integration tests during build. Issue: 161.
o Enhance archetype metadata not to depend on ext.vm and allow one to set
Lift version (-DliftVersion) or Scala version (-DscalaVersion) during
archetype:generate. Issue: 227.
o Fixed SQL Server drivers to use version-appropriate unicode columns for
text. Issue: 16.
Changes:
o Update hibernate-entitymanager to 3.4.0.GA. Issue: 156. Thanks to
econoplas.
o Adjust javax.mail version range to avoid issues when Sun's repo is used
and
honor javax.activation being transitively pulled up my javax.mail.
Issue: 168. Thanks to awhitford.
o Enforce Maven version 2.1.0 or higher, but lower than 3.0. Issue: 203.
Have fun!
-Lift Web Framework team
--
Lift, the simply functional web framework http://liftweb.net
Beginning Scala http://www.apress.com/book/view/1430219890
Follow me: http://twitter.com/dpp
Surf the harmonics
--
You received this message because you are subscribed to the Google Groups
"Lift" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/liftweb?hl=en.