Skip to content

2.7

Compare
Choose a tag to compare
@Adlai-Holler Adlai-Holler released this 30 May 04:10

Our first release in a while! A ton of great bug fixes and improvements from @wsdwsd0829 @rcach @ypogribnyi @alexhillc @morozkin @ShogunPhyched @huang-kun as well as @nguyenhuy @garrettmoon @maicki and @appleguy!

  • Fix pager node for interface coalescing. Max Wang #877
  • [ASTextNode2] Upgrade lock safety by protecting all ivars (including rarely-changed ones).
  • User FLT_EPSILON in ASCeilPixelValue and ASFloorPixelValue to help with floating point precision errors when computing layouts for 3x devices. Ricky Cancro #838
  • Disable interface colescing and match to pre-colescing interface update behavior Max Wang #862
  • [ASDisplayNode] Add safeAreaInsets, layoutMargins and related properties to ASDisplayNode, with full support for older OS versions Yevgen Pogribnyi #685
  • [ASPINRemoteImageDownloader] Allow cache to provide animated image. Max Wang #850
  • [tvOS] Fixes errors when building against tvOS SDK Alex Hill #728
  • [ASDisplayNode] Add unit tests for layout z-order changes (with an open issue to fix).
  • [ASWrapperCellNode] Introduce a new class allowing more control of UIKit passthrough cells.
  • [ASDisplayNode] Consolidate main thread initialization and allow apps to invoke it manually instead of +load.
  • [ASRunloopQueue] Introduce new runloop queue(ASCATransactionQueue) to coalesce Interface state update calls for view controller transitions.
  • [ASRangeController] Fix stability of "minimum" rangeMode if the app has more than one layout before scrolling.
  • Important ASDisplayNode's cornerRadius is a new thread-safe bridged property that should be preferred over CALayer's. Use the latter at your own risk! Huy Nguyen #749.
  • [ASCellNode] Adds mapping for UITableViewCell focusStyle Alex Hill #727
  • [ASNetworkImageNode] Fix capturing self in the block while loading image in ASNetworkImageNode. Denis Mororozov #777
  • [ASTraitCollection] Add new properties of UITraitCollection to ASTraitCollection. Yevgen Pogribnyi
  • [ASRectMap] Replace implementation of ASRectTable with a simpler one based on unordered_map.Scott Goodson #719
  • [ASCollectionView] Add missing flags for ASCollectionDelegate Ilya Zheleznikov #718
  • [ASNetworkImageNode] Deprecates .URLs in favor of .URL Garrett Moon #699
  • [iOS11] Update project settings and fix errors Eke #676
  • [ASCornerLayoutSpec] New layout spec class for declarative corner element layout. #657 huangkun
  • [ASDisplayNode layout] Fix an issue that causes a pending layout to be applied multiple times. Huy Nguyen #695
  • [ASDisplayNode layout] Fix an issue that sometimes causes a node's pending layout to not be applied. Huy Nguyen #792
  • [ASScrollNode] Ensure the node respects the given size range while calculating its layout. #637 Huy Nguyen
  • [ASScrollNode] Invalidate the node's calculated layout if its scrollable directions changed. Also add unit tests for the class. #637 Huy Nguyen
  • Add new unit testing to the layout engine. Adlai Holler #424
  • [Automatic Subnode Management] Nodes with ASM enabled now insert/delete their subnodes as soon as they enter preload state, so subnodes can start preloading right away. Huy Nguyen #706
  • [ASCollectionNode] Added support for interactive item movement. Adlai Holler
  • Added an experimental "no-copy" rendering API. See ASGraphicsContext.h for info. Adlai Holler
  • Dropped support for iOS 8. Adlai Holler
  • Added a configuration API – a unified place to turn on/off experimental Texture features. See ASConfiguration.h for info. Adlai Holler
  • Breaking Changes to ASNetworkImageNode: Adlai Holler
    • Modified ASImageDownloaderCompletion to add an optional id userInfo field. Your custom downloader can pass nil.
    • Modified the last argument to -[ASNetworkImageNodeDelegate imageNode:didLoadImage:info:] method from a struct to an object of new class ASNetworkImageLoadInfo which includes other metadata about the load operation.
  • Removed +load static initializer from ASDisplayNode. Adlai Holler
  • Optimized ASNetworkImageNode loading and resolved edge cases where the image provided to the delegate was not the image that was loaded. Adlai Holler #778
  • Make ASCellNode tint color apply to table view cell accessories. Vladyslav Chapaev #764
  • Fix ASTextNode2 is accessing backgroundColor off main while sizing / layout is happening. Michael Schneider #794
  • Pass scrollViewWillEndDragging delegation through in ASIGListAdapterDataSource for IGListKit integration. #796
  • Fix UIResponder handling with view backing ASDisplayNode. Michael Schneider #789
  • Optimized thread-local storage by replacing pthread_specific with C11 thread-local variables. Adlai Holler #811
  • Fixed a thread-sanitizer warning in ASTextNode. Adlai Holler #830
  • Fix ASTextNode2 handling background color incorrectly. Adlai Holler #831
  • [NoCopyRendering] Improved performance & fixed image memory not being tagged in Instruments. Adlai Holler #833
  • Use NS_RETURNS_RETAINED macro to make our methods a tiny bit faster. Adlai Holler #843
  • ASDisplayNode, ASLayoutSpec, and ASLayoutElementStyle now conform to NSLocking. They act as recursive locks. Useful locking macros have been added as ASThread.h. Subclasses / client code can lock these objects but should be careful as usual when dealing with locks. Adlai Holler
  • Introduces ASRecursiveUnfairLock as an experiment to improve locking performance. Adlai Holler
  • Adds an experiment to shorten init time. Adlai Holler
  • Adds a check that Texture is compiled with stdc++11 as specified by the podfile. gnu++11 can cause subtle issues that are currently being investigated. Adlai Holler
  • Adds an experiment to call ASNetworkImageNode callbacks off main. Garrett Moon
  • Prevent UITextView from updating contentOffset while deallocating Michael Schneider
  • [ASCollectionNode/ASTableNode] Fix a crash occurs while remeasuring cell nodes. Huy Nguyen #917
  • Fix an issue where ASConfigurationDelegate would not call out for "control" users. If set, it now receives events whenever an experimental feature decision point occurs, whether it's enabled or not. Adlai Holler
  • [ASDisplayNode] Fix an issue that causes a node to sometimes return an outdated calculated size or size range. Huy Nguyen #808
  • Add an experimental deallocation queue implementation that's more efficient. Adlai Holler
  • Standardize property declaration style. Adlai Holler
  • [ASTableView] Fix an issue that causes table view to use one of a cell's invalid layouts instead of generating a new one. Huy Nguyen #942