Skip to content

Releases: usuiat/Zoomable

v2.9.0

11 Nov 12:24

Choose a tag to compare

In this version, ZoomState is now recreated when the parameters of rememberZoomState change.
This makes it easier to use Zoomable in combination with Coil's rememberAsyncImagePainter.
See https://github.com/usuiat/Zoomable?tab=readme-ov-file#asynchronous-image-loading

What's Changed

  • chore(deps): update kotlin monorepo to v2.2.21 by @renovate[bot] in #403
  • chore(deps): update dependency org.jetbrains.compose to v1.9.3 by @renovate[bot] in #399
  • Fix crash when ZoomState is initialized with unspecified contentSize by @usuiat in #406
  • Update remembered ZoomState when maxScale, contentSize, and initialScale are changed by @usuiat in #407

Full Changelog: v2.8.2...v2.9.0

v2.8.2

05 Oct 22:56

Choose a tag to compare

What's Changed

  • chore(deps): update kotlin monorepo to v2.2.20 by @renovate[bot] in #385
  • chore(deps): update dependency org.jetbrains.compose to v1.9.0 by @renovate[bot] in #394

Bug Fix

  • Fling stops when using zoomableWithScroll with Compose 1.8.0 #351

Full Changelog: v2.8.1...v2.8.2

v2.8.1

30 Jun 13:19

Choose a tag to compare

What's Changed

  • chore(deps): update kotlin monorepo to v2.2.0 by @renovate in #370
  • chore(deps): update dependency org.jetbrains.compose to v1.8.2 by @renovate in #366

Full Changelog: v2.8.0...v2.8.1

v2.8.0

02 Jun 13:28

Choose a tag to compare

Mouse wheel zoom is now available on iOS. This is made possible by Compose multiplatform 1.8.0.

What's Changed

Full Changelog: v2.7.0...v2.8.0

Known Issue

Scrolling may not work smoothly with zoomableWithScroll. #351

v2.7.0

06 May 12:36

Choose a tag to compare

What's Changed

Full Changelog: v2.6.0...v2.7.0

v2.6.0

11 Apr 12:50

Choose a tag to compare

Zoom with Scroll Component

A new experimental API zoomableWithScroll has been added.
It allows you to zoom in on components that scroll, such as LazyColumn.

LazyColumn(
    modifier = Modifier.zoomableWithScroll(rememberZoomState())
) {
    items(100) { Text("Item $it") }
}

It can also be used with Modifier.verticalScroll or Modifier.horizontalScroll.
In that case, put zoomableWithScroll before verticalScroll or horizontalScroll in the Modifier chain.

Column(
    modifier = Modifier
        .fillMaxSize()
        .zoomableWithScroll(rememberZoomState())
        .horizontalScroll(rememberScrollState())
) {
    repeat(100) { Text("Item $it") }
}

What's Changed

  • Zoomable that can be used with scrollable composable by @usuiat in #337

Full Changelog: v2.5.0...v2.6.0

v2.5.0

05 Apr 01:56

Choose a tag to compare

API Change

onTap, onDoubleTap, and onLongPress arguments of zoomable() and snapBackZoomable() accept null.

Improve tap response

When onDoubleTap is null and enableOneFingerZoom is false, onTap will be called immediately. No longer wait the double tap detection timeout.

Improve event propagation

If Zoomable does not need to handle taps, the event is now passed to the parent composable.
Modifier.clickable can now be used in the parent composable if the following conditions are met.

  • onTap, onDoubleTap, and onLongPress are null
  • enableOneFingerZoom is false

What's Changed

  • Improve tap response when double tap and one finger zoom are disabled by @usuiat in #332
  • If Zoomable does not need to handle taps, allow the parent composable to handle them. by @usuiat in #334
  • Update kotlin monorepo to v2.1.20 by @renovate in #328
  • [Android] Bump compile sdk and target sdk to 36 by @usuiat in #327

Full Changelog: v2.4.0...v2.5.0

v2.5.0-beta02

30 Mar 01:00

Choose a tag to compare

v2.5.0-beta02 Pre-release
Pre-release

Improve event propagation

If Zoomable does not need to handle taps, the event is now passed to the parent composable.
Modifier.clickable can now be used in the parent composable if the following conditions are met.

  • onTap, onDoubleTap, and onLongPress are null
  • enableOneFingerZoom is false

What's Changed

  • If Zoomable does not need to handle taps, allow the parent composable to handle them. by @usuiat in #334
  • Update kotlin monorepo to v2.1.20 by @renovate in #328

Full Changelog: v2.5.0-beta01...v2.5.0-beta02

v2.5.0-beta01

29 Mar 02:25

Choose a tag to compare

v2.5.0-beta01 Pre-release
Pre-release

API Change

onTap, onDoubleTap, and onLongPress arguments of zoomable() and snapBackZoomable() accept null.

Improve tap response

When onDoubleTap is null and enableOneFingerZoom is false, onTap will be called immediately. No longer wait the double tap detection timeout.

What's Changed

  • Improve tap response when double tap and one finger zoom are disabled by @usuiat in #332
  • [Android] Bump compile sdk and target sdk to 36 by @usuiat in #327

Full Changelog: v2.4.0...v2.5.0-beta01

v2.4.0

17 Mar 09:32

Choose a tag to compare

Mouse Scroll Wheel Support

Zoomable supports zooming by mouse wheel scrolling.
Compose desktop is no longer experimental.

What's Changed

Full Changelog: v2.3.0...v2.4.0