Skip to content

Releases: UdashFramework/udash-core

v0.4.0

16 Sep 15:33
Compare
Choose a tag to compare

General changes

  • Libraries upgrade:
    • Scala.js: 0.6.10 -> 0.6.12
    • ScalaTags: 0.5.5 -> 0.6.0
    • AVSystem Scala Commons: 1.16.1 -> 1.17.2
    • Atmosphere: 2.4.4 -> 2.4.5
    • JAWN: 0.8.4 -> 0.9.0
    • RosHTTP: 1.0.0 -> 1.1.0
    • Bootstrap: 3.3.6 -> 3.3.7

Udash Core

  • ModelProperty based on simple case classes (54d9722)
case class Todo(name: String, done: Boolean)
val p = ModelProperty(Todo("Release 0.4", done = true))
  • The property macro errors should be much more descriptive now (e44d562)
  • Type classes ImmutableValue, ModelPart, ModelSeq and ModelValue moved into the core-shared module (ff59029)
  • The combine method for Property and SeqProperty (c5afd1f)
  • The streamTo method for Property (968552d)
  • The transformToSeq method for Property (a125b60 and 8113561)
  • The clear method for SeqProperty (dedcbf3)
  • The reversed method for SeqProperty (6b36dbf)
  • The zip, zipAll and zipWithIndex methods for SeqProperty (b72d259)
  • The validation error has a generic error type (bbb9fdf)
  • It is possible to add a lambda function as validator to a Property (14d15dd)
  • The getTemplate method in View now returns Modifier[dom.Element] - now it is possible to return a property binding directly as a view template (44ec117)
class BindingView extends FinalView {
  val property = Property("ABCDE")
  override def getTemplate: Modifier = bind(property)
}
  • All binding builders return Seq[Element] (ba837a5)
  • The Component trait was removed (ba837a5)
  • Application state is changed before rendering views (2d8ece0)
  • FinalView trait with default renderChild implementation (5ca5880)
  • The :+= operator version with default stopPropagation (4f3e6db)
  • Attribute bindings moved from the bootstrap to the core module (Attr.bind, AttrPair.attrIf and Property.reactiveApply)(3faa646)
  • showIf binding method (7bb236c)
  • Property has valid subproperty contaning last validation result (cf93a76)
  • TranslationKeys are valid properties model now (88aed29)
  • File uploading utils (91d1272)
  • Fixed problem with recursive ModelProperties (54d9722)
  • Fixed problem with the isValid method returning null (897d1c7)

Udash RPC

  • RPC calls timeout - by default 30 seconds (d6f10da)
  • File upload/download servlet templates (91d1272 and 48144fa)

Udash Bootstrap

  • Datepicker wrapper (4814256)
  • Minor form checkbox styling fix (80b8832)
  • UdashButton now has the HTML type set to button (91d1272)

Migration from v0.3

  • Changed packages of the Property classes. It should not break anything if these were used via type aliases from theio.udash._ import.
  • The Component trait was removed (ba837a5). You can copy it from here if you were using it.
trait Component extends Modifier[dom.Element] {     
  def getTemplate: Element      

  def apply(): Element = getTemplate        

  override def applyTo(t: Element): Unit =      
    t.appendChild(getTemplate)      
}
  • bindAttribute is now deprecated, use Attr.bind, AttrPair.attrIf or Property.reactiveApply instead. (3faa646)
  • bindValidation is now deprecated, use valid instead. (3735b39)
  • scala-commons changed the GenCodec's API (AVSystem/scala-commons@f055b70)
    • ValueRead wrapper removed, readX methods return value directly or throw immediately
    • introduced inputType method to distinguish between types of values inside Input, limited only to four types (Null, Simple, Object, List)
    • introduced FieldInput trait which extends Input and replaces the use of tuple in ObjectInput#nextField - allows for less boxing

v0.3.2

30 Aug 14:18
Compare
Choose a tag to compare

Changes

  • Fixed problem with numbers parsing in Udash REST. (2924c93)

v0.3.1

28 Jul 09:07
Compare
Choose a tag to compare

Changes

  • Fixed getter errors handling in RPC calls. (c9be150)
  • RPC errors are logged on ERROR level now. (c9be150)

v0.3.0

12 Jul 06:58
Compare
Choose a tag to compare

General changes

Udash Core

  • UrlLogging mixin for Application - handles an application state change and supports logging. (0bdcfed and a0639d7)
  • Debouncing in two-way property bindings. (4dd279a)
  • Varargs constructor for SeqProperty (cc3bfe1)
  • size, length, isEmpty, nonEmpty methods in SeqProperty (08f2232)

Udash RPC

  • CallLogging in the RPC backend module - provides an easy way of logging RPC calls. (0bdcfed)
  • DefaultExposesServerRPC is no longer final. (27e8279)
  • @RPC and @RPCName annotations in io.udash.rpc._. You don't need to import them from com.avsystem.commons.rpc._. (f82a612)
  • Improvements in RPC communication layer. (95340f7)
  • Fixed problem with sending an integer as value of field with type Double. (2577407)
  • Internal refactoring of the RPC system. AsRawClientRPC and AsRealClientRPC type-classes were removed, now client and server RPCs are distinguished by using either ClientUdashRPCFramework or ServerUdashRPCFramework. (1c72c73)

Migration from v0.2

  • Default constructors of TextInput, PasswordInput, NumberInput and TextArea are deprecated. You should use debounced method from the companion object or apply with debounce argument. (4dd279a)
  • If you were using default RPC implementation then the refactoring (91c72c7394bf34c07ef1b5d714bd80e56bbdad855) should not affect your code. The most important change is that UsesRemoteRPC has the localFramework and the remoteFramework. It looks as following for the server code using a client RPC:
override val localFramework: ServerUdashRPCFramework
override val remoteFramework: ClientUdashRPCFramework

For the client code using a server RPC:

override val localFramework: ClientUdashRPCFramework
override val remoteFramework: ServerUdashRPCFramework
  • Logger from the io.udash.utils package is no longer available as public object. Since v0.3 you should use StrictLogging mixin instead. (0bdcfed)

v0.2.0

04 May 13:28
Compare
Choose a tag to compare

General changes

  • License changed to Apache v2
  • _udash-rpc_​ and ​_udash-i18n_​ repositories were merged into ​_udash-core_​
  • GitHub source maps (66d731d)

Udash Core

  • Udash no longer uses jQuery (76c25d7)
  • Inputs update the property on "input" and "paste" events (d174f43)
  • Fixed bounds for Patch type alias (ecf3bcf)
  • Fixed RadioButtons on Firefox (f339963)
  • Fixed transformed property filter (804db08)

Udash RPC

  • Serialization based on Automatic GenCodecs (8e9ad61)
  • uPickle dependency removed (3f8f1da)
  • DefaultServerRPC allows passing custom serverUrl to AtmosphereServerConnector (3db26d6)
  • Internal ExecutionContext removed from the backend code (8b5d6f4)

Migration from v0.1

  • You have to manually add the Udash jQuery wrapper in your dependencies:
    "io.udash" %%% "udash-jquery" % "1.0.0"
  • All Udash modules are published with the Scala version postfix now. In SBT you should use %% or %%% instead %.
  • RPC interfaces should be annotated with com.avsystem.commons.rpc.RPC now, they don't need to extend the RPC or ClientRPC traits.
  • ExposesServerRPC was renamed to DefaultExposesServerRPC.
  • DefaultAtmosphereFramework expects ExecutionContext as an implicit parameter.
  • DefaultClientRPC does not take AsRealRPC argument anymore.

v0.1.1

04 Apr 10:27
Compare
Choose a tag to compare

Fixed ViewRenderer problem with adding more than one view at once. (f3bbbad)

v0.1.0

25 Feb 12:27
Compare
Choose a tag to compare

Initial version.