Skip to content

Bump kotlinx.collections.immutable to 0.5.0-beta01#1

Closed
DmitryNekrasov wants to merge 1 commit into
mainfrom
migrate-kotlinx-collections-immutable-0.5.0
Closed

Bump kotlinx.collections.immutable to 0.5.0-beta01#1
DmitryNekrasov wants to merge 1 commit into
mainfrom
migrate-kotlinx-collections-immutable-0.5.0

Conversation

@DmitryNekrasov
Copy link
Copy Markdown
Owner

Summary

  • Bumps `kotlinx.collections.immutable` from 0.4.0 → 0.5.0-beta01 (one line in `gradle/libs.versions.toml`).
  • No method renames: bitwarden-android uses the library as a read-only consumer, typing everything as `ImmutableList` / `ImmutableMap<K, V>` / `ImmutableSet`, so none of the renamed copy-returning methods on `Persistent*` types are visible at any call site. The compiler emits zero `kotlinx.collections.immutable` deprecation warnings after the bump.
  • This PR is a test of the migration skill (`kotlin-tooling-immutable-collections-0-5-0-migration`) — head and base both on the fork. Not intended for upstream.

Test plan

  • Full module compile: `:app` (Standard + Fdroid debug, main + UnitTest), `:authenticator` (debug + UnitTest), `:ui`, `:core` (main + UnitTest), `:testharness` — `BUILD SUCCESSFUL in 1m 47s`, zero `kotlinx.collections.immutable` deprecation warnings.
  • Unit tests: `:core:testDebugUnitTest :ui:testDebugUnitTest` — `BUILD SUCCESSFUL` (includes `PersistentListExtensionsTest` covering the custom `persistentListOfNotNull` helper).
  • No textual rewrites applied: 511 factory-function call sites (`persistentListOf`, `toImmutableList`, etc.) deliberately left unchanged — the skill is compiler-driven and the compiler had nothing to flag.

See `MIGRATION_REPORT.md` for per-phase details.

🤖 Generated with Claude Code

Applied via kotlin-tooling-immutable-collections-0-5-0-migration skill.
0.5.0-beta01 is binary-compatible with 0.4.0; per KEEP-0459 the
copy-returning methods on Persistent* types are renamed (e.g.
add->adding, remove->removing) and the old names remain as
@deprecated(WARNING) overloads.

bitwarden-android uses the library as a read-only consumer
(persistentListOf -> ImmutableList<T> typed values, no in-place
mutation via Persistent* receivers), so the compiler emits zero
deprecation warnings post-bump and no call sites need to be renamed.

See MIGRATION_REPORT.md for per-phase details.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@DmitryNekrasov
Copy link
Copy Markdown
Owner Author

Superseded by upstream PR bitwarden#6919. Closing this fork-internal test PR.

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