Change Log

3.1.0 (2023-06-14)

Full Changelog

Removed

3.0.1 (2023-01-24)

Full Changelog

Fixed

3.0.0 (2022-07-20)

Full Changelog

Migration Guide

⚠️ BREAKING CHANGES

Added

Changed

3.0.0-fa (2022-06-24)

Full Changelog

Migration Guide

⚠️ BREAKING CHANGES

Added

Changed

2.6.3 (2021-09-30)

Full Changelog

Changed

Fixed

2.6.2 (2021-08-24)

Full Changelog

Security

2.6.1 (2021-06-07)

Full Changelog

Changed

2.6.0 (2021-02-02)

Full Changelog

2.5.0 (2020-10-16)

Full Changelog

Changed

2.4.1 (2020-01-11)

Full Changelog

Changed

2.4.0 (2019-11-27)

Full Changelog

Added

2.3.1 (2019-09-24)

Full Changelog

Added

2.3.0 (2019-05-06)

Full Changelog

Added

2.2.0 (2018-12-17)

Full Changelog

Added

Changed

2.1.1 (2017-10-03)

Full Changelog

Added

2.1.0 (2017-09-27)

Full Changelog

Added

2.0.0 (2016-09-14)

Full Changelog

Support for Xcode 8 & Swift 3.

Following Swift API Guidelines, all functions and methods requires a parameter label.

So now to decode a token

try JWTDecode.decode(jwt: "token")

Also now JWTDecode errors conforms the protocol LocalizableError

public enum DecodeError: LocalizedError {
    case invalidBase64Url(String)
    case invalidJSON(String)
    case invalidPartCount(String, Int)

    public var localizedDescription: String {
        switch self {
        case .invalidJSON(let value):
            return NSLocalizedString("Malformed jwt token, failed to parse JSON value from base64Url \(value)", comment: "Invalid JSON value inside base64Url")
        case .invalidPartCount(let jwt, let parts):
            return NSLocalizedString("Malformed jwt token \(jwt) has \(parts) parts when it should have 3 parts", comment: "Invalid amount of jwt parts")
        case .invalidBase64Url(let value):
            return NSLocalizedString("Malformed jwt token, failed to decode base64Url value \(value)", comment: "Invalid JWT token base64Url value")
        }
    }
}

1.2.0 (2016-09-13)

Full Changelog

Support for Xcode 8 & Swift 2.3.

1.1.0 (2016-08-17)

Full Changelog

Changed:

Added:

Deprecated:

To provide a better experience while dealing with claims and converting their values to Swift types, we deprecated the following method to retrive JWT claims

public func claim<T>(name: String) -> T?

In favor of the following method to retrieve the claim

let claim = jwt.claim(name: "claim_name")

and then you can try converting it's value to the proper type like

if let email = claim.string {
    print("JWT had email \(email)")
}

The supported conversions are:

var string: String?
var integer: Int?
var double: Double?
var date: NSDate?
var array: [String]?

1.0.0 (2015-09-16)

Full Changelog

Fixed bugs:

Merged pull requests:

0.3.2 (2015-08-21)

Full Changelog

0.3.1 (2015-07-25)

Full Changelog

Closed issues:

Merged pull requests:

0.3.0 (2015-06-26)

Full Changelog

Merged pull requests:

0.2.2 (2015-06-26)

Full Changelog

Closed issues:

0.2.1 (2014-10-17)

Full Changelog

Closed issues:

Merged pull requests:

0.2.0 (2014-10-03)

Full Changelog

0.1.0 (2014-10-01)

* This Change Log was automatically generated by github_changelog_generator