@snowplow/react-native-tracker 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8,8 +8,6 @@
8
8
 
9
9
  /* Begin PBXBuildFile section */
10
10
  0562F54E146600A44BDEF45D /* libPods-RNSnowplowTracker.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8E15379B78A468FF69B0BDCA /* libPods-RNSnowplowTracker.a */; };
11
- 75D5EB7C2293B157005C8629 /* RCTConvert+Snowplow.m in Sources */ = {isa = PBXBuildFile; fileRef = 75D5EB7B2293B157005C8629 /* RCTConvert+Snowplow.m */; };
12
- 75D5EB7E2293B206005C8629 /* RCTConvert+Snowplow.h in Headers */ = {isa = PBXBuildFile; fileRef = 75D5EB7A2293B157005C8629 /* RCTConvert+Snowplow.h */; settings = {ATTRIBUTES = (Private, ); }; };
13
11
  75D5EB7F2293B206005C8629 /* RNSnowplowTracker.h in Headers */ = {isa = PBXBuildFile; fileRef = B3E7B5881CC2AC0600A0062D /* RNSnowplowTracker.h */; settings = {ATTRIBUTES = (Private, ); }; };
14
12
  B3E7B58A1CC2AC0600A0062D /* RNSnowplowTracker.m in Sources */ = {isa = PBXBuildFile; fileRef = B3E7B5891CC2AC0600A0062D /* RNSnowplowTracker.m */; };
15
13
  /* End PBXBuildFile section */
@@ -29,8 +27,6 @@
29
27
  /* Begin PBXFileReference section */
30
28
  134814201AA4EA6300B7C361 /* libRNSnowplowTracker.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRNSnowplowTracker.a; sourceTree = BUILT_PRODUCTS_DIR; };
31
29
  4D25182CF98251495D063E8A /* Pods-RNSnowplowTracker.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RNSnowplowTracker.release.xcconfig"; path = "Target Support Files/Pods-RNSnowplowTracker/Pods-RNSnowplowTracker.release.xcconfig"; sourceTree = "<group>"; };
32
- 75D5EB7A2293B157005C8629 /* RCTConvert+Snowplow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "RCTConvert+Snowplow.h"; sourceTree = "<group>"; };
33
- 75D5EB7B2293B157005C8629 /* RCTConvert+Snowplow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "RCTConvert+Snowplow.m"; sourceTree = "<group>"; };
34
30
  7D2A97B8BEC452B270B0AA54 /* Pods-RNSnowplowTracker.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RNSnowplowTracker.debug.xcconfig"; path = "Target Support Files/Pods-RNSnowplowTracker/Pods-RNSnowplowTracker.debug.xcconfig"; sourceTree = "<group>"; };
35
31
  8E15379B78A468FF69B0BDCA /* libPods-RNSnowplowTracker.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-RNSnowplowTracker.a"; sourceTree = BUILT_PRODUCTS_DIR; };
36
32
  B3E7B5881CC2AC0600A0062D /* RNSnowplowTracker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RNSnowplowTracker.h; sourceTree = "<group>"; };
@@ -68,8 +64,6 @@
68
64
  58B511D21A9E6C8500147676 = {
69
65
  isa = PBXGroup;
70
66
  children = (
71
- 75D5EB7A2293B157005C8629 /* RCTConvert+Snowplow.h */,
72
- 75D5EB7B2293B157005C8629 /* RCTConvert+Snowplow.m */,
73
67
  B3E7B5881CC2AC0600A0062D /* RNSnowplowTracker.h */,
74
68
  B3E7B5891CC2AC0600A0062D /* RNSnowplowTracker.m */,
75
69
  134814211AA4EA7D00B7C361 /* Products */,
@@ -94,7 +88,6 @@
94
88
  isa = PBXHeadersBuildPhase;
95
89
  buildActionMask = 2147483647;
96
90
  files = (
97
- 75D5EB7E2293B206005C8629 /* RCTConvert+Snowplow.h in Headers */,
98
91
  75D5EB7F2293B206005C8629 /* RNSnowplowTracker.h in Headers */,
99
92
  );
100
93
  runOnlyForDeploymentPostprocessing = 0;
@@ -183,7 +176,6 @@
183
176
  isa = PBXSourcesBuildPhase;
184
177
  buildActionMask = 2147483647;
185
178
  files = (
186
- 75D5EB7C2293B157005C8629 /* RCTConvert+Snowplow.m in Sources */,
187
179
  B3E7B58A1CC2AC0600A0062D /* RNSnowplowTracker.m in Sources */,
188
180
  );
189
181
  runOnlyForDeploymentPostprocessing = 0;
@@ -0,0 +1,33 @@
1
+ //
2
+ // NSDictionary+RNSP_TypeMethods.h
3
+ //
4
+ // Copyright (c) 2021-2022 Snowplow Analytics Ltd. All rights reserved.
5
+ //
6
+ // This program is licensed to you under the Apache License Version 2.0,
7
+ // and you may not use this file except in compliance with the Apache License
8
+ // Version 2.0. You may obtain a copy of the Apache License Version 2.0 at
9
+ // http://www.apache.org/licenses/LICENSE-2.0.
10
+ //
11
+ // Unless required by applicable law or agreed to in writing,
12
+ // software distributed under the Apache License Version 2.0 is distributed on
13
+ // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
14
+ // express or implied. See the Apache License Version 2.0 for the specific
15
+ // language governing permissions and limitations there under.
16
+ //
17
+ // Copyright: Copyright (c) 2022 Snowplow Analytics Ltd
18
+ // License: Apache License Version 2.0
19
+ //
20
+
21
+ #import <Foundation/Foundation.h>
22
+
23
+ NS_ASSUME_NONNULL_BEGIN
24
+
25
+ @interface NSDictionary (RNSP_TypeMethods)
26
+
27
+ - (nullable NSString *)rnsp_stringForKey:(NSString *)key defaultValue:(nullable NSString *)defaultValue;
28
+ - (nullable NSNumber *)rnsp_numberForKey:(NSString *)key defaultValue:(nullable NSNumber *)defaultValue;
29
+ - (BOOL)rnsp_boolForKey:(NSString *)key defaultValue:(BOOL)defaultValue;
30
+
31
+ @end
32
+
33
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,40 @@
1
+ //
2
+ // NSDictionary+RNSP_TypeMethods.m
3
+ //
4
+ // Copyright (c) 2021-2022 Snowplow Analytics Ltd. All rights reserved.
5
+ //
6
+ // This program is licensed to you under the Apache License Version 2.0,
7
+ // and you may not use this file except in compliance with the Apache License
8
+ // Version 2.0. You may obtain a copy of the Apache License Version 2.0 at
9
+ // http://www.apache.org/licenses/LICENSE-2.0.
10
+ //
11
+ // Unless required by applicable law or agreed to in writing,
12
+ // software distributed under the Apache License Version 2.0 is distributed on
13
+ // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
14
+ // express or implied. See the Apache License Version 2.0 for the specific
15
+ // language governing permissions and limitations there under.
16
+ //
17
+ // Copyright: Copyright (c) 2022 Snowplow Analytics Ltd
18
+ // License: Apache License Version 2.0
19
+ //
20
+
21
+ #import "NSDictionary+RNSP_TypeMethods.h"
22
+
23
+ @implementation NSDictionary (RNSP_TypeMethods)
24
+
25
+ - (nullable NSString *)rnsp_stringForKey:(NSString *)key defaultValue:(nullable NSString *)defaultValue {
26
+ NSObject *obj = [self objectForKey:key];
27
+ return [obj isKindOfClass:NSString.class] ? (NSString *)obj : defaultValue;
28
+ }
29
+
30
+ - (nullable NSNumber *)rnsp_numberForKey:(NSString *)key defaultValue:(nullable NSNumber *)defaultValue {
31
+ NSObject *obj = [self objectForKey:key];
32
+ return [obj isKindOfClass:NSNumber.class] ? (NSNumber *)obj : defaultValue;
33
+ }
34
+
35
+ - (BOOL)rnsp_boolForKey:(NSString *)key defaultValue:(BOOL)defaultValue {
36
+ NSNumber *num = [self rnsp_numberForKey:key defaultValue:nil];
37
+ return num ? num.boolValue : defaultValue;
38
+ }
39
+
40
+ @end
@@ -21,11 +21,11 @@
21
21
  #import "RNConfigUtils.h"
22
22
  #import "RNTrackerVersion.h"
23
23
  #import "RNUtilities.h"
24
+ #import "NSDictionary+RNSP_TypeMethods.h"
24
25
 
25
26
  #import <Foundation/Foundation.h>
26
27
 
27
28
  #import <SnowplowTracker/SPSnowplow.h>
28
- #import <SnowplowTracker/NSDictionary+SP_TypeMethods.h>
29
29
  #import <SnowplowTracker/SPTrackerConfiguration.h>
30
30
  #import <SnowplowTracker/SPDevicePlatform.h>
31
31
  #import <SnowplowTracker/SPLoggerDelegate.h>
@@ -41,43 +41,44 @@
41
41
  SPTrackerConfiguration *trackerConfiguration = [SPTrackerConfiguration new];
42
42
  trackerConfiguration.trackerVersionSuffix = kRNTrackerVersion;
43
43
 
44
- NSString *appId = [trackerConfig sp_stringForKey:@"appId" defaultValue:nil];
44
+ NSString *appId = [trackerConfig rnsp_stringForKey:@"appId" defaultValue:nil];
45
45
  if (appId) {
46
46
  trackerConfiguration.appId = appId;
47
47
  }
48
48
 
49
- NSString *devicePlatform = [trackerConfig sp_stringForKey:@"devicePlatform" defaultValue:nil];
49
+ NSString *devicePlatform = [trackerConfig rnsp_stringForKey:@"devicePlatform" defaultValue:nil];
50
50
  if (devicePlatform) {
51
51
  trackerConfiguration.devicePlatform = SPStringToDevicePlatform(devicePlatform);
52
52
  }
53
53
 
54
- trackerConfiguration.base64Encoding = [trackerConfig sp_boolForKey:@"base64Encoding" defaultValue:YES];
54
+ trackerConfiguration.base64Encoding = [trackerConfig rnsp_boolForKey:@"base64Encoding" defaultValue:YES];
55
55
 
56
- NSString *logLevel = [trackerConfig sp_stringForKey:@"logLevel" defaultValue:nil];
56
+ NSString *logLevel = [trackerConfig rnsp_stringForKey:@"logLevel" defaultValue:nil];
57
57
  if (logLevel) {
58
58
  NSUInteger index = [@[@"off", @"error", @"debug", @"verbose"] indexOfObject:logLevel];
59
59
  trackerConfiguration.logLevel = index != NSNotFound ? index : SPLogLevelOff;
60
60
  }
61
61
 
62
- trackerConfiguration.sessionContext = [trackerConfig sp_boolForKey:@"sessionContext" defaultValue:YES];
63
- trackerConfiguration.applicationContext = [trackerConfig sp_boolForKey:@"applicationContext" defaultValue:YES];
64
- trackerConfiguration.platformContext = [trackerConfig sp_boolForKey:@"platformContext" defaultValue:YES];
65
- trackerConfiguration.geoLocationContext = [trackerConfig sp_boolForKey:@"geoLocationContext" defaultValue:NO];
66
- trackerConfiguration.screenContext = [trackerConfig sp_boolForKey:@"screenContext" defaultValue:YES];
67
- trackerConfiguration.deepLinkContext = [trackerConfig sp_boolForKey:@"deepLinkContext" defaultValue:YES];
68
- trackerConfiguration.screenViewAutotracking = [trackerConfig sp_boolForKey:@"screenViewAutotracking" defaultValue:YES];
69
- trackerConfiguration.lifecycleAutotracking = [trackerConfig sp_boolForKey:@"lifecycleAutotracking" defaultValue:NO];
70
- trackerConfiguration.installAutotracking = [trackerConfig sp_boolForKey:@"installAutotracking" defaultValue:YES];
71
- trackerConfiguration.exceptionAutotracking = [trackerConfig sp_boolForKey:@"exceptionAutotracking" defaultValue:YES];
72
- trackerConfiguration.diagnosticAutotracking = [trackerConfig sp_boolForKey:@"diagnosticAutotracking" defaultValue:NO];
62
+ trackerConfiguration.sessionContext = [trackerConfig rnsp_boolForKey:@"sessionContext" defaultValue:YES];
63
+ trackerConfiguration.applicationContext = [trackerConfig rnsp_boolForKey:@"applicationContext" defaultValue:YES];
64
+ trackerConfiguration.platformContext = [trackerConfig rnsp_boolForKey:@"platformContext" defaultValue:YES];
65
+ trackerConfiguration.geoLocationContext = [trackerConfig rnsp_boolForKey:@"geoLocationContext" defaultValue:NO];
66
+ trackerConfiguration.screenContext = [trackerConfig rnsp_boolForKey:@"screenContext" defaultValue:YES];
67
+ trackerConfiguration.deepLinkContext = [trackerConfig rnsp_boolForKey:@"deepLinkContext" defaultValue:YES];
68
+ trackerConfiguration.screenViewAutotracking = [trackerConfig rnsp_boolForKey:@"screenViewAutotracking" defaultValue:YES];
69
+ trackerConfiguration.lifecycleAutotracking = [trackerConfig rnsp_boolForKey:@"lifecycleAutotracking" defaultValue:NO];
70
+ trackerConfiguration.installAutotracking = [trackerConfig rnsp_boolForKey:@"installAutotracking" defaultValue:YES];
71
+ trackerConfiguration.exceptionAutotracking = [trackerConfig rnsp_boolForKey:@"exceptionAutotracking" defaultValue:YES];
72
+ trackerConfiguration.diagnosticAutotracking = [trackerConfig rnsp_boolForKey:@"diagnosticAutotracking" defaultValue:NO];
73
+ trackerConfiguration.userAnonymisation = [trackerConfig rnsp_boolForKey:@"userAnonymisation" defaultValue:NO];
73
74
 
74
75
  return trackerConfiguration;
75
76
  }
76
77
 
77
78
  + (SPSessionConfiguration *) mkSessionConfig:(NSDictionary *) sessionConfig {
78
79
 
79
- NSInteger foreground = [[sessionConfig sp_numberForKey:@"foregroundTimeout" defaultValue:@1800] integerValue];
80
- NSInteger background = [[sessionConfig sp_numberForKey:@"backgroundTimeout" defaultValue:@1800] integerValue];
80
+ NSInteger foreground = [[sessionConfig rnsp_numberForKey:@"foregroundTimeout" defaultValue:@1800] integerValue];
81
+ NSInteger background = [[sessionConfig rnsp_numberForKey:@"backgroundTimeout" defaultValue:@1800] integerValue];
81
82
  SPSessionConfiguration *sessionConfiguration = [[SPSessionConfiguration alloc] initWithForegroundTimeoutInSeconds:foreground backgroundTimeoutInSeconds:background];
82
83
 
83
84
  return sessionConfiguration;
@@ -85,7 +86,7 @@
85
86
 
86
87
  + (SPEmitterConfiguration *) mkEmitterConfig:(NSDictionary *) emitterConfig {
87
88
  SPEmitterConfiguration *emitterConfiguration = [[SPEmitterConfiguration alloc] init];
88
- NSString *bufferOption = [emitterConfig sp_stringForKey:@"bufferOption" defaultValue:@"single"];
89
+ NSString *bufferOption = [emitterConfig rnsp_stringForKey:@"bufferOption" defaultValue:@"single"];
89
90
  if ([bufferOption isEqualToString:@"default"]) {
90
91
  emitterConfiguration.bufferOption = SPBufferOptionDefaultGroup;
91
92
  } else if ([bufferOption isEqualToString:@"large"]) {
@@ -94,10 +95,11 @@
94
95
  emitterConfiguration.bufferOption = SPBufferOptionSingle;
95
96
  }
96
97
 
97
- emitterConfiguration.emitRange = [[emitterConfig sp_numberForKey:@"emitRange" defaultValue:@150] integerValue];
98
- emitterConfiguration.threadPoolSize = [[emitterConfig sp_numberForKey:@"threadPoolSize" defaultValue:@15] integerValue];
99
- emitterConfiguration.byteLimitGet = [[emitterConfig sp_numberForKey:@"byteLimitGet" defaultValue:@40000] integerValue];
100
- emitterConfiguration.byteLimitPost = [[emitterConfig sp_numberForKey:@"byteLimitPost" defaultValue:@40000] integerValue];
98
+ emitterConfiguration.emitRange = [[emitterConfig rnsp_numberForKey:@"emitRange" defaultValue:@150] integerValue];
99
+ emitterConfiguration.threadPoolSize = [[emitterConfig rnsp_numberForKey:@"threadPoolSize" defaultValue:@15] integerValue];
100
+ emitterConfiguration.byteLimitGet = [[emitterConfig rnsp_numberForKey:@"byteLimitGet" defaultValue:@40000] integerValue];
101
+ emitterConfiguration.byteLimitPost = [[emitterConfig rnsp_numberForKey:@"byteLimitPost" defaultValue:@40000] integerValue];
102
+ emitterConfiguration.serverAnonymisation = [emitterConfig rnsp_boolForKey:@"serverAnonymisation" defaultValue:NO];
101
103
 
102
104
  return emitterConfiguration;
103
105
  }
@@ -106,37 +108,37 @@
106
108
 
107
109
  SPSubjectConfiguration *subjectConfiguration = [SPSubjectConfiguration new];
108
110
 
109
- NSString *userId = [subjectConfig sp_stringForKey:@"userId" defaultValue:nil];
111
+ NSString *userId = [subjectConfig rnsp_stringForKey:@"userId" defaultValue:nil];
110
112
  if (userId) {
111
113
  subjectConfiguration.userId = userId;
112
114
  }
113
115
 
114
- NSString *networkUserId = [subjectConfig sp_stringForKey:@"networkUserId" defaultValue:nil];
116
+ NSString *networkUserId = [subjectConfig rnsp_stringForKey:@"networkUserId" defaultValue:nil];
115
117
  if (networkUserId) {
116
118
  subjectConfiguration.networkUserId = networkUserId;
117
119
  }
118
120
 
119
- NSString *domainUserId = [subjectConfig sp_stringForKey:@"domainUserId" defaultValue:nil];
121
+ NSString *domainUserId = [subjectConfig rnsp_stringForKey:@"domainUserId" defaultValue:nil];
120
122
  if (domainUserId) {
121
123
  subjectConfiguration.domainUserId = domainUserId;
122
124
  }
123
125
 
124
- NSString *useragent = [subjectConfig sp_stringForKey:@"useragent" defaultValue:nil];
126
+ NSString *useragent = [subjectConfig rnsp_stringForKey:@"useragent" defaultValue:nil];
125
127
  if (useragent) {
126
128
  subjectConfiguration.useragent = useragent;
127
129
  }
128
130
 
129
- NSString *ipAddress = [subjectConfig sp_stringForKey:@"ipAddress" defaultValue:nil];
131
+ NSString *ipAddress = [subjectConfig rnsp_stringForKey:@"ipAddress" defaultValue:nil];
130
132
  if (ipAddress) {
131
133
  subjectConfiguration.ipAddress = ipAddress;
132
134
  }
133
135
 
134
- NSString *timezone = [subjectConfig sp_stringForKey:@"timezone" defaultValue:nil];
136
+ NSString *timezone = [subjectConfig rnsp_stringForKey:@"timezone" defaultValue:nil];
135
137
  if (timezone) {
136
138
  subjectConfiguration.timezone = timezone;
137
139
  }
138
140
 
139
- NSString *language = [subjectConfig sp_stringForKey:@"language" defaultValue:nil];
141
+ NSString *language = [subjectConfig rnsp_stringForKey:@"language" defaultValue:nil];
140
142
  if (language) {
141
143
  subjectConfiguration.language = language;
142
144
  }
@@ -160,7 +162,7 @@
160
162
  }
161
163
 
162
164
  // colorDepth
163
- NSNumber *colorDepth = [subjectConfig sp_numberForKey:@"colorDepth" defaultValue: nil];
165
+ NSNumber *colorDepth = [subjectConfig rnsp_numberForKey:@"colorDepth" defaultValue: nil];
164
166
  if (colorDepth != nil) {
165
167
  subjectConfiguration.colorDepth = colorDepth;
166
168
  }
@@ -22,6 +22,6 @@
22
22
 
23
23
  @implementation RNTrackerVersion
24
24
 
25
- NSString * const kRNTrackerVersion = @"rn-1.2.0";
25
+ NSString * const kRNTrackerVersion = @"rn-1.3.0";
26
26
 
27
27
  @end
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@snowplow/react-native-tracker",
3
- "version": "1.2.0",
3
+ "version": "1.3.0",
4
4
  "description": "A library for tracking Snowplow events in React Native",
5
5
  "homepage": "https://docs.snowplowanalytics.com/docs/collecting-data/collecting-from-own-applications/react-native-tracker/",
6
6
  "main": "dist/index.js",
@@ -43,20 +43,20 @@
43
43
  "react-native": ">=0.65.0"
44
44
  },
45
45
  "devDependencies": {
46
- "@types/jest": "^27.4.1",
46
+ "@types/jest": "^28.1.8",
47
47
  "@types/react": "^16.8.25",
48
48
  "@types/react-native": "^0.65.21",
49
49
  "@typescript-eslint/eslint-plugin": "^5.13.0",
50
50
  "@typescript-eslint/parser": "^5.13.0",
51
- "eslint": "^8.10.0",
52
- "eslint-plugin-jest": "^26.1.1",
51
+ "eslint": "^8.23.1",
52
+ "eslint-plugin-jest": "^27.0.4",
53
53
  "eslint-plugin-promise": "^6.0.0",
54
- "jest": "^27.5.1",
54
+ "jest": "^28.1.3",
55
55
  "rimraf": "^3.0.2",
56
56
  "rollup": "^2.69.0",
57
57
  "rollup-plugin-dts": "^4.2.0",
58
58
  "rollup-plugin-sourcemaps": "^0.6.3",
59
- "ts-jest": "^27.1.3",
59
+ "ts-jest": "^28.0.8",
60
60
  "typescript": "^4.6.2"
61
61
  },
62
62
  "jest": {
package/CHANGELOG DELETED
@@ -1,140 +0,0 @@
1
- Version 1.2.0 (2022-03-25)
2
- --------------------------
3
- Add support for React Native for tvOS (#154)
4
- Bump min RN version supported to v0.65+ (#153)
5
- Add generic type for SelfDescribing event data (#156)
6
-
7
- Version 1.1.0 (2022-02-07)
8
- --------------------------
9
- Update mobile tracker dependencies to v3 (#141)
10
- Add deep link and message notification events (#142)
11
- Update demo app to show accessing tracker instance from platform native code (#136)
12
- Fix compilation error for iOS build on ARM macs (#140)
13
- Fix check for byteLimitGet when reading emitter configuration (#138)
14
- Fix check for Android version in GitHub Actions (#134)
15
- Update year in all copyright notices (#148)
16
- Update dependencies (#150)
17
-
18
- Version 1.0.0 (2021-08-09)
19
- --------------------------
20
- Fix action-gh-release to specific commit (#133)
21
- Update devDependencies (#132)
22
- Publish sourcemaps (#131)
23
- Lint DemoApp separately (#130)
24
- Get Session Context Data (#53)
25
- Update version in podspec (#110)
26
- Set amended v_tracker indicating react-native (#18)
27
- Add global contexts (#104)
28
- Upgrade iOS Tracker and Android Tracker to v2 (#113)
29
- Add test suite (#60)
30
-
31
- Version 0.2.0 (2021-06-21)
32
- --------------------------
33
- Bump dependencies in DemoApp (#114)
34
- Port to TypeScript (#115)
35
- Handle asyncronous issues internally (#78)
36
- Use ESLint (#126)
37
- Add homepage and repository in package.json (#125)
38
- Remove unused files (#124)
39
-
40
- Version 0.1.7 (2021-05-24)
41
- --------------------------
42
- Remove waitForEventStore method and upgrade Android tracker (#92)
43
- Automate deploy process (#61)
44
- Fix null transitionType resulting in screen view event failing validation for ios (#122)
45
- Fix Xcode 12.5 build breaks (#119)
46
- Fix typo in CHANGELOG (#116)
47
- Remove JCenter and add MavenCentral (#121)
48
- Update build.gradle to match rootProject extra properties (#120)
49
- Fix assembleAndroidTest builds (#118)
50
-
51
- Version 0.1.6 (2021-04-06)
52
- --------------------------
53
- Bump iOS Tracker to 1.7.0 (#111)
54
-
55
- Version 0.1.5 (2021-03-22)
56
- --------------------------
57
- Update DemoApp versions (#106)
58
- Loosen peer dependency requirements (#105)
59
-
60
- Note: v0.1.4 was skipped due to an error in publishing process.
61
- ---------------------------------------------------------------
62
-
63
- Version 0.1.3 (2021-02-12)
64
- --------------------------
65
- Fix Xcode 12 compatibility (#102)
66
-
67
- Version 0.1.2 (2021-01-15)
68
- --------------------------
69
- Upgrade obj-c tracker to 1.6.2 (#98)
70
-
71
- Version 0.1.1 (2020-09-03)
72
- --------------------------
73
- Fix Android tracker version to 1.5.x (#91)
74
-
75
- Version 0.1.0 (2020-07-10)
76
- --------------------------
77
- Add issue templates (#89)
78
- Add CONTRIBUTING.md (#80)
79
- Use recommended config as defaults (#86)
80
- Fix iOS null comparison warnings (#85)
81
- Return after promise rejection on Android (#84)
82
- Update arguments and var names for consistency (#83)
83
- Update DemoApp (#82)
84
- Use fast fail on iOS (#87)
85
- Update README (#77)
86
- Dynamically use latest minor version of native tracker (#19)
87
- Cleanup code formatting (#75)
88
- Add Snyk Github Action (#71)
89
- Add license (#62)
90
- Handle setSubjectData values appropriately (#70)
91
- Return promise on intialize() (#66)
92
- Remove deprecated options (#69)
93
- Expand testing scripts (#72)
94
- Refactor method instrumentation (#58)
95
- Fix compile warnings caused by unsafe comparison (#73)
96
- Fix double self calls (#74)
97
- Remove screen_id workaround (#57)
98
-
99
- Version 0.1.0-alpha.17 (2020-05-04)
100
- -----------------------------------
101
- Use yarn everywhere for testing (#55)
102
- Update ios tracker version to 1.3.0 (#54)
103
-
104
- Version 0.1.0-alpha.16 (2020-04-16)
105
- -----------------------------------
106
- Update .npmignore and .gitignore (#51)
107
- Update README (#50)
108
- Update Demo App (#48)
109
- Add trackPageView (#33)
110
- Add script for clean build (#47)
111
- Add setSubjectData method (#46)
112
- Update android tracker version (#45)
113
- Add Standard Settings (#34)
114
-
115
- Version 0.1.0-alpha.15 (2020-02-06)
116
- -----------------------------------
117
- Cleanup Repo (#29)
118
- Update DemoApp (#21)
119
- Update ios Tracker dependency to remove mandatory dynamic build (#22)
120
-
121
- Version 0.1.0-alpha.14 (2019-10-22)
122
- ----------------------------------
123
- Update iOS to incorporate patch release (#23)
124
-
125
- Version 0.1.0-alpha.13 (2019-10-14)
126
- -----------------------------------
127
- Make optional StructEvent parameters nullable for iOS (#12)
128
- Add ScreenViews (#14)
129
- Fix bug in android getContexts (#16)
130
- Add mobile context (#13)
131
- Update README.md (#5)
132
- Fix path in Android package export (#8)
133
- Fix high severity vulnerabilities in DemoApp (#7)
134
- Bump DemoApp react-native version (#6)
135
- Fix import in Demo Application (#3)
136
- Fix Android Numeric type bug (#4)
137
-
138
- Version 0.1.0-alpha.9 (2019-08-08)
139
- ----------------------------------
140
- Initial Release