Skip to content

Latest commit

 

History

History
664 lines (460 loc) · 31.3 KB

CHANGELOG.md

File metadata and controls

664 lines (460 loc) · 31.3 KB

Apptimize SDK Change Log

Versions before 3.4.19 are not supported by Swift Package Manager or Carthage. Click the link to download the package directly.

3.6.2 - 12 September 2024

  • Fixed a rare crash on results posting

3.6.1 - 18 July 2024

  • Fixed a rare internal deadlock on metadata refresh

3.6.0 - 10 May 2024

  • added partnerID property

3.5.25 - 03 April 2024

  • Updated UserDefaults key in privacy manifest

3.5.24 - 14 March 2024

  • Added Airship SDK 18 support

3.5.23 - 01 March 2024

  • Added privacy manifest that declares the default data collected by the Apptimize SDK

3.5.22 - 06 February 2024

  • Fixed reporting for experiment participation on frequent user id changes

3.5.21 - 20 December 2023

  • Fixed a rare case when Apptimize could deadlock the app in background

3.5.20 - 29 September 2023

  • Added Airship 17 auto export

3.5.19 - 13 July 2023

  • Fixed a rare deadlock when running unit tests with Apptimize

3.5.18 - 06 July 2023

  • Fixed a rare crash on certain custom attribute names

3.5.17 - 18 November 2022

  • Added Application Group Support for watchOS and screen widgets via the ApptimizeAppGroup property
  • Performance enhancements

3.5.16 - 24 June 2022

  • Fixed a rare crash on iOS 15.5 when Apptimize exports experiment participations to mixpanel or localytics
  • Added iOS 16 beta 1 support

3.5.15 - 09 June 2022

  • Fix user ID export to mixpanel for cohort tracking

3.5.14 - 09 May 2022

  • Fixed regression with Pilot Groups and attribute handling

3.5.13 - 03 May 2022

  • Deprecated Apptimize.setMixpanelIdentity()

3.5.12 - 11 April 2022

  • Fixed a rare issue when under unstable network conditions Apptimize could hold a lock on the main thread during application launch

3.5.11 - 14 March 2022

  • Airship tag export improvements: clear tags on un-enrollment; performance enhancements

3.5.10 - 07 December 2021

  • Fixed a crash when developer mode is enabled and the websocket has not yet connected.

3.5.9 - 07 December 2021

  • Extended Airship integration. Now Apptimize automatically tracks Airship user id and channel tags updates

3.5.8 - 11 November 2021

  • Fixed getWinnerAndInstantUpdateInfo to return the correct list when forceVariant is used.
  • Allow Apptimize to fetch metadata and post results if application is awakened for background processing.

3.5.7 - 27 October 2021

  • Fixed timing of event capture during startup

3.5.6 - 15 October 2021

  • Deploy and packaging updates

3.5.5 - 15 October 2021

  • Improve performance when reading Airship tags

3.5.4 - 12 October 2021

  • Expose metadata sequence number to help troubleshooting

3.5.3 - 01 October 2021

  • Fixed a timing based crash when integrated with Airship SDK v15+

3.5.2 - 23 September 2021

  • Automatically call MixPanel (if present) with userId changes for cohort tracking

3.5.1 - 21 September 2021

  • Added ability to reset pilot targeting id by setting a nil value

3.5.0 - 19 August 2021

  • Support for Mixpanel cohorts
    • Add Apptimize.setMixpanelIdentity()

3.4.31 - 17 August 2021

  • Improved automatic start for WatchKit extensions

3.4.30 - 29 July 2021

  • Fixed an issue when preview experiment variants might lead to a crash
  • Disallow setting a UserID containing only whitespace.

3.4.29 - 27 July 2021

  • Fix a warning that incorrectly displayed UnserializableObjectEncountered at runtime when serializing NSNull. This did not result in any loss of data.
  • Stability enhancements

3.4.28 - 13 July 2021

  • Fix a warning when building projects using Apptimize on TV or Watch targets
  • Internal improvements

3.4.27 - 17 June 2021

  • Fixed an issue when Mixpanel.track() method could be counted twice
  • Improved data usage when application is started in background

3.4.26 - 21 May 2021

  • Fixed appstore deployment error due to quoted version string
  • Removed swift dependencies.
  • The minimum supported platforms for device pairing will now be as follows: iOS 13.0, macCatalyst 13.0, watchOS 6.0, tvOS 13.0.

3.4.25 - 10 May 2021

  • Build has been retracted

3.4.23 - 30 April 2021

  • Improved third-party framework support

3.4.22 - 26 April 2021

  • Fixed description of ApptimizeMetadataStateFlags
  • Improved RxCocoa support

3.4.21 - 17 March 2021

  • Updated ApptimizeInitialized notification logic
  • Added Catalyst applications support
  • Internal improvements

3.4.20 - 23 February 2021

  • Update deployment tools to include support for new architectures.

3.4.19 - 22 February 2021

  • Add support for swift package Swift Package Manager
  • Drop separate libraries for ApptimizeTV and ApptimizeWatch. These are now combined into a single xcframework and all have the same name Apptimize.
    • Zip packages now put content at root.
    • Catalyst builds now include arm64 for M1 Macs.
  • Internal improvements.

3.4.18 - 21 January 2021

  • Updated API documentation and Feature Variables support

3.4.17 - 18 January 2021

  • Improved logging for resources failing to load

3.4.16 - 15 January 2021

  • Build has been retracted

3.4.15 - 18 December 2020

  • Fix pairing handshake bug on production apps

3.4.14 - 17 December 2020

  • Changed misleading parameter type in waitForTestsToBecomeAvailable from NSTimeInterval to double

3.4.13 - 14 December 2020

  • Fixed framework version number that prevented AppStore submission
  • Export experiment participation to Mixpanel
  • Internal improvements
  • Removed deprecated Apptimize Variable Macros

3.4.12 - 10 December 2020

  • Build has been retracted

3.4.11 - 08 December 2020

  • Build has been retracted.

3.4.10 - 10 November 2020

  • Improved SDK behaviour with an invalid App Key
  • Clarified warning message in logs when previewing variants and visual is disabled or not supported on the platform (e.g. watchOS).

3.4.9 - 26 October 2020

  • Support more server-side sdk configuration via metadata
  • Deprecated ApptimizeTestRunNotification. Please use the following notifications as appropriate
    • ApptimizeParticipatedInExperimentNotification
    • ApptimizeEnrolledInExperimentNotification and ApptimizeUnenrolledInExperimentNotification

3.4.8 - 20 October 2020

  • Migrate to using XCFrameworks
    • Support ARM based simulators in XCode 12
    • Future platform support

3.4.7 - 07 October 2020

3.4.6 - 01 September 2020

  • Fix a crash when MainThreadChecker is enabled.
  • Remove unused library dependencies.

3.4.5 - 31 August 2020

  • Add support for EU region customers

3.4.4 - 10 August 2020

  • Fix a crash on iOS 14.0 (rarely on other iOS versions)

3.4.3 - 06 August 2020

  • Update podspec to include the swift version number.

3.4.2 - 04 August 2020

  • Fix framework module packaging.
    • Build now requires Always Embed Swift Standard Libraries
  • Update podspec to match new minumum deployment target.

3.4.1 - 23 July 2020

  • Disable clipboard check on iOS14+.

3.4.0 - 16 July 2020

  • Add metadata state monitoring function and listener. See documentation for Apptimize.metadataState, Apptimize.ApptimizeMetadataStateChangedNotification and Apptimize.ApptimizeResumedNotification

3.3.7 - 13 July 2020

  • Internal changes to prepare for future iOS SDK releases.

3.3.6 - 27 May 2020

3.3.5 - 19 May 2020

  • Enable developer mode websocket pairing from watchOS

3.3.4 - 23 March 2020

  • Allow wysywyg editor to select fonts available to the application
  • Allow wysywyg editor to use system fonts on iOS 13+ and show the correct system font on earlier versions

3.3.3 - 20 March 2020

  • Enforce blocking when forcing metadata refresh when using waitForTestsToBecomeAvailable:, ApptimizeUpdateMetadataTimeoutOption, or ApptimizeDelayUntilTestsAreAvailableOption.

3.3.2 - 20 February 2020

  • Add option to allow forced refresh of metadata at startup.

3.3.1 - 10 February 2020

  • Add support for watchOS applications.
  • Updated platform deployment targets
    • iOS 8.0
    • tvOS 10.0
    • watchOS 5.0
  • Add watchOS to CococaPods deployment.
  • Update documentation for watchOS release

3.3.0 - 28 January 2020

  • Support metadata-driven opt-in mechanism for integration with other analytics frameworks

3.2.6 - 27 January 2020

  • Fixed a rare crash in Google Analytics integration

3.2.5 - 18 December 2019

  • Fixed a rare deadlock on startup
  • iOS Data Protection state is now properly detected on simulators
  • setCustomerUserID is now delayed if Apptimize startup is delayed while iOS Data Protection prevents access to Apptimize files
  • Log warnings when calling an API when apptimize has delayed startup and the call cannot be completed
  • Improve documentation around file locking/encryption.

3.2.4 - 12 December 2019

  • Fixed a different memory leak introduced in 3.2.3.

3.2.3 - 14 November 2019

  • Fixed a memory leak when using UITableView and UICollectionView
    • Fixed a crash when dismissing a ViewController while the keyboard was visible.

3.2.2 - 07 November 2019

  • Revert memory leak fix to address unexpected crash

3.2.1 - 30 October 2019

  • Fixed a memory leak when using UITableView and UICollectionView

3.2.0 - 29 October 2019

  • Add integration with Airship SDK to enable coordinated experiments and messaging campaigns
  • Added Apptimize.instantUpdateAndWinnerInfo - to fetch instant update and winning experiment info

3.1.18 - 11 October 2019

  • Fix for dynamic variables of different types with same name

3.1.17 - 20 September 2019

  • Add ApptimizeInitializedNotification - called after setup is complete and tests are ready to be run

3.1.16 - 17 September 2019

  • Allow Apptimize.forceVariant to optionally show winners and hotfixes

3.1.15 - 31 July 2019

  • Updates to API documentation

3.1.14 - 23 July 2019

  • Fix a memory leak that may occur under specific circumstances

3.1.13 - 03 July 2019

  • Add support for accessing metadata & user defaults when application is using NFFileProtectionType NSFileProtectionComplete.
  • Delay Apptimize startup while iOS Data Protection prevents access to Apptimize files.
  • Handle null exception for missing build number while previewing variant with debug build.

3.1.12 - 13 May 2019

  • Add missing nullability tag
    • Fixes a warning when including the Apptimize header file.

3.1.11 - 03 April 2019

  • Fix ApptimizeDelayUntilTestsAreAvailable value being ignored

3.1.10 - 19 February 2019

  • Support for improved data export from SDK
    • Add ApptimizeParticipatedInExperimentNotification
    • Add ApptimizeEnrolledInExperimentNotification
    • Add ApptimizeUnenrolledInExperimentNotification
    • Deprecated ApptimizeTestRunNotification
    • Include test type and user information in ApptimizeTestInfo

3.1.9 - 01 February 2019

  • Enhanced internal performance metrics

3.1.8 - 10 December 2018

  • Support visual editing when used alongside RxCocoa/RxSwift.

3.1.7 - 16 November 2018

  • Ensure userHasParticipated in ApptimizeTestInfo is accurate for the duration of an experiment

3.1.6 - 05 October 2018

  • Address potential conflict between setPilotTargetingId and setCustomerUserId

3.1.5 - 28 August 2018

  • Fix rare deadlock when using setCustomerUserId at the same time as results are being generated

3.1.4 - 20 August 2018

  • Add support for importing Firebase events and attributes

3.1.3 - 17 August 2018

  • Further stability improvements surrounding threading.

3.1.2 - 16 August 2018

  • Stability improvements.

3.1.1 - 20 July 2018

  • Support proxies for pairing

3.1.0 - 24 May 2018

  • Support user-centric experiments:
    • Add (void)setCustomerUserID:(nullable NSString *)customerUserID;
    • Add (nullable NSString*)customerUserID;
    • Add (nonnull NSString*)apptimizeAnonUserID;
    • Deprecate [Apptimize userID] -- use [Apptimize apptimizeAnonUserID] instead

3.0.1 - 09 February 2018

  • Fix to ensure pasteboard isn't accessed when pairing is disabled

3.0.0 - 01 February 2018

  • Enable new Advanced Rollout features including phased rollout, variant safety switch, long term hold-outs, and user experience consistency.

2.20.24 - 07 December 2017

  • Pasteboard stability improvements.

2.20.23 - 01 December 2017

  • Optimize network traffic.

2.20.22 - 27 November 2017

  • Add support for Swift apps when using the tvOS SDK.

2.20.21 - 26 October 2017

  • Fix error in first run attribute for variant enrollment.

2.20.20 - 12 October 2017

  • Add annotations to the API to improve API usage from Swift apps

2.20.19 - 04 October 2017

  • Add additional logging to indicate whether this is a developer build or not.

2.20.18 - 14 September 2017

  • Fix an issue when importing Localytics standard events with nil parameters

2.20.17 - 07 September 2017

  • Add support for importing Localytics standard events

2.20.16 - 16 August 2017

  • Fix image caching issue forcing experiment data to redownload

2.20.15 - 09 August 2017

  • Fix an issue where screenshots weren't being updated when the visual editor is disabled.

2.20.14 - 03 August 2017

  • Stability improvements.

2.20.13 - 02 August 2017

  • Stop posting notifications for all variants set to "Show to all users"

2.20.12 - 28 July 2017

  • SDK versioning cleanup

2.20.11 - 27 July 2017

  • Add support for FBAudienceNetwork

2.20.10 - 24 July 2017

  • Minor internal technical improvements regarding memory management.

2.20.9 - 21 July 2017

  • Fix an issue where querying an undefined feature flag can result in a dynamic variable being created unintentionally

2.20.8 - 19 July 2017

  • SDK setup and load time optimizations

2.20.7 - 12 July 2017

  • Export Amplitude custom attributes for targeting and filtering.

2.20.6 - 06 July 2017

  • Fix an issue where results fail to post if a custom attribute of an unsupported type is set by the Segment integration.

2.20.5 - 05 July 2017

  • Add front page summary text to the API documentation.

2.20.4 - 29 June 2017

  • Add Visual Support for Cedar testing framework. Resolve conflicts with spying on visual elements.

2.20.3 - 23 June 2017

  • Add additional logging output for experiment data

2.20.2 - 09 June 2017

  • Major API documentation overhaul. Added Swift method names and updated all API descriptions.

2.20.1 - 08 June 2017

  • Added ApptimizeEnableVisualSupport to public options for Info.plist.
  • Added additional type information for dynamic variable methods.

2.20.0 - 25 May 2017

  • Add new object-oriented API, ApptimizeVariable, for dynamic variables.

2.19.2 - 23 May 2017

  • Migrate documentation from CocoaDocs

2.19.1 - 11 May 2017

  • Export Localytics custom dimensions for targeting and filtering.

2.19.0 - 18 April 2017

  • Apptimize Apple TV Support Added

2.18.3 - 07 April 2017

  • Fix for advance verify

2.18.2 - 29 March 2017

  • Add a new flag, ApptimizeEnableThirdPartyEventExportingOption, to enable or disable automatic export of Apptimize events to third party services.

2.18.1 - 20 March 2017

  • Stability fix for the WYSIWYG Editor

2.18.0 - 17 February 2017

  • Convert Apptimize.Framework from static to dynamic framework
  • Stability fix for the WYSIWYG Editor

2.17.1 - 24 January 2017

  • Fix testInfo retention on experiment changes

2.17.0 - 09 December 2016

  • Add ApptimizeTestsProcessedNotification for notification of Apptimize project reprocessing
  • Fix Autointegration Localytics 4.x

2.16.18 - 29 November 2016

  • Method for Appboy integration

2.16.17 - 21 November 2016

  • Fix for WYSIWYG and NSAttributedText in UILabel and UIButton.
  • Disable Apptimize SDK for iOS 7 and lower.
  • Fix rare crash when persisting events

2.16.16 - 20 October 2016

  • Fix rare resetting of a user's GUID
  • Fix possible delay at startup with a paired clipboard between iOS 10 and Sierra

2.16.15 - 14 October 2016

  • Address screen flickering during WYSIWYG on iOS 7+.
  • Fix incorrect dynamic variable default value under link time optimization.

2.16.14 - 20 September 2016

  • Address WYSIWYG programmatic startup bug

2.16.13 - 31 August 2016

  • iOS 10 support: Fix UILabel initially black background. Fix screenshot alpha blending.

2.16.12 - 10 August 2016

  • Add support for Amplitude 3.7+

2.16.11 - 05 August 2016

  • Fix cleanup bug in migration code that crashed Realms et. al. on simulator

2.16.10 - 27 July 2016

  • Work around iOS UIImage threading bugs on ios 8 and 9

2.16.9 - 22 July 2016

  • Stability improvements around local file storage, including migration

2.16.8 - 15 June 2016

  • Stability improvements

2.16.7 - 10 June 2016

  • Stability improvements

2.16.6 - 02 June 2016

  • Stability improvements

2.16.5 - 06 May 2016

  • Stability improvements
  • Visual changes to labels with nil text

2.16.4 - 18 April 2016

  • Support for FBAudienceNetwork

2.16.3 - 08 April 2016

  • Amplitude auto import of events
  • Visual experiment improvements
  • Targeting bug fix

2.16.2 - 26 February 2016

  • Improve localytics integration
  • Stability improvements

2.16.1 - 16 February 2016

  • Improve handling of layout in visual editor

2.16.0 - 29 January 2016

  • Beta release of: Feature Flags and Pilot Targeting To join the beta program please contact us. No changes to normal functionality.

2.15.6 - 27 January 2016

  • Improve SDK stability

2.15.5 - 18 January 2016

  • Performance improvements

2.15.4 - 28 December 2015

  • Improve SDK stability

2.15.3 - 10 December 2015

  • Fix crash generating snapshots of views with frames set to CGRectNull

2.15.2 - 9 December 2015

  • Export experiment participation to Localytics
  • Fix intermittent issue saving events to disk

2.15.1 - 19 November 2015

  • Fix rare intermittent crash in result logging

2.15.0 - 23 October 2015

  • Autoimport Localytics events

2.14.2 - 13 October 2015

  • Fixed a problem with UIViewController hierarchies when willMoveToParentViewController was called with the wrong new parent
  • Fixed an intermittent crash using custom properties
  • Fixed a first-time-use NSKeyedUnarchiver warning

2.14.1 - 7 October 2015

  • wysiwyg performance improvements for advanced verify

2.14.0 - 22 September 2015

  • iOS9 support for bitcode & ATS (https)

2.13.1 - 10 September 2015

  • Fix rare crash while background the app

2.13.0 - 3 September 2015

  • Swift support for code blocks

2.12.2 - 25 August 2015

  • Fixing warning messages related to symbols # BUG-603

2.12.1 - 6 August 2015

  • Bug fixes for two cases where nil external data would crash the app

2.12.0 - 24 July 2015

  • Added [Apptimize setOffline:flag] and [Apptimize isOffline]
  • Improved event logging performance

2.11.1 - 13 July 2015

  • Added Apptimize API for: [Apptimize getVariants]
  • Fixed a crash when a UIViewController is being deallocated when its viewDidLoad method is called
  • Fixed a minor memory leak
  • Improved session-length reporting
  • Minor cleanup of documentation

2.11.0 - 22 May 2015

Features:

  • To aid in QA, Apptimize now supports the progrmamatic forcing of variants.
  • Apptimize can now be disabled programmatically to aid compliance with user requests for privacy.

Bug Fixes:

  • Dynamic Variables no longer come burdened with warnings when created in Objective-C++ files.
  • Classes that wrap scroll views and pretend themselves to be scroll views will no longer trip up the visual editor.

Apptimize SDK for iOS Change Log 2.10.0.1 - 3 May 2015

  • segment integration - since this is only for segment for now, and will then be included subsequent releases this sdk is a one off.

2.10.0 - 27 April 2015

  • User Attributes now support boolean values.
  • Apptimize will now respond differently to adverse network conditions (and not try too aggressively to update test data.)
  • ApptimizeTestInfo now exposes the Apptimize test and variant IDs for currently-enrolled tests.
  • All existing deprecated methods have been purged.
  • Dynamic Variables can no longer be defined in multiple files.
  • Apptimize now supports advanced targeting features.

The following changes from 2.9.5 and 2.9.4.1 are included in this release:

  • Apptimize is now more resilient in the face of particular Objective-C forwarding mechanics.
  • API integration endpoints for Segment have been added.
  • Apptimize will now avoid getting into fights with views over who gets to lay out when.
  • Apptimize will now have better behaviour when the alpha of a view is NaN or +/-Infinity (which is apparently completely acceptable.)

2.9.5 - 23 April 2015

  • Bug fixes

2.9.4 - 17 March 2015

  • This build fixes a rotation ussie seen on iOS 8 and above.
  • Apptimize is now more resilient in the face of UIKit abuses. A UIView instance with an alpha of NaN will no longer cause you trouble.

2.9.3 - 26 February 2015

  • Apptimize is now more resilient to receiving incorrect data as part of its upgrade and migration process
  • Apptimize is now more resilient to issues caused during the first stage of kill switch activation
  • We will no longer try to update test information when the app is trying to background

2.9.2 - 05 February 2015

  • Apptimize is now more resilient in the face of KVO-observed classes.
  • Mixpanel imports with other formats in the superproperties for results is now handled better. (JSON sanitization).