v4.3.0 (2024-07-19)
- Enable cross SDK communication for registering super properties. #628
v4.2.7 (2024-05-04)
- Remove all internal tracking and fix crashes caused by it #646
v4.2.6 (2024-04-19)
- Fix the crash for FlushRequest.sendRequest #642
v4.2.5 (2024-04-08)
- feat: Proxy server header capability #628
v4.2.4 (2024-03-27)
v4.2.3 (2024-03-25)
- Make privacy manifest a resource #636
v4.2.2 (2024-03-18)
v4.2.1 (2024-03-14)
- Prevent crashes in unregisterSuperProperty #623
v4.2.0 (2023-11-13)
- add a new property 'flushBatchSize' for fine tuning the network request #617
- Fixes so project builds for visionOS #618
v4.1.4 (2023-07-19)
- Re-work thread safety mechanisms for flush process #611
v4.1.3 (2023-06-16)
- Fix potential crash automatic properties #608
v4.1.2 (2023-05-17)
v4.1.1 (2023-04-28)
- create indexes and enable WAL journal_mode #600
v4.1.0 (2023-03-23)
Starting from this version, we have added a new optional boolean parameter performFullFlush to the flush() method. Default to false
, a partial flush will be executed for reducing memory footprint. The updated flush() is as follows:
/*
- parameter performFullFlush: A optional boolean value indicating whether a full flush should be performed. If `true`, a full flush will be triggered, sending all events to the server. Default to `false`, a partial flush will be executed for reducing memory footprint.
- parameter completion: an optional completion handler for when the flush has completed.
*/
public func flush(performFullFlush: Bool = false, completion: (() -> Void)? = nil)
- Set the number of events per flush to 1,000 to reduce memory footprint #596
- Fix CI pod lint: no longer need to exclude watchos #593
v4.0.6 (2023-03-15)
- bump the versions to ios11, tvOS11, macOS1013 and watchOS4 #592
v4.0.5 (2023-03-01)
- Access the timedEvents property inside of a readWriteLock. #588
- Disable watchOS builds in CI #587
- Check flush interval > 0 inside the dispatch block #583
- SwiftUI preview fix #581
- Setting explicit autorelease frequency #579
- Update iOS.yml #577
- bump podspec deployment targets #575
v4.0.4 (2022-11-02)
v4.0.3 (2022-09-19)
- Mark final attribute in MixpanelManager #553
- add an option for 'createAlias' for not calling identify #547
- strip whitespace in MPDB token #561
v4.0.2 (2022-09-13)
- always use serverURL #560
v4.0.1 (2022-09-09)
- dont initialize AutomaticEvents if trackAutomaticEvents is false #559
v4.0.0 (2022-08-16)
- Remove Decide and make trackAutomaticEvents required parameter #545
v3.5.1 (2022-07-18)
- Send time as Decimal to avoid 32-bit max int #551
v3.5.0 (2022-07-06)
- add support for multiple instances under the same token #549
v3.4.0 (2022-06-30)
- add an option for 'createAlias' for not calling identify #547
When you call the API createAlias
, there is an implicit identify
call inside the API done for you. This will keep your signup funnels working correctly in most cases. However, if that is not what you want, this PR will allow you to not call identify
by specifying andIdentify
to false
.
Please also note: With Mixpanel Identity Merge enabled, calling alias is no longer required but can be used to merge two IDs in scenarios where identify
would fail.
v3.3.0 (2022-06-24)
- use millisecond precision for event time property #546
v3.2.6 (2022-05-20)
- remove survey #544
v3.2.5 (2022-05-06)
- get lib name and version from super props #543
v3.2.4 (2022-05-05)
- track implementation and each launch #541
- pass completion handler to flush on background #542
v3.2.3 (2022-04-29)
- Add additional SDK internal tracking #540
v3.2.2 (2022-04-26)
- only put $distinct_id on People records #539
v3.2.1 (2022-04-21)
- Add Dev NPS Survey Log & semaphore.signal() in Decide #537
v3.2.0 (2022-04-11)
- Allow setting server URL during initialization #530
- check for ios app on mac in automatic props #521
v3.1.7 (2022-03-23)
- Check if automatic events flag is set before flushing #526
v3.1.6 (2022-03-09)
- Fix deadlock in initialization #525
v3.1.5 (2022-02-19)
- Fix
disk I/O error
caused by race condition from multiple initializations with the same token #519
v3.1.4 (2022-02-11)
- Fixes for several race conditions and sqlite warnings #517
v3.1.3 (2022-02-03)
- Fix automatic events settings #511
v3.1.2 (2022-01-26)
v3.1.1 (2022-01-21)
- Fix the reset completion block not being triggered by @zihejia in #505
- Set content-type to application/json by @jaredmixpanel in #506 This will avoid events being rejected by the server if any string contains "& % ".
Full Changelog: https://github.com/mixpanel/mixpanel-swift/compare/v3.1.0...v3.1.1
v3.1.0 (2022-01-13)
Caution: In this version, we have a bug that event names with &
or %
will be rejected by the server. We recommend you update to 3.1.1 or above.
- Add useUniqueDistinctId parameter to initialize #500
- Remove base64 encoding #499
- Add superProperties param to initialize #498
- Fix incorrect app version property #497
- Fix
First App Open
not always being able to be triggered #496
Merged pull requests:
- Add completion closure to async apis
reset\(\)
,identify\(\)
andcreateAlias\(\)
#468
v3.0.0 (2022-01-02)
-
Messages & Experiments feature removal, for more detail, please check this post:
-
Upgrade offline tracking storage with SQLite, it will:
- Reduce crashes caused by race conditions for serializing data
- Greatly improve the performance for intensive tracking needs
- Fix the memory leaks
- Be a non-functional change and transparent to all users, the new version will take care of migrating data from the NSKeyedArchiver files to SQLite DBs, no data will be lost.
v2.10.4 (2021-12-14)
Closed issues: