Skip to content

Commit 816f0ef

Browse files
authored
Merge pull request #2281 from bugsnag/release/v6.18.0
Release v6.18.0
2 parents 3f0eb72 + cb93116 commit 816f0ef

54 files changed

Lines changed: 2075 additions & 58 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.buildkite/pipeline.full.yml

Lines changed: 985 additions & 3 deletions
Large diffs are not rendered by default.

.buildkite/pipeline.yml

Lines changed: 782 additions & 9 deletions
Large diffs are not rendered by default.

.github/workflows/codeql.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,9 @@ jobs:
4747
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 #v5.0.0
4848
with:
4949
submodules: recursive
50-
- uses: gradle/wrapper-validation-action@f9c9c575b8b21b6485636a91ffecd10e558c62f6 #v3.5.0
50+
- uses: gradle/actions/wrapper-validation@017a9effdb900e5b5b2fddfb590a105619dca3c3 #v4.4.2
5151

52-
- uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 #v4.7.1
52+
- uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 #v5.0.0
5353
with:
5454
distribution: 'zulu'
5555
java-version: 17
@@ -64,7 +64,7 @@ jobs:
6464

6565
# Initializes the CodeQL tools for scanning.
6666
- name: Initialize CodeQL
67-
uses: github/codeql-action/init@76621b61decf072c1cee8dd1ce2d2a82d33c17ed #v3.29.8
67+
uses: github/codeql-action/init@2d92b76c45b91eb80fc44c74ce3fce0ee94e8f9d #v3.30.0
6868
with:
6969
languages: ${{ matrix.language }}
7070
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -83,6 +83,6 @@ jobs:
8383
./gradlew --no-daemon assemble
8484
8585
- name: Perform CodeQL Analysis
86-
uses: github/codeql-action/analyze@76621b61decf072c1cee8dd1ce2d2a82d33c17ed #v3.29.8
86+
uses: github/codeql-action/analyze@2d92b76c45b91eb80fc44c74ce3fce0ee94e8f9d #v3.30.0
8787
with:
8888
category: "/language:${{matrix.language}}"

.github/workflows/downstream_updates.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ jobs:
2626
sudo apt-get install libcurl4-openssl-dev net-tools
2727
2828
- run: >
29-
curl -X POST https://api.github.com/repos/${{ matrix.downstream_repo }}/dispatches
29+
curl --fail --silent --show-error
30+
-X POST https://api.github.com/repos/${{ matrix.downstream_repo }}/dispatches
3031
-H 'Content-Type: application/json'
3132
-H "Authorization: Token ${{ secrets.DEP_UPDATER_BEARER_TOKEN }}"
3233
-d '{"event_type":"update-dependency","client_payload": {"target_submodule":"bugsnag-android", "target_version": "${{ env.RELEASE_VERSION }}"}}'

.github/workflows/scorecard.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ jobs:
6868
# Upload the results to GitHub's code scanning dashboard (optional).
6969
# Commenting out will disable upload of results to your repo's Code Scanning dashboard
7070
- name: "Upload to code-scanning"
71-
uses: github/codeql-action/upload-sarif@76621b61decf072c1cee8dd1ce2d2a82d33c17ed # v3.29.8
71+
uses: github/codeql-action/upload-sarif@2d92b76c45b91eb80fc44c74ce3fce0ee94e8f9d # v3.30.0
7272
with:
7373
sarif_file: results.sarif
7474

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
# Changelog
22

3+
## 6.18.0 (2025-09-10)
4+
5+
### Enhancements
6+
7+
* Introduced a new `Bugsnag.groupingDiscriminator` and `Event.groupingDiscriminator` to augment the default grouping behaviour.
8+
[#2273](https://github.com/bugsnag/bugsnag-android/pull/2273)
9+
310
## 6.17.0 (2025-08-14)
411

512
### Enhancements

Gemfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ source "https://rubygems.org"
44
#gem 'bugsnag-maze-runner', path: '../maze-runner'
55

66
# Or a specific release:
7-
gem 'bugsnag-maze-runner', '~>9.0'
7+
gem 'bugsnag-maze-runner', '~>10.0'
88

99
# Or follow master:
1010
#gem 'bugsnag-maze-runner', git: 'https://github.com/bugsnag/maze-runner'

Makefile

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,14 @@ fixture-r21: notifier
4646
assembleRelease -x check
4747
@ruby scripts/copy-build-files.rb release r21
4848

49+
fixture-r28: notifier
50+
# Build the r28 test fixture
51+
@cd ./features/fixtures/mazerunner && ./gradlew -PTEST_FIXTURE_NDK_VERSION=28.2.13676358 \
52+
-PTEST_FIXTURE_MINSDK=21 \
53+
-PTEST_FIXTURE_NAME=fixture-r28.apk \
54+
assembleRelease -x check
55+
@ruby scripts/copy-build-files.rb release r28
56+
4957
fixture-minimal: notifier
5058
# Build the minimal test fixture
5159
@cd ./features/fixtures/mazerunner && ./gradlew -PMINIMAL_FIXTURE=true \

bugsnag-android-core/api/bugsnag-android-core.api

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ public final class com/bugsnag/android/Bugsnag {
7171
public static fun getBreadcrumbs ()Ljava/util/List;
7272
public static fun getClient ()Lcom/bugsnag/android/Client;
7373
public static fun getContext ()Ljava/lang/String;
74+
public static fun getGroupingDiscriminator ()Ljava/lang/String;
7475
public static fun getLastRunInfo ()Lcom/bugsnag/android/LastRunInfo;
7576
public static fun getMetadata (Ljava/lang/String;)Ljava/util/Map;
7677
public static fun getMetadata (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
@@ -87,6 +88,7 @@ public final class com/bugsnag/android/Bugsnag {
8788
public static fun removeOnSession (Lcom/bugsnag/android/OnSessionCallback;)V
8889
public static fun resumeSession ()Z
8990
public static fun setContext (Ljava/lang/String;)V
91+
public static fun setGroupingDiscriminator (Ljava/lang/String;)Ljava/lang/String;
9092
public static fun setUser (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
9193
public static fun start (Landroid/content/Context;)Lcom/bugsnag/android/Client;
9294
public static fun start (Landroid/content/Context;Lcom/bugsnag/android/Configuration;)Lcom/bugsnag/android/Client;
@@ -127,6 +129,7 @@ public class com/bugsnag/android/Client : com/bugsnag/android/CallbackAware, com
127129
protected fun finalize ()V
128130
public fun getBreadcrumbs ()Ljava/util/List;
129131
public fun getContext ()Ljava/lang/String;
132+
public fun getGroupingDiscriminator ()Ljava/lang/String;
130133
public fun getLastRunInfo ()Lcom/bugsnag/android/LastRunInfo;
131134
public fun getMetadata (Ljava/lang/String;)Ljava/util/Map;
132135
public fun getMetadata (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
@@ -142,6 +145,7 @@ public class com/bugsnag/android/Client : com/bugsnag/android/CallbackAware, com
142145
public fun removeOnSession (Lcom/bugsnag/android/OnSessionCallback;)V
143146
public fun resumeSession ()Z
144147
public fun setContext (Ljava/lang/String;)V
148+
public fun setGroupingDiscriminator (Ljava/lang/String;)Ljava/lang/String;
145149
public fun setUser (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
146150
public fun startSession ()V
147151
}
@@ -388,6 +392,7 @@ public class com/bugsnag/android/Event : com/bugsnag/android/FeatureFlagAware, c
388392
public fun getDevice ()Lcom/bugsnag/android/DeviceWithState;
389393
public fun getErrors ()Ljava/util/List;
390394
public fun getFeatureFlags ()Ljava/util/List;
395+
public fun getGroupingDiscriminator ()Ljava/lang/String;
391396
public fun getGroupingHash ()Ljava/lang/String;
392397
public fun getMetadata (Ljava/lang/String;)Ljava/util/Map;
393398
public fun getMetadata (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
@@ -400,6 +405,7 @@ public class com/bugsnag/android/Event : com/bugsnag/android/FeatureFlagAware, c
400405
public fun leaveBreadcrumb (Ljava/lang/String;Lcom/bugsnag/android/BreadcrumbType;Ljava/util/Map;)Lcom/bugsnag/android/Breadcrumb;
401406
public fun setApiKey (Ljava/lang/String;)V
402407
public fun setContext (Ljava/lang/String;)V
408+
public fun setGroupingDiscriminator (Ljava/lang/String;)Ljava/lang/String;
403409
public fun setGroupingHash (Ljava/lang/String;)V
404410
public fun setSeverity (Lcom/bugsnag/android/Severity;)V
405411
public fun setTraceCorrelation (Ljava/util/UUID;J)V
@@ -547,6 +553,7 @@ public class com/bugsnag/android/NativeInterface {
547553
public static fun setBinaryArch (Ljava/lang/String;)V
548554
public static fun setClient (Lcom/bugsnag/android/Client;)V
549555
public static fun setContext (Ljava/lang/String;)V
556+
public static fun setGroupingDiscriminator (Ljava/lang/String;)Ljava/lang/String;
550557
public static fun setUser (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
551558
public static fun setUser ([B[B[B)V
552559
public static fun startSession ()V
@@ -757,6 +764,11 @@ public final class com/bugsnag/android/StateEvent$UpdateContext : com/bugsnag/an
757764
public fun <init> (Ljava/lang/String;)V
758765
}
759766

767+
public final class com/bugsnag/android/StateEvent$UpdateGroupingDiscriminator : com/bugsnag/android/StateEvent {
768+
public final field groupingDiscriminator Ljava/lang/String;
769+
public fun <init> (Ljava/lang/String;)V
770+
}
771+
760772
public final class com/bugsnag/android/StateEvent$UpdateInForeground : com/bugsnag/android/StateEvent {
761773
public final field inForeground Z
762774
public fun <init> (ZLjava/lang/String;)V

bugsnag-android-core/detekt-baseline.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
<ID>CyclomaticComplexMethod:AppDataCollector.kt$AppDataCollector$@SuppressLint("SwitchIntDef") @Suppress("DEPRECATION") private fun getProcessImportance(): String?</ID>
66
<ID>CyclomaticComplexMethod:ConfigInternal.kt$ConfigInternal$fun getConfigDifferences(): Map&lt;String, Any></ID>
77
<ID>ImplicitDefaultLocale:Deliverable.kt$Deliverable$String.format("%02x", byte)</ID>
8+
<ID>LongMethod:EventSerializationTest.kt$EventSerializationTest.Companion$@JvmStatic @Parameters fun testCases(): Collection&lt;Pair&lt;Event, String>></ID>
89
<ID>LongParameterList:App.kt$App$( /** * The architecture of the running application binary */ var binaryArch: String?, /** * The package name of the application */ var id: String?, /** * The release stage set in [Configuration.releaseStage] */ var releaseStage: String?, /** * The version of the application set in [Configuration.version] */ var version: String?, /** The revision ID from the manifest (React Native apps only) */ var codeBundleId: String?, /** * The unique identifier for the build of the application set in [Configuration.buildUuid] */ buildUuid: Provider&lt;String?>?, /** * The application type set in [Configuration#version] */ var type: String?, /** * The version code of the application set in [Configuration.versionCode] */ var versionCode: Number? )</ID>
910
<ID>LongParameterList:AppDataCollector.kt$AppDataCollector$( appContext: Context, private val packageManager: PackageManager?, private val config: ImmutableConfig, private val sessionTracker: Provider&lt;SessionTracker>, private val activityManager: ActivityManager?, private val launchCrashTracker: LaunchCrashTracker, private val memoryTrimState: MemoryTrimState )</ID>
1011
<ID>LongParameterList:AppWithState.kt$AppWithState$( binaryArch: String?, id: String?, releaseStage: String?, version: String?, codeBundleId: String?, buildUuid: Provider&lt;String?>?, type: String?, versionCode: Number?, /** * The number of milliseconds the application was running before the event occurred */ var duration: Number?, /** * The number of milliseconds the application was running in the foreground before the * event occurred */ var durationInForeground: Number?, /** * Whether the application was in the foreground when the event occurred */ var inForeground: Boolean?, /** * Whether the application was launching when the event occurred */ var isLaunching: Boolean? )</ID>

0 commit comments

Comments
 (0)