Skip to content

Releases: JetBrains/jewel

v0.27.0

27 Nov 12:41
7aba563
Compare
Choose a tag to compare
v0.27.0 Pre-release
Pre-release

Breaking changes

  • The Divider component does not implicitly use fillMaxWidth/fillMaxHeight. You will need to add it explicitly if you weren't already, or your dividers will "disappear" (because they have no intrinsic size on the cross axis)

Notable changes

  • New component: default banners (aka editor banners)
  • New component: combo boxes, both editable and non
    • Use in conjunction with SimpleItemLayout for an optimal out-of-the-box experience
  • Plenty of styling changes and fixes
  • Fixed issue with CheckBoxes where the indeterminate state was broken
  • Fixed issues in SplitLayout
  • ComposePanel can now be configured when setting up via JewelComposePanel
  • Correctly use New UI icons for Darcula and High Contrast themes when New UI is enabled
  • Using CommonMark 0.24 and Compose 1.7.1

What's Changed

  • Keep trailing empty lines at the end of the Markdown code block by @AlexVanGogen in #672
  • Allow configuring the ComposePanel via JewelComposePanel APIs by @rock3r in #673
  • Fix SplitLayout divider positioning error by @hamen in #667
  • Fix Dropdown disabled colors by @hamen in #674
  • Change the New UI detection logic in the bridge by @rock3r in #675
  • Add LocalTextStyle setup to Chip by @hamen in #677
  • Bump CommonMark version to 0.24.0 by @obask in #678
  • Bump Compose 1.7.0 -> 1.7.1 by @rock3r in #693
  • Add ListComboBox by @hamen in #627
  • Remove fillMax* from Divider to avoid glitches and edge-cases by @hamen in #699
  • Fixup after dividers by @rock3r in #700
  • Banners by @hamen in #688
  • Iterate on onSelectedItem in ListComboBox by @hamen in #702
  • Tune logging by @rock3r in #704
  • Fix indeterminate state not working in Checkboxes by @rock3r in #705

Full Changelog: v0.26.2...v0.27.0

v0.26.2

25 Oct 15:34
e0e6f1b
Compare
Choose a tag to compare
v0.26.2 Pre-release
Pre-release

Notable changes:

  • The TextArea and TextField composables in 242+ now use a transparent background by default when disabled.
  • Align standalone text field/area styling to the bridge.
  • Align standalone radio button icon gap to the bridge.
  • Use Color.Unspecified over Color.Transparent for colors in the IntelliJ UI bridge.

What's Changed

  • Use transparent background for disabled TextField/TextArea by @rosejr in #660
  • Polish TextField, TextArea, and RadioButton by @rock3r in #662
  • Bump IJP 243 to EAP 7 (243.21155.17) by @rock3r in #663
  • Force Skiko to 0.8.17 by @rock3r in #665

New Contributors

Full Changelog: v0.26.1...v0.26.2

v0.26.1

23 Oct 21:40
3feee80
Compare
Choose a tag to compare
v0.26.1 Pre-release
Pre-release

Notable changes

  • Made addComposeTab's tab title nullable.
  • Added all scrollbar parameters to the *ScrollableContainer so that its users can access them.

Deprecated

  • Deprecated the 2D scrolling versions of ScrollableContainer due to Compose limitations.

What's Changed

  • Make addComposeTab's tab title nullable by @rock3r in #655
  • Add all scrollbar parameters to scrollable containers by @rock3r in #656

Full Changelog: v0.26.0...v0.26.1

v0.26.0

21 Oct 16:35
9bf43ee
Compare
Choose a tag to compare
v0.26.0 Pre-release
Pre-release

Notable changes

  • Added support for IntelliJ Platform 243 (EAP 6+ required) (#628)
  • Archived support for IntelliJ Platform 233
  • Updated Compose to 1.7.0 stable (#638)
  • Added ColorFilter to the *IconActionButton API (#641)
  • Added enabled parameter to Tooltip to display it selectively (#644)
  • The keyboard event handling logic in SelectableLazyColumn has been adjusted to ensure proper return values (#625, #624)
  • DefaultTreeViewPointerEventAction is now open and notifyItemClicked is annotated with @InternalJewelApi (#624)

What's Changed

Full Changelog: v0.25.0...v0.26.0

v0.25.0

30 Sep 11:51
d6e516f
Compare
Choose a tag to compare
v0.25.0 Pre-release
Pre-release

Here are the release notes for the patch file:

Notable changes

  • The generator task was previously terminating prematurely when encountering a deprecated field. This has been fixed to correctly skip deprecated fields and process all valid ones.
  • Upgraded Compose to version 1.7.0-beta02 and migrated from the deprecated ResourceLoader APIs to the new experimental CMP Resources API.

Important

This could be a breaking change if you are loading image resources directly — please use Jewel's icon loading APIs instead, or update your code to use the new Compose Resources API.

  • The Text composable now uses the colours in the correct order of fallback
  • We have removed underlines from unhovered Markdown links, better aligning with Swing. Underlines now appear on hovered and focused links for better usability.
  • We introduced simple, lexer-based syntax highlighting to the Markdown renderer using the IntelliJ Platform lexer, enhancing code readability within Markdown documents. This is not available in standalone yet, but we plan to have a similar lexer-based highlighter in the future.
  • Fixed issues in TextField and TextArea components where the placeholder was drawn on top of the cursor, and the TextArea placeholder was not laid out correctly

What's Changed

New Contributors

Full Changelog: v0.24.2...v0.25.0

v0.24.2

09 Sep 22:15
70a3ae3
Compare
Choose a tag to compare
v0.24.2 Pre-release
Pre-release

What's Changed

  • Create NoTheme JewelComposePanel versions by @rock3r in #588

Full Changelog: v0.24.1...v0.24.2

v0.24.1

09 Sep 18:17
baf8f81
Compare
Choose a tag to compare
v0.24.1 Pre-release
Pre-release

What's Changed

  • Use a line-height of 1.3x for the default text styles by @rock3r in #587

Full Changelog: v0.24.0...v0.24.1

v0.24.0

06 Sep 14:59
58213f4
Compare
Choose a tag to compare
v0.24.0 Pre-release
Pre-release

Notable changes

  • We've reworked completely how the SplitLayout works. It now supports nesting and works as expected. This is a breaking change.
  • We've deprecated a number of old APIs which will be removed in future releases

What's Changed

Full Changelog: v0.23.1...v0.24.0

v0.23.1

29 Aug 16:51
ef78240
Compare
Choose a tag to compare
v0.23.1 Pre-release
Pre-release

Notable changes:

  • Fixed an issue where the placeholder text in TextField could extend beyond the boundaries of the TextField itself.  

What's Changed

  • Fix TextField placeholder going outside the bounds of the TextField by @rock3r in #567

Full Changelog: v0.23.0...v0.23.1

v0.23.0

27 Aug 15:01
c8ec545
Compare
Choose a tag to compare
v0.23.0 Pre-release
Pre-release

Notable changes

  • Scrollbars have been completely re-created from the ground up
    • Windows/Linux and macOS styles
    • macOS scrollbars can be AlwaysVisible or only visible WhenScrolling
    • In IJP 242, on macOS, Jewel can automatically pick the right style (not available in 233/241 due to missing IJP APIs)
  • ScrollingContainer API makes it easier to implement a scrolling container with the looks and behaviour that match Swing
    • Layout adapts automatically to AlwaysVisible vs WhenScrolling
    • You can adapt by applying an end padding to "important" content (e.g., text) provided by scrollbarContentSafePadding()
    • You should not apply it to the scrollable container or the items' roots, because "unimportant" stuff (e.g., selection bg, dividers, etc) should extend all the way
  • TextArea has a new BTF2-based overload, which can show vertical scrollbars
    • String- and TextFieldValue-based text components have been deprecated and will be removed before Jewel 1.0
    • You should migrate to the new TextFieldState-backed overloads as soon as possible!
    • Why moving to the new API? Find out here
  • There is a new preliminary API to provide data to the IJP Actions system: Modifier.provideData()
    • It is key-value based, modeled after the UiDataProvider API in the IJP
    • It's not fully tested nor fleshed out yet, so use at your own risk
    • Not available in IJP 233/241 (should be a no-op, may cause issues — please report them)

Breaking changes

  • The IntUiScrollbarStyling's API has been significantly modified, affecting how scrollbar styles are defined.
    • Migration: Adapt your scrollbar styling code to use the new API, which includes changes to function names, parameters, and the introduction of new functions for different operating systems and themes.
  • The TabStyle constructor now requires an additional parameter: scrollbarStyle.
    • Migration: When creating a TabStyle, provide a value for the new scrollbarStyle parameter.

Deprecated

  • The TextArea and TextField overloads that accept value and onValueChange parameters have been deprecated in favor of the respective overloads that use TextFieldState.
    • If you need to observe text changes with the new overloads, use snapshotFlow { state.text }.

What's Changed

  • New iteration on scrollbars by @hamen in #515
  • Remove obsolete expui icons folder by @hamen in #519
  • Switch reflection-based system in standalone demo to simpler mechanism by @hamen in #520
  • Clean up work on scrollbars by @hamen in #521
  • Make Studio releases task triggered on demand by @rock3r in #523
  • Fix glitch in selected menu item background by @hamen in #524
  • Update IJP and IJP Gradle plugin by @rock3r in #526
  • Expose PopupProperties in PopupMenu by @francisconoriega in #531
  • Add scrollbar style and behavior reactive update for Mac OS by @hamen in #535
  • Fix Markdown loading in standalone sample by @rock3r in #539
  • Fix button border alignement by @hamen in #543
  • Exclude generated files from formatKotlinMain by @hamen in #548
  • Improve OverrideDarkMode kdocs by @rock3r in #552
  • Iterate on keyboard shortcuts by @hamen in #549
  • Migrate TitleBarView to new Icon API by @hamen in #546
  • Migrated ActionSystem to Compose Traversal API & UiDataProvider API by @jakub-senohrabek-jb in #532
  • Improve string-based Icon deprecation by @rock3r in #555
  • Bump and clean by @rock3r in #557
  • Reimplement/fix/complete implementation of scrollbars by @rock3r in #554
  • Iterate on TextField and TextArea focused state UI by @hamen in #540

Full Changelog: v0.22.2...v0.23.0