Robolectric 4.17
- Support for SDK 37
- Shadow for getDeviceOwnerComponentOnAnyUser
- ShadowTelMan implementation of get/setPreferredOpportunisticDataSubscription
- Robolectric support for AccessibilityWindowInfo.get/setRegionInScreen()
- Support for mouse wheel scroll events to the simulator
- SurroundingTextCallback to ShadowAccessibilityInputConnection
- setInformationElements() to WifiScanResultBuilder
- isWallpaperBackupEligible and getWallpaperFile with cropping
- ShadowCameraCharacteristics.set(Key, Object) has been changed to set(Key, T) to correctly reflect type enforcement in the framework
- Make all static fields emitted by Reflector volatile
- Update listener logic of getProfileProxy to match actual behavior
- Update ShadowTelephonyManager to support updateAvailableNetworks
- Make Scheduler#size as unsupported on SDKs greater than Baklava
- UiModeManager contrast handling in in-development SDK
- ShadowPausedLooper#poll when sync barrier is blocking the queue
- UserManager.isMainUser on in-development SDK
- AndroidVersions has been removed in favor of using android.os.Build constants
From Robolectric
Robolectric 4.17 supports SDK 37 and contains many other features and enhancements.
Please note you may need to add jvmFlags configuration when using JDKs >= 17 at https://robolectric.org/getting-started/
If you have any issues, please file them here.
Breaking Changes
AndroidVersions has been removed in favor of using android.os.Build constants ShadowCameraCharacteristics.set(Key, Object) has been changed to set(Key, T), in order to correctly reflect type enforcement in the framework
What's Changed
- Disable httpclient tests in Github CI by @hoisie in https://github.com/robolectric/robolectric/pull/10553
- Use Java 21 for CodeQL by @hoisie in https://github.com/robolectric/robolectric/pull/10554
- Update roborazzi to v1.48.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10561
- Update dependency com.googlecode.libphonenumber:libphonenumber to v9.0.12 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10557
- Update
AndroidVersionsJavadoc by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10556 - Make Scheduler#size as unsupported on SDKs > Baklava. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10564
- Update shadows/httpclient to use prebuilt legacy http client for tests by @hoisie in https://github.com/robolectric/robolectric/pull/10562
- Add shadow for getDeviceOwnerComponentOnAnyUser. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10565
- Add ShadowTelMan implementation of get/setPreferredOpportunisticDataSubscription by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10567
- Fix UiModeManager contrast handling in in-development SDK. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10568
- Make all static fields emitted by Reflector volatile. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10569
- Update listener logic of getProfileProxy to match actual behavior. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10570
- Update mockito monorepo to v5.19.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10560
- Update kotlin monorepo to v2.2.10 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10558
- Fix ShadowPausedLooper#poll when sync barrier is blocking the queue. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10571
- Update
ShadowTelephonyManagerto supportupdateAvailalbeNetworksby @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10574 - Update Android V (SDK 35) to build id 13954326 by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10575
- Fix UserManager.isMainUser on in-development SDK. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10576
- Adds robolectric support for AccessibilityWindowInfo.get/setRegionInScreen(). by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10577
- Remove unused dependencies by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10566
- Add support for mouse wheel scroll events to the simulator by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10578
- Update Javadoc of {get,peek}NextStartedService to better reflect the actual implementation by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10585
- Add a script to generate a legacy http client bundle by @hoisie in https://github.com/robolectric/robolectric/pull/10555
- Add SurroundingTextCallback to ShadowAccessibilityInputConnection. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10591
- Adds setInformationElements() to WifiScanResultBuilder by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10593
- Add isWallpaperBackupEligible and getWallpaperFile with cropping by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10594
- Mention Baklava support in the Readme by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10588
- Fix AccessibilityWindowInfoBuilderTest by @hoisie in https://github.com/robolectric/robolectric/pull/10595
- Remove unused method in
AndroidVersionInitToolsby @MGaetan89 in https://github.com/robolectric/robolectric/pull/10563 - Update roborazzi to v1.50.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10582
- Update GitHub Actions to v5 (major) by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10583
- Update Android Gradle Plugin by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10580
- Update dependency com.googlecode.libphonenumber:libphonenumber to v9.0.13 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10596
- Update AndroidX by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10559
- Create a workflow to automate the sync of
googleintomasterby @MGaetan89 in https://github.com/robolectric/robolectric/pull/10339 - Bump toolchains in devcontainer's Dockerfile by @utzcoz in https://github.com/robolectric/robolectric/pull/10597
- Add Robolectric icon for IDE by @utzcoz in https://github.com/robolectric/robolectric/pull/10598
- Declare File? as type for toolsJar explicitly by @utzcoz in https://github.com/robolectric/robolectric/pull/10599
- Disable parallel for aggregateDocs task temporarily by @utzcoz in https://github.com/robolectric/robolectric/pull/10600
- Update dependency gradle to v9 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10514
- Remove spaces around
=in XML files by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10601 - Bump minSdk to 23 for integration_tests modules by @utzcoz in https://github.com/robolectric/robolectric/pull/10602
- Bump targetSdk to 36 for integration_tests modules by @utzcoz in https://github.com/robolectric/robolectric/pull/10603
- Update the API groups in
tests.ymlby @MGaetan89 in https://github.com/robolectric/robolectric/pull/10606 - Remove extra space in
vector_icon_transformation_6.xmlby @MGaetan89 in https://github.com/robolectric/robolectric/pull/10607 - Run SDK 36 integration tests with Emulator on CI by @utzcoz in https://github.com/robolectric/robolectric/pull/10604
- Update actions/checkout action to v5 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10609
- Update dependency org.yaml:snakeyaml to v2.5 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10608
- Use new Android APIs for getLastScheduledTaskTime and reset. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10611
- Add setType() to AccessibilityWindowInfoBuilder(). by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10614
- Simplify
@Configannotation by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10615 - Delegate to framework WifiUsabilityStatsEntry.Builder. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10617
- Add missing
GradientDrawable#setStroke(...)overloads toShadowGradientDrawableby @MGaetan89 in https://github.com/robolectric/robolectric/pull/10342 - Update ShadowCardEmulation's @Resetter to reset ObserveModeEnabledServices by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10619
- Add ShadowAdvancedProtectionManager. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10622
- Add ShadowSatelliteManager. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10623
- Simplify Sonatype repositories setup by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10625
- Fix token in
sync_google_master.ymlby @MGaetan89 in https://github.com/robolectric/robolectric/pull/10626 - Add support for NfcEventCallback to ShadowCardEmulation. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10624
- Add carrier ID to SubInfoBuilder + set valid default in ShadowTM by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10627
- Update ShadowCCM to broadcast carrier config changes by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10628
- Update Android Gradle Plugin by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10629
- Update dependency com.gradle.plugin-publish to v2 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10632
- Add Builders for RequestInfo and RequestToken. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10636
- Add support for triggering capabilties callbacks in RangingManager. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10638
- Update dependency com.google.testing.compile:compile-testing to v0.22.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10631
- Add GMD's support with SDK 36 by @utzcoz in https://github.com/robolectric/robolectric/pull/10572
- Deprecate
shadows:httpclientby @MGaetan89 in https://github.com/robolectric/robolectric/pull/10644 - Use android.os.Build constants for AndroidVersions SDK_INT. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10641
- Revert the previous change due to incompatible Mockito version on the platform by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10650
- Run instrumentation tests with SDK 30 at least by @utzcoz in https://github.com/robolectric/robolectric/pull/10652
- Update dependency com.google.truth:truth to v1.4.5 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10655
- Update dependency com.googlecode.libphonenumber:libphonenumber to v9.0.14 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10656
- Update dependency com.google.code.gson:gson to v2.13.2 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10654
- Update AndroidX by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10658
- Bump Java's source/target compatibility version to 11 by @utzcoz in https://github.com/robolectric/robolectric/pull/10651
- Add Shadow Implementations for CDM Transport Methods by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10645
- Fix ShadowCallRedirectionService#placeCall on in-development SDK. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10660
- Deprecate
SQLiteModeby @MGaetan89 in https://github.com/robolectric/robolectric/pull/10653 - Update javadoc for ResourcesMode.NATIVE. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10659
- Replace AndroidVersions.*.SDK_INT references with android.os.Build.VERSION_CODES. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10662
- Replace AndroidVersions.*.SDK_INT references with android.os.Build.VERSION_CODES. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10664
- Add VersionCalculator. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10666
- Integrate JSpecify in
:annotationsby @MGaetan89 in https://github.com/robolectric/robolectric/pull/10446 - Make
getSimCountryIso()respect theTelephonyMananger'ssubIdby @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10668 - Update kotlin monorepo to v2.2.20 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10657
- Add Shadow Implementation for getAllAssociations by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10671
- Run preinstrumented with SDK 36 on CI by @utzcoz in https://github.com/robolectric/robolectric/pull/10669
- Remove obsolete computeUseConcurrent shadow method. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10674
- Set javadoc source to JDK11 by @utzcoz in https://github.com/robolectric/robolectric/pull/10670
- Remove deprecated methods of ShadowSensorManager by @utzcoz in https://github.com/robolectric/robolectric/pull/10677
- Update dependency com.google.testing.compile:compile-testing to v0.23.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10679
- Update dependency com.google.testparameterinjector:test-parameter-injector to v1.19 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10680
- Update dependency com.google.testparameterinjector:test-parameter-injector to v1.19 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10681
- Update dependency org.bouncycastle:bcprov-jdk18on to v1.82 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10682
- Update error.prone to v2.42.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10683
- Update Gradle to v9.1.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10684
- Update guava monorepo to v33.5.0-jre by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10685
- Update mockito monorepo to v5.20.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10686
- Remove duplicated Test Parameter Injector dependency by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10688
- Implement shadow behavior for VirtualDeviceManager#registerVirtualDeviceListener by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10689
- Fix explicit resource loading in the simulator. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10693
- Update loading preference order for acquired classes in the simulator by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10695
- Fix some typos for the repository by @utzcoz in https://github.com/robolectric/robolectric/pull/10696
- Added custom ThreadFactory to name threads in LocalUiController by @abheydhya in https://github.com/robolectric/robolectric/pull/10490
- Leverage Executor.defaultThreadFactory for looperIdlingExecutor in LocalUiController by @utzcoz in https://github.com/robolectric/robolectric/pull/10697
- When a top-level exception occurs in the Simulator, print the stack trace and exit immediately. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10698
- Implement ResTable support for shared libraries by @jeremy-meta in https://github.com/robolectric/robolectric/pull/10634
- Bring back lookupResourceValue_returnsBadTypeIfTypeOutOfEnumRange by @utzcoz in https://github.com/robolectric/robolectric/pull/10699
- Make-fields-of-ShadowUIModeManager-static-for-context-level-instance by @Devashishbasu in https://github.com/robolectric/robolectric/pull/9485
- Update AndroidX by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10701
- Update dependency com.googlecode.libphonenumber:libphonenumber to v9.0.15 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10702
- Update dependency com.diffplug.spotless:spotless-plugin-gradle to v8 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10703
- Change in RangingManager roboelectric shadow by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10706
- Remove useless suppress for JdkCollectors by @utzcoz in https://github.com/robolectric/robolectric/pull/10676
- ci: Switch to use windows-latest for Windows image by @utzcoz in https://github.com/robolectric/robolectric/pull/10710
- chore(deps): update gradle/actions action to v5 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10714
- fix(deps): update asm to v9.9 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10713
- fix(deps): update dependency io.mockk:mockk to v1.14.6 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10712
- More clean up for min sdk 23 by @utzcoz in https://github.com/robolectric/robolectric/pull/10716
- Remove unnecessary checks for SDK M for ShadowBluetoothAdapter by @utzcoz in https://github.com/robolectric/robolectric/pull/10717
- Fix some CheckReturnValue lint errors in some Robolectric tests by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10720
- chore(deps): update github/codeql-action action to v4 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10725
- fix(deps): update androidx by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10723
- fix(deps): update dependency org.jacoco:org.jacoco.agent to v0.8.14 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10722
- fix(deps): update dependency com.googlecode.libphonenumber:libphonenumber to v9.0.16 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10721
- fix(deps): update dependency com.squareup.okhttp3:okhttp-bom to v5.2.1 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10724
- Fix DisplayManagerGlobal listener callbacks in post-Baklava SDK. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10726
- Store the default ANIMATOR_DURATION_SCALE settings as floats by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10735
- Update to
google-java-format1.30.0 by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10738 - Remove obsolete suppressions of the AndroidJdkLibsChecker Error Prone check by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10739
- Update ShadowBugreportManager with additional functionality. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10743
- Add shadow for
BluetoothDevice#connecton Tiramisu+. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10742 - Add shadow implementation for
BluetoothGatt.readCharacteristic. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10744 - Add ShadowBiometricPrompt by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10747
- Avoid posting tasks to CameraDeviceImpl's Executor in ShadowCameraManager.reset by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10750
- fix(deps): update dependency com.googlecode.libphonenumber:libphonenumber to v9.0.17 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10752
- fix(deps): update kotlin monorepo to v2.2.21 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10753
- chore(deps): update actions/upload-artifact action to v5 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10755
- fix(deps): update androidx by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10751
- fix(deps): update error.prone to v2.43.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10754
- chore(deps): update gradle to v9.2.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10766
- fix(deps): update dependency com.squareup.okhttp3:okhttp-bom to v5.3.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10767
- fix(deps): update dependency com.ibm.icu:icu4j to v78 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10768
- Fix BluetoothGatt construction. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10769
- Remove Util.readBytes(InputStream) and Util.copy(InputStream, OutputStream) by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10770
- Add
ShadowBuild.setUserdebug()to allow settingBuild.IS_USERDEBUG. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10775 - Migrate from
Collections.sort(list)tolist.sort()by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10687 - Remove unnecessary ShadowBuild.setUserdebug. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10778
- fix(deps): update error.prone to v2.44.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10783
- fix(deps): update dependency com.googlecode.libphonenumber:libphonenumber to v9.0.18 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10781
- fix(deps): update dependency androidx.compose:compose-bom to v2025.11.00 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10782
- fix(deps): update roborazzi to v1.51.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10784
- Add
setOpportunistictoShadowSubscriptionManagerby @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10791 - Consolidate CameraMetadataNative shadows by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10793
- Roll back recent CaptureRequest.Builder change by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10795
- chore(deps): update dependency com.android.library to v8.13.1 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10798
- fix(deps): update dependency com.android.tools:common to v31.13.1 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10799
- fix(deps): update auto.value to v1.11.1 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10800
- fix(deps): update dependency com.squareup.okhttp3:okhttp-bom to v5.3.1 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10801
- Add fallback 400 when mStyle is null for legacy CustomFallbackBuilder build by @utzcoz in https://github.com/robolectric/robolectric/pull/10796
- Update to
google-java-format1.32.0 by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10805 - Remove redundant Gradle declarations by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10807
- Use a real CameraCharacteristics constructor by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10809
- Refactor ShadowFingerprintManagerTest to use Shadow.extract. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10814
- Roll back recent change to ShadowStatsLog by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10820
- chore(deps): update gradle to v9.2.1 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10825
- fix(deps): update androidx by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10826
- fix(deps): update dependency com.diffplug.spotless:spotless-plugin-gradle to v8.1.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10829
- chore(deps): update actions/checkout action to v6 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10831
- fix(deps): update dependency com.squareup.okhttp3:okhttp-bom to v5.3.2 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10828
- fix(deps): update dependency com.googlecode.libphonenumber:libphonenumber to v9.0.19 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10827
- fix(deps): update dependency com.google.testparameterinjector:test-parameter-injector to v1.20 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10830
- Adds a new list to ShadowStatsLog to store the raw StatsEvent by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10832
- Call instantiateApplication for AppComponentFactory by @ZacSweers in https://github.com/robolectric/robolectric/pull/10833
- Bump testapp's minSdk to 23 by @utzcoz in https://github.com/robolectric/robolectric/pull/10836
- fix(deps): update roborazzi to v1.52.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10839
- fix(deps): update dependency org.bouncycastle:bcprov-jdk18on to v1.83 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10837
- fix(deps): update error.prone to v2.45.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10838
- Add a null check for CameraMetadataNative(CameraMetadataNative) ctor by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10844
- Add maxSdk for ShadowFingerprintManager. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10845
- Future proof IBluetoothManager support. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10848
- Add a POST_B version of onAdvertisingSetStarted. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10849
- Adjust to changed Bluetooth object constructors in POST_B. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10851
- Fix ShadowSafetyCenterManagerTest on latest POST_BAKLAVA SDK. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10855
- Populate DisplayMetrics.noncompat*Pixels fields. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10856
- Adjust to DisplayInfo.appSupportedModes removal. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10857
- Add integration test for junit vintage engine by @utzcoz in https://github.com/robolectric/robolectric/pull/10835
- fix(deps): update dependency com.googlecode.libphonenumber:libphonenumber to v9.0.20 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10862
- fix(deps): update dependency org.junit:junit-bom to v6 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10865
- fix(deps): update dependency androidx.compose:compose-bom to v2025.12.00 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10864
- fix(deps): update dependency io.mockk:mockk to v1.14.7 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10863
- Adjust to changed AudioTrack and AssetManager API changes. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10866
- Add shadow for startObservingDevicePresence with ObservingDevicePresenceRequest by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10867
- Add support for direct native methods in reflector by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10868
- Expose getLastLocusContextId and getLastLocusContextExtras so that setLocusContext can be tested by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10869
- Reject unknown SDK in SandboxBuilder. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10874
- Add a Robolectric Builder for android.hardware.Sensor by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10876
- Add SensorBuilder.setFifo{Max,Reserved}EventCount by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10877
- Add support for Sensor.getMaxDelay() in Robolectric's SensorBuilder. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10879
- Migrate to new macOS images by @utzcoz in https://github.com/robolectric/robolectric/pull/10881
- Fix logo foramt for README.md by @utzcoz in https://github.com/robolectric/robolectric/pull/10880
- fix(deps): update android gradle plugin by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10883
- chore(deps): update github actions (major) by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10885
- fix(deps): update mockito monorepo to v5.21.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10884
- Use ConcurrentHashMap.newKeySet for networkCallbacks by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10889
- fix(deps): update dependency androidx.compose:compose-bom to v2025.12.01 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10893
- fix(deps): update dependency com.googlecode.libphonenumber:libphonenumber to v9.0.21 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10894
- fix(deps): update asm to v9.9.1 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10892
- fix(deps): update roborazzi to v1.54.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10898
- Add maxSdk for FingerprintManager tests in ContextTest and ShadowApplicationTest. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10899
- fix(deps): update roborazzi to v1.56.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10908
- fix(deps): update dependency org.junit:junit-bom to v6.0.2 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10905
- fix(deps): update dependency com.ibm.icu:icu4j to v78.2 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10906
- Pin ShadowVirtualInputDevice to maxSdk Baklava. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10910
- Add ShadowWifiManager method to simulate a failure in addNetworkPrivileged() by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10913
- Notify listener immediately in ShadowSafetyCenterManager by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10914
- Make some minor improvements to SensorEventBuilder by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10915
- Allow configuration of the Robolectric Simulator's scroll wheel. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10917
- Remove ShadowWindowManagerGlobal.startPredictiveBackGesture APIs by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10918
- Add experimental API to enable real drawing code paths. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10920
- chore(deps): update gradle to v9.3.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10923
- fix(deps): update dependency com.googlecode.libphonenumber:libphonenumber to v9.0.22 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10921
- chore(deps): update dependency net.ltgt.errorprone to v4.4.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10922
- fix(deps): update error.prone to v2.46.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10907
- Future proof ShadowFingerprintManagerTest. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10926
- Adjust to AudioFormat channel mask SDK changes. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10928
- Fix HW rendering PixelCopy when real draw traversals are enabled by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10931
- Update Gradle's file for 9.3.0 by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10929
- Make ShadowAccountManager thread-safe. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10938
- Rollback 'Make RoboMonitoringInstrumentation#stubResultFor protected.' by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10939
- fix(deps): update roborazzi to v1.57.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10941
- fix(deps): update dependency androidx.compose:compose-bom to v2026 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10942
- fix(deps): update dependency com.diffplug.spotless:spotless-plugin-gradle to v8.2.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10940
- Add warnings and hint for junit5 mixing by @utzcoz in https://github.com/robolectric/robolectric/pull/10822
- Ensure decoroutinator is loaded into the same class loader of Kotlin by @utzcoz in https://github.com/robolectric/robolectric/pull/10943
- Resubmit 'Make UiAutomation.takeScreenshot use surface's ImageReader'. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10947
- Resubmit 'Make UiAutomation.takeScreenshot use surface's ImageReader'. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10950
- Make ShadowWindowManagerGlobal.WindowSessionDelegate extendable by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10953
- Migrate AGP to 9.0.0 with migrating buildSrc to build-logic by @utzcoz in https://github.com/robolectric/robolectric/pull/10944
- Adding ShadowKeyCharacterMap.nativeGetMatch(). Fixes #5110. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10959
- fix(deps): update dependency io.mockk:mockk to v1.14.9 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10969
- fix(deps): update dependency com.googlecode.libphonenumber:libphonenumber to v9.0.23 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10968
- fix(deps): update dependency androidx.compose:compose-bom to v2026.01.01 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10966
- chore(deps): update gradle to v9.3.1 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10965
- fix(deps): update dependency com.diffplug.spotless:spotless-plugin-gradle to v8.2.1 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10967
- Adjust to changed AudioTrack and AssetManager API changes. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10973
- Add support for getIdentityAddressWithType to ShadowBluetoothDevice. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10974
- Enable newDSL and builtIn kotlin for AGP 9.0 by @utzcoz in https://github.com/robolectric/robolectric/pull/10964
- Add support for packageSource when creating an installation session. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10976
- Avoid an IllegalStateException when using ApplicationSharedMemory by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10979
- Remove remaining references to looseSignatures by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10981
- chore(deps): update dependency net.ltgt.errorprone to v5 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10986
- fix(deps): update error.prone to v2.47.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10984
- fix(deps): update roborazzi to v1.58.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10985
- fix(deps): update dependency com.google.testparameterinjector:test-parameter-injector to v1.21 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10983
- Migrate to new MacOS images for the graphics_tests GitHub workflow by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10992
- Polish build script for newDSL from AGP 9.0.0 by @utzcoz in https://github.com/robolectric/robolectric/pull/10987
- fix(deps): update kotlin monorepo to v2.3.10 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/10895
- chore: Remove obsolete newDSL configuration by @utzcoz in https://github.com/robolectric/robolectric/pull/10994
- Rename processor test output java files to .txt suffix by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10997
- chore: Force use 0.0.9-alpha04 for com.google.testing.platform by @utzcoz in https://github.com/robolectric/robolectric/pull/10995
- Disable shadowOf generation for shadows with no public methods by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/10999
- Print stdout and stderr when running gradle tests by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11001
- fix(deps): update dependency androidx.compose:compose-bom to v2026.02.00 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11007
- Initialize default values for Paint properties in ShadowLegacyPaint by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11008
- fix(deps): update dependency com.googlecode.libphonenumber:libphonenumber to v9.0.24 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11005
- fix(deps): update dependency org.junit:junit-bom to v6.0.3 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11006
- Remove callThroughByDefault param in
@Implementsannotation by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11009 - fix(deps): update android gradle plugin by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11004
- Ignore MissingClass error from Manifest by @nishatoma in https://github.com/robolectric/robolectric/pull/11012
- fix(deps): update roborazzi to v1.59.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11014
- Adjust to signature change in ImageDecoder.nDecodeBitmap. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11015
- Add callback implementation of triggers for onSegmentResults and onEndOfSegmentedSession in ShadowSpeechRecognizer. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11019
- Use the same public @GuardedBy for all shadows by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11023
- chore: Add hint and integration tests of rap for AGP 9.0 by @utzcoz in https://github.com/robolectric/robolectric/pull/11018
- Allow RobolectricTestParameterInjector to inject Android objects (Kotlin tests only). by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11027
- fix(deps): update dependency androidx.compose:compose-bom to v2026.02.01 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11029
- fix(deps): update dependency com.googlecode.libphonenumber:libphonenumber to v9.0.25 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11030
- fix(deps): update mockito monorepo to v5.22.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11034
- chore(deps): update actions/upload-artifact action to v7 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11035
- fix(deps): update error-prone monorepo to v2.48.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11033
- fix(deps): update dependency org.yaml:snakeyaml to v2.6 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11032
- chore(deps): update dependency net.ltgt.errorprone to v5.1.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11031
- Fix multiple warnings in IDE by @nishatoma in https://github.com/robolectric/robolectric/pull/11013
- Add setIsAdminUser to ShadowUserManager. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11039
- Consolidate shadow method lookup in ShadowWrangler by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11040
- Remove log spam. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11041
- Make GrammaticalInflectionService available on Android U. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11043
- Augment confounding theme errors informative details by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11042
- fix(deps): update dependency com.diffplug.spotless:spotless-plugin-gradle to v8.3.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11050
- chore(deps): update gradle to v9.4.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11048
- Add shadow method for WifiManager.disallowCurrentSuggestedNetwork by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11051
- Add an optional module to check that View operations are called on the main thread by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11053
- chore(deps): update dependency com.gradle.plugin-publish to v2.1.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11047
- chore(deps): update android.gradle to v9.1.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11046
- Enable real view animations and draw traversals by default in POST_BAKLAVA SDK. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11054
- fix(deps): update dependency com.android.tools:common to v32.1.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11049
- Explictly recycle intermediate Bitmap's created when taking screenshots. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11056
- Add
orderparameter to @Filter annotation by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11057 - Adjust deduplication logic in ShadowView.checkThread by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11058
- Parse grammatical gender from qualifier strings on API 34+. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11059
- Migrate ShadowView to use
@Filterby @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11060 - Implement shadow for AppFunctionManager. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11061
- Optimize SimulatorPanel.drawBitmap with direct pixel access by Gemini. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11062
- Optimize ShadowUiAutomation.takeScreenshot by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11064
- Remove unnecessary shadow methods in ShadowRenderNodeAnimator by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11065
- Suppress W/PackageParser log spam from deprecated parser by @rvandermeulen in https://github.com/robolectric/robolectric/pull/11044
- fix(deps): update androidx by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11067
- fix(deps): update mockito monorepo to v5.23.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11068
- fix(deps): update dependency com.googlecode.libphonenumber:libphonenumber to v9.0.26 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11066
- Improve PerfStatsCollector synchronization and concurrency. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11070
- Adjust to UsbManager and BluetoothAdapter API changes. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11071
- Migrate ShadowAbsListView to
@Filterby @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11073 - Log memory and CPU usage on simulator exit. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11077
- Remove unused variable in ShadowPausedLooper by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11079
- Add docs to ReflectionHelper to suggest reflector instead. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11084
- Enable plugin discovery from extra jars in Robolectric Simulator. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11081
- Create ShadowPausedNoVsyncChoreographer. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11083
- Adds a protected getServiceConnectionDataWrapper() to to ShadowInstrumentation. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11087
- Add shadows for OnDeviceIntelligenceService and OnDeviceSandboxedInferenceService. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11089
- Make OnDeviceIntelligenceService and OnDeviceSandboxedInferenceService shadows extend ShadowService. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11091
- add setBitmapWithDescription and setStreamWithDescription by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11085
- chore(deps): update gradle to v9.4.1 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11093
- chore(deps): update dependency com.gradle.plugin-publish to v2.1.1 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11092
- fix(deps): update dependency com.ibm.icu:icu4j to v78.3 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11096
- fix(deps): update dependency com.diffplug.spotless:spotless-plugin-gradle to v8.4.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11095
- Migrate additional shadows to
@Filterby @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11098 - Fix test failures on latest Post-Baklava SDK. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11099
- Move Robolectric native resources support to the core library. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11088
- Remove OnDeviceIntelligence* shadows by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11102
- Update an assertion in AndroidTestEnvironmentTest by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11101
- Move perf stats reporting logic to a new PerfStatsPublisher class. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11104
- Fix ShadowViewThreadTest in a gradle environment by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11106
- ShadowAppFunctionManager: add setAppFunctionExists. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11105
- Register a shutdown hook to report perf stats. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11107
- Record the number of classpath entries as a perf stat. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11108
- Treat SDK codenames in AndroidManifest as CUR_DEVELOPMENT. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11109
- Migrate more shadows to
@Filterby @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11110 - fix(deps): update dependency com.googlecode.libphonenumber:libphonenumber to v9.0.27 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11113
- fix(deps): update dependency androidx.compose:compose-bom to v2026.03.01 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11112
- Enable realViewDrawTraversals in simulator. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11111
- chore(deps): update gradle/actions action to v6 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11114
- fix(deps): update kotlin monorepo to v2.3.20 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11094
- Revert "chore: Force use 0.0.9-alpha04 for com.google.testing.platform" by @utzcoz in https://github.com/robolectric/robolectric/pull/11120
- fix(deps): update error-prone monorepo to v2.49.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11125
- fix(deps): update dependency com.googlecode.libphonenumber:libphonenumber to v9.0.28 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11122
- fix(deps): update dependency com.google.testparameterinjector:test-parameter-injector to v1.22 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11124
- fix(deps): update dependency androidx.annotation:annotation to v1.10.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11123
- Add ShadowSelectionPosition in ShadowAccessibilityNodeInfo by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11118
- Add ShadowSelectionPosition in ShadowAccessibilityNodeInfo by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11133
- Add proxy implementations for new Cinnamon bun services. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11135
- Add ShadowAdvancedProtectionManager#updateAdvancedProtectionFeaturesProvisioning implementation by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11136
- Update
ShadowSubscriptionManagerto dispatchOnSubscriptionsChangedListeners on the owner's specifiedExecutorby @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11144 - fix(deps): update dependency org.bouncycastle:bcprov-jdk18on to v1.84 [security] by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11145
- chore: Give a valid package name for ProvideBuildClasspathTask.kt by @utzcoz in https://github.com/robolectric/robolectric/pull/11121
- chore: Give a valid name for AndroidSdk by @utzcoz in https://github.com/robolectric/robolectric/pull/11146
- Update Robolectric dependency version to 4.16.1 in README example by @utzcoz in https://github.com/robolectric/robolectric/pull/11147
- fix(deps): update guava monorepo to v33.6.0-jre by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11151
- Check Bitmap content in ShadowMediaMetadataRetriever tests by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11152
- Add shadow for PackageManager#getPackageUidAsUser by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11134
- Add a basic test for IntrusionDetectionManager. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11141
- Remove deprecated AndroidVersions. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11153
- Copy bitmaps returned from ShadowMediaMetadataRetriever. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11155
- chore(deps): update android.gradle to v9.1.1 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11149
- fix(deps): update dependency com.android.tools:common to v32.1.1 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11150
- Fix a fragile use of
TypeMirror#toStringby @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11154 - Add shadow for new 3-arg
ShadowAudioSystem.getDirectPlaybackSupportby @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11158 - Update shadow
native_get_legacy_stream_for_audio_attributesto always returnSTREAM_DEFAULTby @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11159 - Add getter to callback clients by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11161
- Shadow SelectionPosition and add related text selection APIs in Robolectric. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11162
- Refactor MemoryLeaksTest hierarchy by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11163
- Gracefully handle AssumptionViolatedException during sandbox discovery and execution. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11164
- fix(deps): update dependency com.googlecode.libphonenumber:libphonenumber to v9.0.29 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11165
- fix(deps): update kotlin monorepo to v2.3.21 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11166
- fix(deps): update dependency androidx.compose:compose-bom to v2026.04.01 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11169
- fix(deps): update android gradle plugin by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11168
- Make SandboxClassLoader.LOG_RESOURCE_USAGE log package names instead of classes. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11172
- Support validation of @Filter annotations by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11174
- Adapt to changes in in-development POST_CINNAMON_BUN SDK. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11175
- Fix #queryEvents behaviour when query does not specify event types. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11176
- Add implementation for AssetManager.openFd for compressed resources by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11177
- Only call Resetter methods if their class has been loaded. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11178
- chore(deps): update gradle to v9.5.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11179
- fix(deps): update roborazzi to v1.60.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11181
- fix(deps): update dependency com.google.code.gson:gson to v2.14.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11180
- Implement ShadowShortcutManager#reportShortcutUsed. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11182
- Shadow WifiManager.getUsableChannels and add a setter. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11185
- Add a benchmark for Rsa by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11187
- Fix dialog layout issues on SDK 37+. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11186
- Make ShadowRoleManager thread-safe. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11188
- chore(deps): update android.gradle to v9.2.1 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11189
- fix(deps): update dependency com.googlecode.libphonenumber:libphonenumber to v9.0.30 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11191
- fix(deps): update dependency com.android.tools:common to v32.2.1 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11190
- fix(deps): update dependency androidx.compose:compose-bom to v2026.05.00 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11192
- fix(deps): update dependency org.jetbrains.kotlinx:kotlinx-coroutines-android to v1.11.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11193
- Add shadow methods for WifiManager and WifiScanner. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11194
- Fix MediaMetadataRetriever#extractMetata when no rotation metadata has been explicitly provided. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11195
- Adjust to Parcel format changes for Bitmap. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11196
- Adding a possibility to register availability callback in
ShadowCameraManagerwithexecutorinstead ofhandler. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11197 - Support SDK 37 in ShadowInCallService. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11199
- Mark RobolectricInternals instance variables as volatile to fix data race error by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11201
- Support faking Binder#getCallingUid() and friends, one thread at a time. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11203
- fix: store Paint.fontVariationSettings so the getter returns the value previously set by @utzcoz in https://github.com/robolectric/robolectric/pull/11205
- Add ConnectGatt for Version O without handler. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11206
- Add package name tracking across IPC boundaries in Robolectric shadows by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11208
- Add support for MemoryInfo.advertisedMem in ShadowActivityManager. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11209
- Add basic firebase integration tests by @utzcoz in https://github.com/robolectric/robolectric/pull/11210
- Decouple ShadowRemoteViewsAdapterTest from compile-time RemoteViewsAdapter. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11211
- chore(deps): update gradle to v9.5.1 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11216
- fix(deps): update jacoco to v0.8.15 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11218
- fix(deps): update libphonenumber to v9.0.32 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11219
- fix(deps): update mockk to v1.14.11 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11220
- fix(deps): update junit-framework monorepo to v6.1.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11222
- fix(deps): update roborazzi to v1.63.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11224
- fix(deps): update asm to v9.10.1 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11221
- fix(deps): update spotless.gradle to v8.6.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11225
- Fix ShadowVirtualDeviceManager to use specific virtual input interfaces for SDK 37+. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11227
- Adjust shadows to changes in latest in development SDK. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11236
- Expand ShadowTimeManager to support retrieving and configuring home time zone in Cinnamon Bun. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11235
- Fix spotless format violations in Robolectric. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11237
- fix(deps): update roborazzi to v1.64.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11242
- fix(deps): update okhttp monorepo to v5.4.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11241
- fix(deps): update error-prone monorepo to v2.50.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11240
- Fix gradle build by removing unnecessary @Nullable reference from mock ClassTracker. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11245
- Fix ShadowTimeManagerTest under gradle. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11247
- Clear ShadowDeviceStateManager properties between tests. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11250
- Adjust shadows to changes in latest in development SDK. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11251
- Implement getAllowedChannels() in ShadowWifiManager by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11252
- Revert 'Move Robolectric native resources support to the core library.' by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11254
- Support matchesCallFilter in ShadowNotificationManager. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11255
- Robolectric: Support VirtualDeviceManager in ShadowDisplayManagerGlobal by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11256
- Refactor ShadowBluetoothGatt to support instance-level failure overrides. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11257
- chore(deps): update gradle to v9.6.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11259
- chore(deps): update github actions to v7 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11261
- fix(deps): update libphonenumber to v9.0.33 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11258
- fix(deps): update spotless.gradle to v8.7.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11260
- Add a test for RenderNode.setUseCompositingLayer(true) by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11238
- Add tab character mapping to ShadowKeyCharacterMap by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11262
- Fix race condition in Display management. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11263
- Fix ShadowRoleManager to support clearing default application by passing null. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11244
- Format PerfStatsCollectorPerformanceTest by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11265
- Cache XML attribute resIds in XmlAttributeFinder by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11268
- Sync 'google' branch to master by @brettchabot in https://github.com/robolectric/robolectric/pull/11269
- Add setInstanceId shadow method to BluetoothGattService and BluetoothGattCharacteristic by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11266
- Use a manual binary search in AttributeResolution{9,10} by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11270
- Add Wi-Fi calling support to
ShadowImsMmTelManagerby @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11271 - Update AndroidX by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11217
- Reuse Ref output params across ApplyStyle loop by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11273
- Rename a test method from
behaviorBeingTested_expectedResult()by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11274 - Presize zip offset map and avoid ImmutableMap.copyOf by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11275
- Ignore .class files in binary resources when loading framework jars by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11276
- Resolve binary resource zip data offsets lazily by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11277
- Avoid collecting
measureperf stats if perf stats is disabled by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11278 - Enable PerfStats collection for ResStringPool.stringAt by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11279
- Update actions/cache action to v6 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11284
- Update Gradle to v9.6.1 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11283
- Update dependency org.junit:junit-bom to v6.1.1 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11282
- Fix a density override config corruption bug by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11285
- Add support for BluetoothDevice.isConnected(int transport) in ShadowBluetoothDevice. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11286
- Hoist additional Ref objects in AttributeResolution{9,10} by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11287
- Add caching for ResStringPool.stringAt by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11288
- Fix ShadowWindowManagerGlobal to support AddWindowResult on in-development SDK. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11291
- Consolidate sparse resource entry binary searches and make them allocation-free by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11292
- Avoid instantiating BagAttributeFinder objects by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11293
- Fix broken negative caching for PackagePropertiesLoader by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11295
- Cache resolved package-info annotations in SingleValueConfigurer by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11296
- Avoid extraneous ThemeEntry/Res_value allocation in CppAssetManager2 by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11297
- Add ASCII fast path for ResourceString.decodeString to avoid allocations. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11299
- Merge google to master by @brettchabot in https://github.com/robolectric/robolectric/pull/11301
- Add
setStrictUnregistrationtoShadowConnectivityManagerto match strict Android unregistration behaviour. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11302 - Support more api 37 by @utzcoz in https://github.com/robolectric/robolectric/pull/11304
- Update roborazzi to v1.65.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11309
- Update dependency com.diffplug.spotless:spotless-plugin-gradle to v8.8.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11307
- Update dependency androidx.compose:compose-bom to v2026.06.01 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11305
- Update dependency org.jetbrains.kotlin.plugin.compose to v2.4.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11308
- Add requestScan and cancelScanRequest support to ShadowMediaRouter2. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11310
- Cache the build system API properties by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11311
- Add a cache for unsorted string pools by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11312
- Make
:shadows:framework:copySqliteNativescompatible with Configuration Cache by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10818 - Optimize ResXMLParser attribute access by reading directly from ByteBuffer by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11315
- Fix ShadowVirtualDeviceManager to avoid NPE. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11290
- Update dependency com.googlecode.libphonenumber:libphonenumber to v9.0.34 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11306
- Update to
google-java-format1.35.0 by @MGaetan89 in https://github.com/robolectric/robolectric/pull/11313 - Add additional logging for android-all release packaging script. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11317
- Avoid potential Integer autoboxing DynamicRefTable.lookupResourceId by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11318
- Add CINNAMON_BUN/SDK 37 as a default supported SDK. by @copybara-service[bot] in https://github.com/robolectric/robolectric/pull/11316
- Update dependency org.junit:junit-bom to v6.1.2 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11322
- Update dependency androidx.compose:compose-bom to v2026.06.01 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11321
- Update dependency com.diffplug.spotless:spotless-plugin-gradle to v8.8.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11323
- Update dependency org.conscrypt:conscrypt-openjdk-uber to v2.6.0 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11325
- Update dependency org.bouncycastle:bcprov-jdk18on to v1.85 by @renovate[bot] in https://github.com/robolectric/robolectric/pull/11324
- Restore commits by @brettchabot in https://github.com/robolectric/robolectric/pull/11326
New Contributors
- @abheydhya made their first contribution in https://github.com/robolectric/robolectric/pull/10490
- @jeremy-meta made their first contribution in https://github.com/robolectric/robolectric/pull/10634
- @nishatoma made their first contribution in https://github.com/robolectric/robolectric/pull/11012
- @rvandermeulen made their first contribution in https://github.com/robolectric/robolectric/pull/11044
Full Changelog: https://github.com/robolectric/robolectric/compare/robolectric-4.16.1...robolectric-4.17