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.
A number of types and functions have been renamed, while others have stayed the same.
-
ShopGunSDK
is nowTjekSDK
:- Use
import TjekSDK
instead ofimport ShopGunSDK
. ShopGunSDK-Config.plist
is nowTjekSDK-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 callTjekSDK.initialize()
.
- Use
-
CoreAPI
has been replaced withTjekAPI
:- To send a request you now use
send(_:)
on aTjekAPI
instance, instead ofrequest(_:)
on aCoreAPI
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 withSet<ImageURL>
for more flexibility.
- To send a request you now use
-
Both
IncitoLoaderViewController
andPagedPublicationView
are now included in the same library:TjekPublicationViewer
. This is imported by default when importingTjekSDK
.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.
Swift 5.0.1 now required
- Replaces IncitoViewController renderer with a web-view based one.
- Add Carthage demo
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
- Fix issue when building for Release (
GenericIdentifier
was not decoding correctly)
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.2Kingfisher
4.6.4 -> 4.7.0CryptoSwift
0.8.3 -> 0.9.0
- Changes to the CoreAPI.Dealer model object.
This is a complete re-write of the SDK in Swift 4.0.
- Update to AFNetworking ~> 3.0.0
- Sends system locale (eg "en_GB") with every request
- Update to Mantle ~> 1.5.6
- Update to FMDB ~> 2.5
- Use new error system. See
SGN_APIErrors.h
for domains, codes, and utility methods (all error methods onETA
class have been removed, and error domain has been renamed).
- Update to AFNetworking ~> 2.5.1
- Remove deprecated
urlName
&logoBackgroundColor
properties fromETA_Dealer
andETA_Branding
model objects.
- 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
- Documentation update
- Fixed CatalogView delegate removal issue
- 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
- Performs CatalogView requests in the background
- Minor bug fixes
- Better Examples project structure
- Now requires >= iOS 6.0 (Update to AFNetworking ~> 2.1)
- ETA_ListManager
- createListItem:offerID:...
now requires an item count. - Number of bug fixes
- Session migration bugfix
- Other minor bug fixes
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.
- Everything is new!