[Ann] Lift 2.0 M4 Release
The Lift Web Framework team is pleased to announce the framework-2.0-M4 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 a flag to disable Loc uniqeness testing Issue: 452.
o Added default settings for FadeIn and FadeOut Issue: 235.
o Added warnings on attempt to access non-existant props file Issue: 444.
o Enhanced JSON support in Lift based on the new JSON library Issue: 365.
o Added equals and hash methods for mapper based on primary key Issue: 408.
o support setObject without an explicit SQL type Issue: 233.
o Added a new ImageResizer utility class to lift-imaging to provide additional resizing options which preserve
aspect ratio and orientation. Issue: 297.
o Make lift-mapper an OSGi bundle and fix broken OSGi configuration of other modules. Issue: 445.
o Updated lift-core_pl.properties for Lift 2.0 Issue: 409.
o German lift-core.properties Issue: 175.
o Added javascript interface to the CalendarMothView which resembles the ones already available for the week and
day view. Issue: 104.
o Added a trait with createdAt and updatedAt mapper mixins Issue: 390.
o Added an option to SiteMap to not flatten the sitemap when retrieving a group Issue: 424.
o Added a flag to preserver XML scope. Necessary when you're doing bind on top-level XML Issue: 432.
o Don't cache resource bundles in dev mode Issue: 391.
o Detect and disallow duplicate URIs in SiteMap Issue: 423.
o XML entities preserved Issue: 274.
o Dynamic reloading of sitemap during dev mode Issue: 385.
o Added helpful extractors (AsInt, AsLong, AsBoolean) Issue: 400.
o Adds .json method to Req Issue: 395.
o Added asValid and JSON helpers to Mapper Issue: 397.
o Unapply on MetaMapper Issue: 399.
o More flexible CometActor creation Issue: 392.
o Converting a null String to an empty String Issue: 414.
o Add core dutch language files Issue: 131.
o Add Ext Core support to Lift Issue: 132.
o Support for HTTP Reason Phrase Issue: 334.
o Support for snippets lookup in subpackages Issue: 396.
o Create a generic continuation mechanism Issue: 401.
o Stateless JSON code Issue: 420.
o Add support for call-once functions Issue: 435.
Fixed Bugs:
o Fixed an initization order issue in LoggingStatementWrapper Issue: 442.
o MappedLongForeignKey apply() methods which take reference now prime the Obj Issue: 411.
o MappedDate and MappedDateTime setFromAny now handle Numbers (millis) Issue: 427.
o MappedString.crop gracefully handles null Issue: 426.
o Fix lift-osgi boot. Issue: 448.
o Synchronized a variable Issue: 433.
o More precise (and correct) shutdown process. This fixes a shutdown problem while CometActors are running. Issue: 436.
o fix two bugs with findClass not titlecasing correctly (helloWorld to HelloWorld) Issue: 429.
o SHtml.link and redirectTo properly deal with hash in URL Issue: 382.
o Eliminated a potential deadlock in MetaMapper Issue: 419.
o FactoryMaker request and session values no longer stomp on each other Issue: 418.
o Date/time parsing and formatting should be divided into Date, Time, and Date-time Issue: 257.
o MappedTime, MappedDate, and MappedDateTime should use different parsers and formatters Issue: 258.
o Cleanup lift-openid dependencies Issue: 338.
o OpenId attribute exchange support for well known providers Issue: 348.
o Deprecate createRecord and createRecordFromJSON preferring new MyRecord Issue: 355.
o Rename OpenId -> OpenID Issue: 361.
o Foreign Key rules moved to MapperRules Issue: 388.
o Add MapperRules.displayNameCalculator to allow easy localization of displayName Issue: 389.
o lift-couchdb: Field types using JSONEncodedStringMixin compile but give AbstractMethodError due to type erasure
fumble Issue: 403.
o lift-couchdb: JSONField that encodes an enumeration by its name rather than ID Issue: 404.
o SetValueAndFocus should not be in JqJsCmds Issue: 405.
o Create/Init a LiftSession from outside a Lift-handled request Issue: 406.
o JsCmds/JqJsCmds API normalization Issue: 407.
o StackOverflowError in JSON Serializer with large Lists Issue: 410.
o lift:lazy-load doesn't work properly with ajaxSelect Issue: 412.
o Statefull snippets redirect is broken Issue: 425.
o XML is converted to invalid JSON when array has attributes Issue: 428.
o S.logQuery has wrong signature for use with DB.addLogFunc Issue: 431.
o Jetty 6 correction for comet Issue: 439.
o Ability to disable unique Loc check Issue: 455.
o Improve JSON extraction error message Issue: 456.
Changes:
o added blob to the list of reserved sql-words Issue: 402.
o Made ParamFailure not a case class Issue: 398.
o Add logging to Lift's internal code Issue: 310.
o Request for convenience conversion on MappedLongForeignKey fields Issue: 394.
o Move common dependencies from lift-base, lift-persistence, etc. into lift-parent Issue: 421.
o Add logging functions to Schemifier Issue: 422.
o Update AMQP dependencies to use RabbitMQ 1.7.2 Issue: 450.
Removed:
o Remove the deprecated meta module lift-core Issue: 451.
Have fun!
-Lift Web Framework team
