jewel

An implementation of the IntelliJ look and feels in Compose for Desktop

APACHE-2.0 License

Stars
604
Committers
21

Bot releases are hidden (Show)

jewel - v0.17.1

Published by rock3r 6 months ago

What's Changed

Full Changelog: https://github.com/JetBrains/jewel/compare/v0.17.0...v0.17.1

jewel - v0.17.0

Published by rock3r 7 months ago

What's Changed

New Contributors

Known issues

Full Changelog: https://github.com/JetBrains/jewel/compare/v0.16.0...v0.17.0

jewel - v0.15.2.2

Published by rock3r 7 months ago

[!IMPORTANT]
This is a hotfix release for the IJP 232 only

What's Changed since 0.15.2.1-232

  • Complete fix for #316 (the cherry pick in 0.15.2.1 was somehow incomplete)

Full Changelog: https://github.com/JetBrains/jewel/compare/v0.15.2.1...v0.15.2.2

jewel - v0.15.2.1

Published by rock3r 7 months ago

[!IMPORTANT]
This is a hotfix release for the IJP 232 only

What's Changed since 0.15.2-232

  • Backport fix for #316
  • Backport ability to vertical-align checkbox/radio button contents

Full Changelog: https://github.com/JetBrains/jewel/compare/v0.15.2...v0.15.2.1

jewel - v0.16.0

Published by rock3r 7 months ago

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: b2b44a7c5f4a3b74122ab4c3b70b5ab592487e9c

[!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

New Contributors

Full Changelog: https://github.com/JetBrains/jewel/compare/v0.15.2...v0.16.0

jewel - v0.15.2

Published by rock3r 7 months ago

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: https://github.com/JetBrains/jewel/compare/v0.15.1...v0.15.2

jewel - v0.15.1

Published by rock3r 8 months ago

What's Changed

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: https://github.com/JetBrains/jewel/compare/v0.15.0...v0.15.1

jewel - v0.15.0

Published by rock3r 8 months ago

What's Changed

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: https://github.com/JetBrains/jewel/compare/v0.14.1...v0.15.0

jewel - v0.14.1

Published by rock3r 8 months ago

What's new

  • This release fixes the publication of the missing jewel-foundation-* and jewel-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: https://github.com/JetBrains/jewel/compare/v0.14.0...v0.14.1

jewel - v0.14.0

Published by rock3r 8 months ago

⚠️ 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

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: https://github.com/JetBrains/jewel/compare/v0.13.2...v0.14.0

jewel - v0.13.2

Published by rock3r 9 months ago

⚠️ 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

Full Changelog: https://github.com/JetBrains/jewel/compare/v0.13.1...v0.13.2

jewel - v0.13.1

Published by rock3r 9 months ago

This hotfix updates the Compose version to 1.6.0-dev1369, which fixes the broken hover functionality in the IJ platform.

What's Changed

Full Changelog: https://github.com/JetBrains/jewel/compare/v0.13.0...v0.13.1

jewel - v0.13.0

Published by rock3r 9 months ago

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.

What's Changed

New Contributors

Full Changelog: https://github.com/JetBrains/jewel/compare/v0.12.0...v0.13.0

jewel - v0.12.0

Published by rock3r 10 months ago

What's Changed


Full Changelog: https://github.com/JetBrains/jewel/compare/v0.11.1...v0.12.0

Find binaries here.

jewel - v0.11.1

Published by rock3r 10 months ago

What's Changed


Full Changelog: https://github.com/JetBrains/jewel/compare/v0.11.0...v0.11.1

Find binaries here.

jewel - v0.11.0

Published by rock3r 11 months ago

Note

Compose has been updated from 1.5.10 to 1.5.11

What's Changed

Full Changelog: https://github.com/JetBrains/jewel/compare/v0.10.0...v0.11.0

Find binaries here.

jewel - v0.10.0

Published by rock3r 11 months ago

What's Changed


Full Changelog: https://github.com/JetBrains/jewel/compare/v0.9.0...v0.10.0

Find binaries here.

jewel - v0.9.0

Published by rock3r 12 months ago

Notable changes:

  • This version updates the Compose dependency to 1.5.10, which fixes #150 and #182
  • The SelectableLazyColumn is faster, but we've determined it needs to have better APIs. We're aiming at a thorough review as part of #242

What's Changed


Full Changelog: https://github.com/JetBrains/jewel/compare/v0.8.1...v0.9.0

Find binaries here.

jewel - v0.8.1

Published by rock3r 12 months ago

What's Changed


Full Changelog: https://github.com/JetBrains/jewel/compare/v0.8.0...v0.8.1

Find binaries here.

jewel - v0.8.0

Published by rock3r 12 months ago

What's Changed

Migrating from 0.7.x

Version 0.8.0 introduces a lot of changes in the codebase. Most of those should only impact imports on the usage side,
but there are also changes to the project structure that might be relevant to you if you're not consuming the leaf nodes
as suggested in the readme.

  1. All contents of the top-level org.jetbrains.jewel package have been moved to sub-packages:
    • The component implementations are in .ui.component
    • Base component stylings are in .ui.component.styling
    • Painter APIs have been moved to .ui.painter
    • Jewel annotations have been moved to .foundation
    • Basic theme APIs have been moved to .foundation.theme, the rest into .ui.theme
    • State APIs have been moved into .foundation.state
    • The .foundation.tree contents have been moved into .foundation.lazy.tree
    • The modifiers that lived in .foundation are now in .foundation.modifier
    • All standalone Int UI code is now in .intui.standalone
    • Int UI standalone styling is in .intui.standalone.styling
    • Int UI standalone theming is in .intui.standalone.theme
  2. The modules structure was considerably changed, too:
    • The core artifact has been renamed to ui
    • The .foundation package has been split out into the foundation artifact
    • The int-ui-core module doesn't exist anymore
  3. Icon loading has changed. There is no SvgLoader anymore. Please refer to the readme for instructions.

You can find more details about the migration in The Big Refactor PRs (#192, #193, #195, #198) and in the subsequent
docs update and cleanup PR (#199).


Full Changelog: https://github.com/JetBrains/jewel/compare/v0.7.3...v0.8.0

Find binaries here.

Badges
Extracted from project README
JetBrains incubator CI checks Licensed under Apache 2.0 Latest release
Related Projects