All Versions
68
Latest Version
Avg Release Cycle
38 days
Latest Release
1272 days ago

Changelog History
Page 5

  • v3.5.4 Changes

    November 28, 2016
    • ๐Ÿ“ˆ Fix: Fall back to using Segment integration when we cannot get settings.
  • v3.5.3 Changes

    November 07, 2016
    • โšก๏ธ Update cdn hostname from cdn.segment.com to cdn-settings.segment.com
  • v3.5.2 Changes

    October 10, 2016
    • ๐Ÿ“ˆ Fix: Fixed regression introduced in 3.5.0 that would generate a new anonymousId on every app launch.
  • v3.5.1 Changes

    October 05, 2016
    • Not a recommended version. Regression introduced in 3.5.0 will generate a new anonymousId on every app launch.

    • ๐Ÿ“ˆ Fix: Removed automatic bluetooth and location info collection to workaround app submission issues.

  • v3.5.0 Changes

    September 12, 2016
    • Not a recommended version. Regression introduced in 3.5.0 will generate a new anonymousId on every app launch.

    • ๐Ÿ“ˆ New: Adds a SEGCrypto API that can be used to configure the at rest encryption strategy for the client.

     SEGAnalyticsConfiguration *configuration = [SEGAnalyticsConfiguration configurationWithWriteKey:@"YOUR_WRITE_KEY"];
    
     // Set a custom crypto implementation. An AES-256 implementation is provided out of the box.
     configuration.crypto = [SEGAES256Crypto initWithPassword:"YOUR_PRIVATE_PASSWORD"];
    
     // Set any other custom configuration options.
     ...
    
     // Initialize the SDK with the configuration.
     [SEGAnalytics setupWithConfiguration:configuration]
    
    • New: Add the ability for the SDK to natively report attribution information via Segment integrations enabled for your project, without needing to bundle their SDKs. Attribution information is sent as a track call as documented in the mobile lifecycle spec.
     SEGAnalyticsConfiguration *configuration = [SEGAnalyticsConfiguration configurationWithWriteKey:@"YOUR_WRITE_KEY"];
    
     // Enable attribution tracking.
     configuration.trackAttributionData = @YES;
    
     // Set any other custom configuration options.
     ...
    
     // Initialize the SDK with the configuration.
     [SEGAnalytics setupWithConfiguration:configuration]
    
    • New: Add the ability for the SDK to disable bluetooth collection. Going forwards, bluetooth information will not be collected by default. This is because iOS 10 requires explicit documentation on why the CoreBluetooth APIs are accessed. If you enable this flag, your app's Info.plist must contain an NSBluetoothPeripheralUsageDescription key with a string value explaining to the user how the app uses this data. On this note, you should do the same for NSLocationAlwaysUsageDescription if you have shouldUseLocationServices set to @YES. If you are linking against iOS 10, you'll want to update to this version to prevent your app submission from being rejected (or provide NSBluetoothPeripheralUsageDescription and/or NSLocationAlwaysUsageDescription descriptions in your app's Info.plist).
     SEGAnalyticsConfiguration *configuration = [SEGAnalyticsConfiguration configurationWithWriteKey:@"YOUR_WRITE_KEY"];
    
     // Enable bluetooth collection.
     configuration.shouldUseBluetooth = @YES;
    
     // Set any other custom configuration options.
     ...
    
     // Initialize the SDK with the configuration.
     [SEGAnalytics setupWithConfiguration:configuration]
    
  • v3.4.0 Changes

    September 01, 2016
    • New: Adds a SEGRequestFactory API that can be used to configure the HTTP requests made by Segment.
     SEGAnalyticsConfiguration *configuration = [SEGAnalyticsConfiguration configurationWithWriteKey:@"YOUR_WRITE_KEY"];
    
     // Set a custom request factory which allows you to modify the way the library creates an HTTP request.
     // In this case, we're transforming the URL to point to our own custom non-Segment host.
     configuration.requestFactory = ^(NSURL *url) {
         NSURLComponents \*components = [NSURLComponents componentsWithURL:url resolvingAgainstBaseURL:NO];
         // Replace YOUR_PROXY_HOST with the address of your proxy, e.g. aba64da6.ngrok.io.
         components.host = @"YOUR_PROXY_HOST";
         NSURL \*transformedURL = components.URL;
         return [NSMutableURLRequest requestWithURL:transformedURL];
     };
    
     // Set any other custom configuration options.
     ...
    
     // Initialize the SDK with the configuration.
     [SEGAnalytics setupWithConfiguration:configuration]
    
    • New: Add method to retrieve anonymous ID.
     [[SEGAnalytics sharedAnalytics] getAnonymousId];
    
    • Improvement: Store context object with every event. This makes it more accurate collecting the context at the time the event was observed, rather than uploaded.

    • Improvement: Automatic screen tracking improvements, specifically in the case when the root view is a UINavigationController.

    • Improvement: Don't send Segment.io: false in integration dictionary.

    • Improvement: Friendly assert messages.

    • Fix: Namespace GZIP extension to avoid conflicts.

    • Fix: Fix assertion in identify method.

    • Fix: Static analyzer warnings for reachability implementation.

    • Fix: Handle case where screen name is empty.

  • v3.3.0 Changes

    May 08, 2016
    • New: Add Carthage support.
    • Fix: Flush timer behaviour. Previously it was not being invoked periodically as expected.
    • New: Automatically track campaign data.
     SEGAnalyticsConfiguration *configuration = [SEGAnalyticsConfiguration configurationWithWriteKey:@"YOUR_WRITE_KEY"];
     configuration.trackPushNotifications = YES;
     [SEGAnalytics setupWithConfiguration:configuration];
    
    • New: Automatically track deep links. Please note that you'll still need to call the continueUserActivity and openURL methods on the analytics client.
     SEGAnalyticsConfiguration *configuration = [SEGAnalyticsConfiguration configurationWithWriteKey:@"YOUR_WRITE_KEY"];
     configuration.trackDeepLinks = YES;
     [SEGAnalytics setupWithConfiguration:configuration];
    
    • Improvement: Limit queue size to 1000. This will prevent crashes/memory issues from the queue being too large.
    • Fix: Replace Foundation import with UIKit import.
    • Improvement: Exclude cache files from backup.
    • New: Add tvOS support.
    • New: Update context object with referrer information.
  • v3.2.6 Changes

    October 07, 2016
    • Improvement: Handle case when root view is a navigation controller.
    • Improvement: More user friendly assert messages.
    • New: Add method to retrieve anonymousID.
    • New: Carthage support.
    • Fix: Case when ViewController title is an empty string.
    • Improvement: Fixes the following static analyzer warnings.
     SEGReachability.m:115:9: Potential leak of an object stored into 'ref'
     SEGReachability.m:131:9: Potential leak of an object stored into 'ref'
    
  • v3.2.5 Changes

    • Fix: Correctly skip sending events for disabled events in the tracking plan.
  • v3.2.4 Changes

    August 06, 2016
    • Fix: Handle case when ViewController is named simply "ViewController".