Substance look and feel history

# Release and change history

Version 2.1 (Dakota) - in progress

- Incorporating JGoodies Looks' drop shadows for popup windows.
- Support for plugin architecture.
- Moved Quaqua color chooser to built-in plugin.
- Moved Ribbon components to external plugin project.
- Added themes / watermarks selection to title pane menu.
- Added heap status panel to title pane.
- Client property on button to set custom theme.
- Client property on button to ignore minimum dimensions.
- Aligning menu items in the same menu.
- Improved memory footprint of scrollbar image cache.

Version 2.0 - released 04.10.2005

- Incorporating Quaqua color chooser.
- Using Tahoma fonts for all controls (most are 11 plain, some 11 bold and some 12 plain).
- Making all of UI delegates non-final (for extension).
- Focus-tracking border for password fields (as was for other text UIs).
- Setting default dialog background in sync with background of other controls.
- Added ten new themes, LIGHT_AQUA, SUN_GLARE, SUNSET, STEEL_BLUE, SEPIA, TERRACOTTA, OLIVE, BOTTLE_GREEN, RASPBERRY and BARBY_PINK.
- Enhanced DesktopIcon with restore, maximize and close icons (instead of only restore button as in Metal).
- Added three dark themes, CHARCOAL, EBONY and DARK_VIOLET.
- Added DesktopPane UI delegate.
- Made title panes background consistent with other UIs (such as selected combobox/list element or selected table column header).
- Using theme-based foreground colors for components.
- Using own icons for various Option Pane dialogs. The icons are theme based.
- Added watermark mechanism along with six watermarks, STRIPES, KATAKANA, BUBBLES, CROSSHATCH, BINARY and MOSAIC.
- Added FormattedTextField and EditorPane UI delegates.
- Added support for user-defined themes.
- Added search functionality in menu bars.
- Added basic Office 12 inspired ribbon functionality.
- Added Table UI delegate.
- Stripe-themed default renderers for List, Table and Combo box.
- Theme editor application.
- Bug fix - returning default (AQUA) theme when the current theme was overriden to be non-Substance theme.
- Bug fix - panel background is respected in striped background painting.
- Bug fix - panels didn't pick default properties.
- Bug fix - theme runtime changes were not picked up.
- Bug fix - no theme-based color specified for separators.
- Bug fix - no theme-based color specified for selected table cells.
- Bug fix - correct painting of blurred shine spot for large buttons.
- Bug fix - correct painting of vertical (height larger than width) buttons.
- Bug fix - minimize button of JInternalFrame was painted in rollover state after restoring the frame.
- Bug fix - NPE in setDefaultTheme() when running with -Dswing.defaultlaf VM setting.
- Bug fix - no theme-based color specified for menu accelerators.
- Bug fix - no theme-based color specified for tree lines.
- Bug fix - no theme-based color specified for selected file in FileChooser.
- Bug fix - different fonts for dialog / frame title pane (in decorated mode) and internal frame title pane.
- Bug fix - sensitivity for large buttons (and all rounded buttons) should take into account that the button is not rectangular (for rollover and click behaviour).
- Bug fix - drawing radio buttons and check boxes as non-opaque (to pick watermarks).
- Bug fix - border on toggle buttons should not be null. This caused NullPointerExceptions in NetBeans.
- Bug fix - borders for tables and scroll panes should override Metal settings. This caused ClassCastExceptions in NetBeans.
- Bug fix - focused table cell background.
- Bug fix - programmatically changing combo box to disabled no longer hides its arrow button.
- Performance fix - improved memory usage of borders and progress bars.

Version 1.1 - released 15.07.2005

- Support for themes. Out of the box themes - Aqua, Orange, Brown, Purple and Lime Green.
- Less intrusive UI - coloring only active elements.
- Unified codebase for transition effects on all types of buttons (regular, toggle, check boxes, radio buttons, combobox arrows, scrollbar arrows, spinner arrows), scrollbar thumbs, slider thumbs and buttons of tabbed panes.
- Continuity in transition effects on scrollbar arrows up until the track borders.
- Drag bumps are created using diagonal mesh.
- Colored border for focused text components only (JTextArea, JTextField and JTextPane).
- Longhorn-inspired translucent gradient stripe across determinate progress bar.
- Bug fix for disabled spinners.
- Bug fix for invisible components in CardLayout.
- Bug fix for drawing toggle buttons with text.
- Bug fix for setting text color on disabled selected toggle buttons with text.
- Bug fix for tabbed panes with SCROLL_TAB_LAYOUT when the arrow buttons are shown.
- Bug fix for pressed default pulsating button - should not pulsate while pressed or armed.
- Removed cube transition from title panes of JFrame, JDialog and JInternalFrame.

Version 1.0 - released 30.05.2005

- Initial release