Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Interface coalescing sample #1

Open
wants to merge 140 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
140 commits
Select commit Hold shift + click to select a range
1e7d461
Fix "This block and function declaration is not a prototype" warning.…
mbesnili Oct 17, 2017
c12509e
[ASTextKitComponents] Make sure Main Thread Checker isn't triggered d…
nguyenhuy Oct 17, 2017
dce7ab3
[ASTextNode] Implement an example comparing ASTextNode 1 & 2 behavior…
wsdwsd0829 Oct 17, 2017
526a7cf
Fix name clash with YYText (#623)
maicki Oct 18, 2017
919ec8d
Check if we need to do a batch update (#624)
garrettmoon Oct 20, 2017
d31af73
Dispatch batch update to main #trivial (#626)
garrettmoon Oct 20, 2017
53147f0
Updating podspec to 2.5.1
garrettmoon Oct 23, 2017
7779531
Update CHANGELOG for 2.5.1
garrettmoon Oct 23, 2017
63842e1
Fixing changelog
garrettmoon Oct 23, 2017
68f3468
[ASCollectionView] Improve performance and behavior of rotation / bou…
appleguy Oct 24, 2017
7fffebe
Update to 2.6 to indicate Xcode upgrade required.
garrettmoon Oct 24, 2017
d00a585
Xcode update line should be in 2.6
garrettmoon Oct 24, 2017
3b91fba
Update "Getting Started" page (#633)
nguyenhuy Oct 24, 2017
baf1ea2
introduce tests for the ASNavigationViewController (#627)
remirobert Oct 24, 2017
128700f
[Tests] Add test scrollToPageAtIndex ASPagerNode (#629)
remirobert Oct 24, 2017
8317c11
[Tests] Introducing tests for the ASTabBarController (#628)
remirobert Oct 25, 2017
af99ff5
Have ASNetworkImageNode report whether images were cached or not (#639)
Adlai-Holler Oct 25, 2017
63efdbd
[ASCollectionView] Call -invalidateFlowLayoutDelegateMetrics when rot…
appleguy Oct 31, 2017
d8c2a8e
[Documentation] Update Inversion Docs (#647)
GeekTree0101 Oct 31, 2017
255682d
Fix a layout deadlock caused by holding the lock and going up the tre…
garrettmoon Oct 31, 2017
944cad6
Make the framework backwards compatible with Xcode 8 (#650)
Adlai-Holler Oct 31, 2017
1626c17
Disable this test for now, it's too flakey and no one has time to inv…
garrettmoon Nov 2, 2017
64b6242
Update layout2-layoutspec-types.md (#655)
TBXark Nov 2, 2017
ff608c9
[Minor Breaking API] Make deallocation queues more reliable (#651)
Adlai-Holler Nov 2, 2017
4fc753a
Make it possible to map between sections even if they're empty (#660)
Adlai-Holler Nov 3, 2017
fc79566
Update layer-backing.md (#678)
WymzeeLabs Nov 21, 2017
17c4d60
Update subtree-rasterization.md (#679)
WymzeeLabs Nov 21, 2017
cb2e5dd
Fix swift sample. (#669)
rwinzhang Nov 21, 2017
b2539d3
Bugfix/fix yoga logging aligning api changes (#668)
wsdwsd0829 Nov 21, 2017
e4b2c05
[ASCornerLayoutSpec] New layout spec class for declarative corner ele…
huang-kun Nov 24, 2017
ab51983
Fix bug that breaks ASNodeController docs page (#690)
richardhenry Nov 28, 2017
b411149
Add a recent talk by @smeis at CocoaHeadsNL (#687)
nguyenhuy Nov 28, 2017
3242884
Add missing </div> tags in Layout API Sizing docs (#691)
richardhenry Nov 28, 2017
d8cda8d
[iOS11] Update project settings and fix errors (#676)
Eke Nov 30, 2017
b01fac3
[ASDisplayNode+Layout] Ensure a pending layout is applied once (#695)
nguyenhuy Dec 1, 2017
bccde6c
[ASScrollNode] Fix small bugs and add unit tests (#637)
nguyenhuy Dec 1, 2017
0dc7002
Add unit tests for the layout engine (#424)
Adlai-Holler Dec 1, 2017
c1f517a
Correct Synchronous Concurrency Talk Link (#698)
ay8s Dec 4, 2017
0b6d41f
A couple performance tweaks for animated images #trivial (#634)
garrettmoon Dec 4, 2017
008a1ce
Revert Adds support for specifying a quality indexed array of URLs (#…
garrettmoon Dec 5, 2017
5a4d569
Ensure an ASM enabled node applies its pending layout when enters pre…
nguyenhuy Dec 8, 2017
8300d8e
Vingle very community - Update showcase (#711)
GeekTree0101 Dec 12, 2017
46d46fd
#trivial Fixes image nodes being stuck not being able to download ima…
garrettmoon Dec 18, 2017
8f19434
Check for nil elements on ASTableView as well #trivial (#710)
cestebanez Dec 19, 2017
eab7bea
Add missing flags for ASCollectionDelegate (#718)
ilyailya Dec 19, 2017
7416d6a
Add Blendle to our showcase page (#721)
nguyenhuy Dec 19, 2017
fff5aae
Add support for toggling logs off and back on at runtime #trivial (#714)
johntmcintosh Dec 20, 2017
4dec51c
Fix ASDKgram example #trivial (#700)
onato Dec 20, 2017
131619d
Reimplement ASRectTable using unordered_map to avoid obscure NSMapTab…
appleguy Dec 22, 2017
5e73396
Enable collection node interactive moves (#735)
Adlai-Holler Jan 9, 2018
1dfdb48
Add MensXP to Showcase (#739)
sudhanshutil Jan 10, 2018
3708f2e
Update CHANGELOG for 2.6
garrettmoon Jan 12, 2018
1d105c2
Add an experimental "no-copy" renderer (#741)
Adlai-Holler Jan 14, 2018
61dade6
Raise deployment target to iOS 9 (#743)
Jan 15, 2018
193be32
Update dangerfile for 2018 #trivial (#746)
Adlai-Holler Jan 15, 2018
a3136b0
[ASTraitCollection] Add missing properties to ASTraitCollection (#625)
ypogribnyi Jan 16, 2018
4776cb3
Fix the dangerfile for real (#750)
Adlai-Holler Jan 16, 2018
2e98588
[ASDisplayNode] Don't force a layout pass on a visible node that ente…
nguyenhuy Jan 17, 2018
b5d3e52
Update subclassing.md (#753)
janechoi6 Jan 18, 2018
5c13403
Faster collection operations (#748)
Adlai-Holler Jan 22, 2018
9b8a919
Revert "Faster collection operations (#748)" (#759)
Adlai-Holler Jan 22, 2018
c3ae447
NoCopyRendering experiment: Fix possible memory leak if image node re…
Adlai-Holler Jan 23, 2018
3f27546
Fix typos in layout2-layoutspec-types.md #trivial (#770)
morozkin Jan 29, 2018
b0c3e65
Fix misprint (#768)
Flatout73 Jan 29, 2018
2e94bb8
Improve no-copy rendering experiment, remove +load method (#771)
Adlai-Holler Jan 30, 2018
7ba4376
Update PINCache (#769)
justinswart Jan 30, 2018
196d76d
Expose asyncdisplaykit_node in _ASDisplayView same as in _ASDisplayLa…
maicki Jan 30, 2018
fef965f
Add support for providing additional info to network image node deleg…
Adlai-Holler Jan 30, 2018
20e31f7
Fix synchronous state of node if +viewClass or +layerClass is overwri…
maicki Jan 31, 2018
511bec6
Fix capturing self in the block while loading image in ASNetworkImage…
morozkin Jan 31, 2018
d697198
Fixed: completeBatchFetching is called on a background thread (#731)
aaronr93 Jan 31, 2018
ea54727
[ASDisplayNode] Force a layout pass on a visible node as soon as it e…
nguyenhuy Jan 31, 2018
0bb5355
[ASCellNode] focusStyle mapping (#727)
alexhillc Jan 31, 2018
0c4ccc5
Improve ASNetworkImageNode delegate callout behavior (#778)
Adlai-Holler Jan 31, 2018
0f061b4
node tint color fix (#764)
vlchapaev Feb 1, 2018
1be4d8d
Add #764 to the changelog
Feb 1, 2018
38b76e0
Improve nullable annotations for _ASDisplayLayer and _ASDisplayView (…
maicki Feb 1, 2018
c645421
Retain the reference color space (#784)
Adlai-Holler Feb 2, 2018
5ea4d51
Get CatDealsCollectionView example running again #trivial (#783)
maicki Feb 2, 2018
5f8b7ec
Merge branch 'master' of github.com:TextureGroup/Texture
wsdwsd0829 Feb 7, 2018
600b6cb
Fix ASTextNode2 is accessing backgroundColor off main while sizing / …
maicki Feb 8, 2018
3ee52e5
Add #794 to changelog
maicki Feb 8, 2018
b4a269a
[ASDisplayNode] Always return the thread-safe cornerRadius property, …
nguyenhuy Feb 8, 2018
31227da
[ASRangeController] Fix stability of "minimum" rangeMode if the app h…
appleguy Feb 9, 2018
479d404
[ASTableNode & ASCollectionNode] Keepalive reference for node if thei…
wsdwsd0829 Feb 9, 2018
f0f3f9a
Add missing scrollViewWillEndDragging passthrough delegate (#796)
xezero Feb 12, 2018
e2478fc
[ASDisplayNode layout] Fix an issue that sometimes causes a node's pe…
nguyenhuy Feb 12, 2018
8b43173
Avoid triggering main thread assertions in collection/table dealloc #…
Adlai-Holler Feb 13, 2018
6f34691
Update IGListKit dependency to allow for updated versions (#802)
johntmcintosh Feb 13, 2018
2618c50
New runloop queue to coalesce Interface state update calls. (#788)
wsdwsd0829 Feb 13, 2018
d87bb11
merge master from upstream
wsdwsd0829 Feb 15, 2018
236cdd7
Fix UIResponder handling with view backing ASDisplayNode (#789)
maicki Feb 23, 2018
223f1c9
[ASDisplayNode] Consolidate main thread initialization and allow apps…
appleguy Feb 26, 2018
8817a00
Upgrade dangerfile (#810)
garrettmoon Feb 26, 2018
6b57b1c
[ASDKGram Example] image_url has been changed from URL to Array by 50…
kaar3k Feb 28, 2018
a105525
Replace pthread specifics with C11 thread-local variables (#811)
Adlai-Holler Feb 28, 2018
8b4a7cd
[ASDisplayNode] Add unit tests for layout z-order changes (with an op…
appleguy Mar 2, 2018
63e1f4e
Hopefully made this a bit more readabl. (#823)
garrettmoon Mar 8, 2018
d70ab3e
[#trivial] I don't think we need this extra locked method. (#824)
garrettmoon Mar 9, 2018
f99dd68
[#trivial] fixes rendered image quality on networked image nodes whic…
garrettmoon Mar 9, 2018
6f1d2d1
[ASTextNode] Fix locking, add test for issue #trivial (#825)
Adlai-Holler Mar 9, 2018
e0d07d0
ASTextNode should avoid acquiring its lock multiple times #trivial (#…
nguyenhuy Mar 9, 2018
269c2ab
Merge branch 'master' of github.com:TextureGroup/Texture
wsdwsd0829 Mar 10, 2018
d9d9a29
[tvOS] Fixes errors when building against tvOS SDK (#728)
alexhillc Mar 11, 2018
9bffd88
Fix Text Node Thread Sanitizer Warning (#830)
Adlai-Holler Mar 12, 2018
ed6da29
Geektree0101 - Fix mensXP showcase indent on showcase table, attach v…
GeekTree0101 Mar 12, 2018
5cafdb9
[ASTextNode2] Fix background color drawing (#831)
Adlai-Holler Mar 12, 2018
24c1ce8
Merge branch 'master' of github.com:TextureGroup/Texture
wsdwsd0829 Mar 12, 2018
a41cbb4
[ASWrapperCellNode] Introduce a new class allowing more control of UI…
appleguy Mar 13, 2018
e6c98d3
[NoCopyRendering] Use vm instead of malloc (#833)
Adlai-Holler Mar 16, 2018
15b695c
Put back a flag that I removed (#839)
Adlai-Holler Mar 16, 2018
0b10113
Handle nil backgroundColor in ASTextNode2 #trivial (#841)
maicki Mar 17, 2018
5385d8b
Update layout2-layout-element-properties.md (#844)
arielelkin Mar 20, 2018
e954b10
[ASPrimitiveTraitCollection] Always treat preferredContentSize as a p…
ypogribnyi Mar 21, 2018
2b12654
Use NS_RETURNS_RETAINED macro to save time (#843)
Adlai-Holler Mar 21, 2018
255aec5
Order items in XCode project navigator by name (#835)
OleksiyA Mar 24, 2018
0f9b1e6
Make objects conform to NSLocking (#851)
Adlai-Holler Mar 25, 2018
bd24015
[ASNetworkImageNode] Replace NSUUID sentinel with integer #trivial (#…
Adlai-Holler Mar 25, 2018
3d9fe8c
Make cache support animated image (#850)
wsdwsd0829 Mar 25, 2018
27fac9f
Create a centralized configuration API (#747)
Adlai-Holler Mar 25, 2018
233169e
Merge branch 'master' of github.com:TextureGroup/Texture
wsdwsd0829 Mar 26, 2018
063194c
Make ASBatchContext lock-free (#854)
Adlai-Holler Mar 26, 2018
7f01b89
[ASDisplayNode] Provide safeAreaInsets and layoutMargins bridge (#685)
ypogribnyi Mar 27, 2018
cf1c3f6
Make NSIndexSet+ASHelpers.h reference local #trivial (#857)
dmaclach Mar 28, 2018
4bbbd72
Introduce ASRecursiveUnfairLock and tests (#858)
Adlai-Holler Mar 28, 2018
b19f90d
Merge branch 'master' of github.com:TextureGroup/Texture
wsdwsd0829 Mar 28, 2018
df7d2a5
Disable interface coalescing (#862)
wsdwsd0829 Mar 29, 2018
4147384
access view first before checking canBecome/Resign responder in becom…
wsdwsd0829 Mar 29, 2018
1e8c6f0
[Issue 838] Update ASCeilPixelValue and ASRoundPixelValue (#864)
rcancro Mar 31, 2018
4db9ea3
[bugfix] Align timing of interface coalescing and range update. #triv…
wsdwsd0829 Apr 4, 2018
e748d05
Remove Redundant Atomic Store from Recursive Unfair Lock in Recursive…
Adlai-Holler Apr 4, 2018
e90ba47
[NoCopyRendering] In non-VM case, use calloc to get a zerod buffer. (…
Adlai-Holler Apr 4, 2018
fbc2274
Update Podspec (#866)
Adlai-Holler Apr 4, 2018
2a0c6f8
Check in Xcode 9.3 "workspace checks" file (#868)
Adlai-Holler Apr 4, 2018
b50cec4
Merge branch 'master' of github.com:TextureGroup/Texture
wsdwsd0829 Apr 5, 2018
58045ec
interface state coalescing coalescing sample project
wsdwsd0829 Apr 7, 2018
ed851cd
Fix hide/exit ordering, investigate thrashing
wsdwsd0829 Apr 10, 2018
9aa8900
check range mode changes to minimum on collection invisible
wsdwsd0829 Apr 10, 2018
2a721b8
add didEnterHierarchy for PagerNode, fix rang debug bar, refactor
wsdwsd0829 Apr 10, 2018
87af616
hack window
wsdwsd0829 Apr 12, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
479 changes: 313 additions & 166 deletions AsyncDisplayKit.xcodeproj/project.pbxproj

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>
60 changes: 58 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,70 @@
## 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](https://github.com/rcancro) [#838](https://github.com/TextureGroup/Texture/pull/864)
- Disable interface colescing and match to pre-colescing interface update behavior [Max Wang](https://github.com/wsdwsd0829) [#862](https://github.com/TextureGroup/Texture/pull/862)
- [ASDisplayNode] Add safeAreaInsets, layoutMargins and related properties to ASDisplayNode, with full support for older OS versions [Yevgen Pogribnyi](https://github.com/ypogribnyi) [#685](https://github.com/TextureGroup/Texture/pull/685)
- [ASPINRemoteImageDownloader] Allow cache to provide animated image. [Max Wang](https://github.com/wsdwsd0829) [#850](https://github.com/TextureGroup/Texture/pull/850)
- [tvOS] Fixes errors when building against tvOS SDK [Alex Hill](https://github.com/alexhillc) [#728](https://github.com/TextureGroup/Texture/pull/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](https://github.com/nguyenhuy) [#749](https://github.com/TextureGroup/Texture/pull/749).
- [ASCellNode] Adds mapping for UITableViewCell focusStyle [Alex Hill](https://github.com/alexhillc) [#727](https://github.com/TextureGroup/Texture/pull/727)
- [ASNetworkImageNode] Fix capturing self in the block while loading image in ASNetworkImageNode. [Denis Mororozov](https://github.com/morozkin) [#777](https://github.com/TextureGroup/Texture/pull/777)
- [ASTraitCollection] Add new properties of UITraitCollection to ASTraitCollection. [Yevgen Pogribnyi](https://github.com/ypogribnyi)
- [ASRectMap] Replace implementation of ASRectTable with a simpler one based on unordered_map.[Scott Goodson](https://github.com/appleguy) [#719](https://github.com/TextureGroup/Texture/pull/719)
- [ASCollectionView] Add missing flags for ASCollectionDelegate [Ilya Zheleznikov](https://github.com/ilyailya) [#718](https://github.com/TextureGroup/Texture/pull/718)
- [ASNetworkImageNode] Deprecates .URLs in favor of .URL [Garrett Moon](https://github.com/garrettmoon) [#699](https://github.com/TextureGroup/Texture/pull/699)
- [iOS11] Update project settings and fix errors [Eke](https://github.com/Eke) [#676](https://github.com/TextureGroup/Texture/pull/676)
- [ASCornerLayoutSpec] New layout spec class for declarative corner element layout. [#657](https://github.com/TextureGroup/Texture/pull/657) [huangkun](https://github.com/huang-kun)
- [ASDisplayNode layout] Fix an issue that causes a pending layout to be applied multiple times. [Huy Nguyen](https://github.com/nguyenhuy) [#695](https://github.com/TextureGroup/Texture/pull/695)
- [ASDisplayNode layout] Fix an issue that sometimes causes a node's pending layout to not be applied. [Huy Nguyen](https://github.com/nguyenhuy) [#792](https://github.com/TextureGroup/Texture/pull/792)
- [ASScrollNode] Ensure the node respects the given size range while calculating its layout. [#637](https://github.com/TextureGroup/Texture/pull/637) [Huy Nguyen](https://github.com/nguyenhuy)
- [ASScrollNode] Invalidate the node's calculated layout if its scrollable directions changed. Also add unit tests for the class. [#637](https://github.com/TextureGroup/Texture/pull/637) [Huy Nguyen](https://github.com/nguyenhuy)
- Add new unit testing to the layout engine. [Adlai Holler](https://github.com/Adlai-Holler) [#424](https://github.com/TextureGroup/Texture/pull/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](https://github.com/nguyenhuy) [#706](https://github.com/TextureGroup/Texture/pull/706)
- [ASCollectionNode] Added support for interactive item movement. [Adlai Holler](https://github.com/Adlai-Holler)
- Added an experimental "no-copy" rendering API. See ASGraphicsContext.h for info. [Adlai Holler](https://github.com/Adlai-Holler)
- Dropped support for iOS 8. [Adlai Holler](https://github.com/Adlai-Holler)
- Added a configuration API – a unified place to turn on/off experimental Texture features. See `ASConfiguration.h` for info. [Adlai Holler](https://github.com/Adlai-Holler)
- **Breaking** Changes to ASNetworkImageNode: [Adlai Holler](https://github.com/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](https://github.com/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](https://github.com/Adlai-Holler) [#778](https://github.com/TextureGroup/Texture/pull/778/)
- Make `ASCellNode` tint color apply to table view cell accessories. [Vladyslav Chapaev](https://github.com/ShogunPhyched) [#764](https://github.com/TextureGroup/Texture/pull/764)
- Fix ASTextNode2 is accessing backgroundColor off main while sizing / layout is happening. [Michael Schneider](https://github.com/maicki) [#794](https://github.com/TextureGroup/Texture/pull/778/)
- Pass scrollViewWillEndDragging delegation through in ASIGListAdapterDataSource for IGListKit integration. [#796](https://github.com/TextureGroup/Texture/pull/796)
- Fix UIResponder handling with view backing ASDisplayNode. [Michael Schneider](https://github.com/maicki) [#789](https://github.com/TextureGroup/Texture/pull/789/)
- Optimized thread-local storage by replacing pthread_specific with C11 thread-local variables. [Adlai Holler](https://github.com/Adlai-Holler) [#811](https://github.com/TextureGroup/Texture/pull/811/)
- Fixed a thread-sanitizer warning in ASTextNode. [Adlai Holler](https://github.com/Adlai-Holler) [#830](https://github.com/TextureGroup/Texture/pull/830/)
- Fix ASTextNode2 handling background color incorrectly. [Adlai Holler](https://github.com/Adlai-Holler) [#831](https://github.com/TextureGroup/Texture/pull/831/)
- [NoCopyRendering] Improved performance & fixed image memory not being tagged in Instruments. [Adlai Holler](https://github.com/Adlai-Holler) [#833](https://github.com/TextureGroup/Texture/pull/833/)
- Use `NS_RETURNS_RETAINED` macro to make our methods a tiny bit faster. [Adlai Holler](https://github.com/Adlai-Holler) [#843](https://github.com/TextureGroup/Texture/pull/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](https://github.com/Adlai-Holler)
- Introduces `ASRecursiveUnfairLock` as an experiment to improve locking performance. [Adlai Holler](https://github.com/Adlai-Holler)

## 2.6
- [Xcode 9] Updated to require Xcode 9 (to fix warnings) [Garrett Moon](https://github.com/garrettmoon)
- [ASCollectionView] Improve performance and behavior of rotation / bounds changes. [Scott Goodson](https://github.com/appleguy) [#431](https://github.com/TextureGroup/Texture/pull/431)
- [ASCollectionView] Improve index space translation of Flow Layout Delegate methods. [Scott Goodson](https://github.com/appleguy)
- [Animated Image] Adds support for animated WebP as well as improves GIF handling. [#605](https://github.com/TextureGroup/Texture/pull/605) [Garrett Moon](https://github.com/garrettmoon)
- [ASCollectionView] Check if batch fetching is needed if batch fetching parameter has been changed. [#624](https://github.com/TextureGroup/Texture/pull/624) [Garrett Moon](https://github.com/garrettmoon)
- [ASNetworkImageNode] New delegate callback to tell the consumer whether the image was loaded from cache or download. [Adlai Holler](https://github.com/Adlai-Holler)
- [Layout] Fixes a deadlock in layout. [#638](https://github.com/TextureGroup/Texture/pull/638) [Garrett Moon](https://github.com/garrettmoon)
- Updated to be backwards compatible with Xcode 8. [Adlai Holler](https://github.com/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](https://github.com/Adlai-Holler) [#651](https://github.com/TextureGroup/Texture/pull/651)
- [Collection/Table] Added direct support for mapping section indexes between data spaces. [Adlai Holler](https://github.com/Adlai-Holler) [#651](https://github.com/TextureGroup/Texture/pull/660)

## 2.5.1
- [ASVideoNode] Fix unreleased time observer. [Flo Vouin](https://github.com/flovouin)
- [PINCache] Set a default .byteLimit to reduce disk usage and startup time. [#595](https://github.com/TextureGroup/Texture/pull/595) [Scott Goodson](https://github.com/appleguy)
- [ASNetworkImageNode] Fix deadlock in GIF handling. [#582](https://github.com/TextureGroup/Texture/pull/582) [Garrett Moon](https://github.com/garrettmoon)
- [ASDisplayNode] Add attributed versions of a11y label, hint and value. [#554](https://github.com/TextureGroup/Texture/pull/554) [Alexander Hüllmandel](https://github.com/fruitcoder)
- [ASCornerRounding] Introduce .cornerRoundingType: CALayer, Precomposited, or Clip Corners. [Scott Goodson](https://github.com/appleguy) [#465](https://github.com/TextureGroup/Texture/pull/465)
- [Yoga] Add insertYogaNode:atIndex: method. Improve handling of relayouts. [Scott Goodson](https://github.com/appleguy)
- [Animated Image] Adds support for animated WebP as well as improves GIF handling. [#605](https://github.com/TextureGroup/Texture/pull/605) [Garrett Moon](https://github.com/garrettmoon)

## 2.5

Expand Down
2 changes: 1 addition & 1 deletion Cartfile
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
github "pinterest/PINRemoteImage" "3.0.0-beta.13"
github "pinterest/PINCache"
github "pinterest/PINCache" "3.0.1-beta.6"
8 changes: 5 additions & 3 deletions Dangerfile
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
require 'open-uri'

source_pattern = /(\.m|\.mm|\.h)$/

# Sometimes it's a README fix, or something like that - which isn't relevant for
Expand Down Expand Up @@ -52,7 +54,7 @@ def check_file_header(files_to_check, licenses)
correct_license = false
licenses.each do |license|
license_header = full_license(license, filename)
if data.start_with?(license_header)
if data.include? "Pinterest, Inc."
correct_license = true
end
end
Expand All @@ -67,7 +69,7 @@ end

# Ensure new files have proper header
new_source_license_header = <<-HEREDOC
// Copyright (c) 2017-present, Pinterest, Inc. All rights reserved.
// Copyright (c) 2018-present, Pinterest, Inc. All rights reserved.
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
Expand All @@ -87,7 +89,7 @@ modified_source_license_header = <<-HEREDOC
// LICENSE file in the /ASDK-Licenses directory of this source tree. An additional
// grant of patent rights can be found in the PATENTS file in the same directory.
//
// Modifications to this file made after 4/13/2017 are: Copyright (c) 2017-present,
// Modifications to this file made after 4/13/2017 are: Copyright (c) through the present,
// Pinterest, Inc. Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
Expand Down
2 changes: 1 addition & 1 deletion Podfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
source 'https://github.com/CocoaPods/Specs.git'

platform :ios, '8.0'
platform :ios, '9.0'

target :'AsyncDisplayKitTests' do
pod 'OCMock', '~> 3.4'
Expand Down
24 changes: 24 additions & 0 deletions Schemas/configuration.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"id": "configuration.json",
"title": "configuration",
"description" : "Schema definition of a Texture Configuration",
"$schema": "http://json-schema.org/schema#",
"type": "object",
"properties": {
"version" : {
"type" : "number"
},
"experimental_features": {
"type": "array",
"items": {
"type": "string",
"enum": [
"exp_graphics_contexts",
"exp_text_node",
"exp_interface_state_coalesce",
"exp_unfair_lock"
]
}
}
}
}
2 changes: 1 addition & 1 deletion Source/ASBlockTypes.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
/**
* ASCellNode creation block. Used to lazily create the ASCellNode instance for a specified indexPath.
*/
typedef ASCellNode * _Nonnull(^ASCellNodeBlock)();
typedef ASCellNode * _Nonnull(^ASCellNodeBlock)(void);

// Type for the cancellation checker block passed into the async display blocks. YES means the operation has been cancelled, NO means continue.
typedef BOOL(^asdisplaynode_iscancelled_block_t)(void);
Loading