Skip to content

Conversation

@skydoves
Copy link
Owner

@skydoves skydoves commented Oct 11, 2025

Bump Kotlin to 2.2.20.

Summary by CodeRabbit

  • New Features

    • Added lifecycle-aware behavior for balloons with support for app lifecycle callbacks.
    • Simplified alignment and display APIs with default-parameter support, improving Java/Kotlin interoperability.
  • Refactor

    • Standardized API defaults to reduce boilerplate when positioning or updating balloons.
  • Chores

    • Updated Android target and compile SDK to 36 for broader platform compatibility.
    • Upgraded build tooling to the latest language/runtime versions for stability and performance.

@skydoves skydoves self-assigned this Oct 11, 2025
@skydoves skydoves merged commit c7ba875 into main Oct 11, 2025
3 checks passed
@skydoves skydoves deleted the kotlin/2.2.20 branch October 11, 2025 22:21
@coderabbitai
Copy link

coderabbitai bot commented Oct 11, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

Adds Kotlin 2.2.20 upgrade and Android compile/target SDK 36. Exposes many synthetic $default methods on compose and core APIs for default parameters. Adds lifecycle hooks (onCreate/onStart/onResume/onStop) to Balloon. Renames a generated composable lambda accessor. No functional logic changes are described.

Changes

Cohort / File(s) Summary
Compose API synthetic defaults
balloon-compose/api/balloon-compose.api
Added numerous public synthetic $default methods to AwaitBalloonWindowsDsl and BalloonWindow for await/show/update/align variants; renamed generated accessor to getLambda$-1734990613$balloon_compose_release.
Core API defaults and lifecycle
balloon/api/balloon.api
AwaitBalloonsDsl gains concrete default implementations and corresponding $default methods; Balloon exposes new public lifecycle methods: onCreate, onStart, onResume, onStop.
Android SDK levels
buildSrc/src/main/kotlin/com/skydoves/balloon/Configuration.kt
Bumped compileSdk and targetSdk from 35 to 36.
Toolchain version
gradle/libs.versions.toml
Upgraded Kotlin version from 2.1.10 to 2.2.20.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor App
  participant Owner as LifecycleOwner
  participant Balloon as Balloon

  rect rgba(200,220,255,0.25)
    note over App,Balloon: Lifecycle integration (new public hooks)
    App->>Balloon: onCreate(Owner)
    Owner-->>Balloon: Lifecycle available
    App->>Balloon: onStart(Owner)
    App->>Balloon: onResume(Owner)
  end

  alt User navigates away
    App->>Balloon: onStop(Owner)
  end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

I nudge the clouds with versioned cheer,
Kotlin hops higher, SDKs draw near.
Defaults sprout like clover bright,
Balloons learn day and sleepy night.
With lifecycle winds, we lift and go—
A rabbit signs: “Ship it, ho!” 🐇🎈

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch kotlin/2.2.20

📜 Recent review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 91dd938 and 65209d4.

📒 Files selected for processing (4)
  • balloon-compose/api/balloon-compose.api (5 hunks)
  • balloon/api/balloon.api (2 hunks)
  • buildSrc/src/main/kotlin/com/skydoves/balloon/Configuration.kt (1 hunks)
  • gradle/libs.versions.toml (1 hunks)

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

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.

2 participants