Skip to content

Releases: Kamel-Media/Kamel

v0.9.3

23 Feb 22:08
Compare
Choose a tag to compare

Wasm build also published with 0.9.3-wasm

v1.0.0-beta.1

20 Feb 09:41
Compare
Choose a tag to compare
v1.0.0-beta.1 Pre-release
Pre-release

Breaking changes

  • Change media.kamel:kamel-image -> media.kamel:kamel-image-default for the same behavior as pre 1.0.0 releases.
  • Depreciated methods removed

New

  • #96 With media.kamel:kamel-image is now bare bones and lets you pick and choose all mappers, fetchers, and decoders to import into your project that are not included in kamel-core.
  • #96 media.kamel:kamel-image-default Includes all includes all packages besides kamel-decoder-svg-batik
  • Adds a FileUrlFetcher to support loading non-resource local files
  • String mapper will now handle file:/// uris: asyncPainterResource("file:///$absolutePath")

Try it out here:

implementation("media.kamel:kamel-image-default:1.0.0-beta.1")

or to pick and choose features:

implementation("media.kamel:kamel-image:1.0.0-beta.1")

implementation("media.kamel:kamel-decoder-image-bitmap:1.0.0-beta.1")
implementation("media.kamel:kamel-decoder-image-vector:1.0.0-beta.1")
implementation("media.kamel:kamel-decoder-svg-batik:1.0.0-beta.1")
implementation("media.kamel:kamel-decoder-svg-std:1.0.0-beta.1")
implementation("media.kamel:kamel-fetcher-resources-jvm:1.0.0-beta.1")
implementation("media.kamel:kamel-fetcher-resources-android:1.0.0-beta.1")
implementation("media.kamel:kamel-mapper-resources-id-android:1.0.0-beta.1")

// you also must ensure you define your own ktor engine for each target when using `kamel-image`

v0.9.2 & v0.9.2-wasm!

15 Feb 06:25
Compare
Choose a tag to compare
  • Kotlin 1.9.22
  • Compose 1.5.12

Initial wasmJs Support

  • wasmJs is still a work in progress: blockers / issues
  • Test it out with:
    • implementation("media.kamel:kamel-image:0.9.2-wasm")

v0.9.1

23 Dec 07:06
Compare
Choose a tag to compare
  • Replaced Stately ConcurrentMutableMap with Ktor ConcurrentMap #84 by @lumstep

v0.9.0

24 Nov 20:00
Compare
Choose a tag to compare
  • Kotlin 1.9.21
  • Compose 1.5.11
  • Support multiple mappers for each class #72 by @iruizmar
  • Setup support for platform specific default configs #73 by @iruizmar
  • Use thread-safe maps to back lru caches #76 by @luca992
    • Fixes Null pointer exception in LruCache on iOS LRUCache #66
    • Fixes Concurrent modification exception in Disk Cache #75

v0.8.3

04 Nov 23:10
Compare
Choose a tag to compare
  • Kotlin 1.9.20
  • Compose 1.5.10
  • #68 Remove kotlin reflection depenedency for jvm by @luca992
    • Fixes #47 Proguard removing necessary fetcher classes

v0.8.2

22 Oct 23:16
Compare
Choose a tag to compare
  • Resolves #64: publish all android library variants for kamel-core

v0.8.1

18 Oct 19:27
Compare
Choose a tag to compare
  • Fixes #63 changes the disk cache location to be in user space on apple devices.

v0.8.0

16 Oct 02:58
Compare
Choose a tag to compare

NEW

  • Huge shoutout to @psuzn for #61 which adds a persistent disk cache implementation by leveraging ktor's CacheStorage feature

Disk Cache size (in MiB)

Kamel can now create a persistent disk cache for images by implementing ktor's CacheStorage feature.
The default config KamelConfig.Default installs this feature with a 10 MiB disk cache size.
The underlying disk cache is based on coil's multiplatform DiskLruCache implementation, (which itself is a port from libcore disklrucache).

KamelConfig {
    httpFetcher {
        // The size of the cache can be defined in bytes. Or `DefaultHttpCacheSize` (10 MiB) can be used. 
        httpCache(DefaultHttpCacheSize)
    }
}

v0.7.3

07 Sep 02:36
Compare
Choose a tag to compare

Updates to Kotlin 1.9.10 and Compose Multiplatform 1.5.1