Skip to content

Releases: rechsteiner/Parchment

v4.0.0

25 May 14:13
189e900
Compare
Choose a tag to compare

Version 4.0 introduced a new and improved API for PageView in SwiftUI. Each page can now show define their own menu items, which can be any SwiftUI view. The new API also supports result builders, which allows you to easily setup your PageView.

PageView {
    Page("Title 1") {
        Text("Page 1")
    }
    Page { _ in
        Image(systemName: "star.fill")
    } content: {
        Text("Page 2")
    }
}

Changes

  • New API for PageView in SwiftUI #666
  • Updated minimum deployment target to iOS 11 #661
  • Constrain menu to safe area insets by default #668

Added

  • Add support for custom SwiftUI styles for indicator views #684
  • Add horizontal right alignment support #658
  • Add missing color modifiers to PageView #675
  • Add new PagingIndexable protocol to allow comparison between items #678

Fixes

  • Fix PageViewController isScrollingFrom delegate when overshooting #669
  • Fix didSelectItem delegate being called before actual selection #676
  • Fix setting PageView closures multiple times #677
  • Fix rotation and crash issues with calling layoutIfNeeded #680
  • Fix options not propagating changes when SwiftUI view is updated #697

v3.4.0

14 Apr 10:33
b234800
Compare
Choose a tag to compare
  • Update Swift version to 5.10 #705

v3.3.0

17 Feb 12:03
28f8f2c
Compare
Choose a tag to compare
  • Set minimum deployment target to iOS 12 #699
  • Add privacy manifest file #695
  • Update Swift version to 5.9 #700

v4.0.0-beta

02 Apr 11:12
d738017
Compare
Choose a tag to compare
v4.0.0-beta Pre-release
Pre-release

Version 4.0 introduced a new and improved API for PageView in SwiftUI. Each page can now show define their own menu items, which can be any SwiftUI view. The new API also supports result builders, which allows you to easily setup your PageView. See more in the README.

PageView {
    Page("Title 1") {
        Text("Page 1")
    }
    Page { _ in
        Image(systemName: "star.fill")
    } content: {
        Text("Page 2")
    }
}

Changes

  • New API for PageView in SwiftUI #666
  • Updated minimum deployment target to iOS 11 #661

Added

  • Add horizontal right alignment support #658

v3.2.1

07 Mar 20:30
852d321
Compare
Choose a tag to compare

Fixes

  • Fix issue with unsafe flags when using SwiftPM #662

v3.2.0

23 Jan 12:14
7773785
Compare
Choose a tag to compare

Fixes

  • Fix issue with menu insets not updating #619
  • Update content size after parent size #623
  • Fix SPM linker settings #622 #615
  • Update Pods file to support iOS >= 9 #620

v3.1.0

16 Oct 12:49
2b1a370
Compare
Choose a tag to compare

Added

  • Add support for pagingContentBackgroundColor property #592
  • Add contentInteraction property into PagingOptions #593

Changes

  • Support for Xcode 13 #581 #601
  • Updated API for SwiftUI wrapper #572 #551
  • Drop support for iOS 8 #568
  • Remove support for older Swift versions #595
  • Improve accessibility of default paging cell #602

Fixes

  • Remove Carthage reference in FRAMEWORK_SEARCH_PATH #569
  • Fix wrong page direction when current paging item is out of view #567
  • Fix issue with rotation when using SwiftUI wrapper #596

v3.0.1

15 Dec 20:08
689ecaa
Compare
Choose a tag to compare
  • Fix layout issue in PageViewController #543
  • Fix crash when using UIColor(patternImage:) #544

v3.0.0

03 Dec 19:57
df36404
Compare
Choose a tag to compare

Changes:

  • Custom PageViewController (#468)
  • RTL language support (#468)

This version introduces some breaking changes:

Replaced EMPageViewController

EMPageViewController has been replaced with our own PageViewController implementation, which fixes a bunch of issues (#524, #527, #426). The API of the new page view controller is pretty much identical to the old one, but the names of the types have changed:

open class PagingViewController:
   UIViewController,
   UICollectionViewDelegate,
-  EMPageViewControllerDataSource,
-  EMPageViewControllerDelegate {
+  PageViewControllerDataSource,
+  PageViewControllerDelegate {
   
-  public let pageViewController: EMPageViewController
+  public let pageViewController: PageViewController
    
-  open func em_pageViewController(_ pageViewController: EMPageViewController, viewControllerBeforeViewController viewController: UIViewController) -> UIViewController? {
+  open func pageViewController(_ pageViewController: PageViewController, viewControllerBeforeViewController viewController: UIViewController) -> UIViewController? {
    
-  open func em_pageViewController(_ pageViewController: EMPageViewController, viewControllerAfterViewController viewController: UIViewController) -> UIViewController? {
+  open func pageViewController(_ pageViewController: PageViewController, viewControllerAfterViewController viewController: UIViewController) -> UIViewController? {

-  open func em_pageViewController(_ pageViewController: EMPageViewController, isScrollingFrom startingViewController: UIViewController, destinationViewController: UIViewController?, progress: CGFloat) {
+  public func pageViewController(_ pageViewController: PageViewController, isScrollingFrom startingViewController: UIViewController, destinationViewController: UIViewController?, progress: CGFloat) {
    
-  open func em_pageViewController(_ pageViewController: EMPageViewController, willStartScrollingFrom startingViewController: UIViewController, destinationViewController: UIViewController) {
+  public func pageViewController(_ pageViewController: PageViewController, willStartScrollingFrom startingViewController: UIViewController, destinationViewController: UIViewController) {

-  open func em_pageViewController(_ pageViewController: EMPageViewController, didFinishScrollingFrom startingViewController: UIViewController?, destinationViewController: UIViewController, transitionSuccessful: Bool) {
+  open func pageViewController(_ pageViewController: PageViewController, didFinishScrollingFrom startingViewController: UIViewController, destinationViewController: UIViewController, transitionSuccessful: Bool) {
}

More details about the release can be found here: #452

v3.0.0-beta2

28 Sep 17:24
a44d39e
Compare
Choose a tag to compare
v3.0.0-beta2 Pre-release
Pre-release

Fixed an issue building due to missing imports #526