Commit 5cd12dd
chore: merge main into workstation/6.0-Release (#734)
* chore: Update submodules
* chore: 5.78.3 (release)
## [5.78.3](v5.78.2...v5.78.3) (2026-03-11)
### Updates & Maintenance
* bump actions/upload-artifact from 6 to 7 ([#649](#649)) ([0a188b1](0a188b1))
* Update submodules ([cbb17d7](cbb17d7))
* chore: Update submodules
* chore: 5.78.4 (release)
## [5.78.4](v5.78.3...v5.78.4) (2026-03-23)
### Updates & Maintenance
* Update submodules ([08dab75](08dab75))
* chore: Update submodules
* chore: 5.78.5 (release)
## [5.78.5](v5.78.4...v5.78.5) (2026-03-25)
### Updates & Maintenance
* Update submodules ([86d8d97](86d8d97))
* fix: increase MPLatch timeout from 5s to 30s (#695)
* fix: increase MPLatch timeout from 5s to 30s
The 5-second timeout is too short for WebView JS bridge tests running
on newer GitHub Actions runner images (ubuntu24/20260309.50+). The
MParticleJSInterfaceITest tests consistently fail because JS execution
in the emulator WebView doesn't complete within 5 seconds on these
environments.
Increasing to 30 seconds provides sufficient margin while still
catching genuine hangs via the workflow-level timeout-minutes: 15.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: use explicit 30s timeout in JS bridge tests only
Instead of increasing the global MPLatch timeout (used by 20+ test
files), use an explicit 30-second await in MParticleJSInterfaceITest
only. WebView JS execution needs more time on newer CI runner images,
but other tests don't need the longer timeout.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat: Add max persistence age override option [TRIAGE-608] (#699)
* TRIAGE-608: Add max persistence age override option
* TRIAGE-608: Update throttl ts on success + tests
* TRIAGE-608: Make properties @VisibleForTesting
* TRIAGE-608: Fix retry-on-failure throttle logic
* feat: add customBaseURL CNAME support to NetworkOptions (#701)
* feat: add customBaseURL CNAME support to NetworkOptions
Adds NetworkOptions.Builder.setCustomBaseURL(String) which routes all
mParticle endpoint traffic (config, events, identity, alias, audience)
through a single HTTPS CNAME host. When set, customBaseURL takes
priority over individual domain mappings and rewrites paths to match
CDN routing: /config/v4/, /nativeevents/v2/, /identity/v1/,
/nativeevents/v1/identity/, /nativeevents/v1/<key>/audience.
Also adds R8 keep rules for MParticle$Internal and
ConfigManager.getNetworkOptions() so kits can read customBaseURL after
minification.
The Rokt kit reads NetworkOptions.customBaseURL and forwards it to the
Rokt SDK: mparticle-integrations/mparticle-android-integration-rokt#143
Mirrors iOS work from mparticle-apple-sdk#760.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* fix: persist customBaseURL across NetworkOptions JSON round-trip
NetworkOptions.toJson() and withNetworkOptions(String) did not include
customBaseURL, so any value was silently dropped when UploadSettings
serialized NetworkOptions to the upload database. Events and alias
uploads read back NetworkOptions without customBaseURL and routed to
the default mParticle endpoints instead of the partner CNAME.
Also:
- Extract the customBaseURL/DomainMapping host-resolution branch out of
getUrl() into a private resolveHost() helper plus a small ResolvedHost
value type, lowering getUrl()'s cyclomatic complexity.
- Switch java.net.URL / java.net.MalformedURLException to imports.
- Add two androidTest cases covering the round-trip.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* test(android-core): cover custom base URL upload storage
---------
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: Thomson Thomas <thomson.thomas@rokt.com>
* chore: Update submodules
* chore: 5.79.0 (release)
## [5.79.0](v5.78.5...v5.79.0) (2026-05-14)
### Features
* add customBaseURL CNAME support to NetworkOptions ([#701](#701)) ([5285149](5285149)), closes [mparticle-apple-sdk#760](mParticle/mparticle-apple-sdk#760)
* Add max persistence age override option [TRIAGE-608] ([#699](#699)) ([ca88322](ca88322))
### Bug Fixes
* increase MPLatch timeout from 5s to 30s ([#695](#695)) ([20f723f](20f723f))
### Updates & Maintenance
* Update submodules ([59a4a9a](59a4a9a))
* chore: bump trunk-io/trunk-action from 1.2.4 to 1.3.1 (#705)
Bumps [trunk-io/trunk-action](https://github.com/trunk-io/trunk-action) from 1.2.4 to 1.3.1.
- [Release notes](https://github.com/trunk-io/trunk-action/releases)
- [Commits](trunk-io/trunk-action@75699af...04ba50e)
---
updated-dependencies:
- dependency-name: trunk-io/trunk-action
dependency-version: 1.3.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Handle legacy persisted domain mappings safely (#703)
Co-authored-by: James Newman <james.newman@rokt.com>
* fix(ci): pin isolated-kit gradle version to prevent 6.0.0-rc.1 pull (#714)
The isolated urbanairship-kit lint/test steps in daily.yml and the
kit-compatibility test in pull-request.yml run `./gradlew` from inside
the kit dir without `-Pversion=...`. The kit's standalone build.gradle
defaults `project.version = '+'`, so its `com.mparticle:android-kit-plugin`
dependency resolves to the highest version on Maven Central — now
`6.0.0-rc.1` (published 2026-05-22), which renamed/removed kit-base
symbols and broke the kit's compile.
Mirror the pattern already used in the Sonatype Release job: extract the
SDK version via `./gradlew -q properties` and pass it as `-Pversion=...`
to every standalone kit invocation, so it resolves the freshly-published
mavenLocal artifact instead of the RC.
Affected steps:
- lint-checks → Run Isolated Kit Lint (urbanairship-kit)
- kotlin-lint-checks → Run Isolated Kit Kotlin Lint (urbanairship-kit)
- update-kits → Test Isolated Kits (urbanairship-kit)
- kit-compatibility-test → Run Isolated Kit Compatibility Tests (urbanairship-kit)
The companion defensive fix in mparticle-android-integration-urbanairship
pins the kit's standalone `project.version` to `[5.0,6.0)`.
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* chore: Update submodules
* chore: 5.79.1 (release)
## [5.79.1](v5.79.0...v5.79.1) (2026-05-27)
### Bug Fixes
* **ci:** pin isolated-kit gradle version to prevent 6.0.0-rc.1 pull ([#714](#714)) ([eff10ea](eff10ea))
### Updates & Maintenance
* bump trunk-io/trunk-action from 1.2.4 to 1.3.1 ([#705](#705)) ([f4ceca7](f4ceca7))
* Update submodules ([e435979](e435979))
* ci: remove cross-platform-tests and semantic PR/branch checks (#712)
These checks have been failing on nearly every recent PR. The
cross-platform tests are known broken, and the semantic PR title /
branch name checks are no longer enforced.
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* chore: bump actions/checkout from 6.0.2 to 6.0.3 (#720)
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.2 to 6.0.3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](actions/checkout@v6.0.2...v6.0.3)
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: 6.0.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore: Update submodules
* chore: 5.79.2 (release)
## [5.79.2](v5.79.1...v5.79.2) (2026-06-22)
### Updates & Maintenance
* bump actions/checkout from 6.0.2 to 6.0.3 ([#720](#720)) ([d904edb](d904edb))
* remove cross-platform-tests and semantic PR/branch checks ([#712](#712)) ([6cdacf2](6cdacf2))
* Update submodules ([976dd0d](976dd0d))
* feat: add device-based consent to override MPID-scoped consent (#726)
Enables Inspire-style flows where consent is collected before MPID changes at checkout, so kit forwarding rules and uploads keep the correct consent state.
* chore: 5.80.0 (release)
## [5.80.0](v5.79.2...v5.80.0) (2026-06-25)
### Features
* add device-based consent to override MPID-scoped consent ([#726](#726)) ([e92d352](e92d352))
* chore: normalize CHANGELOG list markers after merge
* ci: pin actions/checkout to commit SHA to satisfy security lint
* docs: remove duplicate Unreleased changelog section
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: mparticle-automation <developers@mparticle.com>
Co-authored-by: Robert Ing <ring@mparticle.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: junias-rokt <junias.ngoyi@rokt.com>
Co-authored-by: James Newman <james.newman@rokt.com>
Co-authored-by: Thomson Thomas <thomson.thomas@rokt.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: ankitsingh08 <ankit.tomar08@gmail.com>1 parent 668bf22 commit 5cd12dd
28 files changed
Lines changed: 851 additions & 118 deletions
File tree
- .github/workflows
- android-core/src
- androidTest
- java/com/mparticle/internal
- kotlin/com.mparticle
- internal/database/services
- main
- java/com/mparticle
- identity
- internal
- database/services
- networking
- kotlin/com/mparticle/internal
- test/kotlin/com/mparticle
- external
- internal
- networking
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
48 | | - | |
| 48 | + | |
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
| |||
69 | 69 | | |
70 | 70 | | |
71 | 71 | | |
72 | | - | |
| 72 | + | |
73 | 73 | | |
74 | 74 | | |
75 | 75 | | |
| |||
102 | 102 | | |
103 | 103 | | |
104 | 104 | | |
105 | | - | |
| 105 | + | |
106 | 106 | | |
107 | 107 | | |
108 | 108 | | |
| |||
192 | 192 | | |
193 | 193 | | |
194 | 194 | | |
195 | | - | |
| 195 | + | |
196 | 196 | | |
197 | 197 | | |
198 | 198 | | |
| |||
221 | 221 | | |
222 | 222 | | |
223 | 223 | | |
224 | | - | |
| 224 | + | |
225 | 225 | | |
226 | 226 | | |
227 | 227 | | |
| |||
264 | 264 | | |
265 | 265 | | |
266 | 266 | | |
267 | | - | |
| 267 | + | |
268 | 268 | | |
269 | 269 | | |
270 | 270 | | |
| |||
311 | 311 | | |
312 | 312 | | |
313 | 313 | | |
314 | | - | |
| 314 | + | |
315 | 315 | | |
316 | 316 | | |
317 | 317 | | |
| |||
346 | 346 | | |
347 | 347 | | |
348 | 348 | | |
349 | | - | |
| 349 | + | |
350 | 350 | | |
351 | 351 | | |
352 | 352 | | |
| |||
377 | 377 | | |
378 | 378 | | |
379 | 379 | | |
380 | | - | |
| 380 | + | |
381 | 381 | | |
382 | 382 | | |
383 | 383 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
22 | | - | |
| 22 | + | |
23 | 23 | | |
24 | | - | |
| 24 | + | |
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
30 | | - | |
31 | | - | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
36 | 30 | | |
37 | 31 | | |
38 | 32 | | |
| |||
75 | 69 | | |
76 | 70 | | |
77 | 71 | | |
78 | | - | |
| 72 | + | |
79 | 73 | | |
80 | 74 | | |
81 | 75 | | |
| |||
99 | 93 | | |
100 | 94 | | |
101 | 95 | | |
102 | | - | |
| 96 | + | |
103 | 97 | | |
104 | 98 | | |
105 | 99 | | |
| |||
126 | 120 | | |
127 | 121 | | |
128 | 122 | | |
129 | | - | |
| 123 | + | |
130 | 124 | | |
131 | 125 | | |
132 | 126 | | |
| |||
162 | 156 | | |
163 | 157 | | |
164 | 158 | | |
165 | | - | |
| 159 | + | |
166 | 160 | | |
167 | 161 | | |
168 | 162 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
120 | 120 | | |
121 | 121 | | |
122 | 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 | + | |
123 | 182 | | |
124 | 183 | | |
125 | 184 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
23 | | - | |
| 23 | + | |
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
| |||
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
34 | | - | |
35 | | - | |
| 34 | + | |
| 35 | + | |
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
| |||
0 commit comments