Skip to content

Releases: din/compose

Quality of life updates

23 Aug 17:07
@din din

Choose a tag to compare

Compose:

  • Introduced @EnclosingRouter to be able to reference the outermost router for the component using the new property wrapper.
  • Added more options to Router initialiser to control how it behaves.
  • Replaced internal ObservationBag with ObservationTree and ObservationNode which create tree of observers for easy tracking of all observers for all components. Reworked container components to rely on ObservationTree to deallocate resources when container components instances disappear.
  • Improved @Ref and @RefCollection performance by making sure only actual changes are propagated.
  • Reduced amount of firing events for all defined refs.
  • Fixed a bug with mangling @Ref listeners being in memory after @Ref instances were deallocated.

ComposeUI:

  • Introduced ComposePagingView which is an easy way to paginate content vertically or horizontally.
  • Additional features for ComposeScrollView.

Routing pop gesture and routing performance fixes

09 Jul 04:56
@din din

Choose a tag to compare

  • Better handling for Router pop gestures via UIPanGestureRecognizer instances.
  • Better performance when using router transitions with lots of nested views.

Routing and memory management refactoring

07 Jul 16:33
@din din

Choose a tag to compare

  • Removed @RouterObject.
  • Updated memory management for dynamic and instance components. Memory is now properly managed and all observers are properly collected and deallocated when the component goes away via an internal ObservationBag object.
  • Optimised @ref and @RefCollection usages to be less CPU intensive for states that have a lot of changing @Ref and/or @RefCollection instances.
  • Introspection client programming interface draft.

Refs refactoring

29 Jun 17:20
@din din
66cabd0

Choose a tag to compare

  • Making refs query mirror as soon as refs are destroyed/overridden.

ComposeUI alert fixes

27 Jun 21:02
@din din

Choose a tag to compare

  • Fixed ComposeUI alert message centering.

Introspection emitter

26 Jun 23:37
@din din

Choose a tag to compare

  • Added Introspect emitter and .introspect method to dive into the depths of emitter execution.
  • Added .status() method to all emitters which accepts a binding to StatusSet<T> and adds a supplied value of type T when a subscription is received by the emitter and removes the supplied value of type T when the emitter has finished execution.
  • Added DefaultsPersistentStorage to persist data to current Defaults on all platforms, but especially on tvOS.

Fixed @RefCollection updates on insertion/deletion

18 Jun 17:08
@din din

Choose a tag to compare

  • @RefCollection now properly notifies all observers about changes to the underlying collection data (insertions and deletions).

Router and navigation bar fixes

17 Jun 22:47
@din din

Choose a tag to compare

Compose:

  • Router zIndex ordering fix via monotonically increasing zIndex.
  • Router drag to pop gesture now properly handles SwiftUI cancellation via gesture state.

ComposeUI:

  • shouldShowDivider property of ComposeNavigationBarStyle is now properly respected.

ComposeUI: ComposeScrollView fixes

15 Jun 23:40
@din din

Choose a tag to compare

  • Made ComposeScrollReader as a descendant of a ComposeScrollView to never miss a proper scroll view.

ComposeUI: ComposeScrollView fixes

15 Jun 20:09
@din din

Choose a tag to compare

  • ComposeScrollView introspection fixes.