Release 6.0.0
·
986 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
Graphicsobjects passed to the relevant UI delegates and painting methods - Use
RadianceCommonCortex.paintAtScale1xfor 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.isFireActionOnRolloverandCommandButtonPresentationModel.isFireActionOnPresswith a singleactionFireTriggerenum that has three values:OnRolloverto fire action on rolloverOnPressedto fire action on pressOnPressReleasedto fire action on press release (the default)
- ππ Unify text action/popup click logic for command buttons by replacing
CommandButtonPresentationModel.isTextClickActionandCommandButtonPresentationModel.isTextClickPopupwith a singletextClickenum field that has two values:Actionto activate action on text clickPopupto 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
BreadcrumbBarCallBackAPIs fromStringValuePairtoBreadcrumbItem - Also rename
getLeafstogetLeaves - Rename
BreadcrumbBarCallBackto BreadcrumbBarContentProvider` - Rename
BreadcrumbBarModeltoBreadcrumbBarContentModel - Add
BreadcrumbBarPresentationModeland support icon filtering - Remove
StringValuePairfrom the API surface altogether - Revisit the API surface of
BreadcrumbItem
- ππ Switch presentation models to use
BackgroundAppearanceStrategyacross all components. This applies toCommandButtonPresentationModel.setFlatCommandButtonPresentationModel.Overlay.setFlatCommandStripPresentationModel.setFlatCommandPresentationModel.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
MEDIUMcommand 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_FULLfromTabContentPaneBorderKind. Apps that wish to draw border around the content area will need to do so explicitly. - Remove
RadianceSkin.setTabFadeStartandRadianceSkin.setTabFadeEndand 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 toStandardFillPaintervisuals). - π§ 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