forked from mixpanel/mixpanel-iphone
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES
348 lines (228 loc) · 12.5 KB
/
CHANGES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
Changes with version v2.7.1 29 January 2015
Made it possible to copy and build from source
Solved a few issues: 1. XCode 6 stopped creating projects with
Prefix.pch files making it impossible to manually build the Mixpanel
folder in a new project. We removed our own pch file and imported
UIKit as required. 2. Removed calls to MPLog. They were causing spam
in production apps, and we should only be using MixpanelDebug and its
counterparts.
Changes with version v2.7.0 27 January 2015
Some convenience features
We've added the following features to the library: 1. The library
will now automatically attempt to connect to the A/B Test designer
while in the DEBUG build config. This removes the need for constant
option+click silliness but can be turned off using the
DISABLE_MIXPANEL_AB_DESIGNER flag. 2. In addition to joinExperiments,
there is now a joinExperimentsWithCallback method that will allow
developers to run code only after all experiments have been downloaded
and applied. An inapp-notifications test was also updated.
Changes with version v2.6.2 05 December 2014
Fix NSCoding serialization failure
Fixes issue https://github.com/mixpanel/mixpanel-iphone/issues/201.
Changes with version v2.6.1 03 December 2014
Compatibility with MoPub
Some users reported problems with the 2.6.0 release conflicting with
MoPub as both projects have a `MPLogging.h`. This release changes the
name to `MPLogger.h` to avoid the conflict.
Changes with version v2.6.0 21 November 2014
Visual Event Tracking
This release allows our customers to define new elements to be tracked
in their app dynamically without having to re-release to the app
store.
Changes with version v2.5.4 08 October 2014
Default distinct_id for decide queries
Users no longer have to be identified before querying
decide.mixpanel.com. This will allow customers to use features like
A/B testing without signing up for a People plan.
Changes with version v2.5.3 16 September 2014
iOS 8 changes & event timing
This release updates Mixpanel for the SDK changes and deprecations in
iOS 8. We have also added the ability to track elapsed time on your
events. There are also some bugfixes to optimize the loading of images
in A/B tests.
Changes with version v2.5.2 12 September 2014
Notification timing + bugfixes
This release allows you to control the timing of mini notifications
that appear on screen by setting the
`miniNotificationPresentationTime` property on `Mixpanel` There are
also some small bug fixes for A/B Testing. We now add the Designer
mode 4 finger gesture recognizer on the `keyWindow` instead of the
application delegate's `window` and there is a preprocessor flag for
disabling this feature. We have also removed automatic tracking of the
`$app_open' event Thanks also to @pws5068 and @ayanonagon for
contributions.
Changes with version v2.5.1 05 September 2014
Bug fixes for AB testing
This release contains fixes for some bugs that were found in v2.5.0
Thanks to @reddavis and @tooluser for the bug reports.
Changes with version v2.5.0 27 August 2014
A/B Testing
This release adds [Mixpanel A/B testing](https://mixpanel.com/mobile-
ab-testing/) for iOS To learn more about how it works, check out
the [docs](https://mixpanel.com/help/reference/ios#ab-testing)
Changes with version v2.4.2 21 August 2014
App Links
This release tracks Mixpanel events for [App
Links](http://applinks.org/) when you are using the
[Bolts](https://github.com/BoltsFramework/Bolts-iOS) iOS framework.
If your app uses Bolts and you use inbound or outbound App Links.
Mixpanel will track the following events. - `$al_nav_in` : When your
app is opened from an inbound app link - `$al_nav_out` : When your
app opens an outbound app link - `$al_ref_back_out` : When someone
navigates back to your app after an `$al_nav_out` These events will
show up in your mixpanel dashboard, and contain properties with
information about the App Link including the Referrer and URL. For
more info on App Links see: http://applinks.org/ For info on using
App Links with Bolts see: https://github.com/BoltsFramework/Bolts-iOS
#app-links
Changes with version v2.4.1 14 July 2014
Fix dates for locales without Gregorian calendars.
This fixes an issue where users whose phones are set to use non-
gregorian calendars (eg Japanese, Buddhist, Hebrew) would format date
properties incorrectly for Mixpanel. All event properties of type
NSDate should now be formatted as gregorian dates when send to the
Mixpanel API.
Changes with version v2.4.0 20 June 2014
2.4.0: Push notification tracking.
New methods now optionally track remote notifications based on
payloads. This will allow customers to view open rates similarly to
those available to emails and in-app messages. ``` + (Mixpanel
*)sharedInstanceWithToken:(NSString *)apiToken; -
(instancetype)initWithToken:(NSString *)apiToken
andFlushInterval:(NSUInteger)flushInterval; ``` can be changed to
``` + (Mixpanel *)sharedInstanceWithToken:(NSString *)apiToken
launchOptions:(NSDictionary *)launchOptions; -
(instancetype)initWithToken:(NSString *)apiToken
launchOptions:(NSDictionary *)launchOptions
andFlushInterval:(NSUInteger)flushInterval; ``` and a new method is
available for push notifications that are received while the app is
open. ``` - (void)trackPushNotification:(NSDictionary *)userInfo;
``` Also, more files will throw compiler errors when ARC is not
enabled.
Changes with version v2.3.6 10 May 2014
Fix reachability callback
This release fixes an issue that caused a crash when the Mixpanel
library received a reachability notification after it had been
deallocated.
Changes with version v2.3.5 18 April 2014
2.3.5: General bug fixes and improvements.
This release contains the following: - Image assets are in an Asset
Catalog - Podspec updated for Cocoapods 0.31.1 - Removed 'unused
variable' warnings. - We are now using `boundingRectWithSize` on iOS7
to compute font size for notifications - Show notifications on the
topmost *visible* view so they aren't hidden inside invisible views.
- Only track notifications when they are *really* shown. - Fixed
crash bug when tracking wifi/radio connectivity properties.
Changes with version v2.0.6 21 March 2014
Backport for v2.2.3 fixes to archiving.
This is a backport for apps that have not upgraded to ARC and intend
to support iOS 5. It is NOT intended to be the latest release.
Info: Fixed an issue where archiving synchronously on the serial
queue would block indefinitely.
Changes with version v2.3.4 19 March 2014
Reverted some changes from v2.3.3 to fix Podspec lint issues
Commits relating to XCode 5.1 warning suppression were reverted
because Cocoapods would not accept the podspec with a warning
suppression compiler flag. These commits will return in a later
release when we can find a cleaner solution.
Changes with version v2.3.3 14 March 2014
Fix for Landscape Takeovers Notifs, Tiny fixes for Xcode 5.1
In-App notifications set to type takeover were crashing landscape-only
apps. This version filters them out and logs the issue silently.
Xcode 5.1 presented some new warnings having to do with typecasting
(from double to float) that were fixed.
Changes with version v2.3.2 19 February 2014
Minor fix to in-app tracking timestamps
```[NSDate timeSinceReferenceDate]``` does not produce a standard unix
timestamp and was being used in an in-app notifications tracking call.
By changing it to ```[NSDate date]```, the mixpanel library is able
to handle the conversion from an NSDate object to the appropriate
timestamp further down the line. This tracking call only affects a
planned dashboard for in-app notifications and will not cause any
noticeable or functional changes to apps regardless of whether or not
they are using the feature.
Changes with version v2.3.1 04 February 2014
Only use IFA if AdSupport is included.
As of this version (2.3.1) Mixpanel no longer requires the
AdSupport.framework due to reports of app-store rejections for apps
that do not serve ads where Mixpanel is using the IFA to identify
users From now on, Mixpanel will detect if the host application is
using AdSupport.framework and, if so, will automatically continue to
use IFA as the default identifier. For apps that do not serve ads and
do not have the AdSupport.framework included, Mixpanel will now
default to using the identifierForVendor (IFV). Also thanks to
@orta, @ksm, and @dblock for some other bugfixes in this release.
Changes with version v2.3.0 22 January 2014
In-App Notifications
This release includes the new in-app notifications feature. See
https://mixpanel.com/inapp-notifications/
Changes with version v2.2.3 10 January 2014
Archive bug fix
Fixed an issue where archiving was locking up the main app thread when
a user backgrounded and immediately foregrounded his or her app.
Archiving also now copies relevant queue objects before archiving them
to avoid errors associated with nonatomic modifying of the originals.
Changes with version v2.2.2 19 December 2013
Fix survey presentation bug
There were circumstances where the Mixpanel library would attempt to
show a survey on top of a ViewController that was itself in the
process of going through a presentation transition, leading to a
NSInternalInconsistencyException. This release fixes the issue by
making sure that the current ViewController is not in the process of
being presented before showing a survey.
Changes with version v2.0.5 10 December 2013
Add MIXPANEL_NO_IFA to older version of lib
Apple's app review team may reject apps that use the AdSupport
framework's advertisingIdentifier (IFA) but do not show ads. The
MIXPANEL_NO_IFA preprocessor macro—you can set it in your target's
XCode build settings—will strip IFA usage out of the Mixpanel lib.
Instead of IFA, we'll use UIDevice's identifierForVendor as the
default Mixpanel distinct ID. This functionality is already in the
most recent versions of the lib. However, apps that still want to
support iOS 5 must use the 2.0.x releases. This release makes
MIXPANEL_NO_IFA available to them.
Changes with version v2.2.1 05 December 2013
Fix bug using surveys with iOS6.
This release fixes a bug in version 2.2.0 of the Mixpanel library
where surveys shown iOS6 devices would cause an application crash.
#### Cause We switched to using [boundingRectWithSize:options:attri
butes:context:](https://developer.apple.com/library/iOS/documentation/
UIKit/Reference/NSString_UIKit_Additions/Reference/Reference.html#//ap
ple_ref/occ/instm/NSString/boundingRectWithSize:options:attributes:con
text:) instead of the deprecated [sizeWithFont:](https://developer.app
le.com/library/iOS/documentation/UIKit/Reference/NSString_UIKit_Additi
ons/DeprecationAppendix/AppendixADeprecatedAPI.html#//apple_ref/occ/in
stm/NSString/sizeWithFont:) without doing a runtime check to see if
the feature was supported on the user's device. #### Affected users
Users were affected if all the following conditions were met. - The
user was running iOS6 - They were running an app using Mixpanel
library v2.2.0 - They were shown a [survey](https://mixpanel.com
/mobile-surveys/) #### Solution This release (2.2.1) fixes the
issue in the Mixpanel library. We have also modified our server code
so that affected users will *not* be shown surveys, and will therefore
not encounter the bug.
Changes with version v2.2.0 20 November 2013
ARC Compatibility
This release makes the Mixpanel library ARC compatible. If you were
previously using this library in an ARC-enabled project and you were
using the `-fno-objc-arc` flag on all Mixpanel files, you can now
remove that flag. If you are using Mixpanel in a project that
*doesn't* have ARC enabled, you will have to add the `-fobjc-arc` flag
to all the Mixpanel files. You can add and remove compiler flags
on a per-file basis in XCode, in your project settings under `Build
Phases > Compile Sources`.
Changes with version v2.1.0 30 October 2013
Surveys
Adds Mixpanel Surveys functionality.
Changes with version v2.0.4 24 October 2013
Super property persistence fix
Improves reliability of archiving and flushing on background.
Changes with version v2.0.3 21 October 2013
Time bug fix
We were setting the time on events and records inside async blocks.
This resulted in incorrect, delayed time values. Time is now set at
the moment track: or any of the Mixpanel People property methods,
e.g., set:, append:, etc., are called.
Changes with version v2.0.2 12 September 2013
64-bit compatibilty
Adds some required casting for 64-bit builds.