Skip to content

End-of-life release 3.1.0 - #84

Merged
peter-paystack merged 1 commit into
masterfrom
chore/end-of-life-updates
Nov 3, 2026
Merged

peter-paystack merged 1 commit into
masterfrom
chore/end-of-life-updates

Conversation

@peter-paystack

Copy link
Copy Markdown
Contributor

Final maintenance release before this SDK is retired in favour of
https://github.com/PaystackHQ/paystack-sdk-ios. CocoaPods trunk stops
accepting new podspecs on 2 Dec 2026, so no further versions ship after this.

Keeps existing merchants building and charging until they migrate:

  • Require iOS 15.0+ / Xcode 26; stop treating warnings as errors
  • Requery by access_code (5s × 12, then error), with a temporary fallback to trans for charges started without one
  • Send Authorization and Paystack-Version on every request, fetchStates included
  • Isolate concurrent chargeCard calls and reset optional callbacks per charge
  • Fix crashes on missing transaction id and non-UTF-8 response bodies
  • Example app runs without a backend; refresh README and GUIDE for the move

Public API is unchanged; deprecation attributes stay in place.

Fixes #0 (Enter the number for the issue this fixes. If you have not yet created an issue, please do so now or delete this line if you are only submitting a patch)

Changes made by this pull request

@github-actions

github-actions Bot commented Nov 3, 2026 •

Copy link
Copy Markdown
Warnings
⚠️ Pull Request size seems relatively large. If this Pull Request contains multiple changes, please split each into separate PR will helps faster, easier review.
⚠️ The source files were changed, but the tests remain unmodified. Consider updating or adding to the tests to match the source changes.

SwiftLint found issues

Severity File Reason
Warning AppDelegate.swift:11 Colons should be next to the identifier when specifying a type and next to the key in dictionary literals. (colon)
Warning PSTCKAPIClientExtension.swift:70 Colons should be next to the identifier when specifying a type and next to the key in dictionary literals. (colon)
Warning PSTCKAPIClientExtension.swift:80 Colons should be next to the identifier when specifying a type and next to the key in dictionary literals. (colon)
Warning PSTCKAPIClientExtension.swift:86 Colons should be next to the identifier when specifying a type and next to the key in dictionary literals. (colon)
Warning PSTCKAPIClientExtension.swift:89 Opening braces should be preceded by a single space and on the same line as the declaration. (opening_brace)
Warning PSTCKAPIClientExtension.swift:50 Prefer private over fileprivate declarations. (private_over_fileprivate)
Warning PSTCKAPIClientExtension.swift:96 Files should have a single trailing newline. (trailing_newline)
Warning PSTCKAPIClientExtension.swift:8 Lines should not have trailing whitespace. (trailing_whitespace)
Warning PSTCKAPIClientExtension.swift:45 Lines should not have trailing whitespace. (trailing_whitespace)
Warning PSTCKAPIClientExtension.swift:64 Lines should not have trailing whitespace. (trailing_whitespace)
Warning PSTCKAPIClientExtension.swift:69 Lines should not have trailing whitespace. (trailing_whitespace)
Warning PSTCKAPIClientExtension.swift:85 Lines should not have trailing whitespace. (trailing_whitespace)
Warning PSTCKAPIClientExtension.swift:87 Lines should not have trailing whitespace. (trailing_whitespace)
Warning PSTCKAPIClientExtension.swift:60 Limit vertical whitespace to a single empty line. Currently 2. (vertical_whitespace)
Warning PSTCKAPIClientExtension.swift:96 Limit vertical whitespace to a single empty line. Currently 4. (vertical_whitespace)
Warning ViewController.swift:23 Colons should be next to the identifier when specifying a type and next to the key in dictionary literals. (colon)
Warning ViewController.swift:70 Colons should be next to the identifier when specifying a type and next to the key in dictionary literals. (colon)
Warning ViewController.swift:81 Colons should be next to the identifier when specifying a type and next to the key in dictionary literals. (colon)
Warning ViewController.swift:69 if, for, guard, switch, while, and catch statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses. (control_statement)
Warning ViewController.swift:137 Trailing closure syntax should not be used when passing more than one closure argument. (multiple_closures_with_trailing_closure)
Warning ViewController.swift:36 Opening braces should be preceded by a single space and on the same line as the declaration. (opening_brace)
Warning ViewController.swift:47 Opening braces should be preceded by a single space and on the same line as the declaration. (opening_brace)
Warning ViewController.swift:89 Opening braces should be preceded by a single space and on the same line as the declaration. (opening_brace)
Warning ViewController.swift:99 Opening braces should be preceded by a single space and on the same line as the declaration. (opening_brace)
Warning ViewController.swift:108 Opening braces should be preceded by a single space and on the same line as the declaration. (opening_brace)
Warning ViewController.swift:112 Opening braces should be preceded by a single space and on the same line as the declaration. (opening_brace)
Warning ViewController.swift:116 Opening braces should be preceded by a single space and on the same line as the declaration. (opening_brace)
Warning ViewController.swift:32 Lines should not have trailing semicolons. (trailing_semicolon)
Warning ViewController.swift:101 Lines should not have trailing semicolons. (trailing_semicolon)
Warning ViewController.swift:102 Lines should not have trailing semicolons. (trailing_semicolon)
Warning ViewController.swift:127 Lines should not have trailing semicolons. (trailing_semicolon)
Warning ViewController.swift:139 Lines should not have trailing semicolons. (trailing_semicolon)
Warning ViewController.swift:10 Lines should not have trailing whitespace. (trailing_whitespace)
Warning ViewController.swift:22 Lines should not have trailing whitespace. (trailing_whitespace)
Warning ViewController.swift:24 Lines should not have trailing whitespace. (trailing_whitespace)
Warning ViewController.swift:34 Lines should not have trailing whitespace. (trailing_whitespace)
Warning ViewController.swift:46 Lines should not have trailing whitespace. (trailing_whitespace)
Warning ViewController.swift:50 Lines should not have trailing whitespace. (trailing_whitespace)
Warning ViewController.swift:52 Lines should not have trailing whitespace. (trailing_whitespace)
Warning ViewController.swift:53 Lines should not have trailing whitespace. (trailing_whitespace)
Warning ViewController.swift:58 Lines should not have trailing whitespace. (trailing_whitespace)
Warning ViewController.swift:63 Lines should not have trailing whitespace. (trailing_whitespace)
Warning ViewController.swift:65 Lines should not have trailing whitespace. (trailing_whitespace)
Warning ViewController.swift:67 Lines should not have trailing whitespace. (trailing_whitespace)
Warning ViewController.swift:74 Lines should not have trailing whitespace. (trailing_whitespace)
Warning ViewController.swift:76 Lines should not have trailing whitespace. (trailing_whitespace)
Warning ViewController.swift:78 Lines should not have trailing whitespace. (trailing_whitespace)
Warning ViewController.swift:86 Lines should not have trailing whitespace. (trailing_whitespace)
Warning ViewController.swift:88 Lines should not have trailing whitespace. (trailing_whitespace)
Warning ViewController.swift:98 Lines should not have trailing whitespace. (trailing_whitespace)
Warning ViewController.swift:53 Limit vertical whitespace to a single empty line. Currently 2. (vertical_whitespace)

Generated by 🚫 Danger Swift against b570306

  Final maintenance release before this SDK is retired in favour of
  https://github.com/PaystackHQ/paystack-sdk-ios. CocoaPods trunk stops
  accepting new podspecs on 2 Dec 2026, so no further versions ship after this.

  Keeps existing merchants building and charging until they migrate:

  * Require iOS 15.0+ / Xcode 26; stop treating warnings as errors
  * Requery by access_code (5s × 12, then error), with a temporary
    fallback to trans for charges started without one
  * Send Authorization and Paystack-Version on every request, fetchStates included
  * Isolate concurrent chargeCard calls and reset optional callbacks per charge
  * Fix crashes on missing transaction id and non-UTF-8 response bodies
  * Example app runs without a backend; refresh README and GUIDE for the move

  Public API is unchanged; deprecation attributes stay in place.
@peter-paystack
peter-paystack force-pushed the chore/end-of-life-updates branch from cf452fa to b570306 Compare November 3, 2026 16:16
@peter-paystack
peter-paystack merged commit b4def2e into master Nov 3, 2026
2 of 4 checks passed
@peter-paystack
peter-paystack deleted the chore/end-of-life-updates branch November 3, 2026 16:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants