- Add your own contributions to the next release on the line below this with your name.
- [ASDisplayNode] Add unit tests for layout z-order changes (with an open issue to fix).
- [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
- Breaking Changes to ASNetworkImageNode: Adlai Holler
- Modified
ASImageDownloaderCompletion
to add an optionalid userInfo
field. Your custom downloader can passnil
. - Modified the last argument to
-[ASNetworkImageNodeDelegate imageNode:didLoadImage:info:]
method from a struct to an object of new classASNetworkImageLoadInfo
which includes other metadata about the load operation.
- Modified
- 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] (TextureGroup#789)
- Optimized thread-local storage by replacing pthread_specific with C11 thread-local variables. Adlai Holler [#811] (TextureGroup#811)
- [Xcode 9] Updated to require Xcode 9 (to fix warnings) Garrett Moon
- [ASCollectionView] Improve performance and behavior of rotation / bounds changes. Scott Goodson #431
- [ASCollectionView] Improve index space translation of Flow Layout Delegate methods. Scott Goodson
- [Animated Image] Adds support for animated WebP as well as improves GIF handling. #605 Garrett Moon
- [ASCollectionView] Check if batch fetching is needed if batch fetching parameter has been changed. #624 Garrett Moon
- [ASNetworkImageNode] New delegate callback to tell the consumer whether the image was loaded from cache or download. Adlai Holler
- [Layout] Fixes a deadlock in layout. #638 Garrett Moon
- Updated to be backwards compatible with Xcode 8. Adlai Holler
- [API CHANGES]
ASPerformMainThreadDeallocation
andASPerformBackgroundDeallocation
functions takeid *
instead ofid
and they're now more reliable. Also, in Swift,ASDeallocQueue.sharedDeallocationQueue() -> ASDeallocQueue.sharedDeallocationQueue
. Adlai Holler #651 - [Collection/Table] Added direct support for mapping section indexes between data spaces. Adlai Holler #651
- [ASVideoNode] Fix unreleased time observer. Flo Vouin
- [PINCache] Set a default .byteLimit to reduce disk usage and startup time. #595 Scott Goodson
- [ASNetworkImageNode] Fix deadlock in GIF handling. #582 Garrett Moon
- [ASDisplayNode] Add attributed versions of a11y label, hint and value. #554 Alexander Hüllmandel
- [ASCornerRounding] Introduce .cornerRoundingType: CALayer, Precomposited, or Clip Corners. Scott Goodson #465
- [Yoga] Add insertYogaNode:atIndex: method. Improve handling of relayouts. Scott Goodson
- [ASCollectionNode] Add -isProcessingUpdates and -onDidFinishProcessingUpdates: APIs. #522 Scott Goodson
- [Accessibility] Add .isAccessibilityContainer property, allowing automatic aggregation of children's a11y labels. [#468]Scott Goodson
- [ASImageNode] Enabled .clipsToBounds by default, fixing the use of .cornerRadius and clipping of GIFs. Scott Goodson #466
- Fix an issue in layout transition that causes it to unexpectedly use the old layout Huy Nguyen #464
- Add -[ASDisplayNode detailedLayoutDescription] property to aid debugging. Adlai Holler #476
- Fix an issue that causes calculatedLayoutDidChange being called needlessly. Huy Nguyen #490
- Negate iOS 11 automatic estimated table row heights. Christian Selig #485
- Add content inset and offset bridging properties to ASTableNode and ASCollectionNode. Deprecate related properties and methods in ASTableView and ASCollectionView Huy Nguyen #460 #560
- Remove re-entrant access to self.view when applying initial pending state. Adlai Holler #510
- Small improvements in ASCollectionLayout Huy Nguyen #509 #513 [#562]((TextureGroup#562)
- Fix retain cycle between ASImageNode and PINAnimatedImage Phil Larson #520
- Change the API for disabling logging from a compiler flag to a runtime C function ASDisableLogging(). Adlai Holler #528
- Table and collection views to consider content inset when calculating (default) element size range Huy Nguyen #525
- [ASEditableTextNode] added -editableTextNodeShouldBeginEditing to ASEditableTextNodeDelegate to mirror the corresponding method from UITextViewDelegate. Yan S. #535
- [Breaking] Remove APIs that have been deprecated since 2.0 and/or for at least 6 months Huy Nguyen #529
- [ASDisplayNode] Ensure
-displayWillStartAsynchronously:
and-displayDidFinish
are invoked on rasterized subnodes. Eric Scheers #532 - Fixed a memory corruption issue in the ASImageNode display system. Adlai Holler #555
- [Breaking] Rename ASCollectionGalleryLayoutSizeProviding to ASCollectionGalleryLayoutPropertiesProviding. Besides a fixed item size, it now can provide interitem and line spacings, as well as section inset Huy Nguyen #496 #533
- Deprecate
-[ASDisplayNode displayWillStart]
in favor of-displayWillStartAsynchronously:
Huy Nguyen [#536](https:/ /github.com/TextureGroup/pull/536) - Add support for URLs on ASNetworkImageNode. Garrett Moon
- [ASImageNode] Always dealloc images in a background queue Huy Nguyen #561
- Mark ASRunLoopQueue as drained if it contains only NULLs Cesar Estebanez #558
- Fix crashes caused by failing to unlock or destroy a static mutex while the app is being terminated Huy Nguyen
- Fix an issue where inserting/deleting sections could lead to inconsistent supplementary element behavior. Adlai Holler
- Overhaul logging and add activity tracing support. Adlai Holler
- Fix a crash where scrolling a table view after entering editing mode could lead to bad internal states in the table. Huy Nguyen #416
- Fix a crash in collection view that occurs if batch updates are performed while scrolling Huy Nguyen #378
- Some improvements in ASCollectionView Huy Nguyen #407
- Small refactors in ASDataController Huy Nguyen #443
- [ASCollectionView] Add delegate bridging and index space translation for missing UICollectionViewLayout properties. Scott Goodson
- [ASTextNode2] Add initial implementation for link handling. Scott Goodson #396
- [ASTextNode2] Provide compile flag to globally enable new implementation of ASTextNode: ASTEXTNODE_EXPERIMENT_GLOBAL_ENABLE. Scott Goodson #396
- Add ASCollectionGalleryLayoutDelegate - an async collection layout that makes same-size collections (e.g photo galleries, pagers, etc) fast and lightweight! Huy Nguyen #76 #451
- Fix an issue that causes infinite layout loop in ASDisplayNode after #428 Huy Nguyen #455
- Rename ASCellNode.viewModel to ASCellNode.nodeModel to reduce collisions with subclass properties implemented by clients. Adlai Holler #504
- [Yoga] Rewrite YOGA_TREE_CONTIGUOUS mode with improved behavior and cleaner integration Scott Goodson
- [ASTraitCollection] Convert ASPrimitiveTraitCollection from lock to atomic. Scott Goodson
- Add a synchronous mode to ASCollectionNode, for colletion view data source debugging. Hannah Troisi
- [ASDisplayNode+Layout] Add check for orphaned nodes after layout transition to clean up. #336. Scott Goodson
- Fixed an issue where GIFs with placeholders never had their placeholders uncover the GIF. Garrett Moon
- [Yoga] Implement ASYogaLayoutSpec, a simplified integration strategy for Yoga-powered layout calculation. Scott Goodson
- Fixed an issue where calls to setNeedsDisplay and setNeedsLayout would stop working on loaded nodes. Garrett Moon
- Migrated unit tests to OCMock 3.4 (from 2.2) and improved the multiplex image node tests. Adlai Holler
- Fix CollectionNode double-load issue. This should significantly improve performance in cases where a collection node has content immediately available on first layout i.e. not fetched from the network. Adlai Holler
- Overhaul layout flattening algorithm Huy Nguyen #395.
- [ASTextKitFontSizeAdjuster] Replace use of NSAttributedString's boundingRectWithSize:options:context: with NSLayoutManager's boundingRectForGlyphRange:inTextContainer: Ricky Cancro
- Add support for IGListKit post-removal-of-IGListSectionType, in preparation for IGListKit 3.0.0 release. Adlai Holler #49
- Fix
__has_include
check in ASLog.h Philipp Smorygo - Fix potential deadlock in ASControlNode Garrett Moon
- [Yoga Beta] Improvements to the experimental support for Yoga layout Scott Goodson
- Make cell node
indexPath
andsupplementaryElementKind
atomic so you can read from any thread. Adlai-Holler #49 - Update the rasterization API and un-deprecate it. Adlai Holler#82
- Simplified & optimized hashing code. Adlai Holler #86
- Improve the performance & safety of ASDisplayNode subnodes. Adlai Holler #223
- Move more properties from ASTableView, ASCollectionView to their respective node classes. Adlai Holler
- Remove finalLayoutElement Michael Schneider#96
- Add ASPageTable - A map table for fast retrieval of objects within a certain page Huy Nguyen
- Add new public
-supernodes
,-supernodesIncludingSelf
, and-supernodeOfClass:includingSelf:
methods. Adlai Holler#246 - Improve our handling supernode traversal to avoid loading layers and fix assertion failures you might hit in debug. Adlai Holler#246
- [ASDisplayNode] Pass drawParameter in rendering context callbacks Michael Schneider#248
- [ASTextNode] Move to class method of drawRect:withParameters:isCancelled:isRasterizing: for drawing Michael Schneider#232
- [ASDisplayNode] Remove instance:-drawRect:withParameters:isCancelled:isRasterizing: (https://github.com/maicki)[#232](https://github.com/TextureGroup/Texture/pull/232)
- [ASTextNode] Add an experimental new implementation. See
+[ASTextNode setExperimentOptions:]
. Adlai Holler#259 - [ASVideoNode] Added error reporing to ASVideoNode and it's delegate #260
- [ASCollectionNode] Fixed conversion of item index paths between node & view. Adlai Holler #262
- [Layout] Extract layout implementation code into it's own subcategories Michael Schneider#272
- [Fix] Fix a potential crash when cell nodes that need layout are deleted during the same runloop. Adlai Holler #279
- [Batch fetching] Add ASBatchFetchingDelegate that takes scroll velocity and remaining time into account Huy Nguyen #281
- [Fix] Fix a major regression in our image node contents caching. Adlai Holler #287
- [Fix] Fixed a bug where ASVideoNodeDelegate error reporting callback would crash an app because of not responding to selector. Sergey Petrachkov #291
- [IGListKit] Add IGListKit headers to public section of Xcode project Michael Schneider#286
- [Layout] Ensure -layout and -layoutDidFinish are called only if a node is loaded. Huy Nguyen #285
- [Layout Debugger] Small changes needed for the coming layout debugger Huy Nguyen #337