Skip to content

0.0.2

Pre-release
Pre-release
Compare
Choose a tag to compare
@Miha-x64 Miha-x64 released this 05 May 17:49
· 962 commits to master since this 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 to casValue, breaks both source and binary compatibility
  • removed Short, Char, ShortArray, Array<String> support from persistence because these types are rare, breaks both source and binary compatibility
  • (Mutable)Property.value is a property again, removed getValue/setValue accessors and value extension-property, breaks source compatibility
  • fixed Property.onEach extension, #21
  • DiffProperty support (#15): diff-property is a property which also provides a difference between old and new values
  • ForkJoinPool 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 — in Properties, breaks binary compatibility
  • fixed MutableProperty<Boolean>.clearEachAnd — now it calls action when just bound to a property with true value
  • deprecated unsynchronizedMutablePropertyOf and concurrentMutablePropertyOf, use propertyOf and concurrentPropertyOf instead

Android Bindings

  • View.bindTo now throws an exception when called on attached View on API 17+ (no isAttachedToWindow for API <17, we can't perform this check safely, for production; just bind views which are not attached yet, for Fragments this means onCreateView, not onViewCreated), breaks incorrect code
  • View.bindTo now passes also a view to bind function, breaks both source and binary compatibility
  • SharedPreferenceProperty: added StringSetPrefAdapter, IntPrefAdapter, LongPrefAdapter, FloatPrefAdapter, DoublePrefAdapter, BoolPrefAdapter
  • removed mutablePropertyOf extension-functions for View, Activity, Fragment since we have propertyOf
  • TextView: compound drawables support