Release 6.0.0
kirill-grouchnikov
released this
02 Sep 15:29
·
381 commits
to sunshine
since this release
π marks an incompatible API / binary change
π marks new features
π§ marks bug fixes and general improvements
Dependencies for core libraries
- Gradle: 7.2 β‘ 7.5.1
- Kotlin: 1.5.31 β‘ 1.7.10
- Kotlin coroutines: 1.5.2 β‘ 1.6.4
General
- π§π A new direct rendering model for all core and custom components in Radiance
- Instead of rendering components as multi-layer combinations of cached offscreen images, Radiance now uses direct rendering to the
Graphics
objects passed to the relevant UI delegates and painting methods - Use
RadianceCommonCortex.paintAtScale1x
for visuals that need to "fall" on exact pixels, line single-pixel borders, separators, etc
- Instead of rendering components as multi-layer combinations of cached offscreen images, Radiance now uses direct rendering to the
- π§ Remove all usages of java.security APIs (that are deprecated in Java 17 going forward)
Animation
- π New default animation pulse source that is based on the display refresh rate
Component
- ππ Unify fire action trigger logic for command buttons by replacing
CommandButtonPresentationModel.isFireActionOnRollover
andCommandButtonPresentationModel.isFireActionOnPress
with a singleactionFireTrigger
enum that has three values:OnRollover
to fire action on rolloverOnPressed
to fire action on pressOnPressReleased
to fire action on press release (the default)
- ππ Unify text action/popup click logic for command buttons by replacing
CommandButtonPresentationModel.isTextClickAction
andCommandButtonPresentationModel.isTextClickPopup
with a singletextClick
enum field that has two values:Action
to activate action on text clickPopup
to activate secondary content on text click
- ππ Revisit breadcrumb bar APIs
- Remove exception propagation APIs (they were no-op in any case since it wasn't wired)
- Remove index tracking in
BreadcrumbItem
(not wired to anything) - Switch
BreadcrumbBarCallBack
APIs fromStringValuePair
toBreadcrumbItem
- Also rename
getLeafs
togetLeaves
- Rename
BreadcrumbBarCallBack
to BreadcrumbBarContentProvider` - Rename
BreadcrumbBarModel
toBreadcrumbBarContentModel
- Add
BreadcrumbBarPresentationModel
and support icon filtering - Remove
StringValuePair
from the API surface altogether - Revisit the API surface of
BreadcrumbItem
- ππ Switch presentation models to use
BackgroundAppearanceStrategy
across all components. This applies toCommandButtonPresentationModel.setFlat
CommandButtonPresentationModel.Overlay.setFlat
CommandStripPresentationModel.setFlat
CommandPresentationModel.setFlat
- π Add single row resize policy to ribbon flow bands
- π§ Fix lost breadcrumb bar path after skin change
- π§ Fix separator drawing over the last text character in
MEDIUM
command buttons that don't display icons - π§ Command menus now toggle open and close on clicks
- π§ Fix issues with command popup menus not closing in certain scenarios
Theming
- π Simplified visuals of tabbed panes
- Remove
SINGLE_FULL and DOUBLE_FULL
fromTabContentPaneBorderKind
. Apps that wish to draw border around the content area will need to do so explicitly. - Remove
RadianceSkin.setTabFadeStart
andRadianceSkin.setTabFadeEnd
and do consistent indication for the selected / rollover tab with no alpha fade gradient. - Consistent corner radius of tabs across all skins.
- Remove
- π Clean up the signature of fill painters, removing
isFocused
(not used anywhere, and shouldn't be since the focus indication is painted separately) andhasShine
(specific toStandardFillPainter
visuals). - π§ Fix issues with various color chooser panels, including the correct wiring of the "Reset" button across all the panels
- π§ Fix incorrect bounds of maximized decorated frames on Windows
- π§ Fix inverted logic of
ComponentOrParentChainScope.setExtraWidgetsPresence
- π§ Fix null pointer exception in rollover button listeners