Releases: UdashFramework/udash-core
Releases · UdashFramework/udash-core
v0.4.0
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
andModelValue
moved into thecore-shared
module (ff59029) - The
combine
method forProperty
andSeqProperty
(c5afd1f) - The
streamTo
method forProperty
(968552d) - The
transformToSeq
method forProperty
(a125b60 and 8113561) - The
clear
method forSeqProperty
(dedcbf3) - The
reversed
method forSeqProperty
(6b36dbf) - The
zip
,zipAll
andzipWithIndex
methods forSeqProperty
(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 inView
now returnsModifier[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 thecore
module (Attr.bind
,AttrPair.attrIf
andProperty.reactiveApply
)(3faa646) showIf
binding method (7bb236c)Property
hasvalid
subproperty contaning last validation result (cf93a76)TranslationKey
s are valid properties model now (88aed29)- File uploading utils (91d1272)
- Fixed problem with recursive
ModelProperties
(54d9722) - Fixed problem with the
isValid
method returningnull
(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 tobutton
(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, useAttr.bind
,AttrPair.attrIf
orProperty.reactiveApply
instead. (3faa646)bindValidation
is now deprecated, usevalid
instead. (3735b39)scala-commons
changed theGenCodec
'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 extendsInput
and replaces the use of tuple inObjectInput#nextField
- allows for less boxing
- ValueRead wrapper removed,
v0.3.2
v0.3.1
v0.3.0
General changes
- New modules:
- Udash REST - provides the mechanism for type-safe usage of existing REST APIs. (d7fa24d)
Read more in Udash Dev's Guide - Udash Bootstrap Components - Twitter Bootstrap components enriched by Udash features. (2fb68c1)
Read more in Udash Dev's Guide
- Udash REST - provides the mechanism for type-safe usage of existing REST APIs. (d7fa24d)
- Dependencies upgrade (8e84b59)
Udash Core
UrlLogging
mixin forApplication
- 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 inSeqProperty
(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 inio.udash.rpc._
. You don't need to import them fromcom.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
andAsRealClientRPC
type-classes were removed, now client and server RPCs are distinguished by using eitherClientUdashRPCFramework
orServerUdashRPCFramework
. (1c72c73)
Migration from v0.2
- Default constructors of
TextInput
,PasswordInput
,NumberInput
andTextArea
are deprecated. You should usedebounced
method from the companion object orapply
withdebounce
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 thelocalFramework
and theremoteFramework
. 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 theio.udash.utils
package is no longer available as public object. Since v0.3 you should useStrictLogging
mixin instead. (0bdcfed)
v0.2.0
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 theRPC
orClientRPC
traits. ExposesServerRPC
was renamed toDefaultExposesServerRPC
.DefaultAtmosphereFramework
expectsExecutionContext
as an implicit parameter.DefaultClientRPC
does not takeAsRealRPC
argument anymore.