Changes in Lift Web Framework

Release History

2.12010-09-24Lift 2.1 Final Release
2.1-RC32010-09-21Lift 2.1 Release Candidate 3
2.1-RC22010-09-14Lift 2.1 Release Candidate 2
2.1-RC12010-09-03Lift 2.1 Release Candidate 1
2.1-M12010-08-04Lift 2.1 Milestone 1
2.02010-06-30Lift 2.0 Final
2.0-RC22010-06-18Lift 2.0 Release Candidate 2
2.0-RC12010-06-09Lift 2.0 Release Candidate 1
2.0-M52010-05-05Lift 2.0 Milestone 5
2.0-M42010-04-07Lift 2.0 Milestone 4
2.0-M32010-03-03Lift 2.0 Milestone 3
2.0-M22010-02-10Lift 2.0 Milestone 2
2.0-M12010-01-13Lift 2.0 Milestone 1
1.1-M82009-12-10Lift 1.1 Milestone 8
1.1-M72009-11-07Lift 1.1 Milestone 7
1.1-M62009-10-09Lift 1.1 Milestone 6
1.1-M52009-09-08Lift 1.1 Milestone 5
1.1-M42009-08-04Lift 1.1 Milestone 4
1.1-M32009-07-02Lift 1.1 Milestone 3
1.1-M12009-05-01Lift 1.1 Milestone 1
1.02009-02-26First Major
0.102009-01-14api refactor
0.1.02007-02-26first public release

Release 2.1 - 2010-09-24

No changes in this release.

Release 2.1-RC3 - 2010-09-21

fixMongoListField in 2.8.0 does not deserialize correctly Fixes 651.eltimn
fixRegression in Fields marked Optional Fixes 652.dridus
fixDisplayWithLabel's toForm is missing the error Fixes 653.dpp

Release 2.1-RC2 - 2010-09-14

fixBreaking toString change in Record Fields Fixes 641.dridus
fixBreaking toString change in Record Fields Fixes 637.dpp

Release 2.1-RC1 - 2010-09-03

fixBug with record field initialisation Fixes 354.dridus
updateAllow for unowned field types in lift-record, to support squeryl integration Fixes 479.dridus
fixMultiple <lift:lazy-load> in the same page does not work as expected Fixes 588.dpp
fixJettyTestServer start/stop not sequenced properly in unit tests Fixes 631.indrajitr
fixLiftSession.processSnippet should handle StatefulSnippet instances returned via LiftRules.snippetDispatch Fixes 580.dchenbecker
fixoverriding Field#label not affecting TextareaField#toFrom Fixes 594.dridus
fixAlternate names for test_cond conditions Fixes 602.dpp
fixMS SQL Server Driver is set to disable FK support Fixes 606.dchenbecker
fixGeneral check of code to see if we have other things broken by new 2.8.0 collections semantics Fixes 607.dchenbecker
fixDB.runQuery and runUpdate need common type handling refactored Fixes 609.dchenbecker
fixComet chat - input drops down after page refresh Fixes 610.dpp
fixPaginator & empty collection, negative offset Fixes 611.dchenbecker
addAdd (Simplified Chinese translation) Fixes 612.dpp
fixAvoid version range for dependencies Fixes 614.indrajitr
fixRemove undesired display logic from record Fields Fixes 617.dridus
updateDeprecate shouldUpdate in ListenerManager Fixes 618.dpp
addSupport for null and Box in Mongo Fixes 619.eltimn
fixi18n sorting for countries Fixes 621.dpp
fixJsCmds.Replace has no effect when using Opera Fixes 625.dpp
fixMove JsonBoxSerializer to new package and remove $ from field names Fixes 628.eltimn
addAdd SBT build support for Lift Framework build Fixes 632.indrajitr
fixmongodb-record querying with fields selection Fixes 633.anemish
addupgrade mongo-java-driver to 2.1 Fixes 634.hoffrocket

Release 2.1-M1 - 2010-08-04

addAdded support for head match in Menu DSL via the "**" object Fixes 574.dchenbecker
fixFixed FK support in Oracle and missing "timestamp" reserved word Fixes 585.dchenbecker
fixMany of the Scripts are not properly escaped Fixes 584.dpp
fixParamFailure does not work correctly Fixes 598.dpp
fixThe find method in Actors consumes stack space Fixes 603.dpp
fixobject SecurityHelpers doesn't extend the trait Fixes 604.dpp
fixEnhance Menu DSL to support WikiStuff style Locs Fixes 605.dpp
fixadd base64EncodeURLSafe to SecurityHelpers Fixes 566.dpp
fixldap user bind attribute names should be overrideable Fixes 567.dpp
fixAllows to have properties configuration files outside of the war Fixes 571.dpp
fixReplace JS Command is fragile Fixes 581.dpp
fixSQL UPDATE query support in Mapper Fixes 582.dpp
fixsnippet errors in CRUDify view/edit/delete pages Fixes 583.dpp
fixTimeHelpers.hourFormat is not thread safe Fixes 592.dpp
fixoverriding Field#label not affecting TextareaField#toFrom Fixes 594.dpp
fixEnable attribute merging on wizard form fields Fixes 595.dpp
fixBetter promotion of stuff to RenderOut in Comet Fixes 575.dpp
fixDBLog dynamic proxy -- calling toString fails Fixes 570.dchenbecker
fixSchemifier FK support uses incorrect JDBC API method Fixes 597.dchenbecker
fixOn 2.8 ordinary snippets get instantiated a few times Fixes 596.dchenbecker
fixItemsListSpecs not compiling on 2.8 Fixes 554. Thanks to nafg.indrajitr
fixAdd detailed toString method to PaypalInfo Fixes 557.timperrett
fixCustom JSON serialization fails if paranamer fails Fixes 564.jonifreeman
fixCustom JSON serialization fails with Date (and other primitives) Fixes 565.jonifreeman
fixAdjust maven-scala-plugin to generate unified scaladoc Fixes 578.indrajitr
fixEnhance the OOTB experience Fixes 586.timperrett
fixCustom CouchDB view query params Fixes 591.dridus
fixAdd attributes to fileUpload Fixes 608.hseeberger

Release 2.0 - 2010-06-30

fixFixed a problem with HelloDarwin Fixes 555.dpp
fixBoot failures should be safer Fixes 562.marius.danciu

Release 2.0-RC2 - 2010-06-18

fixCalls to HTTP methods in HttpResponse fail Fixes 549.dpp
fixOSGi metadata broken for lift-util Fixes 551.hseeberger
updateChange mongo-java-driver version to 2.0 Fixes 553.hoffrocket

Release 2.0-RC1 - 2010-06-09

fixFixed a null pointer exception in Testkit Fixes 544.dpp
fixJsonResponse passes the HTTP response code correctly now Fixes 545.dpp
addMechanism to Abstract Over Retried AJAX Calls Fixes 437.dpp
fixPut Expires or Cache-Control=no-cache headers into Comet, REST and Ajax response Fixes 538.dpp
addadd missing SHtml.ajaxTextarea...() methods Fixes 536.dpp
fixAJAX and Comet S.notice et al no longer clear messages before posting their own meaning you can now use Comet and AJAX and normal snippets to post messages all together Fixes 542.timperrett
fixBooleanOption not lazy enough Fixes 531.dpp
updateMajor cleanup of HTTP mocks Fixes 509.dpp
updateAdded a default logger to LiftActor Fixes 528.dpp
updateUnified a lot of the input testing into a single trait (e.g.,valMinLen, etc.) Fixes 162.dpp
updatechanged EmptyBox's type signature Fixes 527.dpp
addAdded a method to create a query string in MetaMapper from QueryParams Fixes 512.dpp
addEnhanced TestKit to provide more generic HTTP request capabilities Fixes 511.dpp
fixMappedString.apply(Empty) now correctly results in a null String in the column Fixes 514.dpp
addEnhanced date math using JodaTime and more seamless conversion to/from Date and JodaTime objects Fixes 535.dpp
fixSmarter caching of foreign key objects Fixes 370.dpp
addAdd explicit test for MetaMapper comparisons in foreign keys Fixes 532.dpp
addAdd MongoPasswordField Fixes 533.eltimn
addAdd Italian translation for Fixes 537. Thanks to AliPanick.dpp
updateEnhance and Document Screen and Wizard Fixes 375.dpp
fixFix slf4j version Fixes 519.jeppenejsum
fixCount wrong in sessions Fixes 529.dpp
fixmaxConcurrentRequests not honored Fixes 547.dpp
fixFix swappable jQuery focus behavior Fixes 449.marius.danciu
updateMake the default docType configurable in LiftRules Fixes 478.marius.danciu
addSupport for Box in JSON Fixes 489.joni.freeman
fixBroaden S.notice et al so that one can configure JsCmd's Fixes 502.marius.danciu
fixAdd path-based field replacement to JValue Fixes 510.nuttycombe
fixPossible lift-mapper bug under Scala 2.8 Fixes 513.dpp
updateDocumentation bug for Box Fixes 515.dpp
fixMappedField.asString should use name instead of displayName Fixes 517.jeppenejsum
updateUpgrade MongoDB driver to 2.0 Fixes 521.hoffrocket
fixImprove case class constructor search when extracting values from JSON Fixes 522.joni.freeman
updateBetter JSON support for custom types Fixes 523.joni.freeman
fixConsider allowing OrderBy to take an optional NullsFirst/NullsLast parameter Fixes 524.dpp
fixJSON transform function Fixes 525.joni.freeman
fixActorPing can keep CometActors around forever Fixes 530.dpp
fixLift-up attribute snippets Fixes 539.marius.danciu
fixMapper items not tracked when there are no post-commit functions for MetaMapper Fixes 541.dpp
fixSBT archetype Fixes 543.dpp
fixEscape velocity filtering for inline maven variables in archetypes Fixes 546.indrajitr
fixRemove package private access modifier on TransientRequestVar Fixes 548.hoffrocket

Release 2.0-M5 - 2010-05-05

fixAdded a factory for AttrBindParam to disambiguate a String Fixes 501.dpp
updateFix PasswordField validation. Fixes 494.dridus
addBetter control over sessions Fixes 499.dpp
addHelpful new JsonCommand extractor for pattern matching Json commands Fixes 461.dpp
fixExceptions during view rendering are properly caught and displayed Fixes 467.dpp
addRules for quoting column and table names are user-configurable Fixes 495.dpp
updateasJsonValue now returns a Box[JValue] which allows for omitting fields in generated JSON Fixes 477.dpp
addThe definition of SQL reserved words can be changed Fixes 497.dpp
fixTextile correctly handles query strings in URLs Fixes 464.dpp
fixUpdated/fixed the way that ListenerManager handles optional updates Fixes 496.dpp
updateRelax from StatefulSnippet to DispatchSnippet for certain S registrations Fixes 487.dpp
fixBe explicit about the return type in asJsExp so that subclasses aren't co-varied out of luck. Fixes 482.dpp
addAdded flexibility for defining how mail messages are transported in each run mode. Fixes 484.dpp
addAdded some excellent REST helpers to Lift Fixes 457.dpp
addAdded some nice Menu DSL stuff Fixes 458.dpp
fixRe-factored Paginator so that it can be used outside of the context of mapper and has a more composable API. This causes a breaking change in the API for existing users of the ModelView pagination. Fixes 483.timperrett
fixMade Loggable.logger protected in order to prevent from polluting the API of types mixed into. Fixes 462.hseeberger
fixbasic archetype shows error during boot Fixes 469.jeppenejsum
updateMake entity resurection feature optional Fixes 471.dpp
fixFunction evaluation order in test mode when using ajaxSubmit Fixes 505.marius.danciu
addIntroduce a validateSignup method Fixes 368.jeppenejsum
fixAllow streaming a file directly using an OutputStream Fixes 372.marius.danciu
addAdd an SBT archetype based on the Basic Archetype Fixes 453.dpp
fixComet updates delayed for full long-poll duration Fixes 459.marius.danciu
fixCRUDify doesn't filter hidden fields Fixes 460.jeppenejsum
fixChange order of render and fixedRender in CometActor Fixes 463.marius.danciu
updateMove asHtml to BaseField Fixes 465.jeppenejsum
addAdd widget that allows changing of loglevels at runtime Fixes 466.jeppenejsum
fixMake FactoryMaker take a Vendor rather than a () => T Fixes 472.dpp
fixShow non-minified javascript when running in dev mode Fixes 473.jeppenejsum
fixRedirects involving window.location in response to comet requests can produce a persistent request loop in Firefox Fixes 474.marius.danciu
addsupport Scalate as an optional new form of templates in addition to Lift templates Fixes 475.jstrachan
updateImprove segment cache in JSON parser Fixes 481.jonifreeman
addAdd Global Fade Out Mechanism for Lift Messages Fixes 485.marius.danciu
fixEmpty XML tag should not be rendered into JSON Fixes 486.jonifreeman
fixLift-OpenID Is Missing Commons-Logging Dependency Fixes 492.jeppenejsum
fixCompanion object for LocaleField Fixes 498.eltimn
fixIntegrate Scamongo Fixes 500.eltimn
fixmongodb-record swallows errors Fixes 506.jorge.ortiz
fixobject MongoDB not thread-safe Fixes 507.jorge.ortiz
fixFacebookClient calls can block indefinitely Fixes 508.jorge.ortiz
fixUpdate h2 version to newer one and have the scope adjusted to runtime Fixes 490.indrajitr
fixUse vscaladoc instead of scaladoc for archetype templates Fixes 491.indrajitr
updateSet jvmArg -Xmx1024m by default for maven-scala-plugin for archetype templates Fixes 503.indrajitr
updateSet charset to UTF-8 by default for maven-scala-plugin for archetype templates Fixes 504.indrajitr

Release 2.0-M4 - 2010-04-07

addAdded a flag to disable Loc uniqeness testing Fixes 452.dpp
addAdded default settings for FadeIn and FadeOut Fixes 235.dpp
addAdded warnings on attempt to access non-existant props file Fixes 444.dpp
fixFixed an initization order issue in LoggingStatementWrapper Fixes 442.dpp
addEnhanced JSON support in Lift based on the new JSON library Fixes 365.dpp
addAdded equals and hash methods for mapper based on primary key Fixes 408.dpp
addsupport setObject without an explicit SQL type Fixes 233.dpp
addAdded a new ImageResizer utility class to lift-imaging to provide additional resizing options which preserve aspect ratio and orientation. Fixes 297.hoffrocket
fixMappedLongForeignKey apply() methods which take reference now prime the Obj Fixes 411.hoffrocket
fixMappedDate and MappedDateTime setFromAny now handle Numbers (millis) Fixes 427.hoffrocket
fixMappedString.crop gracefully handles null Fixes 426.hoffrocket
fixFix lift-osgi boot. Fixes 448.hseeberger
addMake lift-mapper an OSGi bundle and fix broken OSGi configuration of other modules. Fixes 445.hseeberger
addUpdated for Lift 2.0 Fixes 409.hseeberger
Move JValue encoding/decoding for field values from JSONFields in lift-couchdb to base fields in lift-record. Fixes 440.dridus
addGerman Fixes 175.hseeberger
addAdded javascript interface to the CalendarMothView which resembles the ones already available for the week and day view. Fixes 104.madshartmann
updateadded blob to the list of reserved sql-words Fixes 402.madshartmann
Add response code overload to JsonResponse and rename HeaderStuff Fixes 443.timperrett
fixSynchronized a variable Fixes 433.dpp
addAdded a trait with createdAt and updatedAt mapper mixins Fixes 390.dpp
fixMore precise (and correct) shutdown process. This fixes a shutdown problem while CometActors are running. Fixes 436.dpp
addAdded an option to SiteMap to not flatten the sitemap when retrieving a group Fixes 424.dpp
addAdded a flag to preserver XML scope. Necessary when you're doing bind on top-level XML Fixes 432.dpp
addDon't cache resource bundles in dev mode Fixes 391.dpp
addDetect and disallow duplicate URIs in SiteMap Fixes 423.dpp
addXML entities preserved Fixes 274.dpp
addDynamic reloading of sitemap during dev mode Fixes 385.dpp
fixfix two bugs with findClass not titlecasing correctly (helloWorld to HelloWorld) Fixes 429.dridus and redirectTo properly deal with hash in URL Fixes 382.dpp
fixEliminated a potential deadlock in MetaMapper Fixes 419.dpp
fixFactoryMaker request and session values no longer stomp on each other Fixes 418.dpp
addAdded helpful extractors (AsInt, AsLong, AsBoolean) Fixes 400.dpp
addAdds .json method to Req Fixes 395.dpp
addAdded asValid and JSON helpers to Mapper Fixes 397.dpp
addUnapply on MetaMapper Fixes 399.dpp
updateMade ParamFailure not a case class Fixes 398.dpp
addMore flexible CometActor creation Fixes 392.dpp
addConverting a null String to an empty String Fixes 414.hseeberger
addAdd core dutch language files Fixes 131.dlouwers
addAdd Ext Core support to Lift Fixes 132.dlouwers
fixDate/time parsing and formatting should be divided into Date, Time, and Date-time Fixes 257.nafg
fixMappedTime, MappedDate, and MappedDateTime should use different parsers and formatters Fixes 258.nafg
updateAdd logging to Lift's internal code Fixes 310.jeppenejsum
addSupport for HTTP Reason Phrase Fixes 334.marius.danciu
fixCleanup lift-openid dependencies Fixes 338.jeppenejsum
fixOpenId attribute exchange support for well known providers Fixes 348.jeppenejsum
fixDeprecate createRecord and createRecordFromJSON preferring new MyRecord Fixes 355.dridus
fixRename OpenId -> OpenID Fixes 361.jeppenejsum
fixForeign Key rules moved to MapperRules Fixes 388.jeppenejsum
fixAdd MapperRules.displayNameCalculator to allow easy localization of displayName Fixes 389.jeppenejsum
updateRequest for convenience conversion on MappedLongForeignKey fields Fixes 394.dpp
addSupport for snippets lookup in subpackages Fixes 396.dridus
addCreate a generic continuation mechanism Fixes 401.marius.danciu
fixlift-couchdb: Field types using JSONEncodedStringMixin compile but give AbstractMethodError due to type erasure fumble Fixes 403.dridus
fixlift-couchdb: JSONField that encodes an enumeration by its name rather than ID Fixes 404.dridus
fixSetValueAndFocus should not be in JqJsCmds Fixes 405.marius.danciu
fixCreate/Init a LiftSession from outside a Lift-handled request Fixes 406.dpp
fixJsCmds/JqJsCmds API normalization Fixes 407.marius.danciu
fixStackOverflowError in JSON Serializer with large Lists Fixes 410.jonifreeman
fixlift:lazy-load doesn't work properly with ajaxSelect Fixes 412.marius.danciu
addStateless JSON code Fixes 420.dpp
updateMove common dependencies from lift-base, lift-persistence, etc. into lift-parent Fixes 421.indrajitr
updateAdd logging functions to Schemifier Fixes 422.jeppenejsum
fixStatefull snippets redirect is broken Fixes 425.marius.danciu
fixXML is converted to invalid JSON when array has attributes Fixes 428.jonifreeman
fixS.logQuery has wrong signature for use with DB.addLogFunc Fixes 431.jeppenejsum
addAdd support for call-once functions Fixes 435.jeppenejsum
fixJetty 6 correction for comet Fixes 439.marius.danciu
updateUpdate AMQP dependencies to use RabbitMQ 1.7.2 Fixes 450.indrajitr
removeRemove the deprecated meta module lift-core Fixes 451.indrajitr
fixAbility to disable unique Loc check Fixes 455.dpp
fixImprove JSON extraction error message Fixes 456.jonifreeman

Release 2.0-M3 - 2010-03-03

fixFixed a stack overflow on non-tail recursive method Fixes 393.dpp
fixAllow Foreign Key support to be optional in PostgreSQL driver Fixes 387.dpp
fixScope attributes duplicated in certain cases. Fixed those cases. Fixes 373.dpp
updateSupport for enhancing foreign key references in PostgreSQL 8.3+ Fixes 224.dpp
addA flag for disabling the onblur stuff for ajax calls Fixes 117.dpp
fixBetter support for exceptions in DB Logging Fixes 369.dpp
fixFurther work to make sure control characters don't show up in XML output. Fixes 319.dpp
fixFix runtime errors in a couple of example programs Fixes 342.dpp
addAdded toHtml method to Mapper/MetaMapper Fixes 350.dpp
fixIssues with template cache updating incorrectly Fixes 367.dpp
addAdded support for area tags Fixes 70.dpp
addAdded NOT IN to Mapper query builder Fixes 353.dpp
addEnhancements to LiftActors and LRU to support Goat Rodeo Fixes 335.dpp
fixFixed a comparison bug in ReplaceOption (wishing for type-safety in ==) Fixes 296.dpp
addByList is uniqued before the query is built Fixes 298.dpp
addAdded linkToSelf option to snippet Fixes 343.dpp
fixSupport for Scala 2.8 deltas in the way Nodes are compared Fixes 357.dpp
fix304 responses should not include Content-Type headers Fixes 239.dpp
fixFixed misspelled keys for resource bundles: *pasword* and reset.password.confirmarion Fixes 112.hseeberger
addxxxMenuLoc methods now delegate to protected xxxMenuLocParams methods in order to get their LocParams. Fixes 251.hseeberger
addExtend Comet (ListenerManager) to selectively update subscribers Fixes 326.hseeberger
updateHave minimal support for archetype:create telling user to use archetype:generate instead Fixes 238.indrajitr
updateInternationalizing missing strings in ProtoUser Fixes 320. Thanks to Adam Warski.indrajitr
updateEnforce Maven version 2.2.1 or higher, but lower than 3.0. Fixes 344.indrajitr
updatelift-flot has been updated to Flot 0.6 Fixes 322.pr1001
updateMake OpenID support more extensible Fixes 329.jeppenejsum
updateLift Mapper (Record) camelCase to snake_case for case insensitive databases Fixes 155.jeppenejsum
updateImproved logging facilities Fixes 309.jeppenejsum
updateDeprecate old logging code Fixes 374.jeppenejsum
updateEnhance Facebook Connect utilities and example code Fixes 336.hoffrocket
addAdd DataBinding types and traits to lift-webkit Fixes 212.nuttycombe
updateAdd ability to use doc result of query, not just value Fixes 356.dridus
updateAdd Optional variants of the basic record fields Fixes 305.dridus
addAdd CouchDB support (lift-couchdb) Fixes 306.dridus
updateUpdate lift-couchdb to use dispatch 0.7.1 once released Fixes 351.dridus
fixOptional fields in JSONRecord do not work without setting needAllJSONFields to false Fixes 359.dridus
addIntegrate Image manipulation code to lift Fixes 285.timperrett
fixJSON deserialization fails for null value Fixes 358.jonifreeman
fixType hints are needed in JSON serialization for non-polymorphic Map Fixes 341.jonifreeman
fixDo not serialize the internal state of a case class (JSON) Fixes 352.jonifreeman
addAdd support to extract primitive values from JSON Fixes 360.jonifreeman
fixForcing Authentication not working Fixes 337.marius.danciu
fixAutocomplete never submit value Fixes 27.marius.danciu
fixJavascript DSL inconsistencies Fixes 287.marius.danciu
fixSolve CSS/JS unwanted caching Fixes 346.marius.danciu
updateLiftRules.jQueryVersion should not be there. Fixes 363.marius.danciu
addItemsListEditor (and thus TableEditor) should warn when leaving page with unsaved changes Fixes 339.nafg
addItemsListEditor should display items pending removal, albeit in strikeout font Fixes 302.nafg unremoves removed unsaved items Fixes 300.nafg
addItemsList should be have refresh method to clear added/removed without requerying database Fixes 299.nafg
addItemsListEditor should allow custom columns Fixes 301.nafg
addItemsListEditor should catch SQLException in Fixes 340.nafg

Release 2.0-M2 - 2010-02-10

fixlift-Json doesn't appear to be correctly handling attributes Fixes 323.jonifreeman
fixnet.liftweb.json.JsonParser.extract fails with List[List[Int]] Fixes 279.jonifreeman
addMultidimensional arrays supported in JSON serialization and extraction Fixes 279.jonifreeman
updateJSON object can be extracted into scala.Map (and scala.Map can be serialized as JSON object). Recursive types can be serialized. Fixes 303.jonifreeman
updateJSON pull parser API Fixes 333.jonifreeman
updateMake Lfit both Scala 2.7 and 2.8 friendly Fixes 292.indrajitr
fixStreamline JDBC library dependencies Fixes 307.indrajitr
fixautocomplete widget - make options settable Fixes 46.mads
updateUpgrade jQuery to 1.4.1 Fixes 304.hoffrocket
addEnable jQuery version switching in LiftRules Fixes 311.hoffrocket
fixAjax form submission with multiple submit buttons Fixes 280.marius.danciu
Submitting a form by ID and provide a Scala function Fixes 286.marius.danciu
fixAjax change from () => Any to () => JsCmd Fixes 295.marius.danciu
fixAdd field-by-field error notifications to CRUDified fields Fixes 254.dpp
fixMappedLongForeignKey::asJsonValue should generate JNull Fixes 282.dpp
fixAdditional tag support for TextileParser Fixes 284.dpp
fixTextileParser molests divs Fixes 290.dpp
addNew LRU Map that works better than Apache LRU map Fixes 293.dpp
fixThe order of fields is random in Mapper Fixes 308.dpp
addAllow thread-local Connection Identerifer resolution Fixes 314.dpp
fixHow overriding of _showAllTemplate to show a limited number of columns Fixes 315.dpp
fixControl characters in input can lead to Denial of Service attacks Fixes 319.dpp

Release 2.0-M1 - 2010-01-13

fixChanged LiftRules.getResourceAsStream() to doWithResource() to ensure InputStream is always closed Removed duplicate LiftRules.finder() Fixes 273.boisvert
fixAdded logging of bad prepared statements to help diagnose things. Fixes 232.dchenbecker
fixFixed Mapper to properly deal with generated values Fixes 231.dchenbecker
updateMisc sitemap enhancements Fixes 268.dpp
fixLift explicitly closed streams rather than waiting for garbage collection Fixes 267.dpp
fixJetty restarts do not cause exceptions to be thrown Fixes 266.dpp
updatelift-json's Jsvalue may be used with JsonResponse Fixes 262.dpp
fixFixed NPE problems in Mapper to Json Fixes 248.dpp
updateBetter handling of flot widget in Comet Fixes 247.dpp
fixFixed misc Textile bugs Fixes 244.dpp
updateEnhanced stateful rewrite Fixes 243.dpp
updateAdded post-commit hook to DB Fixes 242.dpp
updateWizard supports file upload forms Fixes 241.dpp
updateEnhanced TestCond widget Fixes 240.dpp
fix304 responses no longer contain content type Fixes 239.dpp
updateEnhanced connection pool logic Fixes 236.dpp
fixFixed some null exceptions with DB queries Fixes 234.dpp
fixFixed problems with the JNDI context Fixes 223.dpp
fixFixed synchronization issues with Vars Fixes 222.dpp
updateOAuth support (thanks to the FourSquare guys) Fixes 276.dpp
fixFile handles released correctly in Jetty Fixes 275.dpp
updateExtracted "Screen" code from Wizard for stand-alone declarative input screens Fixes 250.dpp
updateRestructure project (segregated into three logical projects: framework, archetypes, examples)indrajitr

Release 1.1-M8 - 2009-12-10

addAdded new built-in <lift:html5> snippet that sets HTML5 DOCTYPE on the XHTML responseboisvert
fixJqJsCmds.ModalDialog now takes JsObj argument to work with BlockUI v2.x Fixes 218.boisvert
fixFixed typo in DerbyDriver.integerIndexColumnType: IDENITY -> IDENTITYboisvert
fixFixed Mapper to use DriverType.columnTypeMap everywhere Fixes 211.dchenbecker
fixFixed Mapper logging to properly log inserts, updates and deletes Fixes 210.dchenbecker
fixBreaking 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 Fixes 139.Kris Nuttycombe
fixAllowing page fragments wrapped by <lift:lazy-load> node to be processed and loaded asynchronously. Fixes 56.marius.danciu
fixUpdated documentation for Msgs Fixes 153.boisvert
fixXmlResponse(...) now accepts optional HTTP status code, mime type and cookies. Fixes 177.boisvert
fixSQL Server Alter Table Fails Fixes 14.boisvert
fixTypo in Req.scala Fixes 170.boisvert
fixSnapshot jars contains several Box.class files Fixes 166.hseeberger
updateUpdate hibernate-entitymanager to 3.4.0.GA. Fixes 156. Thanks to econoplas.indrajitr
updateAdjust javax.mail version range to avoid issues when Sun's repo is used and honor javax.activation being transitively pulled up my javax.mail. Fixes 168. Thanks to awhitford.indrajitr
fixFix scala:doc and vscaladoc configuration along with provision for module specific configuration for packageLinkDefs. Fixes 180.indrajitr
updateEnforce Maven version 2.1.0 or higher, but lower than 3.0. Fixes 203.indrajitr
fixUpgrade Lift archetypes to use the new archetype metadata format. Enhance/fix archetype integration tests during build. Fixes 161.indrajitr
fixEnhance archetype metadata not to depend on ext.vm and allow one to set Lift version (-DliftVersion) or Scala version (-DscalaVersion) during archetype:generate. Fixes 227.indrajitr
addAdd ability to call JS code after AJAX form submit Fixes 148.dchenbecker
addAdd AJAX editable field generator to SHtml, add AjaxEditableField to Mapper. Fixes 181.dchenbecker
fixFixed SQL Server drivers to use version-appropriate unicode columns for text. Fixes 16.dchenbecker

Release 1.1-M7 - 2009-11-07

updateImprove error message if database is not supported Fixes 57.alex.boisvert
updateChange net.liftweb.mapper.ByList to take a Seq[T] instead of a List[T] Fixes 77.alex.boisvert
updateBoxed payment status so that IPN cancelations appear as Empty. Breaking API change for implementors. Fixes 88.timperrett
fixTextile parser outputs non-valid output. Changed some null to Null. Fixes 94. Thanks to vdichev.dpp
addEnhanced the documentation for an type signatures for Actorsdpp
addRevised Lift to use LiftActors and be compatible with Akka Actorsdpp
fixS.deleteCookie broken in M6 Fixes 126.dpp
addDB.runQuery isn't ConnectionIdentifier-aware Fixes 125.dpp
fixMisspelling in field name in ProtoExtendedSession Fixes 119.dpp
fixnet.liftweb.widgets.autocomplete in version 1.1-M6 changed return type from NodeSeq to Elem Fixes 120.dpp
fixStatefulSnippets generate invalid markup Fixes 122.dpp
updateUpdated Lift to use Scala 2.7.7 Fixes 142.dpp
fixStacked URL Rewriting correctly deals with params Fixes 143.dpp
fixSimplified Factory signatures in LiftRules Fixes 141.dpp
updateRestructured Lift codebase (now categorized into lift-base, lift-persistence, lift-modules, lift-archetypes and lift-examples). Fixes 127.indrajitr

Release 1.1-M6 - 2009-10-09

updateProject build models are more enriched and streamlined. Fixes 128.indrajitr
addJSON diff and mergejoni
updateGeneralized JSON serializationjoni
fixUse paranamer to find out case class constructor argument namesjoni
fixEnhance CRUDify i18n Fixes 84.heiko.seeberger
addAdd parameterized ?? to S Fixes 82.heiko.seeberger
fixInaccurate ranges for previous and next (page) in CRUDify Fixes 87.heiko.seeberger
fixNo i18n for "Sign Up" in MetaMegaProtoUser.signupXhtm Fixes 81.heiko.seeberger
fixLost password submit button is not rendered correctly Fixes 111.heiko.seeberger
fixSignup mail body not i18ned Fixes 113.heiko.seeberger
fixMisspelled Key "pasword.changed" in ProtoUser.scala Fixes 114.heiko.seeberger
fixEnhance Msgs snippet to optionally show all messages Fixes 123.heiko.seeberger
fixMappedPassword contains misspelled key for unset password Fixes 157.heiko.seeberger

Release 1.1-M5 - 2009-09-08

No changes in this release.

Release 1.1-M4 - 2009-08-04

addAdded HTTP abstraction for making Lift container agnostic.Marius Danciu

Release 1.1-M3 - 2009-07-02

addAdded <lift:tail> builtin snippet for merging content at the end of body tagMarius Danciu

Release 1.1-M1 - 2009-05-01

addFixed Bug #34 - lift processing directives should be implemented as snippetsMarius Danciu
addAdded support for templates cachingMarius Danciu

Release 1.0 - 2009-02-26

addAdded support for multiple resource bundlesMarius Danciu

Release 0.10 - 2009-01-14

updateConsolidate LiftRulesMarius Danciu
updateAdded HTTP authentication supportMarius Danciu
updateUpgrade to Scala 2.7.3Jorge Ortiz
updateUpgrade to Scalacheck 1.5Jorge Ortiz
updateUpgrade to Specs 1.4.0Jorge Ortiz
updateAdded Record/Field generic supportMarius Danciu
updateChanged Can to BoxDavid Pollak
updateChanged RequestState to ReqDavid Pollak
updateUpdated LiftView to be more syntactically pleasingDavid Pollak
updateFixed a bug with how RequestVars and traits workDavid Pollak
updateEnhanced the DateTime inputsDavid Pollak
updateFirst pass at complete PayPal ITN and PDT stuffDavid Pollak
updateRefactoring of the PayPal stuffDavid Pollak
addA Currency classDavid Pollak
addAdded a nifty mechanism for stateful form management (Hoot)David Pollak
addAdded fix CSS supportMarius Danciu
addAdded support for other JS librariesMarius Danciu
addAdded JSON forms supportMarius Danciu
updateUpdated to jQuery 1.2.6Jorge Ortiz
addAdded PayPal Integration moduletimperrett
updateRedesigned Gavatar widgettimperrett

Release 0.9 - 2008-06-15

addAdded URL rewriting supportMarius Danciu
addAdded CalendarDayView widgetMarius Danciu
addAdded CalendarWeekView widgetMarius Danciu
updateSwitch from svn ( to git (github) has scm to manage sourceDavid Pollak

Release 0.8 - 2008-05-09

updateUse vscaladoc to generate APIDavid Bernard
updateCompiled the project with Scala-2.7.1Jorge Ortiz
addStart the lift-openid moduleDavid Pollak
addStart the lift-oauth moduleDavid Pollak
addAdded CalendarMonthView widgetMarius Danciu
addStart the lift-widgets moduleMarius Danciu
addAdded ActorPing#scheduleAtFixedRateMarius Danciu
addAdded notices support for Comet actorsMarius Danciu
addAdded JavaScript statements as JsCmdMarius Danciu

Release 0.7 - 2008-04-03

addGave AMQPDispatcher users the ability to auto-reconnect to the amqp server if it restarts.Steve Jenson
update- Separating html functions from S object to SHtml object - Putting LiftRules in its own file - Adding support for associating messages with ID's to allow form fields validation messages. - ValidationIssue renamed into FieldError and lives in http package - ErrorReport built in snippet was renamed to Msgs - Added Msg built in snippet used for form field messages (Renders only messages associated with this tag id)Marius Danciu
addExtracted from the Helpers class, documented and tested ClassHelpers, ControlHelpers and TimeHelpers TraitsEric Torreborre
addAdding unload hooks so a user's lift app can make sure that certain methods are called when the war is unloaded by the servlet container.Steve Jenson
addAdding a bunch of Responses to help make building RESTful Web Services easier in lift.Steve Jenson
addAdded extensible support for specifying the behavior for invalid URI's (with or without site map)Marius Danciu
updateChanges LiftServlet object name to LiftRulesMarius Danciu
updateChanged Loc behavior to use ResponseItMarius Danciu
addAdded RedirectWithStateMarius Danciu
addAdded a KeyedCache for model objects built on top of the LRU class.Steve Jenson
Split lift-core into several modules : lift-webkit, lift-amqp, lift-facebook, lift-testkit, lift-textile, lift-xmppDavid Bernard

Release 0.6 - 2008-03-10

updateCompiled the project with Scala-2.7.0Eric Torreborre
addAdded RedirectResponse classMarius Danciu
addAdded lift core localization support.Marius Danciu
addAdded Cookie support.Steve Jenson
updateUpdating our version of jQuery to 1.2.3.Steve Jenson
addAdded a new method to MetaMapper that lets you find models by PreparedStatement. findByPreparedStatementSteve Jenson

Release 0.5 - 2008-02-05

addAdded a new QueryParam, ByList which lets you query on Model objects with a List[T].Steve Jenson
updateRevised the example site to use Blueprint CSS for styleDavid Pollak
addjlift JavaScript utilities and associated binder helpers.David Pollak
addBlueprint CSS built in (version 0.6) so it can be served via /classpathDavid Pollak
addXML -> JavaScript bindings so that JSON -> XHTML rendering can be defined using Scala XML literals, but the resulting JavaScript code can be sent to the browser to do mass rendering of JSON objects.David Pollak
addAdded JSON support including: - S.buildJSONFunc - JSONHandler class - Lots of fancy JavaScript expression buildingDavid Pollak
updateWhen lift is running in test mode, the default form generators will insert lift:field_name attribute into the form fields to aid in testingDavid Pollak
updateAdded json2.js (and minified version) Enhanced the resource serving stuff so that: - The path is defined in LiftServlet and changable (defaults to "classpath") - Moved the resource location from the root to "toserve" (can be changed) to avoid any possible way of serving up classes - The white list is a Partial Function for more flexibility - The white list by default contains jquery.js and json.js - There's a re-writer to re-write the request into an actual file (so jquery.js gets re-written to jquery-1.2.2-min.js)David Pollak
addParser Combinator Helper routinesDavid Pollak
updateMappedField.toForm now returns a Can[NodeSeq] so a field can be omitted from a formDavid Pollak
addAdded the "record" and "record_mgt" packages with half-baked record and field stuff in themDavid Pollak
updateAdded LocInfo and LocInfoVal to SiteMap for storing CSS and other tidbits about each menu itemDavid Pollak
updateFixed the 'Welcome to the your project' type-oDavid Pollak
updateFurther abstracted the whole logging thing. There's a default log4j setup that can be overriden. The LiftLogger trait is made concrete in Log4JLogger, but the generic LiftLogger creation is done by function that can be modified in LogBoot: var loggerByName: String => LiftLogger = _logger; var loggerByClass: Class => LiftLogger = _loggerCls; One can insert a new logging system into lift by replacing the loggerByName and loggerByClass functions with appropriate functions that return a LiftLogger.David Pollak
addMappedText and MapperFakeClob classesDavid Pollak
updateExtensive updates to the <lift:xxx /> tag mechanism that uses tag labels as snippets and support for adding arbitrary tag handling to lift.David Pollak

Release 0.4 - 2008-01-07

addAdded XMPP support for lift applications. see the package net.liftweb.xmppSteve Jenson
addAdded support for switching XHTML MIME type serving off. See LiftServet.useXhtmlMimeTypeSteve Jenson
updateUpgrade to scala-2.6.1David Pollak
updateSupport for PosgreSQL 8.1 and some testsDavid Pollak
addAdding support to H2 to lift-ORMMaciek Starzyk
addAdding support to PostgreSQL to lift-ORMMaciek Starzyk
add/html/body//head are merged into /html/head, to allow html fragment inlined into body to contribute to /html/headDavid Bernard
addAdding a new lift archetype, lift-archetype-basic that will generate a lift template with basic database and users functionality.Steve Jenson
addAdding LiftConsole to archetype to play with lift-based application in console modeSteve Jenson
addAdding mock for HTTPRequest and CoSteve Jenson
addAdding first Specs test to test lift-coreDavid Bernard
updateThe look of the maven site generated (for lift itself and for archetypes)David Bernard
removeRemoving deprecated new_proj (replaced by archetypes)David Bernard
removeRemoving lift-archetype-hellolift (replaced by lift-archetype-basic (and the sample application hellolift))David Bernard

Release 0.3.0 - 2007-12-07

addSupport for Ajax including integration of jQueryDavid Pollak
addRadically improved Comet supportDavid Pollak
addFacebook API supportJorge Eugenio Ortiz Hinojosa
addAMQP (RabbitMQ) supportSteve Jenson
addRadically improved Comet supportDavid Pollak
addBuilt in Traits for Users (including user management) and TagsDavid Pollak
addSupport for a variety of new Mapped types (Country, Locale, Postal Code, etc.)David Pollak
addNew examples including a real-time blogDavid Pollak
updateProject builder using Maven and significantly improved Maven supportDavid Bernard
addLocalizationDavid Pollak
addImproved XHTML support including proper headers based on browser typeDavid Pollak
updateImproved documentationTeam
updateRadically improved samples and "getting started" piecesTeam
addsupport for multiple database instancesDavid Pollak
addimproved regex support including some Regex -> object creation support for parsingDavid Pollak
adda new and improved textile parserDavid Pollak

Release 0.2.0 - 2007-06-06

add"new_proj" script to create a new projectDavid Pollak
addHTTP test framework for writing testsDavid Pollak
addSkittr code example -- a Twitter clone in lift and ScalaDavid Pollak
addSiteMap -- define site navigation and access control rules in a Domain Specific LanguageDavid Pollak
addeach model can live in a different database (multi database support)David Pollak
addsupport for Jetty continuations on AJAX calls (automatic, not application code required)David Pollak
updateimprovements to query buildingDavid Pollak
addShared session variable across Snippets and ControllersDavid Pollak
add"recursive snippets" to re-write the pageDavid Pollak
addability to pass attributes to Snippets and ControllersDavid Pollak
addbuilt in support for blowfish encryptionDavid Pollak
addlogging via log4jDavid Pollak
addMappedListEnum to persist List[Enumeration] easilyDavid Pollak
addlots of HTML form elements (select, multiselect, etc.)David Pollak
updateenhanced SQL queriesDavid Pollak
addfilterMap support for queries as the rows come back from the databaseDavid Pollak
addcomparison operators for MappedFieldDavid Pollak
addrun modes (Production, Test, Development, etc.)David Pollak
addproperties that are based on user, machine, and run modeDavid Pollak
addfilters for fields such that input (and comparison and queries) can automatically be made upper case, lower case, trim, etc.David Pollak

Release 0.1.0 - 2007-02-26

No changes in this release.