Skip to content

Commit

Permalink
Merge branch 'release/6.0.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
matus-tomlein committed Feb 1, 2024
2 parents cc13625 + c361f24 commit e86d218
Show file tree
Hide file tree
Showing 286 changed files with 6,429 additions and 2,236 deletions.
97 changes: 68 additions & 29 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,14 @@ on: [push]
jobs:
podspec:
name: Lint Podspec for ${{ matrix.platform }}
runs-on: macos-11
runs-on: macos-13
strategy:
matrix:
platform: [ios, ios, osx, tvos, watchos]
steps:
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: latest-stable
- uses: actions/checkout@v3
- name: Lint Podspec
run: pod lib lint --platforms=${{ matrix.platform }}
Expand All @@ -21,36 +24,36 @@ jobs:
fail-fast: false
matrix:
include:
- name: "Integration (iOS 15.2, Xcode 13.2.1)"
- name: "Integration (iOS, Xcode 13.4)"
os: macos-12
xcode-version: "13.2.1"
sdk: iphonesimulator15.2
destination: "platform=iOS Simulator,OS=15.2,name=iPhone 13"
xcode-version: 13.4
destination: "platform=iOS Simulator,name=iPhone 13"
target: IntegrationTests
- name: "Unit (iOS 15.2, Xcode 13.2.1)"

- name: "Unit (iOS, Xcode 13.4)"
os: macos-12
xcode-version: "13.2.1"
sdk: iphonesimulator15.2
destination: "platform=iOS Simulator,OS=15.2,name=iPhone 13"
xcode-version: 13.4
destination: "platform=iOS Simulator,name=iPhone 13"
target: Tests
- name: "Unit (macOS 12.1, Xcode 13.2.1)"

- name: "Unit (macOS, Xcode 13.4)"
os: macos-12
xcode-version: "13.2.1"
sdk: macosx12.1
destination: "platform=OS X"
xcode-version: 13.4
destination: "platform=macOS"
target: Tests
- name: "Unit (watchOS 8.3, Xcode 13.2.1)"

- name: "Unit (watchOS, Xcode 13.4)"
os: macos-12
xcode-version: "13.2.1"
sdk: watchos8.3
destination: "platform=watchOS Simulator,OS=8.3,name=Apple Watch Series 7 - 45mm"
xcode-version: 13.4
destination: "platform=watchOS Simulator,name=Apple Watch Series 7 - 45mm"
target: Tests
- name: "Unit (tvOS 15.2, Xcode 13.2.1)"

- name: "Unit (tvOS, Xcode 13.4)"
os: macos-12
xcode-version: "13.2.1"
sdk: appletvsimulator15.2
destination: "platform=tvOS Simulator,OS=15.2,name=Apple TV"
xcode-version: 13.4
destination: "platform=tvOS Simulator,name=Apple TV"
target: Tests

steps:
- name: Checkout
uses: actions/checkout@v3
Expand All @@ -77,18 +80,26 @@ jobs:
run: while ! nc -z '0.0.0.0' 9090; do sleep 1; done
# -- Micro --

- name: Select Xcode Version
run: sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode-version }}.app/Contents/Developer
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: ${{ matrix.xcode-version }}

- name: Build & Test
run: |
set -o pipefail && xcodebuild \
-scheme SnowplowTracker \
-sdk "${{ matrix.sdk }}" \
-destination "${{ matrix.destination }}" \
-only-testing ${{ matrix.target }} \
-resultBundlePath TestResults \
clean test | xcpretty
- name: Create test results
uses: kishikawakatsumi/xcresulttool@v1
with:
path: TestResults.xcresult
title: "Test results: ${{ matrix.name }}"
if: success() || failure()

build_objc_demo_app:
name: "ObjC demo (iOS ${{ matrix.version.ios }})"
needs: test_framework
Expand All @@ -100,8 +111,22 @@ jobs:
fail-fast: false
matrix:
version:
- {ios: 15.5, iphone: iPhone 12 Pro, watchos: 8.5, watch: Apple Watch Series 5 - 44mm, macos: '12', xcode: 13.4}
- {ios: 14.4, iphone: iPhone 8, watchos: 7.2, watch: Apple Watch Series 4 - 40mm, macos: '11', xcode: 12.4}
- {
ios: 15.5,
iphone: iPhone 12 Pro,
watchos: 8.5,
watch: Apple Watch Series 5 - 44mm,
macos: "12",
xcode: 13.4,
}
- {
ios: 14.4,
iphone: iPhone 8,
watchos: 7.2,
watch: Apple Watch Series 4 - 40mm,
macos: "11",
xcode: 12.4,
}

steps:
- name: Checkout
Expand Down Expand Up @@ -131,7 +156,14 @@ jobs:
fail-fast: false
matrix:
version:
- {ios: '14.4', iphone: iPhone 12 Pro, watchos: '7.2', watch: Apple Watch Series 5 - 44mm, macos: '11', xcode: 12.4}
- {
ios: "14.4",
iphone: iPhone 12 Pro,
watchos: "7.2",
watch: Apple Watch Series 5 - 44mm,
macos: "11",
xcode: 12.4,
}

steps:
- name: Checkout
Expand Down Expand Up @@ -161,7 +193,14 @@ jobs:
fail-fast: false
matrix:
version:
- {ios: '14.4', iphone: iPhone 11 Pro, watchos: '7.2', watch: Apple Watch Series 5 - 44mm, macos: '11', xcode: 12.4}
- {
ios: "14.4",
iphone: iPhone 11 Pro,
watchos: "7.2",
watch: Apple Watch Series 5 - 44mm,
macos: "11",
xcode: 12.4,
}

steps:
- name: Checkout
Expand Down Expand Up @@ -207,7 +246,7 @@ jobs:
fail-fast: false
matrix:
version:
- {ios: 15.5, iphone: iPhone 12 Pro, macos: '12', xcode: 13.4}
- { ios: 15.5, iphone: iPhone 12 Pro, macos: "12", xcode: 13.4 }

steps:
- name: Checkout
Expand Down
27 changes: 27 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,3 +1,30 @@
Version 6.0.0 (2024-02-01)
--------------------------
- Add screen engagement tracking of time spent and list items scrolled on a screen (#851)
- Enable lifecycle autotracking by default (#852)
- Add support for visionOS (#830)
- Add VisionOS events and entities (#857)
- Improve concurrency model using a single internal dispatch queue (#820)
- Process tracked events on a serial background queue (#822)
- Add API to decorate link with user/session info (#819)
- Add configurable limit for the maximum age and number of events in the event store and remove old events before sending (#860)
- Add request timeout to network connection and configuration (#836) thanks to @danigutierrezayuso
- Expose event store from emitter controller to be able to remove all events from database (#834) thanks to @danigutierrezayuso
- Make network requests serially in network connection (#846)
- Change default buffer option to single (#849)
- Flush events only when the buffer is full (#827) thanks to @danigutierrezayuso
- Add SDK privacy manifest file (#811)
- Remove available storage and total storage from platform context (#824)
- Add an option to override platform context properties (#865)
- Remove the use of the FMDB dependency in SQLiteEventStore (#823)
- Return non-optional TrackerController instance from `createTracker` (#847) thanks to @Kymer
- Enable representing self-describing data using Codable structs (#844)
- Match BaseEvent entities API with Android tracker (#867)
- Fix bundle path check to handle symbolic links (#858) thanks to @mylifeasdog
- Set the platform event property to tv on tvOS and mobile on watchOS (#872)
- Update copyright notices (#868)
- Update CI build (#856)

Version 5.6.0 (2023-10-12)
--------------------------
Add configuration to send requests with user ID to a Focal Meter endpoint (#745)
Expand Down
2 changes: 1 addition & 1 deletion Examples
Submodule Examples updated 161 files
5 changes: 3 additions & 2 deletions Integrationtests/TestTrackEventsToMicro.swift
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2013-2023 Snowplow Analytics Ltd. All rights reserved.
// Copyright (c) 2013-present Snowplow Analytics Ltd. All rights reserved.
//
// This program is licensed to you under the Apache License Version 2.0,
// and you may not use this file except in compliance with the Apache License
Expand All @@ -21,11 +21,12 @@ class TestTrackEventsToMicro: XCTestCase {
super.setUp()

let trackerConfig = TrackerConfiguration()
.screenEngagementAutotracking(false)
.logLevel(.debug)

tracker = Snowplow.createTracker(namespace: "testMicro-" + UUID().uuidString,
network: NetworkConfiguration(endpoint: Micro.endpoint),
configurations: [trackerConfig])!
configurations: [trackerConfig])

wait(for: [Micro.reset()], timeout: Micro.timeout)
}
Expand Down
2 changes: 1 addition & 1 deletion Integrationtests/Utils/Micro.swift
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2013-2023 Snowplow Analytics Ltd. All rights reserved.
// Copyright (c) 2013-present Snowplow Analytics Ltd. All rights reserved.
//
// This program is licensed to you under the Apache License Version 2.0,
// and you may not use this file except in compliance with the Apache License
Expand Down
4 changes: 2 additions & 2 deletions LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright 2023 Snowplow Analytics Ltd.
Copyright 2013-present Snowplow Analytics Ltd.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand All @@ -199,4 +199,4 @@
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.


51 changes: 20 additions & 31 deletions Package.resolved
Original file line number Diff line number Diff line change
@@ -1,34 +1,23 @@
{
"object": {
"pins": [
{
"package": "FMDB",
"repositoryURL": "https://github.com/ccgus/fmdb",
"state": {
"branch": null,
"revision": "61e51fde7f7aab6554f30ab061cc588b28a97d04",
"version": "2.7.7"
}
},
{
"package": "Mocker",
"repositoryURL": "https://github.com/WeTransfer/Mocker.git",
"state": {
"branch": null,
"revision": "5d86f27a8f80d4ba388bc1a379a3c2289a1f3d18",
"version": "2.6.0"
}
},
{
"package": "SwiftDocCPlugin",
"repositoryURL": "https://github.com/apple/swift-docc-plugin",
"state": {
"branch": null,
"revision": "3303b164430d9a7055ba484c8ead67a52f7b74f6",
"version": "1.0.0"
}
"pins" : [
{
"identity" : "mocker",
"kind" : "remoteSourceControl",
"location" : "https://github.com/WeTransfer/Mocker.git",
"state" : {
"revision" : "5d86f27a8f80d4ba388bc1a379a3c2289a1f3d18",
"version" : "2.6.0"
}
]
},
"version": 1
},
{
"identity" : "swift-docc-plugin",
"kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-docc-plugin",
"state" : {
"revision" : "3303b164430d9a7055ba484c8ead67a52f7b74f6",
"version" : "1.0.0"
}
}
],
"version" : 2
}
5 changes: 2 additions & 3 deletions Package.swift
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
// swift-tools-version:5.2
// swift-tools-version:5.3.0

import PackageDescription

let package = Package(
name: "SnowplowTracker",
defaultLocalization: "en",
platforms: [
.macOS("10.13"),
.iOS("11.0"),
Expand All @@ -16,13 +17,11 @@ let package = Package(
targets: ["SnowplowTracker"]),
],
dependencies: [
.package(name: "FMDB", url: "https://github.com/ccgus/fmdb", from: "2.7.6"),
.package(name: "Mocker", url: "https://github.com/WeTransfer/Mocker.git", from: "2.5.4"),
],
targets: [
.target(
name: "SnowplowTracker",
dependencies: ["FMDB"],
path: "./Sources"),
.testTarget(
name: "Tests",
Expand Down
46 changes: 46 additions & 0 deletions [email protected]
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
// swift-tools-version:5.9

import PackageDescription

let package = Package(
name: "SnowplowTracker",
defaultLocalization: "en",
platforms: [
.macOS("10.13"),
.iOS("11.0"),
.tvOS("12.0"),
.watchOS("6.0"),
.visionOS("1.0")
],
products: [
.library(
name: "SnowplowTracker",
targets: ["SnowplowTracker"]),
],
dependencies: [
.package(name: "Mocker", url: "https://github.com/WeTransfer/Mocker.git", from: "2.5.4"),
],
targets: [
.target(
name: "SnowplowTracker",
path: "./Sources"),
.testTarget(
name: "Tests",
dependencies: [
"SnowplowTracker",
"Mocker"
],
path: "Tests"),
.testTarget(
name: "IntegrationTests",
dependencies: [
"SnowplowTracker"
],
path: "IntegrationTests")
]
)
#if swift(>=5.6)
package.dependencies += [
.package(url: "https://github.com/apple/swift-docc-plugin", from: "1.0.0"),
]
#endif
Loading

0 comments on commit e86d218

Please sign in to comment.