Skip to content

Latest commit

 

History

History
152 lines (145 loc) · 23.5 KB

CHANGELOG.md

File metadata and controls

152 lines (145 loc) · 23.5 KB

master

  • Add your own contributions to the next release on the line below this with your name.
  • 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

2.6

  • [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 and ASPerformBackgroundDeallocation functions take id * instead of id 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

2.5.1

  • [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

2.5

  • [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

2.4

  • 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

2.3.4

  • [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.

2.3.3

  • [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 and supplementaryElementKind 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