Skip to content

v0.20.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@rock3r rock3r released this 17 Jul 12:54
· 83 commits to main since this release
4dcf63b

Notable changes

This release brings many changes — some of which can cause breakages in your code. Some APIs have been deprecated, or renamed, or removed. We've attempted to keep things as compatible as possible with previous versions, but it wasn't always possible.

Note

As a reminder, Jewel does not make guarantees about API compatibility between different releases yet. That will come with v1.0.0.

This version introduces support for the IntelliJ Platform 2024.2 (currently in beta), and brings in Compose 1.7. We're in the process of migrating some aspects to new Compose APIs, and the first such example to land is the usage of LinkAnnotations in Markdown.

We also have a new key-based icon loading API that allows you to more easily load platform icons in a cross-target way. Now, to load an icon, you can do:

// Equivalent to the old path-based API
Icon(PathIconKey("icons/myIcon.svg"), contentDescription = "...")

// For platform icons found in AllIcons
PlatformIcon(AllIconsKeys.Nodes.ConfigFolder, "taskGroup")

Note that the icons loaded by PlatformIcon need to be present on the classpath as resources. In the bridge, that's always the case as they come from the platform; in standalone, you want to add this to your build script:

dependencies {
  implementation("com.jetbrains.intellij.platform:icons:[ijpVersion]")
  // ...
}

repositories {
  // Choose either of these two, depending on whether you're using a stable IJP or not
  maven("https://www.jetbrains.com/intellij-repository/releases")
  maven("https://www.jetbrains.com/intellij-repository/snapshots")
}

Note

The repository readme has not been updated yet.

What's Changed

Full Changelog: v0.19.7...v0.20.0