Releases: JetBrains/jewel
Releases · JetBrains/jewel
v0.26.2
Notable changes:
- The
TextArea
andTextField
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
overColor.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
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
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 toTooltip
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 andnotifyItemClicked
is annotated with@InternalJewelApi
(#624)
What's Changed
- Rework SelectableLazyColumn by @hamen in #620
- Update Compose to 1.7.0-rc01 by @rock3r in #621
- Fix keyboard event handling in BasicSelectableLazyColumn by @fscarponi in #625
- Refactor KeyActions and BasicSelectableLazyColumn by @fscarponi in #624
- Move to ijp 243 by @jakub-senohrabek-jb in #628
- Add Throubleshooting section with a fix for Git Pre-push hook by @hamen in #634
- Upgrade Compose to 1.7.0 stable by @hamen in #638
- Remove deprecated Kotlin build flag by @rock3r in #642
- Add ColorFilter to the IconActionButton API by @rock3r in #641
- Add enabled parameter to Tooltip by @rock3r in #644
- Update IJP to 243 EAP 6 (243.20847.40) by @rock3r in #652
- Revert Rework SelectableLazyColumn by @hamen in #654
Full Changelog: v0.25.0...v0.26.0
v0.25.0
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
- Fix IconKeys generator task by @rock3r in #593
- Update Compose to 1.7.0-beta02 by @rock3r in #595
- Fixed Text Component order for color by @francisconoriega in #596
- Remove underline on unhovered Links by @francisconoriega in #598
- Changed grey to gray in readPaletteColor by @francisconoriega in #602
- Add syntax highlighting to markdown preview by @AlexVanGogen in #592
- Bump IJP to 242.22855.74 (242.2) by @rock3r in #606
- Minor code cleanup by @rock3r in #605
- Fix Markdown link focus by @rock3r in #608
- Fix z-order for text field/area placeholder by @rock3r in #615
- Fix TextArea placeholder layout by @rock3r in #616
- Bump IJP Gradle plugin to 2.1.0 by @rock3r in #619
- Bump IJP version to 242.3 (242.23339.11) by @rock3r in #618
New Contributors
- @AlexVanGogen made their first contribution in #592
Full Changelog: v0.24.2...v0.25.0
v0.24.2
v0.24.1
v0.24.0
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
- Fixed Null Pointer in IDE sample on non INTUI themes by @francisconoriega in #568
- Fix global border colors by @hamen in #569
- Use ktfmt for formatting by @rock3r in #571
- Bump IJP version to 242.21829.142 (242.1) by @rock3r in #575
- Use icon keys everywhere by @rock3r in #576
- Simplify Node.readInlineContent() implementation by @rock3r in #577
- Remove one more usage of resource-based Icon APIs by @rock3r in #578
- Upgrade Compose to 1.7.0-beta01 by @rock3r in #580
- Improve readme and deprecate PlatformIcon by @rock3r in #579
- Remove Jewel usages of deprecated PlatformIcon API by @rock3r in #581
- New SplitLayout by @hamen in #570
Full Changelog: v0.23.1...v0.24.0
v0.23.1
Notable changes:
- Fixed an issue where the placeholder text in
TextField
could extend beyond the boundaries of theTextField
itself.
What's Changed
Full Changelog: v0.23.0...v0.23.1
v0.23.0
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)
- It is key-value based, modeled after the
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 newscrollbarStyle
parameter.
- Migration: When creating a
Deprecated
- The
TextArea
andTextField
overloads that acceptvalue
andonValueChange
parameters have been deprecated in favor of the respective overloads that useTextFieldState
.- If you need to observe text changes with the new overloads, use
snapshotFlow { state.text }
.
- If you need to observe text changes with the new overloads, use
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
v0.22.2
Notable changes:
- The
optimizeEdits
parameter in theMarkdownProcessor
class has been renamed toeditorMode
(#485). - The
IconActionButton
andIconButton
components now have two new variants:Selectable
andToggleable
(#501). - The Standalone sample application now supports basic keyboard shortcuts for navigating between its main screens (#502).
- The
IconKey
API now includes aniconClass
, used to load icons in release IDE builds (#507). - The
JewelToolWindowComposePanel
component has been added to address compatibility issues with Compose 1.7 and IntelliJ toolwindows, ensuring proper layout and sizing behavior (#509, #516).
Breaking changes:
- The
ToggleableComponentState
interface no longer extends theSelectableComponentState
interface (#501). - The
IconButtonState
class no longer implements theSelectableComponentState
interface (#501). - The
Debug
mode has been removed, and selective logging should now be configured through the logger settings (#505). - Several deprecated APIs related to icon keys and styling have been removed (#507).
Deprecated:
- The string-based resource APIs for the
Icon
component have been deprecated in favor of theIconKey
-based APIs (#507).
What's Changed
- Rename optimizeEdits to editorMode in MarkdownProcessor by @rock3r in #485
- Improve and update Markdown readme by @rock3r in #482
- Add script and instructions to generate better release notes by @rock3r in #499
- Add basic shortcuts to Standalone L1 navigation screens by @hamen in #502
- Add selectable and toggleable Icon(Action)Button by @rock3r in #501
- Improve IconKey API to include a classloader by @rock3r in #507
- Remove Debug mode by @rock3r in #505
- Upgrade IJP to 242.20224.159 (RC) by @rock3r in #508
- Compose 1.7 FillMaxSize+Jpanels Workaround by @francisconoriega in #509
- Only apply workaround to CMP-5856 in toolwindows by @rock3r in #516
New Contributors
- @francisconoriega made their first contribution in #509
Full Changelog: v0.22.1...v0.22.2