Skip to content

Latest commit

 

History

History
134 lines (100 loc) · 5.08 KB

CHANGES.md

File metadata and controls

134 lines (100 loc) · 5.08 KB

Change Log

v5.0

This release is not backwards-compatible with the previous versions.

This release sees a major overhaul of the structure of the SDK, to modularize it so that the separate components can be loaded independently. It also adds full support for Swift Package Manager.

v4 -> v5 migration

A number of types and functions have been renamed, while others have stayed the same.

  • ShopGunSDK is now TjekSDK:

    • Use import TjekSDK instead of import ShopGunSDK.
    • ShopGunSDK-Config.plist is now TjekSDK-Config.plist, and the structure of the file has been flattened (see the Examples projects).
    • Previously you had to call PagedPublicationView.configure() to initialize the SDK. Now you need to call TjekSDK.initialize().
  • CoreAPI has been replaced with TjekAPI:

    • To send a request you now use send(_:) on a TjekAPI instance, instead of request(_:) on a CoreAPI instance.
    • All the model objects from CoreAPI have been renamed to <ModelObject>_v2, and some of their properties have been adjusted/unified slightly.
    • We have added a number of *_v4 model objects too, which are accessible view v4 api requests.
    • ImageURLSet has been replaced with Set<ImageURL> for more flexibility.
  • Both IncitoLoaderViewController and PagedPublicationView are now included in the same library: TjekPublicationViewer. This is imported by default when importing TjekSDK.

    • IncitoLoaderViewController is unchanged (apart from now using TjekAPI instead of the old GraphAPI).
    • PagedPublicationView is unchanged (apart from now using TjekAPI under the hood).

Carthage support has been removed.

Due to the addition of SPM support, and the amount of work needed to continue supporting this dependency manager, along with a number of technical hurdles, we have decided to drop support. We recommend you use the Swift Package Manager instead. If anyone wishes to add support, we will gladly accept a PR.

v4.2

Swift 5.0.1 now required

  • Replaces IncitoViewController renderer with a web-view based one.
  • Add Carthage demo

v4.1

Swift 4.2 now required

  • Add support for IncitoLoaderViewController.
  • Adds Finnish localizations.
  • New EventsTracker, with a privacy-first format.
  • Added new getPagedPublication(forDealers:...) CoreAPI request.
  • Add dealerIds filter to getOffers(matchingSearch:...) CoreAPI request.
  • Add optional location filter to getSuggestedPublications CoreAPI request.
  • Add Carthage support.
  • Add isAvailableInAllStores property to PagedPublication.
  • Allow using private keychains with custom names.
  • Fix issue related to request parameter url-encoding.
  • Fix loading too-large page images.
  • Removes progress bar from PagedPublication view
  • Remove CryptoSwift dependency.
  • Update Kingfisher ~> 4.10.0
  • Update Valet ~> 3.1.6

v4.0.2

  • Fix issue when building for Release (GenericIdentifier was not decoding correctly)

v4.0.1

Swift 4.1 now required

  • Migrate SDK code from Swift 4.0 to 4.1.
  • Update 3rd party dependencies:
    • Verso 1.0.1 -> 1.0.2
    • Kingfisher 4.6.4 -> 4.7.0
    • CryptoSwift 0.8.3 -> 0.9.0
  • Changes to the CoreAPI.Dealer model object.

v4.0.0

This is a complete re-write of the SDK in Swift 4.0.

v3.1.0

Now requires iOS 7 and up
  • Update to AFNetworking ~> 3.0.0

v3.0.0

  • Sends system locale (eg "en_GB") with every request
  • Update to Mantle ~> 1.5.6
  • Update to FMDB ~> 2.5
Breaking Changes
  • Use new error system. See SGN_APIErrors.h for domains, codes, and utility methods (all error methods on ETA class have been removed, and error domain has been renamed).

v2.3.1

  • Update to AFNetworking ~> 2.5.1
  • Remove deprecated urlName & logoBackgroundColor properties from ETA_Dealer and ETA_Branding model objects.

v2.3.0

  • SDK split into multiple subpecs, for when you only need some of the components
  • New Native Catalog Reader with new example project. The old web-based CatalogView is deprecated.
  • Update to CocoaLumberjack ~> 1.9.0
  • Request timeout reduced to 20 secs (was 60 secs previously)
  • Better handling of errors when syncing shopping lists

v2.2.3

  • Documentation update
  • Fixed CatalogView delegate removal issue

v2.2.2

  • Removed verbose properties
  • Replace logging system with CocoaLumberjack, and update examples
  • Update to AFNetworking ~> 2.2.4
  • Update to Mantle ~> 1.4.1
  • Added Dealer model object
  • Added ClientID to sessions

v2.2.1

  • Performs CatalogView requests in the background
  • Minor bug fixes
  • Better Examples project structure

v2.2.0

  • Now requires >= iOS 6.0 (Update to AFNetworking ~> 2.1)
  • ETA_ListManager - createListItem:offerID:... now requires an item count.
  • Number of bug fixes

v2.1.1

  • Session migration bugfix
  • Other minor bug fixes

v2.1.0

  • ETA initialization now requires an appVersion
  • Added methods for attaching a facebook user to ETA.
  • Added an observable 'connected' property to ETA.
  • Added pause and gotoPage methods to ETA_CatalogView.
  • ETA_ListManager has been renamed, and there has been major internal and external refactoring.

v2.0.0

  • Everything is new!