Skip to content

Releases: google/accompanist

v0.4.2

13 Jan 18:42
Compare
Choose a tag to compare

Nested scroll support for the IME (on-screen keyboard)

The new rememberImeNestedScrollConnection() allows you to easily attach scrolling behavior to the keyboard. See here for more information.

All changes

v0.4.1

17 Dec 09:42
Compare
Choose a tag to compare

Built to work with Jetpack Compose v1.0.0-alpha09

What’s Changed

  • ⚠️ Breaking change: Rename *Constants to *Defaults (#167) @chrisbanes
  • ⚠️ Breaking change: Remove the deprecated CoilImageWithCrossfade functions (#168) @chrisbanes
  • Update to Compose SNAPSHOT 7024175 (#165) @chrisbanes
  • [Image] Throw exception if incorrect data type is passed in (#164) @chrisbanes
  • Expand insets docs to include some common gotchas (#161) @chrisbanes

v0.4.0

02 Dec 19:11
Compare
Choose a tag to compare

New features

Animated Window Insets

The Insets library now has experimental support for WindowInsetsAnimations 💫. The new imePadding() and navigationBarsWithImePadding() modifiers allow content to animate with the device on screen-keyboard (IME), while it is being animated on/off screen.

See here from more information.

Insets + fragments

If you're using ProvideWindowInsets in fragments, you may want to look at the new ViewWindowInsetObserver, which will make inset dispatch faster. See InsetsFragmentSample for an example.

Changes

  • Built to work with Jetpack Compose v1.0.0-alpha08
  • In the image loading composables (CoilImage, PicassoImage and GlideImage) we now skip the initial Empty state. This allows us to remove the initial flash due to no content being drawn. See #148.
  • The API docs are now built as HTML rather than Markdown. This means the API references now have different styling to the rest of the site, but they're also actually readable.

What’s Changed

v0.3.3.1

11 Nov 18:49
Compare
Choose a tag to compare

The big new thing in this release is the new Insets library! 📐 See the docs for more information.

Built to work with Jetpack Compose v1.0.0-alpha07

What’s Changed

Note: Please use 0.3.3.1 instead of 0.3.3. They are exactly the same but there were some issues whilst uploading v0.3.3.

v0.3.2

28 Oct 18:19
Compare
Choose a tag to compare

Built to work with Jetpack Compose v1.0.0-alpha06

What’s Changed

v0.3.1

14 Oct 17:42
Compare
Choose a tag to compare

Built to work with Jetpack Compose v1.0.0-alpha05

What’s Changed

v0.3.0

01 Oct 17:34
Compare
Choose a tag to compare

Built to work with Jetpack Compose v1.0.0-alpha04

What’s Changed

A big release for Accompanist! 😅

New Picasso (and Image Loading Core) library

We now have a new Picasso integration library 🖌 (#98)

dependencies {
    implementation "dev.chrisbanes.accompanist:accompanist-picasso:0.3.0"
}

All of the common/utility code from the Coil integration library has been extracted to a new Image Loading Core library (which both depend on) (#96).

The new @Composable fun PicassoImage() provides (mostly) the same functionality as CoilImage.

This is primarily for apps which are already using Picasso and don't want to switch to Coil. We plan on also adding an integration for Glide too but ran out of time for this release (PRs welcome if anyone wants to take this on).

GIF support in Coil

We now have a new way to display Android Drawables in Compose, which also supports animated drawables. This means that we can now properly support Coil’s GIF support.

API updates

We've been busy refining the API for both the Coil and Picasso libraries:

API: Function overloads

Each library now provides two different types of 'image loading' function. If we use the CoilImage functions as examples:

1: Simple option

This is what most developers will use (I think). We provide a number of content slots parameters, where you can provide different content whilst the image is loading/failed. We also provide a simple fadeIn parameter allowing you to turn on the default animation.

CoilImage(
  data = "https://www.image.url",
  fadeIn = true,
  loading = {
    Stack(Modifier.fillMaxSize()) {
      CircularProgressIndicator(Modifier.align(Alignment.Center))
    }
  },
  error = { /* TODO */ },
)

2: Manual, with more control

This option allows you to provide custom layout to display the resulting image load result.

CoilImage(
  data = "https://www.image.url",
) { imageState ->
  when (imageState) {
    is ImageLoadState.Success -> {
      MaterialLoadingImage(painter = imageState.painter)
    }
    is ImageLoadState.Error -> // TODO
    ImageLoadState.Loading -> // TODO
    ImageLoadState.Empty -> // TODO
  }
}

PicassoImage has the equivalent functions as these.

Added in #89 and #93

API: New MaterialLoadingImage composable

We've extracted the functionality behind CoilImageWithCrossfade into a new composable called MaterialLoadingImage. The API is similar to Image with parameters for controlling the animation.

API: CoilImageWithCrossfade is deprecated

With the new fadeIn parameter, and MaterialLoadingImage we can now deprecate the old CoilImageWithCrossfade. 🗑️

API: New requestBuilder parameters

Both CoilImage & PicassoImage now provide a lambda parameter allowing you to customize the relevant loading request:

PicassoImage(
    data = "https://www.image.url",
    requestBuilder = {
        rotate(90f)
    }
)

API: Package name changes

Because we've moved a load of common code out to the new Image Loading Core, the package name for these functions/classes has changed. Few developers would have been using these, but if you were, they've moved to dev.chrisbanes.accompanist.imageloading.

All PRs

v0.2.2

16 Sep 18:01
Compare
Choose a tag to compare

Built to work with Jetpack Compose v1.0.0-alpha03

v0.2.1

04 Sep 07:58
09e8a1e
Compare
Choose a tag to compare

Built to work with Jetpack Compose v0.1.0-alpha02

What’s Changed

v0.2.0

26 Aug 17:43
Compare
Choose a tag to compare

Built to work with Jetpack Compose v0.1.0-alpha01

What’s Changed