Skip to content

Commit

Permalink
Merge pull request #674 from bugsnag/next
Browse files Browse the repository at this point in the history
Release v7.5.0
  • Loading branch information
rich-bugsnag authored Jan 4, 2023
2 parents 3981600 + f0aa58b commit 7459372
Show file tree
Hide file tree
Showing 317 changed files with 7,908 additions and 7,865 deletions.
227 changes: 119 additions & 108 deletions .buildkite/pipeline.full.yml

Large diffs are not rendered by default.

122 changes: 65 additions & 57 deletions .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,10 +68,12 @@ steps:
- exit_status: "*"
limit: 1



#
# Run desktop tests
# Run macos tests
#
- label: Run MacOS e2e tests for Unity 2020
- label: Run MacOS e2e csharp tests
timeout_in_minutes: 60
depends_on: 'cocoa-webgl-2020-fixtures'
agents:
Expand All @@ -86,13 +88,13 @@ steps:
- maze_output/**/*
- Mazerunner.log
commands:
- scripts/ci-run-macos-tests.sh
- scripts/ci-run-macos-tests-csharp.sh

#
# Run WebGL tests
#
# Note: These are run on Intel due to an issue with persistence with Firefox on ARM.
#

- label: Run WebGL e2e tests for Unity 2020
timeout_in_minutes: 30
depends_on: 'cocoa-webgl-2020-fixtures'
Expand All @@ -110,9 +112,9 @@ steps:
commands:
- scripts/ci-run-webgl-tests.sh

#

# Build Android test fixtures
#

- label: ':android: Build Android test fixture for Unity 2020'
timeout_in_minutes: 30
key: 'build-android-fixture-2020'
Expand All @@ -133,33 +135,33 @@ steps:
- exit_status: "*"
limit: 1

- label: ':android: Build Android EDM test fixture for Unity 2020'
timeout_in_minutes: 30
key: 'build-edm-fixture-2020'
depends_on: 'build-artifacts'
env:
UNITY_VERSION: "2020.3.32f1"
plugins:
artifacts#v1.5.0:
download:
- Bugsnag.unitypackage
upload:
- features/fixtures/EDM_Fixture/edm_2020.3.32f1.apk
- features/scripts/mobile/buildEdmFixture.log
- features/scripts/mobile/edmImport.log
- features/scripts/mobile/enableEdm.log
commands:
- rake test:edm:build
retry:
automatic:
- exit_status: "*"
limit: 1
# - label: ':android: Build Android EDM test fixture for Unity 2020'
# timeout_in_minutes: 30
# key: 'build-edm-fixture-2020'
# depends_on: 'build-artifacts'
# env:
# UNITY_VERSION: "2020.3.32f1"
# plugins:
# artifacts#v1.5.0:
# download:
# - Bugsnag.unitypackage
# upload:
# - features/fixtures/EDM_Fixture/edm_2020.3.32f1.apk
# - features/scripts/buildEdmFixture.log
# - features/scripts/edmImport.log
# - features/scripts/enableEdm.log
# commands:
# - rake test:edm:build
# retry:
# automatic:
# - exit_status: "*"
# limit: 1

#
# Run Android tests
#
- label: ':android: Run Android e2e tests for Unity 2020'
timeout_in_minutes: 30
timeout_in_minutes: 60
depends_on: 'build-android-fixture-2020'
agents:
queue: opensource
Expand All @@ -177,36 +179,40 @@ steps:
command:
- "--app=/app/features/fixtures/maze_runner/mazerunner_2020.3.32f1.apk"
- "--farm=bs"
- "--device=ANDROID_9_0"
- "--device=ANDROID_11_0"
- "features/csharp"
- "features/android"
concurrency: 24
concurrency_group: browserstack-app
concurrency_method: eager

- label: ':android: Run Android EDM e2e tests for Unity 2020'
timeout_in_minutes: 30
depends_on: 'build-edm-fixture-2020'
agents:
queue: opensource
env:
UNITY_VERSION: "2020.3.32f1"
plugins:
artifacts#v1.5.0:
download:
- "features/fixtures/EDM_Fixture/edm_2020.3.32f1.apk"
upload:
- "maze_output/**/*"
docker-compose#v3.7.0:
pull: maze-runner
run: maze-runner
command:
- "--app=/app/features/fixtures/EDM_Fixture/edm_2020.3.32f1.apk"
- "--farm=bs"
- "--device=ANDROID_9_0"
- "features/edm"
concurrency: 24
concurrency_group: browserstack-app
concurrency_method: eager

# Run Android EDM tests

# - label: ':android: Run Android EDM e2e tests for Unity 2020'
# timeout_in_minutes: 30
# depends_on: 'build-edm-fixture-2020'
# agents:
# queue: opensource
# env:
# UNITY_VERSION: "2020.3.32f1"
# plugins:
# artifacts#v1.5.0:
# download:
# - "features/fixtures/EDM_Fixture/edm_2020.3.32f1.apk"
# upload:
# - "maze_output/**/*"
# docker-compose#v3.7.0:
# pull: maze-runner
# run: maze-runner
# command:
# - "--app=/app/features/fixtures/EDM_Fixture/edm_2020.3.32f1.apk"
# - "--farm=bs"
# - "--device=ANDROID_11_0"
# - "features/edm"
# concurrency: 24
# concurrency_group: browserstack-app
# concurrency_method: eager

#
# Build iOS test fixtures
Expand Down Expand Up @@ -259,7 +265,7 @@ steps:
# Run iOS tests
#
- label: ':ios: Run iOS e2e tests for Unity 2020'
timeout_in_minutes: 30
timeout_in_minutes: 60
depends_on: 'build-ios-fixture-2020'
agents:
queue: opensource
Expand All @@ -275,16 +281,18 @@ steps:
command:
- "--app=/app/features/fixtures/maze_runner/mazerunner_2020.3.32f1.ipa"
- "--farm=bs"
- "--device=IOS_14"
- "--device=IOS_15"
- "--fail-fast"
- "features/csharp"
- "features/ios"

concurrency: 24
concurrency_group: browserstack-app
concurrency_method: eager

#
# Build Windows test fixture
#

- label: Build Unity 2020 Windows test fixture
timeout_in_minutes: 30
key: 'windows-2020-fixture'
Expand All @@ -309,7 +317,7 @@ steps:

#
# Run Windows e2e tests
#

- label: Run Windows e2e tests for Unity 2020
timeout_in_minutes: 30
depends_on: 'windows-2020-fixture'
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -42,3 +42,4 @@ upm-tools/UPMImportProject/Assets/Bugsnag
Bugsnag.meta
unity/PackageProject/Assets/Bugsnag
nunit-agent*.log
features/fixtures/maze_runner/Assets/Bugsnag
31 changes: 31 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,36 @@
# Changelog

## 7.5.0 (2023-01-04)

### Enhancements

* Added checks in delivery to ensure payloads can't get stuck in a retry loop. [#683](https://github.com/bugsnag/bugsnag-unity/pull/683)

* Raised `Configuration.MaxBreadcrumbs` default from 50 to 100, raised the limit from 100 to 500 and added a check to truncate breadcrumbs from oversized payloads. [#671](https://github.com/bugsnag/bugsnag-unity/pull/671)

* Add `Configuration.MaxStringValueLength` config option. [#668](https://github.com/bugsnag/bugsnag-unity/pull/668)

* Added `Telemetry.Usage` configuration option to set the [native Android option](https://docs.bugsnag.com/platforms/android/configuration-options/#telemetry) and the [native Cocoa option](https://docs.bugsnag.com/platforms/ios/configuration-options/#telemetry) [#666](https://github.com/bugsnag/bugsnag-unity/pull/666)

### Dependency updates

* Update bugsnag-cocoa from v6.25.0 to [v6.25.1](https://github.com/bugsnag/bugsnag-cocoa/blob/master/CHANGELOG.md#6251-2022-12-07)
* Update bugsnag-android from v5.28.1 to [v5.28.3](https://github.com/bugsnag/bugsnag-android/blob/master/CHANGELOG.md#5283-2022-11-16)

### Bug fixes

* Fix an issue where bundle version was not reported correctly on iOS and MacOS. [#672](https://github.com/bugsnag/bugsnag-unity/pull/672)

* Fix an issue where a null value in metadata could cause an exception. [#652](https://github.com/bugsnag/bugsnag-unity/pull/652)

* Fix an issue where android metadata was not deserialised as the correct type, which could cause exceptions when processing metadata. [#652](https://github.com/bugsnag/bugsnag-unity/pull/652)

* Fix an issue where android sessions had inaccurate Session.Handled and Unhandled counts. [#684](https://github.com/bugsnag/bugsnag-unity/pull/684)

* Fix an issue where Cocoa Device and App data was serialized incorrectly causing invalid cast exceptions in callbacks [#680](https://github.com/bugsnag/bugsnag-unity/pull/680)

* Fixed an issue where user changes made in OnSession callbacks did not make it to the generated payload [#681](https://github.com/bugsnag/bugsnag-unity/pull/681)

## 7.4.0 (2022-10-26)

### Dependency updates
Expand Down
2 changes: 1 addition & 1 deletion Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ gem 'xcodeproj'

unless Gem.win_platform?
# Use official Maze Runner release
gem 'bugsnag-maze-runner', git: 'https://github.com/bugsnag/maze-runner', tag: 'v6.19.1'
gem 'bugsnag-maze-runner', git: 'https://github.com/bugsnag/maze-runner', tag: 'v7.10.1'

# Use a specific Maze Runner branch
#gem 'bugsnag-maze-runner', git: 'https://github.com/bugsnag/maze-runner', branch: 'master'
Expand Down
39 changes: 23 additions & 16 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
GIT
remote: https://github.com/bugsnag/maze-runner
revision: efb5e94f4f321cd8553ac24bf73178466efcc7b6
tag: v6.19.1
revision: 81f79a9b405fb63bbfc8ef6cc8f20cd1f2c3905e
tag: v7.2.1
specs:
bugsnag-maze-runner (6.19.1)
appium_lib (~> 11.2.0)
bugsnag-maze-runner (7.2.1)
appium_lib (~> 12.0)
bugsnag (~> 6.24)
cucumber (~> 7.1)
cucumber-expressions (~> 6.0.0)
Expand All @@ -13,7 +13,7 @@ GIT
os (~> 1.0.0)
rake (~> 12.3.3)
rubyzip (~> 2.3.2)
selenium-webdriver (~> 3.11)
selenium-webdriver (~> 4.0)
test-unit (~> 3.5.2)
webrick (~> 1.7.0)

Expand All @@ -22,18 +22,18 @@ GEM
specs:
CFPropertyList (3.0.5)
rexml
appium_lib (11.2.0)
appium_lib_core (~> 4.1)
appium_lib (12.0.1)
appium_lib_core (~> 5.0)
nokogiri (~> 1.8, >= 1.8.1)
tomlrb (~> 1.1)
appium_lib_core (4.7.1)
tomlrb (>= 1.1, < 3.0)
appium_lib_core (5.4.0)
faye-websocket (~> 0.11.0)
selenium-webdriver (~> 3.14, >= 3.14.1)
selenium-webdriver (~> 4.2, < 4.6)
atomos (0.1.3)
bugsnag (6.24.2)
concurrent-ruby (~> 1.0)
builder (3.2.4)
childprocess (3.0.0)
childprocess (4.1.0)
claide (1.1.0)
colored2 (3.1.2)
concurrent-ruby (1.1.10)
Expand Down Expand Up @@ -78,8 +78,12 @@ GEM
mime-types (3.4.1)
mime-types-data (~> 3.2015)
mime-types-data (3.2022.0105)
mini_portile2 (2.8.0)
multi_test (0.1.2)
nanaimo (0.3.0)
nokogiri (1.13.8)
mini_portile2 (~> 2.8.0)
racc (~> 1.4)
nokogiri (1.13.8-x86_64-darwin)
racc (~> 1.4)
nokogiri (1.13.8-x86_64-linux)
Expand All @@ -92,15 +96,18 @@ GEM
rexml (3.2.5)
rouge (2.0.7)
rubyzip (2.3.2)
selenium-webdriver (3.142.7)
childprocess (>= 0.5, < 4.0)
rubyzip (>= 1.2.2)
selenium-webdriver (4.5.0)
childprocess (>= 0.5, < 5.0)
rexml (~> 3.2, >= 3.2.5)
rubyzip (>= 1.2.2, < 3.0)
websocket (~> 1.0)
sys-uname (1.2.2)
ffi (~> 1.1)
test-unit (3.5.3)
test-unit (3.5.5)
power_assert
tomlrb (1.3.0)
tomlrb (2.0.3)
webrick (1.7.0)
websocket (1.2.9)
websocket-driver (0.7.5)
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.5)
Expand Down
12 changes: 6 additions & 6 deletions Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -389,13 +389,13 @@ namespace :test do

# Prepare the test fixture project by importing the plugins
env = { "UNITY_PATH" => File.dirname(unity) }
script = File.join("features", "scripts", "mobile", "prepare_fixture.sh")
script = File.join("features", "scripts", "prepare_fixture.sh")
unless system env, script
raise 'Preparation of test fixture failed'
end

# Build the Android APK
script = File.join("features", "scripts", "mobile", "build_android.sh")
script = File.join("features", "scripts", "build_android.sh")
unless system env, script
raise 'Android APK build failed'
end
Expand All @@ -409,7 +409,7 @@ namespace :test do

# Build the Android APK
env = { "UNITY_PATH" => File.dirname(unity) }
script = File.join("features", "scripts", "mobile", "build_edm.sh")
script = File.join("features", "scripts", "build_edm.sh")
unless system env, script
raise 'EDM APK build failed'
end
Expand All @@ -423,14 +423,14 @@ namespace :test do

# Prepare the test fixture project by importing the plugins
env = { "UNITY_PATH" => File.dirname(unity) }
script = File.join("features", "scripts", "mobile", "prepare_fixture.sh")
script = File.join("features", "scripts", "prepare_fixture.sh")
unless system env, script
raise 'Preparation of test fixture failed'
end

# Generate the Xcode project
cd "features" do
script = File.join("scripts", "mobile", "generate_xcode_project.sh")
script = File.join("scripts", "generate_xcode_project.sh")
unless system env, script
raise 'IPA build failed'
end
Expand All @@ -440,7 +440,7 @@ namespace :test do
task :build_xcode do
# Build and archive from the Xcode project
cd "features" do
script = File.join("scripts", "mobile", "build_ios.sh")
script = File.join("scripts", "build_ios.sh")
unless system script
raise 'IPA build failed'
end
Expand Down
2 changes: 1 addition & 1 deletion bugsnag-android
Submodule bugsnag-android updated 60 files
+16 −10 .buildkite/pipeline.full.yml
+9 −2 .buildkite/pipeline.yml
+16 −0 CHANGELOG.md
+2 −2 Gemfile
+21 −17 Gemfile.lock
+1 −0 bugsnag-android-core/src/androidTest/java/com/bugsnag/android/DataCollectorTest.kt
+1 −1 bugsnag-android-core/src/main/java/com/bugsnag/android/BreadcrumbInternal.kt
+2 −0 bugsnag-android-core/src/main/java/com/bugsnag/android/Client.java
+1 −0 bugsnag-android-core/src/main/java/com/bugsnag/android/DataCollectionModule.kt
+2 −0 bugsnag-android-core/src/main/java/com/bugsnag/android/DeliveryDelegate.java
+2 −0 bugsnag-android-core/src/main/java/com/bugsnag/android/DeviceDataCollector.kt
+1 −0 bugsnag-android-core/src/main/java/com/bugsnag/android/EventStorageModule.kt
+2 −0 bugsnag-android-core/src/main/java/com/bugsnag/android/EventStore.java
+2 −0 bugsnag-android-core/src/main/java/com/bugsnag/android/InternalReportDelegate.java
+2 −0 bugsnag-android-core/src/main/java/com/bugsnag/android/LibraryLoader.java
+5 −1 bugsnag-android-core/src/main/java/com/bugsnag/android/Metadata.kt
+1 −1 bugsnag-android-core/src/main/java/com/bugsnag/android/Notifier.kt
+2 −1 bugsnag-android-core/src/main/java/com/bugsnag/android/SessionTracker.java
+1 −0 bugsnag-android-core/src/main/java/com/bugsnag/android/TrackerModule.kt
+3 −3 bugsnag-android-core/src/main/java/com/bugsnag/android/internal/BackgroundTaskService.kt
+80 −15 bugsnag-android-core/src/main/java/com/bugsnag/android/internal/StringUtils.kt
+2 −2 bugsnag-android-core/src/main/java/com/bugsnag/android/internal/dag/DependencyModule.kt
+1 −0 bugsnag-android-core/src/test/java/com/bugsnag/android/ConfigChangeReceiverTest.kt
+1 −0 bugsnag-android-core/src/test/java/com/bugsnag/android/DeliveryDelegateTest.kt
+1 −0 bugsnag-android-core/src/test/java/com/bugsnag/android/DeviceDataCollectorSerializationTest.kt
+1 −0 bugsnag-android-core/src/test/java/com/bugsnag/android/DeviceMetadataSerializationTest.kt
+1 −0 bugsnag-android-core/src/test/java/com/bugsnag/android/EventFilenameTest.kt
+1 −0 bugsnag-android-core/src/test/java/com/bugsnag/android/EventStoreMaxLimitTest.kt
+1 −0 bugsnag-android-core/src/test/java/com/bugsnag/android/InternalEventPayloadDelegateTest.kt
+1 −0 bugsnag-android-core/src/test/java/com/bugsnag/android/LaunchCrashDeliveryTest.kt
+1 −0 bugsnag-android-core/src/test/java/com/bugsnag/android/SessionTrackerPauseResumeTest.kt
+1 −0 bugsnag-android-core/src/test/java/com/bugsnag/android/SessionTrackerTest.java
+1 −1 bugsnag-android-core/src/test/java/com/bugsnag/android/internal/BackgroundTaskServiceTest.kt
+96 −0 bugsnag-android-core/src/test/java/com/bugsnag/android/internal/StringUtilsTest.kt
+1 −1 bugsnag-plugin-android-ndk/src/main/java/com/bugsnag/android/NdkPlugin.kt
+16 −8 bugsnag-plugin-android-ndk/src/main/java/com/bugsnag/android/ndk/NativeBridge.kt
+4 −4 bugsnag-plugin-android-ndk/src/main/jni/bugsnag_ndk.c
+1 −2 bugsnag-plugin-android-ndk/src/main/jni/featureflags.c
+36 −14 bugsnag-plugin-android-ndk/src/main/jni/utils/stack_unwinder.cpp
+28 −1 docker-compose.yml
+1 −1 examples/sdk-app-example/app/build.gradle
+18 −7 features/fixtures/mazerunner/app/src/main/java/com/bugsnag/android/mazerunner/MainActivity.kt
+15 −0 features/fixtures/mazerunner/cxx-scenarios-bugsnag/src/main/cpp/cxx-scenarios-bugsnag.cpp
+7 −3 ...cxx-scenarios-bugsnag/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXBackgroundNotifyScenario.kt
+35 −0 ...-bugsnag/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXRefreshSymbolTableDuringCrashScenario.kt
+1 −0 features/fixtures/mazerunner/cxx-scenarios/src/main/cpp/cxx-scenarios.cpp
+4 −5 .../mazerunner/cxx-scenarios/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXDelayedCrashScenario.kt
+2 −2 ...ures/mazerunner/jvm-scenarios/src/main/java/com/bugsnag/android/mazerunner/scenarios/FeatureFlagScenario.kt
+7 −3 ...res/mazerunner/jvm-scenarios/src/main/java/com/bugsnag/android/mazerunner/scenarios/InForegroundScenario.kt
+17 −0 features/fixtures/mazerunner/jvm-scenarios/src/main/java/com/bugsnag/android/mazerunner/scenarios/Scenario.kt
+1 −4 features/full_tests/in_foreground.feature
+2 −1 features/full_tests/internal_error_reports.feature
+15 −0 features/full_tests/native_crash_handling.feature
+2 −6 features/full_tests/native_event_tracking.feature
+2 −1 features/smoke_tests/01_anr.feature
+4 −2 features/smoke_tests/02_handled.feature
+6 −3 features/smoke_tests/04_unhandled.feature
+25 −8 features/steps/android_steps.rb
+2 −2 features/steps/breadcrumb_metadata_steps.rb
+1 −1 gradle.properties
2 changes: 1 addition & 1 deletion bugsnag-cocoa
Loading

0 comments on commit 7459372

Please sign in to comment.