{ "$schema": "https://docs.renovatebot.com/renovate-schema.json", "extends": [ ":dependencyDashboard", ":semanticCommitTypeAll(chore)", ":ignoreModulesAndTests", "group:recommended", "replacements:all", "workarounds:all" ], "commitMessageTopic": "{{depName}}", "labels": [ "dependencies" ], "git-submodules": { "enabled": true }, "bundler": { "enabled": true }, "packageRules": [ { "description": "Automerge non-major updates for stable versions", "matchUpdateTypes": [ "minor", "patch", "pin", "digest" ], "matchCurrentVersion": "!/^0/", "automerge": true }, { "description": "Automerge patch updates for unstable (0.x) versions", "matchUpdateTypes": [ "patch", "pin", "digest" ], "matchCurrentVersion": "/^0/", "automerge": true }, { "description": "Automerge pins and digests regardless of version", "matchUpdateTypes": [ "pin", "digest" ], "automerge": true }, { "matchPackageNames": [ "https://github.com/meshtastic/protobufs.git" ], "changelogUrl": "https://github.com/meshtastic/protobufs/compare/{{currentDigest}}...{{newDigest}}", "groupName": "Meshtastic Protobufs", "groupSlug": "meshtastic-protobufs", "automerge": true }, { "description": "Group all AndroidX dependencies (excluding more specific AndroidX groups)", "groupName": "AndroidX (General)", "groupSlug": "androidx-general", "matchPackageNames": [ "/^androidx\\./", "!/^androidx\\.room/", "!/^androidx\\.lifecycle/", "!/^androidx\\.navigation/", "!/^androidx\\.datastore/", "!/^androidx\\.compose\\.material3\\.adaptive/", "!/^androidx\\.compose\\.material3:material3-adaptive-navigation-suite$/", "!/^androidx\\.test\\.espresso/", "!/^androidx\\.test\\.ext/", "!/^androidx\\.compose\\.ui:ui-test-junit4$/", "!/^androidx\\.hilt/" ] }, { "description": "Group Kotlin standard library, coroutines, and serialization", "groupName": "Kotlin Ecosystem", "groupSlug": "kotlin", "matchPackageNames": [ "/^org\\.jetbrains\\.kotlin/", "/^org\\.jetbrains\\.kotlinx/" ] }, { "description": "Group Dagger and Hilt dependencies", "groupName": "Dagger & Hilt", "groupSlug": "hilt", "matchPackageNames": [ "/^com\\.google\\.dagger/", "/^androidx\\.hilt/" ] }, { "description": "Group Accompanist libraries", "groupName": "Accompanist", "groupSlug": "accompanist", "matchPackageNames": [ "/^com\\.google\\.accompanist/" ] }, { "description": "Group JVM testing libraries (JUnit, Mockito, Robolectric)", "groupName": "JVM Testing Libraries", "groupSlug": "jvm-testing", "matchPackageNames": [ "/^junit:junit$/", "/^org\\.mockito:/", "/^org\\.robolectric:robolectric$/" ], "automerge": true }, { "description": "Group AndroidX Testing libraries", "groupName": "AndroidX Testing", "groupSlug": "androidx-testing", "matchPackageNames": [ "/^androidx\\.test\\.espresso/", "/^androidx\\.test\\.ext/", "/^androidx\\.compose\\.ui:ui-test-junit4$/" ], "automerge": true }, { "description": "Group Static Analysis tools (Detekt, Spotless)", "groupName": "Static Analysis", "groupSlug": "static-analysis", "matchPackageNames": [ "/^io\\.gitlab\\.arturbosch\\.detekt/", "/^io\\.nlopez\\.compose\\.rules/", "/^com\\.diffplug\\.spotless/" ], "automerge": true }, { "description": "Group Square networking libraries (OkHttp, Retrofit)", "groupName": "Square Networking", "groupSlug": "square-network", "matchPackageNames": [ "/^com\\.squareup\\.okhttp3/", "/^com\\.squareup\\.retrofit2/" ], "automerge": true }, { "description": "Group Coil image loading library", "groupName": "Coil", "groupSlug": "coil", "matchPackageNames": [ "/^io\\.coil-kt\\.coil3/" ], "automerge": true }, { "description": "Group ZXing barcode scanning libraries", "groupName": "ZXing", "groupSlug": "zxing", "matchPackageNames": [ "/^com\\.journeyapps:zxing-android-embedded/", "/^com\\.google\\.zxing:core/" ], "automerge": true }, { "description": "Group Eclipse Paho MQTT client libraries", "groupName": "MQTT Paho Client", "groupSlug": "mqtt-paho", "matchPackageNames": [ "/^org\\.eclipse\\.paho/" ], "automerge": true }, { "description": "Group Mike Penz Markdown renderer libraries", "groupName": "Markdown Renderer (Mike Penz)", "groupSlug": "markdown-renderer-mikepenz", "matchPackageNames": [ "/^com\\.mikepenz/" ], "automerge": true }, { "description": "Group Firebase libraries", "groupName": "Firebase", "groupSlug": "firebase", "matchPackageNames": [ "/^com\\.google\\.firebase/" ], "automerge": true }, { "description": "Group Datadog libraries", "groupName": "Datadog", "groupSlug": "datadog", "matchPackageNames": [ "/^com\\.datadoghq/" ], "automerge": true }, { "description": "Group OpenStreetMap (OSM) libraries", "groupName": "OSM Libraries", "groupSlug": "osm-libraries", "matchPackageNames": [ "/^org\\.osmdroid/", "/^com\\.github\\.MKergall\\.osmbonuspack/", "/^mil\\.nga/" ], "automerge": true }, { "description": "Group Google Maps Compose libraries", "groupName": "Google Maps Compose", "groupSlug": "google-maps-compose", "matchPackageNames": [ "/^com\\.google\\.android\\.gms:play-services-location/", "/^com\\.google\\.maps\\.android/" ], "automerge": true }, { "description": "Group Google Protobuf runtime libraries", "groupName": "Protobuf Runtime", "groupSlug": "protobuf-runtime", "matchPackageNames": [ "/^com\\.google\\.protobuf/", "!https://github.com/meshtastic/protobufs.git" ] }, { "description": "Group AndroidX Room libraries", "groupName": "AndroidX Room", "groupSlug": "androidx-room", "matchPackageNames": [ "/^androidx\\.room/" ], "automerge": true }, { "description": "Group AndroidX Lifecycle libraries", "groupName": "AndroidX Lifecycle", "groupSlug": "androidx-lifecycle", "matchPackageNames": [ "/^androidx\\.lifecycle/" ] }, { "description": "Group AndroidX Navigation libraries", "groupName": "AndroidX Navigation", "groupSlug": "androidx-navigation", "matchPackageNames": [ "/^androidx\\.navigation/" ] }, { "description": "Group AndroidX DataStore libraries", "groupName": "AndroidX DataStore", "groupSlug": "androidx-datastore", "matchPackageNames": [ "/^androidx\\.datastore/" ] }, { "description": "Group AndroidX Adaptive UI libraries", "groupName": "AndroidX Adaptive UI", "groupSlug": "androidx-adaptive-ui", "matchPackageNames": [ "/^androidx\\.compose\\.material3\\.adaptive/", "/^androidx\\.compose\\.material3:material3-adaptive-navigation-suite$/" ] }, { "description": "Restrict sensitive infrastructure to patch updates only (manual minor)", "matchUpdateTypes": [ "minor" ], "matchPackageNames": [ "/^org\\.jetbrains\\.kotlin/", "/^org\\.jetbrains\\.kotlinx/", "/^com\\.google\\.dagger/", "/^androidx\\.hilt/", "/^com\\.google\\.protobuf/", "/^androidx\\.lifecycle/", "/^androidx\\.navigation/", "/^androidx\\.datastore/", "/^androidx\\.compose\\.material3\\.adaptive/", "/^androidx\\.compose\\.material3:material3-adaptive-navigation-suite$/" ], "automerge": false }, { "description": "Disable automerge for major updates (safety net)", "matchUpdateTypes": [ "major" ], "automerge": false } ] }