@Starzu Starzu released this Jun 29, 2018 · 278 commits to master since this release

Assets 2

General changes

  • Numerous performance improvements in Properties
  • Improved serialization performance in RPC and REST
  • Fixed double encoding in RPC and REST
  • Libraries upgrade:
    • Scala.js: 0.6.22 -> 0.6.23
    • Scala.js DOM: 0.9.4 -> 0.9.6
    • Udash jQuery wrapper: 1.1.0 -> 1.2.0 (jQuery v3.3.1) - changelog
    • AVSystem Scala Commons: 1.25.5 -> 1.28.0
    • Silencer: 0.6 -> 1.0
    • Atmosphere: 2.4.15 -> 2.4.24
    • Scala Logging: 3.7.2 -> 3.9.0
    • Moment.js: 2.19.4 -> 2.22.0

Udash Core - Guide

  • Routing without # (#98 & #185)
  • Refactored API of input bindings (#161 & #186 & #191)
    • All bindings return InputBinding
    • Always two arguments lists: behavior and apperance
    • Selectors API is more generic now
  • Transformation methods on Property no longer listen on the origin if it's not required (#195 & #201)
  • Immutable properties (#176)
    • _.toProperty, _.toModelProperty and _.toSeqProperty extension methods
  • BlankValue type class (#179)
    • Property.blank constructor
    • Deprecation of Property.empty
  • ReadableWrapper and _.readable method on Property for safe returning properties with read-only access - instead of _.transform(identity) (#196)
  • New FileUploadState.NotStarted as blank value for Property[FileUploadState] (06de0fa)
  • transformToSeq handles subproperties changes (#165)
  • Implicit conversion from Opt[T] to Modifier (#178)
  • InlineStyleOps for convenient inline styles reactive property binding (#193)
  • Seq[Property[A]] -> ReadableSeqProperty[A]` combine extension method (#192)
  • HasGenCodecAndModelPropertyCreator - mixin for companion objects of classes with GenCodec and ModelPropertyCreator (#181)
  • Ids of properties are now sequential numbers instead of UUID (#177)
  • io.udash.Window is deprecated now, use org.scalajs.dom.window instead (#98 & #185)

Udash RPC - Guide

  • Data in RPC messages is no longer double-encoded (#175 & #183)
  • The @RPC and @REST are no longer required. Each RPC/REST trait needs companion object extending RPCCompanion from RPC/RESTFramework (#187)
  • Call timeout is exposed in DefaultServerRPC constructor now (#182)
  • Customizable logging of RPC call failures (#190)
  • CallLogging handles also fire&forget requesets now (#194)
  • Removed JAWN dependency (#170)
  • UdashRPCFramework explicitly uses JsonString wrapper as RawValue (#175 & #164)

Udash REST - Guide

  • Removed JAWN dependency (#170)
  • Fixed double encoding of URL part arguments (#173)

Migration from v0.6

You can also take a look at migration PR in Udash Guide. UdashFramework/udash-guide#42

  • Creation of empty properties is deprecated now, you should always initialize property directly or define Blank value and use Property.blank constructor.
  • Do not use WindowUrlChangeProvider.currentFragment in order to obtain the current routing path. Use applicationInstance.currentUrl instead.
  • io.udash.Window is deprecated now, use org.scalajs.dom.window instead.
  • The format of the serialized data (RPC/REST) will change after upgrade from Udash 0.6.
  • The @RPC and @REST are no longer required. Each RPC/REST trait needs companion object extending RPCCompanion from RPC/RESTFramework, usually: io.udash.rpc.DefaultClientUdashRPCFramework, io.udash.rpc.DefaultServerUdashRPCFramework.
  • FileUploadState properties are initialized with NotStarted by default (#179)