Changes Report

Release History

VersionDateDescription
1.0b12008-07-23Subsequent release
1.0a32008-06-23Subsequent release
1.0a22008-05-19Subsequent release
1.0a12008-04-07Subsequent release
0.92008-03-21Subsequent release
0.8.12008-02-04Subsequent release
0.82008-01-09Subsequent release
0.72007-11-27Subsequent release
0.6.12007-09-26Subsequent release
0.62007-09-25Subsequent release
0.52007-08-30Subsequent release
0.5-SNAPSHOT2007-08-06Subsequent release
0.42007-07-17Subsequent release
0.32007-06-04First public release


Release 1.0b1 - 2008-07-23

TypeChangesBy
addAdded org.fest.swing.applet.AppletViewer and helper classes in package org.fest.swing.applet. Fixes 11.alruiz, wanghy
addJFileChooserDriver checks that lookup of buttons search for visible (or 'showing') buttons. Fixes 14.wanghy
fixAdded method 'menuItemWithPath(String...)' to org.fest.swing.fixture.JPopupMenuFixture. Fixes 146. Thanks to Juhos Csaba-Zsolt.alruiz, wanghy
fixAdded component matchers using commonly used search criteria to package org.fest.swing.core.matchers. Fixes 158. Thanks to vnguyen.sqa.alruiz, wanghy
fixReplaced method 'select(JMenuItem)' with 'click(JMenuItem)' in org.fest.swing.fixture.JMenuItemFixture. Fixes 165. Thanks to Simeon Fitch.alruiz, wanghy
removeRemoved method 'doubleClick(JMenuItem)' in org.fest.swing.fixture.JMenuItemFixture. Fixes 165. Thanks to Simeon Fitch.alruiz, wanghy
removeRemoved method 'rightClick(JMenuItem)' in org.fest.swing.fixture.JMenuItemFixture. Fixes 165. Thanks to Simeon Fitch.alruiz, wanghy
removeRemoved method 'click(JMenuItem, MouseButton)' in org.fest.swing.fixture.JMenuItemFixture. Fixes 165. Thanks to Simeon Fitch.alruiz, wanghy
removeAdded class org.fest.swing.fixture.GenericComponentFixture. Fixes 166. Thanks to Simeon Fitch.alruiz
fixMethod 'cellReader(JComboBoxCellReader)' in org.fest.swing.fixture.JComboBoxFixture now returns 'this'. Fixes 167. Thanks to Juhos Csaba-Zsolt.alruiz
fixMethod 'cellReader(JListCellReader)' in org.fest.swing.fixture.JListFixture now returns 'this'. Fixes 167. Thanks to Juhos Csaba-Zsolt.alruiz
fixMethod 'cellReader(JTableCellReader)' in org.fest.swing.fixture.JTableFixture now returns 'this'. Fixes 167. Thanks to Juhos Csaba-Zsolt.alruiz
fixMethod 'cellWriter(JTableCellWriter)' in org.fest.swing.fixture.JTableFixture now returns 'this'. Fixes 167. Thanks to Juhos Csaba-Zsolt.alruiz
fixMethod 'cellReader(JTreeCellReader)' in org.fest.swing.fixture.JTreeFixture now returns 'this'. Fixes 167. Thanks to Juhos Csaba-Zsolt.alruiz
fixMethods 'selectItem' ensure the drop-down list in a JComboBox is hidden after a selection has been made. Fixes 173. Thanks to fred76131.alruiz
removeAdded class org.fest.swing.core.EmergencyAbortListener to abort running FEST-Swing tests using a predefined key combination. Fixes 174. Thanks to Simeon Fitch.alruiz
fixJTableCellWriters now wait for the editor to show on the screen before starting editing a JTable cell. Fixes 177. Thanks to Juhos Csaba-Zsolt.wanghy
fixMethod 'separator(String)' in org.fest.swing.fixture.JTreeFixture now returns 'this'. Fixes 179. Thanks to Juhos Csaba-Zsolt.alruiz
fixMoved abstract methods in org.fest.swing.fixture.ComponentFixture to the interfaces FocusableComponentFixture, KeyboardInputSimulationFixture, MouseInputSimulationFixture and StateVerificationFixture.alruiz
fixMoved classes KeyPressInfo and MouseClickInfo from package org.fest.swing.fixture to org.fest.swing.core.alruiz
fixReplaced method 'pressAndReleaseKey(int keyCode, int modifiers)' with 'pressAndReleaseKey(int keyCode, int... modifiers)' in org.fest.swing.core.RobotFixture.alruiz
removeRemoved all methods related to keyboard input simulation from JListItemFixture and JTableCellFixture.alruiz
fixReplaced IllegalArgumentException with NullPointerException when a method argument has null as its value.alruiz
fixReplaced ActionFailedException and LocationUnavailableException with IndexOutOfBoundsException when an index is out of bounds (e.g. the row index in a JTable.)alruiz

Release 1.0a3 - 2008-06-23

TypeChangesBy
fixDisabled components should not be modified by user-like actions. Fixes 126. Thanks to Manuel Kueblboeck.wanghy
addAdded method 'cleanUpWithoutDisposingWindows' to Robot and RobotFixture in package 'org.fest.swing.core'. Fixes 138. Thanks to J. Simmons.alruiz, wanghy
fixMethod 'selectItem(String)' in JComboBoxFixture now uses the specified cell reader to find a matching value in the JComboBox. Fixes 140. Thanks to Wim Deblauwe.alruiz
addAdded methods 'showPopupMenuAt(int)' and 'showPopupMenuAt(String)' to JTableHeaderFixture. Fixes 141. Thanks to BA.alruiz
addAdded methods 'enterValue(TableCell, String)' to org.fest.swing.fixture.JTableFixture. Fixes 142. Thanks to Simeon Fitch, Matthias Otterbach.wanghy, alruiz
addAdded methods 'requireEditable(TableCell)' and 'requireNotEditable(TableCell)' to org.fest.swing.fixture.JTableFixture. Fixes 142. Thanks to Simeon Fitch, Matthias Otterbach.alruiz, wanghy
addAdded methods 'requireEditable()' and 'requireNotEditable()' to org.fest.swing.fixture.JTableCellFixture. Fixes 142. Thanks to Simeon Fitch, Matthias Otterbach.alruiz, wanghy
addAdded methods 'startEditing(),' 'stopEditing(),' 'cancelEditing(),' 'editor(),' and 'enterValue(String)' to org.fest.swing.fixture.JTableCellFixture. Fixes 142. Thanks to Simeon Fitch, Matthias Otterbach.wanghy, alruiz
addAdded methods 'findAll(ComponentMatcher)' and 'findAll(Container, ComponentMatcher)' to org.fest.swing.core.ComponentFinder to look up all the components that match certain search criteria. Fixes 144. Thanks to Simeon Fitch.alruiz
fixFixed mapping of character '+' to a key stroke in org.fest.swing.keystroke.KeyStrokeMappingProvider_en. Fixes 145. Thanks to Juhos Csaba-Zsolt.alruiz
fixFixed multiple selection in JListDriver, JTableDriver and JTreeDriver. Fixes 147. Thanks to Juhos Csaba-Zsolt.alruiz
fixFixed implementation of 'selectItems(JList, int, int)' in org.fest.swing.driver.JListDriver. Fixes 152. Thanks to Juhos Csaba-Zsolt.wanghy
fixAll fixtures now throw IllegalArgumentException if any constructor argument is null (with the exception of the name of the component to look up.) Fixes 153. Thanks to Juhos Csaba-Zsolt.alruiz, wanghy
fixJMenuItemFixture now supports the screen menu bar in Mac OS. Fixes 157. Thanks to Andriy Tsykholyas, Simeon Fitch.wanghy
fixFixed bug in org.fest.swing.core.RobotFixture. Closing a window that is not shown resulted in an ActionFailedException.wanghy
addRenamed methods 'slideToMax' and 'slideToMin' in JSliderFixture to 'slideToMaximum' and 'slideToMinimum' respectively.wanghy
addAdded class 'org.fest.swing.launcher.ApplicationLauncher' to start application from the 'main' method.wanghy
removeRemoved methods 'increment' and 'decrement' in JSliderFixture. These methods were not communicating their intention properly and are not needed since JSliderFixture has the methods 'slideToMaximum' and 'slideToMinimum'.wanghy
addAdded method 'controlOrCommandMask' to org.fest.swing.util.Platform.alruiz
addAdded method 'pressAndReleaseKey(KeyPressInfo)' to all component fixtures.alruiz

Release 1.0a2 - 2008-05-19

TypeChangesBy
addAdded method 'selectPaths(String...)' and 'selectRows(int...)' to JTreeFixture. Fixes 68.wanghy, alruiz
addMethod 'requireSelection(String)' and 'requireSelection(row)' in JTreeFixture now take an array as argument to verify multi-selection in a JTree. The new signatures are 'requireSelection(String...)' and 'requireSelection(int...)' respectively. Fixes 68.wanghy, alruiz
addCreated JTableCellReader (with default implementation BasicJTableCellReader) which reads the value of a cell in a JTable. BasicJTableCellReader supports JLabels, JComboBoxes and JCheckBoxes as cell renderers of a JTable. Fixes 99. Thanks to J. Simmons.alruiz, wanghy
addAdded methods 'fontAt(TableCell)', 'backgroundAt(TableCell)' and 'foregroundAt(TableCell)' to JTableFixture to verify the font, background and foreground of an specific cell in a JTable. Fixes 99. Thanks to J. Simmons.alruiz, wanghy
addAdded methods 'font()', 'background()' and 'foreground()' to JTableCellFixture to verify the font, background and foreground of an specific cell in a JTable. Fixes 99. Thanks to J. Simmons.alruiz, wanghy
fixFixed NullPointerException in method 'enterText' in org.fest.core.RobotFixture. Fixes 123. Thanks to Manuel Kueblboeck.alruiz
fixAdded method 'selection' to JListFixture. This method returns the String representation of the selection of a JList. Fixes 124. Thanks to Woody Folsom.alruiz
fixIntroduced 'JListCellReader' to read values from JLists. Users can implement their own JListCellReaders when using custom cell renderers in JLists. After creating a JListCellRendering, users only need to pass an instance to the method 'cellReader(JListCellReader)' in JListFixture. Fixes 124. Thanks to Woody Folsom.alruiz
fixFixed regression. JToolBarFixture extends ComponentFixture. Fixes 125. Thanks to Woody Folsom.alruiz
addCreated JComboBoxCellReader and BasicJComboBoxReader to support custom cell renderers in JComboBoxFixture. Fixes 128.alruiz
addCreated JTreeCellReader and BasicJTreeReader to support custom cell renderers in JTreeFixture. Fixes 130.alruiz, wanghy
addAdded method 'requireNoSelection' to JComboBoxFixture, JListFixture, JTableFixture and JTreeFixture. Fixes 131.wanghy, alruiz
fixJTreeFixture now scrolls (up or down) to the row or path to select, drag or drop. Fixes 133.alruiz
addAdded method 'contents' to JTableFixture. This method returns the String representation of the cell values of a JTable. Fixes 135.alruiz
addAdded method 'requireContents(String[][] )' to JTableFixture. Fixes 135.alruiz
addComponent finders (WindowFinder, JFileChooserFinder and JOptionPaneFinder) can perform lookups using GenericTypeMatchers. Many thanks to Mariusz Saternus.wanghy, alruiz
addAdded method 'font' to all fixtures. This method returns a FontFixture.alruiz
addAdded method 'background' to all fixtures. This method returns a ColorFixture.alruiz
addAdded method 'foreground' to all fixtures. This method returns a ColorFixture.alruiz
fixRenamed method 'selectionContents' to 'selectionValue' in JTableFixture.alruiz
fixRenamed method 'contentAt' to 'valueAt' in JTableFixture. This change was made to keep name consistency between JComboBoxFixture, JListFixture and JTableFixture.alruiz
addAdded method 'requireValue(String)' to JTableCellFixture.alruiz
addAdded method 'requireSelection(String)' to JTreeFixture. This method verifies that a JTree has the given path selected. The path is specified as a String, for example "root/node1/node1.1".alruiz, wanghy
addAdded method 'requireSelection(int)' to JTreeFixture. This method verifies that a JTree has the row selected.alruiz, wanghy
addAdded methods 'showPopupMenuAt(int)' and 'showPopupMenuAt(String)' to JTreeFixture. These methods show a JPopupMenu in a given row and node path respectively.wanghy
addReplaced TreePath as method parameter in JTreeFixture with a String specifying the path. For example, now a path can be set as "root/node1/node1.1".alruiz, wanghy

Release 1.0a1 - 2008-04-07

TypeChangesBy
addAdded methods 'selectAllText' and 'replaceText(String)' to JComboBoxFixture.wanghy
fixReplaced constants that indicate the operating system with methods in org.fest.swing.util.Platform.alruiz
removeEliminated some project dependencies. FEST-Swing now depends on FEST-Assert, FEST-Reflect and FEST-Util only.alruiz, wanghy
fixFixed regression. JPanelFixture extends ComponentFixture. Fixes 121. Thanks to Frederik Martens.alruiz
fixFixed regression. JInternalFrameFixture extends ComponentFixture. Fixes 120. Thanks to Manuel Kueblboeck.alruiz
addRenamed method names that start with 'mouse' in org.fest.swing.core.Robot. For example, the method 'mouseMove' is now 'moveMouse'. This change was done to keep method naming consistency.wanghy
addAdded method 'pressModifiers(int)' and 'releaseModifiers(int)' to org.fest.swing.core.Robot.wanghy, alruiz
addAdded methods 'focus(Component)' and 'focusAndWaitForFocusGain(Component)' to org.fest.swing.core.Robot.alruiz

Release 0.9 - 2008-03-21

TypeChangesBy
fixFixed JListDriver and JTableDriver to scroll to the item to select, drag or drop.wanghy, alruiz
fixSelecting items in JComboBox now scroll drop-down list to get to the item to select. Fixes 116. Thanks to Rich Toulouse.wanghy, alruiz
addAdded method 'tableHeader' to JTableFixture. This method returns a JTableHeaderFixture. Fixes 110. Thanks to Dan Dyer.wanghy
addAdded JTableHeaderFixture to test instances of JTableHeader. Fixes 110. Thanks to Dan Dyer.wanghy
fixMade methods of class org.fest.core.Settings not static. To set a particular setting, an instance of Settings should be retrieved from a Robot.wanghy
addAdded methods 'includeHierarchyIfComponentNotFound' and 'includeHierarchyIfComponentNotFound(boolean)' to org.fest.swing.core.ComponentFinder to indicate if the component hierarchy should be included in a ComponentLookupException thrown when a component cannot be found. Fixes 118. Thanks to Lukasz Tutaj.alruiz
addAdded method 'component' to ComponentFixture. It returns the GUI component in a fixture. Fixes 95. Thanks to Fabien Barbero.alruiz
addAdded methods 'requireEditable' and 'requireNotEditable' to JComboBoxFixture, JTextComponentFixture and JTreeFixture. Fixes 95. Thanks to Fabien Barbero.alruiz
addAdded method 'requireNoJOptionPaneIsShowing' to RobotFixture. Fixes 92. Thanks to Wim Deblauwe.alruiz, wanghy
addRenamed ComponentPrinter to BasicComponentPrinter (in package org.fest.swing.core). Introduced interface ComponentPrinter.alruiz
addRenamed ComponentFinder to BasicComponentFinder (in package org.fest.swing.core). Introduced interface ComponentFinder.alruiz
fixMoved methods from org.fest.swing.util.Swing to org.fest.swing.util.AWT. Deleted class org.fest.swing.util.Swing.alruiz
addCreated interface org.fest.swing.core.Robot and made RobotFixture implement it, to facilitate unit testing.alruiz
addAdded method 'showPopupMenuAt(String)' to JListFixture.alruiz

Release 0.8.1 - 2008-02-04

TypeChangesBy
addUpdated dependency versions: fest-assert-0.9.1, fest-reflect-0.3, fest-util-0.3.alruiz
addDue to the introduction of component drivers, fest-reflect is a required, compile-time dependency.alruiz
addAll component formatters in org.fest.swing.formatter display the properties 'visible' and 'showing'. Thanks to Wim Deblauwe.alruiz
fixComponentFinderTemplate uses the specified name to find a component. Fixes 108. Thanks to Wim Boffe.alruiz
fixFixed constructors in ContainerFixture to use lookup scope from org.fest.swing.core.Settings. Fixes 105. Thanks to Woody Folsom.alruiz
addAdded method 'click(TableCell, MouseButton)' to JTableFixture.wanghy, alruiz
addAdded method 'click(TableCell, MouseClickInfo)' to JTableFixture.wanghy, alruiz
addAdded method 'scrollTo(int)' to JScrollBarFixture.wanghy, alruiz
addAdded method 'found' to ComponentLookupException. This method returns all the GUI components found when looking up for a single component.alruiz
addMoved methods 'showPopupMenu' and 'findActivePopupMenu' from org.fest.swing.core.RobotFixture to org.fest.swing.driver.JPopupMenuDriver.alruiz
addAdded method 'pressAndReleaseKey(int keyCode, int modifiers)' to org.fest.swing.core.RobotFixture. Fixes 104. Thanks to Fabien Barbero.alruiz
addAdded the following component drivers to replace Abbot's testers: ComponentDriver, ContainerDriver, FrameDriver, JComboBoxDriver, JComponentDriver, JInternalFrameDriver, JListDriver, JMenuItem, JPopupMenu, JScrollBarDriver, JSliderDriver, JSpinnerDriver, JTabbedPane, JTable, JTextComponentDriver, JToolBarDriver, JTreeDriver. Component drivers are intended for internal use only.alruiz, wanghy
addAdded method 'enterText(String)' to class org.fest.swing.core.RobotFixture.alruiz
addAdded method 'timeoutToFindPopup' to class org.fest.swing.core.Settings. This method sets the number of milliseconds to wait before failing to find a pop-up menu that should appear.alruiz
addAdded method 'click(Component, Point)' to org.fest.swing.core.RobotFixture.alruiz
addAdded several constants to org.fest.swing.core.Settings that indicate the operating system the tests are running on (e.g. 'IS_WINDOWS', 'IS_OS_X', etc.)alruiz
fixRenamed method 'robotAutoDelay' to 'delayBetweenEvents' in class org.fest.swing.core.Settings.alruiz
addAdded method 'timeoutToBeVisible' to class org.fest.swing.core.Settings. This method sets the the number of milliseconds to wait for a component to be visible.alruiz
fixFixed bug in which IntrospectionComponentFormatter could show the value of the property 'showing'.alruiz

Release 0.8 - 2008-01-09

TypeChangesBy
fixRenamed method 'menuItem(String...)' in ContainerFixture to 'menuItemWithPath(String...)'. Fixes 88. Thanks to Rich Toulouse.alruiz
fixAdded global setting 'componentLookupScope' (in class Settings) to configure scope of component lookup (in fixtures only.) Fixes 80. Thanks to Win Deblauwe, Volker Berlin.alruiz
fixAdded enum ComponentLookupScope to configure component lookup to consider showing components only. Fixes 80. Thanks to Win Deblauwe, Volker Berlin.alruiz
addAdded JScrollBarFixture and JScrollPaneFixture. Fixes 75. Thanks to Fabien Barbero.wanghy, alruiz
fixComponent lookup using a org.fest.swing.core.ComponentFinder now throws ComponentLookupException if more than one component matching the given search criteria is found. Fixes 81. Thanks to Win Deblauwe.alruiz, wanghy
fixMoved 'print' methods from org.fest.swing.core.ComponentFinder to the new class org.fest.swing.core.ComponentPrinter. Fixes 81. Thanks to Win Deblauwe.alruiz
addAdded NameAndTypeMatcher to lookup GUI components by name and type.alruiz
addAdded method 'printer()' to RobotFixture. This method returns a ComponentPrinter using the same component hierarchy as the RobotFixture.alruiz
fixComponentFinders now match components if 'isShowing()' is true, instead of checking for 'isVisible()'. Fixes 76. Thanks to Win Deblauwe.alruiz
fixWhen components are not found, the message in the thrown ComponentLookupException now includes list of Components in the hierarchy. Fixes 71. Thanks to Win Deblauwe.alruiz, wanghy
addAdded methods 'printComponents(PrintStream, Container)' and 'printComponents(PrintStream, Class, Container)' to ComponentFinder. Fixes 71. Thanks to Win Deblauwe.wanghy
fixAdded 'toString' implementation to org.fest.swing.core.NameMatcher to facilitate debugging. Fixes 71. Thanks to Wim Deblauwe.alruiz
fixAdded 'toString' implementation to org.fest.swing.core.TypeMatcher to facilitate debugging. Fixes 71. Thanks to Wim Deblauwe.alruiz
fixAdded 'toString' implementation to org.fest.swing.fixture.JMenuItemMatcher to facilitate debugging. Fixes 71. Thanks to Wim Deblauwe.alruiz
fixAdded 'toString' implementation to org.fest.swing.fixture.JButtonMatcher to facilitate debugging. Fixes 71. Thanks to Wim Deblauwe.alruiz
addRenamed methods 'wait' and 'delay' in RobotFixture to 'pause'. Then moved methods 'pause' to the new class Pause.alruiz
addAdded method 'robotAutoDelay' in class 'org.fest.swing.core.Settings' to configure test speed. Fixes 69. Thanks to Wim Deblauwe.wanghy, alruiz
addAdded JInternalFrameFixture. Fixes 70. Thanks to Ken Geis.wanghy, alruiz
addAdded method 'moveTo(Point)' to FrameFixture and DialogFixture.wanghy, alruiz
addAdded method 'requireValue(Object)' to JSpinnerFixture. Fixes 73. Thanks to Wim Deblauwe.alruiz
addAdded method 'increment(int)' to JSpinnerFixture. Fixes 74. Thanks to Wim Deblauwe.alruiz
addAdded method 'decrement(int)' to JSpinnerFixture.alruiz
addAdded class JListItemFixture. that knows how to simulate user input on a specific item of a JList. Fixes 63. Thanks to Fabien Barbero.alruiz, wanghy
addAdded method 'item(int)' and 'item(String)' to JListFixture. These methods return a JListItemFixture. Fixes 63. Thanks to Fabien Barbero.alruiz, wanghy
addAdded method 'showPopupMenuAt(Point)' to ComponentFixture (and therefore to all fixtures). Fixes 63. Thanks to Fabien Barbero.alruiz
removeRemoved unnecessary generic types in ItemGroupFixture, TextInputFixture and TextDisplayFixture.alruiz, wanghy
addAdded method 'requireSelection(String)' to JComboBoxFixture. Fixes 52. Thanks to John Stephi.alruiz
addAdded method 'requireSelection(String)' to JListFixture. Fixes 52. Thanks to Wim Deblauwe.alruiz
addAdded method 'requireSelectedItems(String...)' to JListFixture. Fixes 52. Thanks to Wim Deblauwe.alruiz
addAdded method 'selectItems(int...)' to allow multiple-selection a JListFixture. Fixes 64. Thanks to Fabien Barbero.alruiz
addAdded method 'selectItems(String...)' to allow multiple-selection a JListFixture. Fixes 64. Thanks to Fabien Barbero.alruiz
addAdded method 'selectItems(Range.From, Range.To)' to allow selection of a range of items in a JListFixture. Fixes 64. Thanks to Wim Deblauwe.alruiz
addAdded methods 'okButton', 'cancelButton', 'yesButton' and 'noButton' to JOptionPaneFixture. These methods return a JButtonFixture wrapping the buttons in a JOptionPane Fixes 66. Thanks to Wim Deblauwe, Volker Berlin.alruiz
fixAdded method 'panel' to class ContainerFixture. FrameFixture and DialogFixture can now lookup a JPanel (or subclass by type (if only one JPanel in the container,) by name or by custom search criteria. Fixes 67. Thanks to Rich Toulouse.alruiz
addAdded method 'invokeAndWait(Runnable)' to RobotFixture.alruiz

Release 0.7 - 2007-11-27

TypeChangesBy
addAdded method 'takeScreenshotOf' to class ScreenshotTaker. This method takes screenshots of a particular GUI component. Thanks to Steve Tom.wanghy, alruiz
addAdded method 'saveComponentAsPng' to class ScreenshotTaker. This method takes screenshots of a particular GUI component and saves it as PNG. Thanks to Steve Tom.wanghy, alruiz
addAdded method 'printComponents' (with overloaded version) to ComponentFinder. Fixes 58. Thanks to Volker Berlin.alruiz
addAdded method 'toggleButton' (and overloaded versions) to org.fest.swing.fixture.ContainerFixture. Fixes 60. Thanks to Volker Berlin.alruiz
addAdded org.fest.swing.fixture.JToggleButtonFixture to handle javax.swing.JToggleButton(s). Fixes 60. Thanks to Volker Berlin.alruiz
removeRenamed org.fest.swing.fixture.JToggleButtonFixture to org.fest.fixture.TwoStateButtonFixture. Fixes 60. Thanks to Volker Berlin.alruiz
addMoved Ant task-related classes from the package 'org.fest.swing.junit' to 'org.fest.swing.junit.ant'. Fixes 55. Thanks to Volker Berlin.alruiz, wanghy
addAdded support for taking screenshots of failing tests with JUnit inside an IDE. Fixes 55. Thanks to Volker Berlin.alruiz, wanghy
fixMoved org.swing.fest.GUITest and org.fest.swing.util.GUITestFinder to package org.fest.swing.annotation. Fixes 59.alruiz
fixMoved exception classes in package org.fest.swing to org.fest.swing.exception. Fixes 59.alruiz
fixMoved classes in package org.fest.swing to org.fest.swing.core. Fixes 59.alruiz
fixRenamed package org.fest.swing.fixture.util to org.fest.swing.finder. Fixes 59.alruiz
addAdded method 'requireEnabled(Timeout)' to all component fixtures. Fixes 56. Thanks to Volker Berlin.wanghy
addAdded class JOptionPaneFinder to find a JOptionPane with timeout support. Fixes 56. Thanks to Volker Berlin.wanghy
addAdded factory method 'timeout(long, java.util.concurrent.TimeUnit)' to class org.fest.swing.core.Timeout.wanghy, alruiz
fixRenamed method 'time' to 'duration' in class org.fest.swing.core.Timeout.wanghy
fixRenamed method 'checkbox' to 'checkBox' in ContainerFixture. Fixes 57. Thanks to John Stephi.wanghy
addAdded method 'click(Component, Point, MouseButton, int)' to RobotFixture. This method simulates a user clicking on the given component, at the specific point, with the given mouse button, the given number of times.wanghy
addAdded methods 'doubleClickItem(int)' and 'doubleClickItem(String)' to JListFixture. Fixes 40. Thanks to Fabien Barbero.wanghy
addUploaded source attachments to Maven repository.alruiz
addAdded class JPanelFixture. Fixes 42.wanghy
fixMoved ImageException and ScreenshotTaker from package org.fest.swing.util to package org.fest.swing.image.alruiz
fixRenamed org.fest.swing.util.GUITests to org.fest.swing.annotation.GUITestFinder.alruiz
addAdd timeout for RobotFixture.wait(Condition): RobotFixture.wait(Condition, Timeout). Fixes 45.wanghy
addAdded method 'close' to WindowFixture (superclass of FrameFixture and DialogFixture). Fixes 44. Thanks to Javier Sandino.alruiz
fixCreated class JFileChooserFinder. Fixes 50. Thanks to Javier Sandino.alruiz

Release 0.6.1 - 2007-09-26

TypeChangesBy
fixAdded methods 'radioButton' and 'table' to ContainerFixture (superclass of DialogFixture and FrameFixture). Thanks to Pavol Bernhauser.alruiz
fixAdded static methods 'leftButton', 'middleButton' and 'rightButton' to MouseClickInfo. Thanks to Andres Almiray.alruiz

Release 0.6 - 2007-09-25

TypeChangesBy
addAssertion failures in all fixtures now provide better feedback. Fixes 27. Thanks to Jesper Thaning.alruiz
addAdded support for time delays in RobotFixture. Fixes 34.wanghy
addAdded method 'pressAndReleaseKeys(int...)', 'pressAndReleaseKey(int)', and 'releaseKey(int)' to all fixtures.wanghy
addAdded method 'rightClick' to all fixtures. Fixes 33.alruiz
addAdded method 'doubleClick' to all fixtures.wanghy
addAdded method 'click(MouseButton)' to all fixtures; this method simulates a user clicking the specified mouse button.wanghy
addAdded method 'click(MouseClickInfo)' to all fixtures; this method simulates a user clicking the specified mouse button, the specified number of times.wanghy
addAdded method 'showPopupMenu' to all fixtures. This method shows a pop-up menu on a component and returns a JPopupMenuFixture.alruiz
removeReplaced class JTableFixture.Cell with TableCell.alruiz
addIn JTableFixture, the methods that used to take two int values as the row and column indices as arguments, now take a TableCell as argument.alruiz
addAdded method 'cell(TableCell)' to JTableFixture, which returns a fixture that can manage the specified table cell.alruiz
addAdded support for JPopupMenu, JRadioButton and JSplitPane.wanghy
removeRenamed method 'contents' to 'selectionContents' in JTableFixture.alruiz
removeRemoved method testerCastedTo from ComponentFixture.alruiz

Release 0.5 - 2007-08-30

TypeChangesBy
addAdded drag 'n drop support for JList, JTable and JTree. Thanks to Fabien Barbero.alruiz
addAdded support for custom matchers for component lookup. This feature is useful when testing GUI components that don't have an associated name (e.g. testing legacy applications.)wanghy
addAdded utility class Platform, which contains platform-specific utility methods.alruiz
addContainerFixture now recognizes JFileChooserFixture and JListFixture. Thanks to Fabien Barbero.alruiz

Release 0.5-SNAPSHOT - 2007-08-06

TypeChangesBy
addSupport for testing time-consuming tasks Fixes 15.alruiz, wanghy
addSwing module and the extensions for TestNG and JUnit are included in one zip file.alruiz, wanghy

Release 0.4 - 2007-07-17

TypeChangesBy
addNow it is possible to embed screenshots of failing GUI tests in JUnit's HTML report. Fixes 3.alruiz, wanghy
addAdded support for more Swing components: JTable, JSpinner, JSlider and JFileChooser.alruiz, wanghy
addSeparated the TestNG and JUnit extensions (screenshots of failing tests) into their own separate projects.alruiz, wanghy

Release 0.3 - 2007-06-04

TypeChangesBy
fixAdded class ScreenLock to guarantee real sequential execution of GUI tests, regardless of the testing framework being used (JUnit or TestNG.) Fixes 1.alruiz
addAdded capability to add a screenshot of the desktop to a TestNG HTML test report when a test fails.alruiz, wanghy
addAdded support for testing JTrees. Thanks to Keith Coughtrey.alruiz
addReplaced prefix 'should' with 'require' in fixture assertions to make API more concise (e.g. the method 'shouldBeVisible' is now 'requireVisible.') Thanks to Jeff Bay.alruiz
fixRenamed method 'shouldHaveThisText' to 'requireText' in interface TextDisplayFixture. Thanks to Jeff Bay.alruiz
fixRemoved prefix 'find' from methods in ContainerFixture (e.g. the method 'findLabel' is now 'label.') Thanks to Jeff Bay.alruiz
addAdded Maven 2 tasks for Ant for dependency management.alruiz, wanghy
addCreated a Maven 2 pom.xml file for Abbot.alruiz, wanghy
addCreated a Maven 2 local repository containing all FEST dependencies. This way, it is not necessary to download any dependency from a remote Maven repository when building FEST.alruiz
addAdded module fest-reflect, which provides a 'fluent interface' that simplifies the usage of Java reflection.alruiz, wanghy