-------------------------
2.3.1 - November 10, 2015
-------------------------
- Enhanced push token handling on every app launch.
- Automatic handling of didRegisterUserNotificationSettings callback for improved handling of push tokens in iOS 9.
- New API to enable push notifications.
- Added in internal analytics to better help debug integrations.

-------------------------
2.2.4 - October 28, 2015
-------------------------
- Turning off iOS 9 flag CLANG_ENABLE_MODULE_DEBUGGING & CLANG_ENABLE_MODULES to avoid linker warnings when integrating Kahuna SDK.

-------------------------
2.2.2 - September 23, 2015
-------------------------
- Enabled BITCODE + MODULES support for iOS9

-------------------------
2.2.0 - September 23, 2015
-------------------------
- Intelligent Events : Added new API for tracking events with properties. 
  NOTE : Please check with your CS representative before you use the Intelligent Events API.

-------------------------
2.1.0 
-------------------------
- Internal Alpha release. 

-------------------------
2.0.5 - Sept 17, 2015
-------------------------
- Enabled BITCODE support for iOS9. 
  NOTE : If you are using Xcode 6.* or lower for development then please use versions 2.0.3 and below.

-------------------------
2.0.3 - July 22, 2015
-------------------------
- Improved event processing for login and logout events.

-------------------------
2.0.2 - July 9, 2015
-------------------------
- Added improvements for trigger campaign event processing.

-------------------------
2.0.0 - May 15, 2015
-------------------------
- Introduced semantic versioning for Kahuna SDK.
- Introduced a new Login API that will allow multiple credentials to be submitted at the same time. 
- Removed the following APIs. (Each API has an alternative API supported)
   * setUserCredentialsWithKey:andValue -> Use loginWithCredentials API instead.
   * startWithKey			-> Use launchWithKey API instead.
   * startWithKey:andUsername:andEmail	-> Use launchWithKey & loginWithCredentials API instead.
   * startWithKey:andCredentials	-> Use launchWithKey & loginWithCredentials API instead.
   * launchWithKey:andUsername:andEmail	-> Use launchWithKey & loginWithCredentials API instead.
   * launchWithKey:andCredentials	-> Use launchWithKey & loginWithCredentials API instead.
- Modified API getUserCredentials's return type. This API now returns a KahunaUserCredentials object instead of a dictionary.
- Added new API createUserCredentials which will create an empty KahunaUserCredentials object.
  
UPGRADE GUIDE for above changes : https://www.usekahuna.com/tap/getstarted/ios/upgrading/ 

-------------------------
571 
-------------------------
- Added improvements for trigger campaign event processing. Feature released in SDK version 2.0.2.

-------------------------
570 - April 29, 2015
-------------------------
- Moved persistent store to a new location.

-------------------------
564 - April 10, 2015
-------------------------
- Added logic to make internal configurations downgrade compatible with older SDK versions.

-------------------------
556 - March 31, 2015
-------------------------
- Additional checksums added to cover all the data being passed from the SDKs to the server.
- Fixed checksum logic for event data that can have dictionary keys with diacritic characters.
- Added in 3 additional user credential keys for tracking userId, install token and google plus id.

-------------------------
550 - March 2, 2015
-------------------------
- API startWithKey and its variants have been deprecated in favor of API launchWithKey and its variants. 
  The new API 'launchWithKey' will have to be called inside the app's didFinishLaunchingWithOptions delegate callback.
  This change is critical for app launch events (e.g. region monitoring events) to reach our servers on time 
  for trigger campaigns.
- To ensure data integrity, checksums are being added to event data.
- Traffic shaping enhancements for trigger campaign events.

-------------------------
530 - February 6, 2015
-------------------------
- Removed API removeUserCredentialForKey as it is not supported. 

-------------------------
520 - January 8, 2015
-------------------------
- Code optimizations.

-------------------------
514 - December 2, 2014
-------------------------
- Traffic Shaping enhancements phase II.

-------------------------
512 - November 14, 2014
-------------------------
- Enhancements and error checking for server transactions.

-------------------------
511 - November 14, 2014
-------------------------
- Traffic Shaping enhancements.

-------------------------
510 - November 6, 2014
-------------------------
- Collating user attributes once per batch to reduce network payload sizes.
- KahunaPushNotificationDelegate removed in favor of the new KahunaDelegate. This
  change was done in SDK 466 itself.

-------------------------
503 - October 15, 2014
-------------------------
- Added region monitoring improvements to locate users inside a region.

-------------------------
498 - October 1, 2014
-------------------------
- Added backward compatibility fix for iOS6 devices.

-------------------------
496 - September 16, 2014
-------------------------
- Minor bug fix to Region Minoring to support regions that expire far into the future.
- Added applicationState to the kahunaDelegate method kahunaPushMessageReceived. 
  This state can be used to determine the state in which the push was received. 

-------------------------
478 - August 7, 2014
-------------------------
- Code improvements to make submissions to apple easier.

-------------------------
474 - August 1, 2014
-------------------------
- Added logic to ensure location manager does not start on a background thread as that can 
  result in location delegates not being fired.
- Issue noticed in version 472 with backgrounding & foreground the app frequently has been fixed.

-------------------------
473 - July 31, 2014
-------------------------
- Performance improvement to Region Monitoring reporting.
- Renamed internal variables to address apple's static analysis showing warnings.

-------------------------
472 - July 30, 2014
-------------------------
- Added in optional support for Region Monitoring (Beta).

-------------------------
470 - July 25, 2014
-------------------------
- SDK class names have KAH prefixes to avoid namespace collisions with other SDKs
- Better type checking of strings

-------------------------
466 - July 21, 2014
-------------------------
- Added in more efficient batching of requests for conversion campaigns.
- Using GCD for SDK API calls.
- Using ARC in place of manual reference counting.

-------------------------
461 - July 11, 2014
-------------------------
- Added support for app icon badging.
- Internal code optimizations
- Randomized back off in case of network connectivity issues.

-------------------------
459 - June 25, 2014
-------------------------
- Added support for iOS 8.0 Actionable Push Notifications.

-------------------------
442 - June 6, 2014
-------------------------
- Added support for getting bundle Ids for App specific campaign targeting.
- Added support for getting short bundle version.
- Added log prefixing with “Kahuna” 

-------------------------
437 - May 30, 2014
-------------------------
- Added in support for integration test feature 'Find My Device'
- Added in support for obtaining user timezone and language preferences for better campaign targeting.

-------------------------
429 - May 23, 2014
-------------------------
- Fixes for memory leaks.

-------------------------
404 - May 5, 2014
-------------------------
- Bug fix for a potential crash.

-------------------------
403 - April 25, 2014
-------------------------
- Refactoring code, bug fixes. Support for server configuration, In app messaging, single secret key.

-------------------------
400 - April 15, 2014
-------------------------
- We are migrating data out of NSUserDefaults into our own private data store. The reason
for this move is some crashes that were reported to us when the SDK tries to synchronize
the NSUserDefaults. NSUserDefaults being a common store for the app and all the SDK it 
loads, this is always a potential risk for our SDK. Typical reason for crash is a doubly 
released object that still is retained by the NSUserDefaults.

-------------------------
391 - March 28, 2014
-------------------------
- Critical bug fix for deepIntegration mode.

-------------------------
390 - March 24, 2014
-------------------------
- Added new API “setDeepIntegrationMode”. setDeepIntegrationMode allows the host application to deeply integrate with Kahuna SDK. This allows Kahuna to capture
vital information for building effective campaigns.
- Reduction of network traffic by reducing payload sizes.

-------------------------
359 - February 19, 2014
-------------------------
- Added in new API method "getKahunaDeviceId".

-------------------------
313 - December 20, 2013
-------------------------
- Added in 64-bit support.

-------------------------
283 - November 6, 2013
-------------------------
- Added in regular flushing of cached User Credentials to the Kahuna Servers to aid in any server side data repairs should they arise.
- Added in 1000 count limit to event archiving.
- Minor Fix to hide all NSLog debug logs if debug mode is disabled.

-------------------------
260 - September 27, 2013
-------------------------
- Minor bug fix for race condition causing CFRelease(nil) exception under extremely rare thread context switching.
- Renamed internal callback function to better co-exist with existing apps which use the external Tony Million library.

-------------------------
251 - September 10, 2013
-------------------------
- Added in new API method "startWithKey andCredentials" to help new integrators ease
  into implementation. Existing integrations can continue using "setUserCredential" 
  API for their existing user credential handling.

-------------------------
246 - August 27, 2013
-------------------------
- Added in new delegate to support a dictionary of extra values to be received when a Push is configured.
- Removed older deprecated functions from the header file and from implementation that we are 
  no longer supporting including:
--- (void) startKahunawithKey: (NSString *) kahunaSecretKey
--- (void) startKahunaWithKey: (NSString *) kahunaSecretKey
--- (void) setUsername: (NSString *) usernamePassed
--- (void) setUserName: (NSString *) userNamePassed
--- (void) setUserEmail:(NSString *) userEmailPassed

-------------------------
225 - July  22, 2013
-------------------------
- Fixed minor bug to properly escape strings that contain any quotes from events, credentials or attributes.

-------------------------
223a - July 12, 2013
-------------------------
- Crash fix found from V223 SDK when Pushing notification.

-------------------------
223 - July 11, 2013
-------------------------
- Changed SDK Production Url target.

-------------------------
222 - July 10, 2013
-------------------------
- Fixed minor bug related to sending up count&value information in the trackEventWithCountAndValue API call.

-------------------------
219 - June 27, 2013
-------------------------
- Added URL encoding to all parameters of each post parameter to handle event names with special characters.

-------------------------
216 - June 7, 2013
-------------------------
- Fixed concurrency bugs. SDK now supports tracking concurrent events across multiple threads at once.
- Added internal unique identifies to each event for better tracking across similar named/timed events.

-------------------------
212 - May 24, 2013
-------------------------
- Deprecated exising start method "startKahunaWithKey" in favor of just "startWithKey" to
  reduce wordiness of API call.
- Added in new API method "startWithKey andUsername andEmail" to help new integrators ease
  into implementation and verify with new checks in the gettingStarted Guide. Existing integrations
  can continue using "setUserCredential" API for their existing user credential handling.
- Renamed user credential Macros in the header file to prepend "KAHUNA_" in order to reduce
  potential conflicts of these Macros already being defined in the user app.

-------------------------
202 - May 4, 2013
-------------------------
- Added in new API for setting other user credentials such as Facebook, Twitter, Linkedin, and other custom ones.
- Added in new API for adding count and value information to custom events for purchase info.
- Deprecated existing API for setUsername.
- Deprecated existing API for setEmail.
