Skip to content

Latest commit

History

History
719 lines (519 loc) 路 26 KB

CHANGELOG.md

File metadata and controls

719 lines (519 loc) 路 26 KB

Change Log

All notable changes to this project will be documented in this file. Pageboy adheres to Semantic Versioning.

4.x Releases

3.x Releases

2.x Releases

1.x Releases

0.x Releases


Released on 2024-04-14

Updated

  • Downgraded SPM Swift requirement to Swift 5.7 (Xcode 14).

Released on 2024-04-06

Added

  • Support for isDirectionalLockEnabled to PageboyViewController.
  • Support for Xcode 15.
  • Support for Privacy Manifests.

Updated

  • Pageboy now requires iOS 12 or tvOS 12.

Released on 2022-11-08

Updated

  • Improved locking logic for ignoring duplicate setViewController() attempts.

Fixed

  • Issue where setting view controllers could fail to report completion.

Released on 2022-11-03

Fixed

  • Issue where UIPageViewController could crash during fast sequential transitions.

Released on 2022-11-02

Added

  • Support for Xcode 14

Updated

  • Pageboy now requires iOS 11 or tvOS 11.

Released on 2022-08-20

Updated

  • Protocols now conform to AnyObject instead of class.

Released on 2020-10-11

Fixed

  • Issue where page positional detection would fail on tvOS.

Released on 2020-05-22

Fixed

  • Scroll issue with a single view controller data source when isInfiniteScrollEnabled = true.

Released on 2020-05-04

Updated

  • Dropped support for legacy Swift (4.x) versions.

Fixed

  • #211 Issue where inserting a page at the current index could display the incorrect page.
  • Issue where deleting a page on an upper index could cause index corruption.
  • Issue where scroll interaction during updates could cause index corruption.

Released on 2020-03-15

Fixed

  • Mixed language errors caused by Pageboy.h header in Swift PM.

Released on 2019-10-06

Added

  • #230 didCancelScrollToPage function to PageboyViewControllerDelegate for detecting page transitions that were cancelled.

Fixed

  • #227 UIPageViewController bug that causes the page view controller to display the wrong page (see here).

Released on 2019-08-25

Updated

  • Add support for Swift Package Manager in Xcode 11.

Released on 2019-08-05

Added

Fixed

  • Issues with building on tvOS.
  • Broken imports when building with Carthage.

Released on 2019-06-10

Updated

  • Added support for multiple Swift versions to podspec.

Released on 2019-05-04

Fixed

  • #209 Issue where pages could not be added when no pages exist.
  • #208 Issue where the last page could not be deleted.

Released on 2019-04-24

Fixed

  • Warnings related to Objective-C enums.
  • SwiftLint warnings.
  • Incorrect Swift version in Podspec, now 4.0.

Released on 2019-03-26

Added

  • Swift 5 support.
  • Xcode 10.2 support.

Released on 2019-03-08

Added

  • pageboyParent to UIViewController to get the parent PageboyViewController if it exists.
  • pageboyPageIndex to UIViewController to get the current index of a view controller if embedded within a PageboyViewController.

Updated

  • Deprecated parentPageboy on UIViewController.

Released on 2019-03-03

Fixed

  • #202 Issue where page index map could crash with invalid keys (Relates to #198).

Released on 2019-03-03

Fixed

  • #198 Memory issue where view controllers would always be retained.

Released on 2019-02-22

Updated

  • #196 Improved extension access controls.

Released on 2019-02-17

Fixed

  • #195 Ensure view controller update work is performed synchronously on the main thread.

Released on 2019-02-13

Updated

Released on 2019-02-10

Fixed

  • #192 Thread safety improvements to resolve UIPageViewController crashes.

Released on 2018-12-01

Fixed

  • #187 Issue where using unowned self could cause memory crashes.
  • #176 Issue where checking UI layout direction could cause threading issues.

Released on 2018-11-13

Added

  • Support for dynamically inserting a new page via insertPage(at: PageIndex).
  • Support for dynamically deleting an existing page via deletePage(at: PageIndex).
  • Improved support for Swift 4 and 4.2.

Updated

  • Status bar style update animation when changing pages now lasts 0.25 seconds.
  • Improved Example app with support for in-app Settings.
  • Auto-Scrolling will now automatically resume/pause with viewDidAppear/viewWillDisappear lifecycle events.

Fixed

  • Numerous memory leaks and performance problems.

Released on 2018-10-01

Fixed

  • #175 Issue where expectedTransitionIndex could be incorrect when cancelling scroll events.

Released on 2018-09-16

Updated

  • Migrated to use Swift 4.2.

Released on 2018-07-19

Fixed

  • #166 Issue where view controllers would fail to update correctly when transitions were interrupted.

Released on 2018-07-18

Fixed

  • #166 Interaction and state issues when transitions were interrupted.

Released on 2018-06-28

Fixed

  • #165 Animated transition issues when using a Right-to-left language.

Released on 2018-04-23

Fixed

  • #159 Current Index is negative when infinite scroll is enabled and scrolling between ranges.

Released on 2018-04-05

Updated

  • parentPageboyViewController has been renamed to parentPageboy.

Fixed

  • #157 Fix scroll detection edge case when decelerating on page index.

Released on 2018-02-23

Updated

  • #136 Add support for default UIPageViewController animated transition.
  • #136 Obseleted default Transition.
  • Mark showsPageControl as unavailable rather than deprecated.

Released on 2018-02-12

Fixed

  • #140 Potential crash when scrolling through pages with high velocity.

Released on 2018-01-30

Fixed

  • Build issues when trying to integrate with Carthage.

Released on 2018-01-23

Updated

  • Refactored and cleaned up internally for some much needed housekeeping.

Released on 2018-01-06

Fixed

-#133 Potential memory issues with UIApplication extension. - by msaps.

Released on 2018-01-05

Updated

  • #131 Make Pageboy safe to use in extensions.

Released on 2017-12-20

Updated

  • #121 Update minimum deployment target to iOS 9.
  • #129 Disable showsPageControl temporarily (Due to iOS 11.2 issue).

Released on 2017-11-24

Added

  • #116 Support for built-in UIPageViewController page control.
  • #116 showsPageControl to PageboyViewController.

Released on 2017-11-11

Fixed

  • #118 Setting data source in initializer breaks updateViewControllers.

Released on 2017-11-09

Fixed

  • #113 When swiping too fast PageboyViewController crashes app.
  • #114 Custom preferredStatusBarStyle does not work.

Released on 2017-10-23

Fixed

  • #109 Improved blocking logic for animated scroll transitions during other operations.

Released on 2017-10-22

Fixed

  • #109 UIPageViewController crash with intense scrolling input.

Released on 2017-09-13

Added

Updated

  • #88 Completely redesign PageboyViewControllerDataSource to support improved view controller reuse.
  • #78 Update PageboyViewControllerDataSource to support the latest recommended code syntax style.
  • Update PageboyViewControllerDelegate to support the latest changes to PageboyViewControllerDataSource .

Released on 2017-08-14

Fixed

  • #99 Issues with guarding publicly visible delegates.
    • Added guard statements to UIScrollViewDelegate and UIPageViewControllerDelegate functions to prevent external injection.
    • Fixed by msaps.

Released on 2017-07-25

Added

  • #90 Support for UIPageViewController initialization options.
    • Added interPageSpacing property to PageboyViewController.
    • Added by msaps.

Released on 2017-06-29

Fixed

  • #86 Fix issue where constraints were inadvertantly not added to the internal page view controller.

Released on 2017-06-25

Updated

  • Renamed utility extensions.

Fixed

  • #83 Fixed memory issue with custom transitioning support.
  • #85 Fixed issue with animated transition positional updates.
    • Transitions with index ranges greater than 1 will now provide positions through the entire range.

Released on 2017-06-24.

Fixed

  • #79 Add support for Right-to-Left language localisation to iOS 8.

Released on 2017-06-23.

Added

  • #75 Support for iOS 8.

Released on 2017-06-19.

Updated

  • The internal UIPageViewController is now inserted at the back of all subviews in the UIViewController.
    • The Z-Index will persist when changing navigationOrientation and other destructive updates.

Released on 2017-06-18.

Added

  • #67 Improved support for Right-To-Left languages to PageboyViewController.
  • parentPageboyViewController property to UIViewController to provide access to parent PageboyViewController from child view controllers within the page view controller.
  • #70 Success result to scrollToPage() function in PageboyViewController.
    • Returns whether the scroll was able to be successfully executed.

Fixed

  • #71 A potential error during layout with scroll positional updates.
    • By AlexZd.

Released on 2017-06-18.

Fixed

  • Fixed issue with animated transitions when using .vertical navigationOrientation.
  • Add support for .vertical navigationOrientation to example app.
    • By Charles Molyneux.

Released on 2017-06-12.

Updated

  • Updated project to use Swift 3.2 and compatibility with Xcode 9

Fixed

  • Fixed issue where it would be possible to cause an error by setting properties on PageboyViewController before the internal UIPageViewController was initialised.
  • Fixed issue where changing navigationOrientation would cause properties on PageboyViewController to not persist.

Released on 2017-06-07.

Added

  • #57 Added support for custom scroll transitions to PageboyViewController.
    • Available via the .transition (PageboyViewController.Transition) property.

Fixed

  • #61 Fixed AutoLayout issue with internal UIPageViewController when in-call status bar is visible.

Released on 2017-05-29.

Added

  • Added delaysContentTouches property to PageboyViewController.

Updated

  • Minor improvements to example project.
  • Minor refactoring to PageboyViewController extensions.

Released on 2017-05-17.

Updated

  • Refactored and restructured internal extensions of PageboyViewController.
  • A fresh coat of paint.

Fixed

  • Fixed a few UI issues with example project.

Released on 2017-05-07.

Added

  • isTracking property to PageboyViewController.
  • Default stub protocol implementations for PageboyViewControllerDelegate.

Updated

  • Updated scroll management to use isTracking for interaction detection.

Released on 2017-04-26.

Updated

  • Moved internal UIPageViewController initialisation to viewDidLoad from loadView.

Released on 2017-04-22.

Fixed

  • #44 Fix incorrect scrollToPage function behaviour when at the end of page ranges with infinite scrolling enabled.
    • .next used an incorrect animation when scrolling from the upper range to the lower range.
    • .previous failed to scroll to a page when scrolling from the lower range to the upper range.

Released on 2017-04-19.

Added

  • Added didReload function to PageboyViewControllerDelegate for updating when the PageboyViewController successfully reloads its child view controllers.

Released on 2017-04-16.

Updated

  • #42 Rename atIndex(index: Int) to at(index: Int) in PageboyViewController.PageIndex.
    • Deprecated atIndex(index: Int).

Released on 2017-04-11.

Fixed

  • Added support for preferredStatusBarStyle in child view controllers.
  • Added support for prefersStatusBarHidden in child view controllers.
  • Added animation for transition of status bar appearance on page change.
  • Added missing addChildViewController call for internal UIPageViewController.

Released on 2017-04-05.

Fixed

  • #34 Fixed issue in PageboyAutoScroller where .handler would not be released correctly.

Released on 2017-03-28.

Updated

  • Just a quick version bump to 1.0.0.

Released on 2017-03-22.

Added

  • Improved test coverage for all components of Pageboy.

Updated

  • isEnabled is now a public property of PageboyAutoScroller.

Released on 2017-03-13.

Added

  • Added bounces property to enable/disable whether the page view controller should bounce at the end of page ranges. #20

Released on 2017-03-11.

Fixed

  • Fixed issue where scrolling aggressively, causing post-boundary deceleration would cause an incorrect currentIndex temporarily.

Released on 2017-03-08.

Added

  • PageboyAutoScroller which provides time-based auto scrolling behaviour to PageboyViewController. Available via the autoScroller property.

Released on 2017-03-01.

Fixed

  • Fixed issue where infinite scroll would not provide scroll updates correctly.
  • Fixed issue with setting isInfiniteScrollEnabled not updating page view controller state correctly.

Released on 2017-02-28.

Fixed

  • Fixed issue where updates for scrolling outside of the page view controller contentSize would not be correctly reported.

Released on 2017-02-27.

Updated

  • Ensured that dataSource for PageboyViewController is weakly referenced.
  • Ensured that delegate for PageboyViewController is weakly referenced.

Released on 2017-02-27.

Fixed

  • Issue where animated parameter on willScrollToPageAtIndex would sometimes be incorrect.
  • Issue where duplicate positional updates would call didScrollToPosition multiple times.

Released on 2017-02-24.

Updated

  • Improved positional reporting when traversing over multiple pages during a scroll operation.

Released on 2017-02-23.

Updated

  • Added animated parameter to willScrollToPageAtIndex.
  • Added animated parameter to didScrollToPosition.
  • Added animated parameter to didScrollToPageAtIndex.

Fixed

  • Fixed issues with currentIndex sync.

Released on 2017-02-22.

Fixed

  • Issue where currentPosition would not stay in sync with currentIndex in certain situations.
  • Issue where example app would not support custom default indexes correctly.

Released on 2017-02-17.

Added

  • Swift Package Manager compatibility.

Released on 2017-02-17.

Pageboy initial release - A simple, highly informative page view controller.