Skip to content

ci: hold Kotlin at 2.3.x until Meshtastic-Android can consume 2.4-built klibs#944

Closed
jamesarich wants to merge 1 commit into
masterfrom
renovate-hold-kotlin-23
Closed

ci: hold Kotlin at 2.3.x until Meshtastic-Android can consume 2.4-built klibs#944
jamesarich wants to merge 1 commit into
masterfrom
renovate-hold-kotlin-23

Conversation

@jamesarich

Copy link
Copy Markdown
Contributor

Why

The KMP artifact (org.meshtastic:protobufs, added in #924) publishes native klibs. Klibs built by Kotlin 2.4 carry ABI version 2.4.0, which Kotlin 2.3.x consumers hard-reject:

The current Kotlin compiler can consume libraries having ABI version <= '2.3.0'.
Please upgrade your Kotlin compiler version to consume this library.

Meshtastic-Android is pinned to Kotlin 2.3.21 until the Koin compiler plugin supports 2.4 (InsertKoinIO/koin#2431), and meshtastic/Meshtastic-Android#5675 makes it consume this artifact directly. Without this guard, a routine Renovate Kotlin bump here would make the next org.meshtastic:protobufs release silently unconsumable for the app.

This already bit us with the other two KMP libs: MQTTastic-Client-KMP 0.3.7 and TAKPacket-SDK 0.5.3 were built on Kotlin 2.4.0, which is why meshtastic/Meshtastic-Android#5763 fails CI. MQTTastic is getting the same Renovate guard.

What

A single Renovate packageRules entry holding org.jetbrains.kotlin* (plugin ids and maven coords; kotlinx is unaffected) below 2.4.0.

Drop this rule once Meshtastic-Android lands its Kotlin 2.4 upgrade (meshtastic/Meshtastic-Android#5760).

🤖 Generated with Claude Code

…lt klibs

Klibs produced by Kotlin 2.4 carry ABI version 2.4.0, which Kotlin 2.3.x
consumers reject ("current Kotlin compiler can consume libraries having
ABI version <= 2.3.0"). Meshtastic-Android is pinned to 2.3.21 until the
Koin compiler plugin supports 2.4 (InsertKoinIO/koin#2431), so a Kotlin
bump here would make the next org.meshtastic:protobufs release
unconsumable for it. Same guard as MQTTastic-Client-KMP.

Drop this rule once Meshtastic-Android lands its Kotlin 2.4 upgrade.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

The latest Buf updates on your PR. Results from workflow pull-request / build (pull_request).

BuildFormatLintBreakingUpdated (UTC)
✅ passed✅ passed✅ passed✅ passedJun 10, 2026, 4:57 PM

@jamesarich jamesarich requested a review from thebentern June 10, 2026 21:33
@jamesarich

Copy link
Copy Markdown
Contributor Author

Closing as obsolete: this hold existed because Meshtastic-Android was stuck on Kotlin 2.3.21 (2.4-built native klibs carry ABI 2.4.0, which 2.3.x consumers reject). Android merged its Kotlin 2.4.0 upgrade today (meshtastic/Meshtastic-Android#5760), so the hold is no longer needed — better to never land it than to land and revert. The matching hold in MQTTastic-Client-KMP is being removed in meshtastic/MQTTastic-Client-KMP#56.

@jamesarich jamesarich closed this Jun 12, 2026
@jamesarich jamesarich deleted the renovate-hold-kotlin-23 branch June 12, 2026 11:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant