Releases: JetBrains/jewel
v0.16.0
What's Changed
Important
Due to the need to have API- and behaviour-compatible releases of the Standalone theme, starting in 0.16.0 we'll have versioning suffixes on ALL artefacts.
This means that you will have per-IJP versions of the standalone artefacts (e.g., -233
and -241
), and you will need to manually update your standalone apps to follow this pattern. For bridge users, this shouldn't change anything, but now you can use the corresponding standalone-*
themes in tests only, so you can unit test your Jewel UI without the need to spin up an IDE instance.
As of this release, we're archiving the IJ 232 platform support — it has been moved in the archived-releases/232
branch and it will NOT receive any further updates beyond the previous version, 0.15.2.
There are also some changes to the Markdown modules structure, due to the need to support both standalone and bridge theming. You can refer to this commit for more details: b2b44a7
Note
The leaf modules are named *Styling
because Gradle doesn't allow you to have modules with the same name and that
depend on each other — it says it's a circular dependency even if it's not (the modules have different paths). Since
the Standalone Markdown module depends on the Int UI Standalone, and the Bridge Markdown depends on the Bridge theme,
this would break the build. We are, however, going to try and figure this out so that we can remove the suffix.
Detailed changelog
- Use typography APIs in samples, reduce duplication in bridge by @rock3r in #317
- Fixed crash in Typography usage #316 f9f35ca
- Fix standalone button colours in light theme 38ccf2c
- Fix typography issue in standalone demo a6b5a76
- Allow vertically aligning checkbox and radio button rows 0748b4e
- Reorganize and expand the Markdown modules b2b44a7
- Update IJ Platform 24.1 by @rock3r in #318
- Update Compose to 1.6.10-dev1514 by @rock3r in #320
- Update commonmark-java to 0.22.0 by @obask in #324
- Update Compose to 1.6.10-dev1549 912d2b1
New Contributors
Full Changelog: v0.15.2...v0.16.0
v0.15.2
What's New
- Updated CfD to 1.6.10-dev1490
Supported IntelliJ Platform versions
IntelliJ Platform version | Git tag | Bridge artifact |
---|---|---|
2024.1 | v0.15.2 | jewel-ide-laf-bridge-241 |
2023.3 | v0.15.2-233 | jewel-ide-laf-bridge-233 |
2023.2 | v0.15.2-232 | jewel-ide-laf-bridge-232 |
Full Changelog: v0.15.1...v0.15.2
v0.15.1
What's Changed
- Update README.md by @rock3r in #312
- Update dependencies by @rock3r in #313
- Update Compose to 1.6.10-dev1457, IJP 241, and fix Standalone bug by @rock3r in #314
Supported IntelliJ Platform versions
IntelliJ Platform version | Git tag | Bridge artifact |
---|---|---|
2024.1 | v0.15.1 | jewel-ide-laf-bridge-241 |
2023.3 | v0.15.1-233 | jewel-ide-laf-bridge-233 |
2023.2 | v0.15.1-232 | jewel-ide-laf-bridge-232 |
Full Changelog: v0.15.0...v0.15.1
v0.15.0
What's Changed
- Add CodeQL setup by @rock3r in #300
- Make Markdown components not show I-Beams on hover by @rock3r in #302
- Update Gradle IJ Plugin to 1.17.1 by @rock3r in #301
- Fix remembers painter twice and break the cache by @devkanro in #303
- Update IJP 241 by @rock3r in #304
- Update standalone bundled Inter font to 4.0 by @rock3r in #308
- Rename
textStyle
->defaultTextStyle
by @rock3r in #309 - Remove bundled Roboto from standalone sample by @rock3r in #307
- Fix cpu usage from TexField caret animation by updating compose dependencies by @fscarponi in #310
- Bump IJP 241 version by @rock3r in #311
Supported IntelliJ Platform versions
IntelliJ Platform version | Git tag | Bridge artifact |
---|---|---|
2024.1 | v0.15.0 | jewel-ide-laf-bridge-241 |
2023.3 | v0.15.0-233 | jewel-ide-laf-bridge-233 |
2023.2 | v0.15.0-232 | jewel-ide-laf-bridge-232 |
Full Changelog: v0.14.1...v0.15.0
v0.14.1
What's new
- This release fixes the publication of the missing
jewel-foundation-*
andjewel-ui-*
that were not published for 0.14.0. - The issue was in the CI publishing setup, no other changes were made. Refer to the 0.14.0 release notes.
Supported IntelliJ Platform versions
IntelliJ Platform version | Git tag | Bridge artifact |
---|---|---|
2024.1 | v0.14.1 | jewel-ide-laf-bridge-241 |
2023.3 | v0.14.1-233 | jewel-ide-laf-bridge-233 |
2023.2 | v0.14.1-232 | jewel-ide-laf-bridge-232 |
Full Changelog: v0.14.0...v0.14.1
v0.14.0
⚠️ DO NOT USE THIS RELEASE
Due to publication issues, the new intermediate artefacts for jewel-ui
and jewel-foundation
described below were not published. Use release 0.14.1, which has no functional changes, but includes the missing artefacts.
What's Changed
- Add support for IJP 24.1 by @rock3r in #290
- Switching to the new branching strategy by @rock3r in #292
- #291 — Fix icons patching and theming issues in 241 by @rock3r in #293
- Add Markdown renderer code and sample by @rock3r in #294
- Add tagRelease task to root by @rock3r in #299
New Markdown renderer
This Jewel milestone introduces a new Markdown renderer. You can test it in the standalone sample:
For more information you can refer to the markdown/README.md
file.
Supported IntelliJ Platform versions
IntelliJ Platform version | Git tag | Bridge artifact |
---|---|---|
2024.1 | v0.14.0 | jewel-ide-laf-bridge-241 |
2023.3 | v0.14.0-233 | jewel-ide-laf-bridge-233 |
2023.2 | v0.14.0-232 | jewel-ide-laf-bridge-232 |
Note:
Starting from this milestone, the various versions of the bridge depend on a distinct set of jewel-foundation
and jewel-ui
artefacts. This is to accommodate differences in resources, logic, and appearance that are present in different IJP releases.
The bridge for the latest supported version of the IJP will be built from main
and will depend on the "base" jewel-foundation
and jewel-ui
. The bridge artefacts supporting older IJP versions will use the -XXX
suffix of those dependencies, where XXX is the major IJP version, like for the bridge artifact itself.
The standalone module will always use the "base" artefacts for jewel-foundation
and jewel-ui
.
The Markdown renderer will use whatever it finds on the classpath.
Don't forget to add the custom Maven repository:
repositories {
maven("https://packages.jetbrains.team/maven/p/kpm/public")
}
Full Changelog: v0.13.2...v0.14.0
v0.13.2
⚠️ Breaking changes
The order of parameters for one of the TextField
composables has changed to be consistent with having the leading icon be placed before the trailing icon lambdas. Please check you're either using named parameters or update the order.
What's Changed
- Add derived TextStyle APIs under Typography by @rock3r in #287
- Fix TextField parameter ordering and sizing shenanigans by @rock3r in #285
Full Changelog: v0.13.1...v0.13.2
v0.13.1
v0.13.0
Important note
This release updates the base Compose for Desktop dependency from 1.5.11 to 1.6.0-dev1362. The main reason for this update is that the latest JetBrains Runtime 17 builds were crashing Compose on Linux, so we've moved to the latest Compose dev builds, which contain the fix. We didn't notice any regressions in the update, but please let us know if you see any.
Note
Despite the version number, this CfD build still does not include Jetpack Compose 1.6 changes. The merging hasn't been completed yet on the Compose Multiplatform side.
Font APIs
Other benefits of this update include the improved font loading in Compose; this fixes #162 and allows accessing all font variants, including JBR bundled fonts when running on the IntelliJ Platform. Note that trying to use the Apple system font is not going to work (and never fully did), as Skia doesn't support it natively.
Loading a system font family now is as easy as calling FontFamily("Arial Black")
. Going from an AWT Font
— or a JBFont
— to a FontFamily
is as easy as calling myFont.asComposeFontFamily()
. No more messing around with suspend APIs and such!
Important
As a reminder, Jewel is only compatible with the JetBrains Runtime. Font loading, decorated windows, HiDPI support, etc. require additional APIs that are only available in the JBR. Running under any other JVM is not supported.
Known issues
Hover is broken in Compose 1.6.0-dev1362 when running in IntelliJJetBrains/compose-multiplatform#4123- Fixed in 0.13.1 and later
What's Changed
- Update IJ 233 to 233.13135.103 by @rock3r in #278
- Extend TabStrip API to support custom behaviours by @fscarponi in #276
- README Update - Remove "platform-specific" from dependency for plugin by @Chozzle in #280
- Fix crash on JBR 17.0.9-b1087.9+ on Linux by @rock3r in #282
New Contributors
Full Changelog: v0.12.0...v0.13.0