<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Writing on Colin White</title><link>https://colinwhite.me/blog/</link><description>Recent content in Writing on Colin White</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Mon, 04 Nov 2024 00:00:00 +0000</lastBuildDate><atom:link href="https://colinwhite.me/blog/feed.xml" rel="self" type="application/rss+xml"/><item><title>Coil 3.0: Image loading for Compose Multiplatform</title><link>https://colinwhite.me/blog/coil-3-release/</link><pubDate>Mon, 04 Nov 2024 00:00:00 +0000</pubDate><guid>https://colinwhite.me/blog/coil-3-release/</guid><description>&lt;p&gt;&lt;img src="https://colinwhite.me/multiplatform.jpg" alt="Four screenshots of the Coil sample app running on different platforms"&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/coil-kt/coil/blob/main/CHANGELOG.md#300---november-4-2024"&gt;Coil 3.0&lt;/a&gt; is out now with full support for &lt;a href="https://www.jetbrains.com/lp/compose-multiplatform/"&gt;Compose Multiplatform&lt;/a&gt;. It supports all major platforms so you can now load images on Android, iOS, JVM, JS, and &lt;a href="https://coil-kt.github.io/coil/sample/"&gt;WASM&lt;/a&gt; all with the same common API. It also has a ton of other improvements including:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Support for multiple networking libraries (&lt;a href="https://square.github.io/okhttp/"&gt;OkHttp&lt;/a&gt; and &lt;a href="https://ktor.io/"&gt;Ktor&lt;/a&gt;). Additionally, Coil can now be used without a network dependency if you only need to load local files.&lt;/li&gt;
&lt;li&gt;Better support for Compose &lt;code&gt;@Preview&lt;/code&gt; rendering.&lt;/li&gt;
&lt;li&gt;Support for &lt;a href="https://www.jetbrains.com/help/kotlin-multiplatform-dev/compose-multiplatform-resources.html"&gt;Compose Multiplatform Resources&lt;/a&gt; loaded via &lt;code&gt;Res.getUri&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Better compatibility for &lt;code&gt;rememberAsyncImagePainter&lt;/code&gt; with &lt;a href="https://cashapp.github.io/paparazzi/"&gt;Paparazzi&lt;/a&gt;, &lt;a href="https://takahirom.github.io/roborazzi/"&gt;Roborazzi&lt;/a&gt;, and the &lt;a href="https://developer.android.com/studio/preview/compose-screenshot-testing"&gt;Compose Preview Screenshot Testing&lt;/a&gt; library.&lt;/li&gt;
&lt;li&gt;Enable restarting the same image request via &lt;code&gt;AsyncImagePainter.restart()&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Support for custom preview behavior via &lt;code&gt;LocalAsyncImagePreviewHandler&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Support for custom disk caching behavior for images loaded from the network via &lt;code&gt;CacheStrategy&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Coil 3.0 uses the same Compose API as Coil 2.0 so it&amp;rsquo;s easy to load images from the network (or elsewhere) on any platform that Compose Multiplatform supports:&lt;/p&gt;</description></item></channel></rss>