skydoves/Balloon
 Watch   
 Star   
 Fork   
2026-01-10 07:34:20
Balloon

1.7.3

What's Changed

Full Changelog: https://github.com/skydoves/Balloon/compare/1.7.2...1.7.3

2026-01-04 14:22:32
Balloon

1.7.2

What's Changed

Full Changelog: https://github.com/skydoves/Balloon/compare/1.7.1...1.7.2

2025-12-28 10:55:42
Balloon

1.7.1

What's Changed

New Contributors

Full Changelog: https://github.com/skydoves/Balloon/compare/1.7.0...1.7.1

2025-12-21 14:13:41
Balloon

1.7.0

Release Notes for Balloon 1.7.0.

New Features

  • Introduce Modifier.balloon() and BalloonState for Jetpack Compose (#904)
    • New modifier-based API for attaching balloon tooltips to composables
    • rememberBalloonState() for managing balloon state
    • Deprecates the Balloon() composable and BalloonWindow interface
  • Support individual properties for BalloonOverlayRoundRect (#903)
    • Allows setting individual corner radii for overlay round rectangles
  • Implement effective arrow sizes (#900)
    • Better arrow size calculations for improved positioning

Now, the Balloon composable function will be deprecated. Migration guides from Balloon composable to Modifier.balloon():

Before (Deprecated)

  var balloonWindow: BalloonWindow? by remember { mutableStateOf(null) }

  Balloon(
    builder = builder,
    onBalloonWindowInitialized = { balloonWindow = it },
    onComposedAnchor = { balloonWindow?.showAlignTop() },
    balloonContent = {
      Text(text = "Tooltip content")
    },
  ) {
    Button(onClick = { balloonWindow?.showAlignTop() }) {
      Text(text = "Show Balloon")
    }
  }

After (New API)

  val balloonState = rememberBalloonState(builder)

  LaunchedEffect(Unit) {
    balloonState.showAlignTop()
  }

  Button(
    modifier = Modifier.balloon(balloonState) {
      Text(text = "Tooltip content")
    },
    onClick = { balloonState.showAlignTop() },
  ) {
    Text(text = "Show Balloon")
  }

Bug Fixes and Improvements

  • Disable focus to prevent focus highlight on D-pad navigation (#902)
  • Apply stroke/border in non-clipped mode as well (#901)
  • Migrate to Subcompose layout to measure layout sizes (#898)
    • Fixes black screen issue during SplashScreen (#786)
  • Correct measuring logic with adjusted padding sequences (#897)
  • Use EXACTLY mode for fixed heights, AT_MOST for wrap content (#896)
    • Fixes nested layout measurement issues
  • Fix: Clear any theme-applied background tint (#893)

Deprecations

The following APIs are now deprecated in favor of the new Modifier.balloon() API:

  • Balloon() composable - Use Modifier.balloon() with rememberBalloonState()
  • BalloonWindow interface - Use BalloonState
  • rememberBalloonWindow() - Use rememberBalloonState()
  • awaitBalloonWindows() and AwaitBalloonWindowsDsl
2025-08-10 15:28:43
Balloon

1.6.13

What's Changed

New Contributors

Full Changelog: https://github.com/skydoves/Balloon/compare/1.6.12...1.6.13

2025-01-29 14:12:14
Balloon

1.6.12

What's Changed

Full Changelog: https://github.com/skydoves/Balloon/compare/1.6.11...1.6.12

2024-11-05 20:05:55
Balloon

1.6.11

What's Changed

Full Changelog: https://github.com/skydoves/Balloon/compare/1.6.10...1.6.11

2024-11-02 10:05:05
Balloon

1.6.10

What's Changed

Full Changelog: https://github.com/skydoves/Balloon/compare/1.6.9...1.6.10

2024-10-21 20:39:49
Balloon

1.6.9

What's Changed

Full Changelog: https://github.com/skydoves/Balloon/compare/1.6.8...1.6.9

2024-10-09 09:16:07
Balloon

1.6.8

What's Changed

Full Changelog: https://github.com/skydoves/Balloon/compare/1.6.7...1.6.8