The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
1.0.0 Release Candidate 6
4 years ago
## Fix
- Failed to link SwiftUI when launching app for iOS12 or lower (#63)
## Breaking Chage
- Drop support for Swift5.0 and Xcode10 (#63)
1.0.0 Release Candidate 5
4 years ago
## Enhancement
- Add support for SwiftUI compatibility :tada: (#58)
```swift
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)
1.0.0 Release Candidate 4
4 years ago
## Enhancement
- Fix Package.swift (#49)
1.0.0 Release Candidate 3
4 years ago
This version Carbon supports both Swift 5.0 and Swift 5.1.
## Breaking Changes
- Declarative syntax with function builder (#46)
- Make `isAnimationEnabledWhileScrolling` set false by default (#47)
- Make `keepsContentOffset` set true by default (#48)
1.0.0 Release Candidate 2
4 years ago
This version Carbon supports both Swift 5.0 and Swift 5.1.
## Breaking Changes
- 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)
```diff
- 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)
```diff
- class CustomUpdater<A: Adapter & UICollectionViewDataSource & UICollectionViewDelegate>: UICollectionViewUpdater<A> {...}
+ class CustomUpdater<A: UITableViewAdapter>: UITableViewUpdater<A> {...}
```
- `Adapter.skipReloadComponents` is now obsolete. (#37)
- 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:
```diff
- override func performDifferentialUpdates(target: UITableView, adapter: A, data: [Section], stagedChangeset: StagedDataChangeset, completion: (() -> Void)?) {
}
+ super.performDifferentialUpdates(target: target, adapter: adapter, stagedChangeset: stagedDataChangeset)
```
```swift
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)
```diff
- 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)
1.0.0 Release Candidate 1
4 years ago
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)
This version Carbon supports both Swift 4.2 and Swift 5.
## Features
1. Add `isAnimationEnabledWhileScrolling ` option for disable animation while scrolling (#17)
1. Initializing `Renderer` without passing the target instance (#18)
```swift
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)
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)
0.1.0 - Initial public release
5 years ago
# Initial public release of Carbon 🚴