Skip to content

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

Closed
DmitryNekrasov wants to merge 1 commit into
developfrom
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
developfrom
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: element-x-android uses the library purely as a read-only consumer (persistentListOf(...) factories, values typed as ImmutableList<T> / ImmutableMap<K, V> / ImmutableSet<T>). None of the renamed copy-returning methods on Persistent* 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.

Scope checks

  • 463 .kt files import the library; 12 build files depend on it (8 implementation, 4 testImplementation).
  • 0 declarations typed as Persistent(List|Map|Set|Collection)<…>.
  • 0 classes/objects/interfaces implementing the persistent interfaces.
  • 0 Java callers.
  • The 1 .mutate { } call (in IncomingVerificationStateMachine.kt) is a state-machine helper, not the kotlinx extension.

Test plan

  • Full compile: :app (Gplay + Fdroid debug, main + UnitTest) plus compileDebugUnitTestKotlin across all ~200 subprojects — BUILD SUCCESSFUL in 4m 58s (4939 tasks), zero kotlinx.collections.immutable deprecation warnings.
  • Unit tests: :libraries:recentemojis:impl:testDebugUnitTest, :libraries:usersearch:impl:testDebugUnitTest, :features:roomcall:impl:testDebugUnitTest — all pass.

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.

element-x-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 element-hq#6788. 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