[PR #6919] [CLOSED] Bump kotlinx.collections.immutable to 0.5.0-beta01 #107175

Closed
opened 2026-06-03 13:36:41 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/bitwarden/android/pull/6919
Author: @DmitryNekrasov
Created: 5/14/2026
Status: Closed

Base: mainHead: migrate-kotlinx-collections-immutable-0.5.0


📝 Commits (1)

  • 2ea9e46 Bump kotlinx.collections.immutable to 0.5.0-beta01

📊 Changes

2 files changed (+149 additions, -1 deletions)

View changed files

MIGRATION_REPORT.md (+148 -0)
📝 gradle/libs.versions.toml (+1 -1)

📄 Description

Summary

Bumps kotlinx.collections.immutable from 0.4.0 to 0.5.0-beta01.

0.5.0-beta01 is binary-compatible with 0.4.0 — per KEEP-0459, the copy-returning methods on Persistent* types were renamed (e.g. addadding, removeremoving), and the old names remain as @Deprecated(WARNING) overloads. So this PR is purely a version bump and is reversible.

Why no source changes?

bitwarden-android uses kotlinx.collections.immutable as a read-only consumer — persistentListOf(...) etc. as factories, with values typed everywhere as ImmutableList<T> / ImmutableMap<K, V> / ImmutableSet<T> (the read-only interfaces). None of the renamed methods on Persistent* are visible at any call site, so the Kotlin compiler emits zero kotlinx.collections.immutable deprecation warnings after the bump.

Changes

  • gradle/libs.versions.toml: kotlinxCollectionsImmutable 0.4.00.5.0-beta01.
  • MIGRATION_REPORT.md: per-phase audit of the migration (happy to drop this if you'd prefer to keep the repo root tidy).

References

Test plan

  • Full module compile: :app (Standard + Fdroid debug, main + UnitTest), :authenticator (debug + UnitTest), :ui, :core (main + UnitTest), :testharnessBUILD SUCCESSFUL, zero kotlinx.collections.immutable deprecation warnings.
  • Unit tests: :core:testDebugUnitTest :ui:testDebugUnitTestBUILD SUCCESSFUL (includes PersistentListExtensionsTest).

🤖 Generated with Claude Code


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/bitwarden/android/pull/6919 **Author:** [@DmitryNekrasov](https://github.com/DmitryNekrasov) **Created:** 5/14/2026 **Status:** ❌ Closed **Base:** `main` ← **Head:** `migrate-kotlinx-collections-immutable-0.5.0` --- ### 📝 Commits (1) - [`2ea9e46`](https://github.com/bitwarden/android/commit/2ea9e468d87afbc92661bcbf1cd54ffa29891790) Bump kotlinx.collections.immutable to 0.5.0-beta01 ### 📊 Changes **2 files changed** (+149 additions, -1 deletions) <details> <summary>View changed files</summary> ➕ `MIGRATION_REPORT.md` (+148 -0) 📝 `gradle/libs.versions.toml` (+1 -1) </details> ### 📄 Description ## Summary Bumps `kotlinx.collections.immutable` from 0.4.0 to 0.5.0-beta01. 0.5.0-beta01 is binary-compatible with 0.4.0 — per [KEEP-0459](https://github.com/Kotlin/KEEP/blob/main/proposals/KEEP-0459-naming-conventions-for-copy-returning-operations.md), the copy-returning methods on `Persistent*` types were renamed (e.g. `add` → `adding`, `remove` → `removing`), and the old names remain as `@Deprecated(WARNING)` overloads. So this PR is purely a version bump and is reversible. ## Why no source changes? bitwarden-android uses `kotlinx.collections.immutable` as a read-only consumer — `persistentListOf(...)` etc. as factories, with values typed everywhere as `ImmutableList<T>` / `ImmutableMap<K, V>` / `ImmutableSet<T>` (the read-only interfaces). None of the renamed methods on `Persistent*` are visible at any call site, so the Kotlin compiler emits zero `kotlinx.collections.immutable` deprecation warnings after the bump. ## Changes - `gradle/libs.versions.toml`: `kotlinxCollectionsImmutable` `0.4.0` → `0.5.0-beta01`. - `MIGRATION_REPORT.md`: per-phase audit of the migration (happy to drop this if you'd prefer to keep the repo root tidy). ## References - Upstream [0.5.0-MIGRATION.md](https://github.com/Kotlin/kotlinx.collections.immutable/blob/master/docs/0.5.0-MIGRATION.md) - Library [#232](https://github.com/Kotlin/kotlinx.collections.immutable/issues/232) / [#233](https://github.com/Kotlin/kotlinx.collections.immutable/pull/233) ## Test plan - [x] Full module compile: `:app` (Standard + Fdroid debug, main + UnitTest), `:authenticator` (debug + UnitTest), `:ui`, `:core` (main + UnitTest), `:testharness` — `BUILD SUCCESSFUL`, zero `kotlinx.collections.immutable` deprecation warnings. - [x] Unit tests: `:core:testDebugUnitTest :ui:testDebugUnitTest` — `BUILD SUCCESSFUL` (includes `PersistentListExtensionsTest`). 🤖 Generated with [Claude Code](https://claude.com/claude-code) --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-06-03 13:36:41 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/android#107175