Releases: google/accompanist
v0.4.2
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
- Update to snapshot 7067732. (#179) @nickbutcher
- Add information for nested scroll IME to README (#178) @chrisbanes
- [Insets] Use WindowInsetsAnimationCompat (#177) @chrisbanes
- Support for controlling the device IME via nested scroll (#170) @chrisbanes
- Update to Compose SNAPSHOT 7065526 (#176) @chrisbanes
- Update AGP, Gradle, Spotless and ktlint (#175) @chrisbanes
- Build docs before deploy (#174) @chrisbanes
v0.4.1
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
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
andGlideImage
) we now skip the initialEmpty
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
- Keyboard (IME) animation support (#142) @chrisbanes
- Update to snapshot 7001724. (#159) @nickbutcher
- Add ViewWindowInsetObserver (#158) @chrisbanes
- Update to Compose SNAPSHOT 6995125 (#157) @chrisbanes
- Migrate to Dokka MultiModule and HTML docs (#151) @chrisbanes
- Update to Compose SNAPSHOT 6994167 (#153) @chrisbanes
- Update to Compose SNAPSHOT 6989480 (#152) @chrisbanes
- [Image Loading] Use rememberUpdatedState (#149) @chrisbanes
- [Image Loading] Skip initial
Empty
state (#148) @chrisbanes - Update to Compose SNAPSHOT 6979516 (#147) @chrisbanes
- Make upload to Sonatype less flaky (#146) @chrisbanes
v0.3.3.1
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
- Update to Compose SNAPSHOT 6964664 (#139) @chrisbanes
- Update to snapshot 6961312. (#138) @nickbutcher
- Update javadoc package list URLs (#137) @chrisbanes
- Add our own assertPixels() (#135) @chrisbanes
- Update to snapshot 6953474. (#134) @nickbutcher
- Update to Compose snapshot 6922857 (#133) @chrisbanes
- Move to shields.io badges (#132) @chrisbanes
- Insets library (#131) @chrisbanes
- Fix CI build speed (#130) @chrisbanes
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
Built to work with Jetpack Compose v1.0.0-alpha06
What’s Changed
- 🚀 Glide integration library (#113) @chrisbanes
- Add glide to top-level readme (#125) @alexjlockwood
- Add AmbientRequestManager for GlideImage (#129) @chrisbanes
- Add PicassoAmbient for Picasso (#128) @chrisbanes
- Add AmbientImageLoader for Coil (#127) @chrisbanes
- De-flake
loading_slot
tests (#122) @chrisbanes
v0.3.1
Built to work with Jetpack Compose v1.0.0-alpha05
What’s Changed
- Fix PicassoImage not maintaining aspect ratio when resizing (#121) @chrisbanes
- Enable Kotlin's explicit strict API mode (#117) @chrisbanes
- Remove Compose compiler plugin workaround (#116) @chrisbanes
- Fix a variable name (#114) @skydoves
- Update to snapshot 6901934. (#115) @nickbutcher
- Update to Compose SNAPSHOT 6891475 (#111) @chrisbanes
- Update AndroidDrawablePainter (#110) @chrisbanes
- Update to Compose SNAPSHOT 6886729 (#108) @chrisbanes
- Update to AGP 4.2.0-alpha13 and Kotlin 1.4.10 (#109) @chrisbanes
- Fix a small typo (#106) @skydoves
v0.3.0
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 Drawable
s 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.
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
- Try fixing flakey
PicassoTest.loading_slot
(#104) @chrisbanes - Doc fixes (#103) @chrisbanes
- Update README.md (#101) @samizerouta
- Picasso integration library (#98) @chrisbanes
- Image Loading Core library (#96) @chrisbanes
- Update to snapshot 6860046 (#97) @nickbutcher
- Update to Coil 1.0.0-rc3 (#95) @chrisbanes
- More API changes (#93) @chrisbanes
- Update to Compose SNAPSHOT 6854728 (#94) @chrisbanes
- Refactor crossfade APIs (#89) @chrisbanes
- Update to Coil 1.0.0-rc2 (#91) @chrisbanes
- Use Dokka 1.4.0 (#90) @chrisbanes
- API updates (#88) @chrisbanes
- Add doc to help maintainers update this library (#87) @chrisbanes
- Update to Compose SNAPSHOT 6838769 (#85) @chrisbanes
- Bump snapshot version to Compose 6834837 build (#83) @yrezgui
- Improve Gradle caching in Actions (#82) @chrisbanes
v0.2.2
Built to work with Jetpack Compose v1.0.0-alpha03
v0.2.1
Built to work with Jetpack Compose v0.1.0-alpha02
What’s Changed
- Update to Compose 1.0.0-alpha02 (#71) @chrisbanes
- Fix grammatical errors (#68) @androiddevnotes
v0.2.0
Built to work with Jetpack Compose v0.1.0-alpha01
What’s Changed
- v0.2.0! (#67) @chrisbanes
- Update to Compose snapshot 6765009 (#66) @chrisbanes
- Update to Coil v1.0.0-rc1 (#64) @chrisbanes
- Remove MDC library (#65) @chrisbanes