Releases: kirill-grouchnikov/radiance
Release 8.0.0
💔 marks an incompatible API / binary change
🎁 marks new features
🔧 marks bug fixes and general improvements
A new color system
Project Chroma - adding color palettes in Radiance
- Color tokens
- Color token association kinds
- Color tokens bundles
- Dependency on Ephemeral Chroma library
- The migration guide covers all the 💔 breaking API changes in
RadianceSkin,RadianceThemingSlices, painters and more
Theming
- 🔧 Use "Minimize" rather than "Iconify" terminology for window-level actions
- 🔧 Fix application window jumps when moving between displays
- 🔧 Fix exception in setting fonts for
JTreecomponents - 🔧 Consistent handling of selection highlights of disabled renderer-based components (lists, tables, trees)
- 🔧 Always show scroll thumb for scrollable content
- 🔧 Fix issues with slider track and thumb during printing
- 🔧 Fix visuals of internal frame header areas under skins that use matte decoration painter
Component
- 🎁 Update flow ribbon bands to accept a
BaseProjectionas components - 🔧 Fix user interaction with comboboxes in minimized ribbon content
- 🔧 Fix application of icon filter strategies to ribbon application menu commands
- 🔧 Fix passing command overlays to secondary menu commands
- 🔧 Fix crash when some ribbon bands start in collapsed state
- 🔧 Fix active rollover / pressed state visuals for disabled command buttons
- 🔧 Fix command buttons to be updated when secondary content model is updated
- 🔧 Fix display of key tips in collapsed ribbon bands hosted in popups
Dependency updates
- Kotlin : 2.0.0 -> 2.1.20
- Kotlin coroutines : 1.8.1 -> 1.10.2
- Dokka : 1.9.20 -> 2.0.0
- Batik : 1.17 -> 1.19
- Retrofit : 2.11.0 -> 3.0.0
- Gradle : 8.8 -> 8.14
This release marks the 20th anniversary of the first Substance release on May 30th, 2005
Release 7.5.0
💔 marks an incompatible API / binary change
🎁 marks new features
🔧 marks bug fixes and general improvements
Component
- 💔 Revisit circular progress indicators
- 💔 Do not force BIG_FIT_TO_ICON presentation state for command buttons configured with custom icon dimension
- 🔧 Fix visuals of disabled command buttons under rollover state and
neverbackground appearance strategy - 🔧 Fix inconsistent font metrics of label texts during printing
- 🔧 Fix crash on computing the resize sequence of flow ribbon bands with 2 components
- 🔧 Fix ribbon band content disappearing after a certain combination of user interactions with the ribbon on Windows OS
Theming
- 💔 Revisit implementation details of older painters
- 🔧 Fix computation of foreground color for empty texts
- 🔧 Fix visuals of arrow icons of disabled components
Release 7.0.1
Fix for color chooser panels under high DPI mode
Release 7.0.0
💔 marks an incompatible API / binary change
🎁 marks new features
🔧 marks bug fixes and general improvements
Component
- 🎁 Add model-based label component
- 🎁 Support projecting radio buttons in the ribbon component
- 🎁 Customizable popup anchor bounds provider for command buttons
- 🎁 Customizable popup icons for command buttons
- 💔 Revisit the class hierarchy of commands and presentation models
- 💔 Revisit menu indication field in command button presentation model
- 💔 RTL-aware
Sideenum values - 🎁💔 Configurable number of derived color rows in color selector
- 🎁💔 Use dimension-based sizes for icons
- 💔 Clean up presentation model for ribbon galleries
- 🔧💔 Fix issues with ribbon taskbar content and context menu
- 🔧 Fix support for color selector commands in ribbon taskbar
- 🔧 Fix incorrect display in recent section of color selector popup menu
- 🔧 Fix group header visuals in color selector popup menu
- 🔧 Fix ribbon issues in the DSL wrappers
- 🔧 Remove the top spacer in ribbon application menu
Theming
- 🎁 Add
RadiancePanelTreeCellRenderer - 🎁 Support customizable title pane buttons
- 🔧 Support high DPI displays in
ColorWheelpanel of color chooser
Release 6.5.0
💔 marks an incompatible API / binary change
🎁 marks new features
🔧 marks bug fixes and general improvements
Component
- 🎁 Add tri-state checkbox component
- 🎁 Add switch component
- 🎁 Migrate previously internal circular progress component to public API
- 🎁💔 Revisit layout configuration of command button panels. Support fixed-column and adaptive layout spec for row fill and column fill panels.
- 🎁 Support configurable content padding in command buttons and command button panels
- 🎁 Add more presentation model options for command button panels
- 🎁 Add presentation model for rich tooltips
- 🔧 Fix crash on displaying rich tooltips under Java 17+
- 🔧 Fix text wrap logic in command buttons under big presentation state
- 🔧 Fix vertical positioning of command button content under tile presentation state
- 🔧 Fix issues with command popup menus not closing in certain scenarios
Theming
- 🎁💔 Revisit configuration of popup content. Full documentation here.
- 🎁💔 Unify fill and highlight painters.
- 🎁💔 Revisit how specular fill painter is configured.
- 🔧 Fix crash in specular fill painter
- 🔧 Fix crash in table UI delegate
- 🔧 Fix crash in opening the window title pane menu
- 🔧 Fix crash in update font of a tree component
- 🔧 Fix incorrect offset of vertical scrollbars during scrolling
Kotlin extensions
- 🎁 Add indexed access operator overload for
ResourceBundle.getString
Release 6.0.1
Fix for #406
Release 6.0.0
💔 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
SVG transcoder
Release 5.0.0
New naming scheme for modules, packages, classes, methods.
Release 4.5.0
💔 marks an incompatible API / binary change
🎁 marks new features
🔧 marks bug fixes and general improvements
Dependencies for core libraries
- Gradle: 7.1 ➡ 7.2
- Kotlin: 1.5.10 ➡ 1.5.31
- Kotlin coroutines: 1.5.0 ➡ 1.5.2
Neon
- 💔 Rename
ResizableIcontoNeonIcon - 🎁 Implement color filtering on Neon icons
Substance
- 💔 Remove
ComponentStateFacet.EDITABLEthat was not used anywhere in the UI delegates - 🔧 Fix inconsistent rollover logic on table cells
Flamingo
- 🎁💔 Add reference to the ribbon as a parameter to all
OnShowContextualMenuListenermethods - 🎁💔 Align icon theming across all Flamingo components
- 🔧 Fix layout of command buttons in
TILElayout under RTL - 🔧 Fix visuals of horizontal command button strips under RTL
- 🔧 Fix layout of anchored command buttons under RTL
- 🔧 Fix layout of command button popup content under RTL
- 🔧 Fix issues with updating ribbon gallery content
Photon
General
Release 4.0.0
💔 marks an incompatible API / binary change
🎁 marks new features
🔧 marks bug fixes and general improvements
Dependencies for core libraries
- Gradle: 6.6.1 ➡ 7.1
- Kotlin: 1.4.10 ➡ 1.5.10
- Kotlin coroutines: 1.3.9 ➡ 1.5.0
Substance
- 🎁 💔 Extended support for themed icons with
IconThemingStrategyAPIs - 🎁 💔 Combine never-paint and flat button config into
BackgroundAppearanceStrategyAPIs - 🎁 💔 Support for accent background fill color
- 🎁 💔 Extend the API to retrieve all Substance skins to also contain the full class name of each look-and-feel
- 🎁 💔 Switch menu gutter fill to alpha-based API
- 🎁 💔 Unified handling of colors for drawing separators and drag bumps
- 🎁 Added API to allow using custom color schemes for option pane icons
- 💔 Renamed
GENERALdecoration area type toCONTROL_PANE - 💔 Rename
StandardButtonShapertoPillButtonShaper - 💔 Remove tooltip drop shadows
- 🔧 Fix arrow / text / mark color for pressed states under Graphite skins
- 🔧 Fix combobox arrow color for rollover states under Graphite skins
Flamingo
- 🎁 Add support for keyboard accelerators on ribbon commands
- 🔧 Fix ribbon application menu border color on skin switch
- 🔧 Fix exception on skin switch when the ribbon application menu is not shown
- 🔧 Fix for various visuals on multi-monitor setup with different screen densities
- 🔧 Fix even-odd coloring of command button panel groups
- 💔 Tweak implementation of
FIT_TO_ICONcommand button layout manager
Trident
- 💔 Rename
TridentConfigtoTridentCortex
