0.0.2
Pre-release
Pre-release
Both
- methods count reduction, aggressive class merging, synthetic and bridge methods removal, breaks binary compatibility wherever possible because of many
inline
functions which expose many changed classes
Reactive Properties
- safer notification code (#18): if a property gets (un)subscribed during notification, changes are applied instantly; if a new value is being set during notification, the next notification gets deferred
- added
mapOn
(#19) which calculates mapped property value on a specified worker - renamed
MutableProperty.cas
tocasValue
, breaks both source and binary compatibility - removed
Short
,Char
,ShortArray
,Array<String>
support frompersistence
because these types are rare, breaks both source and binary compatibility (Mutable)Property.value
is a property again, removedgetValue
/setValue
accessors andvalue
extension-property, breaks source compatibility- fixed
Property.onEach
extension, #21 DiffProperty
support (#15): diff-property is a property which also provides a difference betweenold
andnew
valuesForkJoinPool
support — debounce and background mapping of single-threaded property will deliver result to the pool where it was called (Android's Handler and JavaFX Platform are supported from the very beginning, too)- fixed
MutableProperty.bindTo
behaviour under contention - all dependent properties (mapped, debounced, distinct, bound, etc) now observe original property only when they are being observed (#23), this prevents memory leaks
- all inline extensions are now in
PropertiesInline
class (which shouldn't ever be loaded by VM), all not inline — inProperties
, breaks binary compatibility - fixed
MutableProperty<Boolean>.clearEachAnd
— now it callsaction
when just bound to a property withtrue
value - deprecated
unsynchronizedMutablePropertyOf
andconcurrentMutablePropertyOf
, usepropertyOf
andconcurrentPropertyOf
instead
Android Bindings
View.bindTo
now throws an exception when called on attachedView
on API 17+ (noisAttachedToWindow
for API <17, we can't perform this check safely, for production; just bind views which are not attached yet, forFragment
s this meansonCreateView
, notonViewCreated
), breaks incorrect codeView.bindTo
now passes also a view tobind
function, breaks both source and binary compatibilitySharedPreferenceProperty
: addedStringSetPrefAdapter
,IntPrefAdapter
,LongPrefAdapter
,FloatPrefAdapter
,DoublePrefAdapter
,BoolPrefAdapter
- removed
mutablePropertyOf
extension-functions forView
,Activity
,Fragment
since we havepropertyOf
TextView
: compound drawables support