Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dependency media.kamel:kamel-image to v1 #55

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Oct 10, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
media.kamel:kamel-image 0.9.5 -> 1.0.0 age adoption passing confidence

Release Notes

Kamel-Media/Kamel (media.kamel:kamel-image)

v1.0.0

v1.0.0 Release!
  • kotlin 2.0.21
  • compose 1.6.11
  • ktor: 3.0.0
v0.x -> v1.x notes:
New
  • #​85 WasmJs support!
  • https://github.com/Kamel-Media/Kamel/pull/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.
  • https://github.com/Kamel-Media/Kamel/pull/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")
  • Adds gif support! #​12 with #​100 by @​luca992
  • Prevent out of memory exceptions for xl images with experimental Image resizing image bitmap decoder (Android only right now) #​105 by @​luca992
    • To try out add implementation("media.kamel:kamel-decoder-image-bitmap-resizing:1.0.0-beta.6") and add imageBitmapResizingDecoder() to your KamelConfig
Breaking changes
  • Change media.kamel:kamel-image -> media.kamel:kamel-image-default for the same behavior as pre 1.0.0 releases.
  • Old Depreciated methods removed
Depreciated
Setup
Default Setup

Add the dependency to the common source-set or to any platform source-set:

kotlin {
    sourceSets {
        commonMain {
            dependencies {
                implementation("media.kamel:kamel-image-default:1.0.0")
                // no need to specify ktor engines, one is included for each target
                // ...
            }
        }
    }
}
Granular Setup

For a more granular setup, you can choose which modules to include in your project:

kotlin {
    sourceSets {
        commonMain {
            dependencies {
                // core module (required)
                implementation("media.kamel:kamel-image:1.0.0")
                
                // Note: When using `kamel-image` a ktor engine is not included.
                // To fetch remote images you also must ensure you add your own 
                // ktor engine for each target.
                
                // optional modules (choose what you need and add them to your kamel config)
                implementation("media.kamel:kamel-decoder-image-bitmap:1.0.0")
                implementation("media.kamel:kamel-decoder-image-bitmap-resizing:1.0.0") // android only right now
                implementation("media.kamel:kamel-decoder-image-vector:1.0.0")
                implementation("media.kamel:kamel-decoder-svg-batik:1.0.0")
                implementation("media.kamel:kamel-decoder-svg-std:1.0.0")
                implementation("media.kamel:kamel-decoder-animated-image:1.0.0")

                implementation("media.kamel:kamel-fetcher-resources-jvm:1.0.0")
                implementation("media.kamel:kamel-fetcher-resources-android:1.0.0")
                // ...
            }
        }

        jvmMain {
            dependencies {
                // optional modules (choose what you need and add them to your kamel config)
                implementation("media.kamel:kamel-fetcher-resources-jvm:1.0.0")
                // ...
            }
        }

        androidMain {
            dependencies {
                // optional modules (choose what you need and add them to your kamel config)
                implementation("media.kamel:kamel-fetcher-resources-android:1.0.0")
                // ...
            }
        }
    }
}
Granular Setup: Ktor HttpClient Engine

When using kamel-image ktor engines are not included per target.
In order to fetch remote images you also must ensure you add your own ktor engine for each target.
You can find the available engines here.


  • If you want to rebase/retry this PR, check this box

🔕 Ignore: Close this PR and you won't be reminded about these updates again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant