Skip to content
This repository has been archived by the owner on Feb 2, 2023. It is now read-only.

1.9.3

Compare
Choose a tag to compare
@appleguy appleguy released this 07 Dec 06:35
· 2858 commits to master since this release

AsyncDisplayKit 1.9.3 is another big release! It has a fully revamped text engine, adds ASMapNode, and fixes two notable bugs from 1.9.2 last week. Recommended for all production users - but note that there is one "find-and-replace" API rename (see below).

72 commits from 7 contributors
92 files changed with 3,255 lines added and 1,846 lines deleted

New:

  • New ASTextNode Rendering Engine - back-ported from ComponentKit! Thanks to @ocrickard, who has done amazing work on this component both for the original ASDK 1.0 version and the subsequent improvements in a ComponentKit fork. @levi did some epic work here to cleanly back-port around a year of improvements to this essential and amazingly powerful part of ASDK.
  • ASMapNode is available for the first time. Note: its primary initializer method will be changed soon to require a region rather than coordinate. It supports easily switching to liveMap mode - try adding a simple tap gesture recognizer to the map for users to enable it! The new map component offers completely asynchronous preparation, automatic preloading, and efficient memory handling.
  • New ASHierarchyState property on ASDisplayNode. This bitfield, currently internal, provides new performance enhancements and enables simplification of internal framework behaviors. This is top-down state that is pushed down from each node (which adds any special options it has enabled, such as rasterization or the ability to drive .interfaceState). Newly added nodes inherit their parent’s ASHierarchyState, too.
  • ASTextNode property rename: .maximumLineCount is now .maximumNumberOfLines. The behavior and values are identical, so please find-and-replace in your project if you use this property.

Key bug fixes for 1.9.2:

  • ASHierarchyState resolves an extremely rare deadlock caused by checks for a supernode that has rasterization enabled, by making this information available to each node without any locking calls to parent nodes. It is now banned to access the supernode hierarchy if the main node lock is held.
  • ASInterfaceState is now automatically set to “InHierarchy” when nodes outside of the management of an ASRangeController are added to a window. This fixes automatic loading of images outside of Tables and Collections.

Full commit list here: 1.9.2...1.9.3

Thank you, ComponentKit team! It's great hacking with you :)

screen shot 2015-12-06 at 10 00 43 pm