Coil 2.0.0 is a major iteration of the library and includes breaking changes. Check out the upgrade guide for how to upgrade.
New: Introduce AsyncImage in coil-compose. Check out the documentation for more info.
// Display an image from the network.
AsyncImage(
model = "https://example.com/image.jpg",
contentDescription = null
)
// Display an image from the network with a placeholder, circle crop, and crossfade animation.
AsyncImage(
model = ImageRequest.Builder(LocalContext.current)
.data("https://example.com/image.jpg")
.crossfade(true)
.build(),
placeholder = painterResource(R.drawable.placeholder),
contentDescription = stringResource(R.string.description),
contentScale = ContentScale.Crop,
modifier = Modifier.clip(CircleShape)
)
New: Introduce a public DiskCache API.
Use ImageLoader.Builder.diskCache and DiskCache.Builder to configure the disk cache.
You should not use OkHttp's Cache with Coil 2.0. See here for more info.
Cache-Control and other cache headers are still supported - except Vary headers, as the cache only checks that the URLs match. Additionally, only responses with a response code in the range [200..300) are cached.
Existing disk caches will be cleared when upgrading to 2.0.
The minimum supported API is now 21.
ImageRequest's default Scale is now Scale.FIT.
This was changed to make ImageRequest.scale consistent with other classes that have a default Scale.
Requests with an ImageViewTarget still have their Scale auto-detected.
Rework the image pipeline classes:
Mapper, Fetcher, and Decoder have been refactored to be more flexible.
Fetcher.key has been replaced with a new Keyer interface. Keyer creates the cache key from the input data.
Add ImageSource, which allows Decoders to read Files directly using Okio's file system API.
Rework the Jetpack Compose integration:
rememberImagePainter and ImagePainter have been renamed to rememberAsyncImagePainter and AsyncImagePainter respectively.
Deprecate LocalImageLoader. Check out the deprecation message for more info.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps coil-compose from 1.3.2 to 2.1.0.
Release notes
Sourced from coil-compose's releases.
Changelog
Sourced from coil-compose's changelog.
... (truncated)
Commits
192070b
Prepare 2.1.0.b9f1389
Clean up documentation after deploying. (#1276)b936e23
Fix typo.92a6137
Fix GenericViewTarget's protected methods being private. (#1273)1f1772f
Clean up Lint warnings. (#1269)f5f9faf
Update compile SDK to 32. (#1268)c1adab8
Support setting custom CSS rules for SVG. (#1210)d6ec2fe
Support loading ByteArrays. (#1202)dccb0a8
Fix incorrect link.ccc031e
Fix formatting in CHANGELOG.md.Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)