All Versions
9
Latest Version
Avg Release Cycle
33 days
Latest Release
1632 days ago

Changelog History

  • v1.0.0-rc.6 Changes

    October 30, 2019

    ๐Ÿ›  Fix

    • Failed to link SwiftUI when launching app for iOS12 or lower (#63)

    ๐Ÿ’ฅ Breaking Chage

    • โฌ‡๏ธ Drop support for Swift5.0 and Xcode10 (#63)
  • v1.0.0-rc.5 Changes

    October 23, 2019

    โœจ Enhancement

    • โž• Add support for SwiftUI compatibility ๐ŸŽ‰ (#58)

      struct HelloMessage: Component, View { ...}struct ContentView: View { var body: some View { ScrollView { VStack { Text("GREET") .font(.title) .padding(.horizontal, 16) HelloMessage("World") .frame(height: 60) .background(Color.red) } } } }

    • โž• Add Group.init without elements (#50)

    ๐Ÿ’ฅ Breaking Changes

    • โž• Add Component.intrinsicContentSize(for:) to get intrinsic content size for content to infer size of the UIView in SwiftUI (#58)
  • v1.0.0-rc.4 Changes

    September 13, 2019

    โœจ Enhancement

    • ๐Ÿ›  Fix Package.swift (#49)
  • v1.0.0-rc.3 Changes

    September 11, 2019

    ๐Ÿ‘ This version Carbon supports both Swift 5.0 and Swift 5.1.

    ๐Ÿ’ฅ Breaking Changes

    • ๐Ÿ— Declarative syntax with function builder (#46)
    • 0๏ธโƒฃ Make isAnimationEnabledWhileScrolling set false by default (#47)
    • 0๏ธโƒฃ Make keepsContentOffset set true by default (#48)
  • v1.0.0-rc.2 Changes

    September 04, 2019

    ๐Ÿ‘ This version Carbon supports both Swift 5.0 and Swift 5.1.

    ๐Ÿ’ฅ Breaking Changes

    • 0๏ธโƒฃ Make Adapter.alwaysRenderVisibleComponents true by default. (#37)
    • โšก๏ธ Make Component.shouldContentUpdate returns false by default. (#37)
    • โšก๏ธ Constraints of type parameters Adapter in UITableViewUpdater is now changed to UITableViewAdapter. (#37)

      • class CustomUpdater<A: Adapter & UITableViewDataSource & UITableViewDelegate>: UITableViewUpdater<A> {...}+ class CustomUpdater<A: UITableViewAdapter>: UITableViewUpdater<A> {...}
    • โšก๏ธ Constraints of type parameters Adapter in UICollectionViewUpdater is now changed to UICollectionViewAdapter. (#37)

      • class CustomUpdater<A: Adapter & UICollectionViewDataSource & UICollectionViewDelegate>: UICollectionViewUpdater<A> {...}+ class CustomUpdater<A: UITableViewAdapter>: UITableViewUpdater<A> {...}
    • Adapter.skipReloadComponents is now obsolete. (#37)

    • 0๏ธโƒฃ Make referenceSize(in bounds:) returns nil by default. (#38)

    • ๐Ÿ”จ Refactor method signature and responsibility of the UITableViewUpdater/UICollectionViewUpdater. (#40)
      โšก๏ธ You can now intercepts arbitrary processes before or after updates, for example:

      • override func performDifferentialUpdates(target: UITableView, adapter: A, data: [Section], stagedChangeset: StagedDataChangeset, completion: (() -> Void)?) {}+ super.performDifferentialUpdates(target: target, adapter: adapter, stagedChangeset: stagedDataChangeset)

      open func performDifferentialUpdates(target: UITableView, adapter: Adapter, stagedChangeset: StagedDataChangeset) { super.performDifferentialUpdates(target: target, adapter: adapter, stagedChangeset: stagedDataChangeset) if stagedChangeset.allSatisfy({ $0.hasChanges }) { let y = target.contentSize.height - (target.bounds.height - target.adjustedContentInset.bottom) let contentOffset = CGPoint(x: target.contentOffset.x, y: y) setContentOffset(contentOffset, animated: true) } }

    • โœ‚ Remove completion from Renderer. (#40)

      • renderer.completion {- // do something- }+ renderer.updater.completion {+ // do something+ }
    • โšก๏ธ Change constraints of type parameters Adapter of UITableViewReloadDataUpdater/UICollectionReloadDataViewUpdater to UITableViewAdapter/UICollectionViewAdapter. (#40)

    • ๐Ÿ’… Closure style render function and section initializer are now deprecated. (#42)

    โœจ Enhancement

    • โž• Adds support for Swift Package Manager (by @robcas3#25)
    • โšก๏ธ UICollectionViewUpdater. renderVisibleComponents supports custom supplementary elements. (#37)
    • โž• Add completion to UITableViewUpdater/UICollectionViewUpdater. (#40)
  • v1.0.0-rc.1 Changes

    July 29, 2019

    ๐Ÿ‘ This version Carbon supports both Swift 5.0 and Swift 5.1.

    ๐Ÿ”‹ Features

    • โž• Add support for use custom container cell/header/footer class (#21)
    • โž• Add closure style initializer for Section (#28)
    • โž• Add a render function with closure style builder (#28)
    • โž• Add completion closure property to Renderer (#28)

    ๐Ÿ’ฅ Breaking Changes

    • โœ‚ Remove UITableViewCellContent, UITableViewHeaderFooterViewContent, UICollectionViewCellContent and UICollectionReusableViewContent (#21)
    • โœ‚ Remove UITableViewAdapter.Config and UICollectionViewAdapter.Config (#21)
    • โœ‚ Remove the completion parameter from each render functions (#28)
  • v0.3.0 Changes

    May 13, 2019

    ๐Ÿ‘ This version Carbon supports both Swift 4.2 and Swift 5.

    ๐Ÿ”‹ Features

    1. Add isAnimationEnabledWhileScrolling option for disable animation while scrolling (#17)
    2. Initializing Renderer without passing the target instance (#18)

      let renderer = Renderer( adapter: UITableViewAdapter(), updater: UITableViewUpdater() ) renderer.target = tableView

    ๐Ÿ—„ Deprecation

    โšก๏ธ 1. Renderer.init(target:adapter:updater:) is now deprecated. Use Renderer.init(adapter:updater:) instead (#18)

  • v0.2.0 Changes

    March 28, 2019

    ๐Ÿ‘ This version Carbon supports both Swift 4.2 and Swift 5.

    ๐Ÿ‘ Xcode 10.2 Support

    ๐Ÿ‘ 1. Swift 5.0 and Xcode 10.2 support (#8)

    ๐Ÿ”‹ Features

    โšก๏ธ 1. Add new updater's option to keeping content offset after diffing updates (#9)

  • v0.1.0 Changes

    February 12, 2019

    ๐ŸŽ‰ Initial public release of Carbon ๐Ÿšด