
                        JGoodies Data Binding
                            Version 1.1.2 
                            Release Notes
                        

INTRODUCTION

    This release fixes a bug and brings minor source code improvements.

    
BUGS FIXED

    o Issue 100: Deadlock in ExtendedPropertyChangeSupport
                 with identity check enabled.


NEW FEATURES

    The PropertyConnector can now connect beans that do not
    support bound properties. This is intended for the case
    where only one bean fire property change events.
    

OTHER CHANGES

    o Marked several inner classes as final.
    o Added JavaDocs and fixed JavaDoc typos.
    o FAQ is now online at https://binding.dev.java.net/faq.html.
    o Added a reference to the JSR 295 - Beans Binding.


CHANGES PLANNED FOR VERSION 1.2

    o Remove the deprecated Model#fireMulticastPropertyChange, which 
      has been replaced by #fireMultiplePropertiesChanged in 1.0.3.
    o ExtendedPropertyChangeSupport shall:
       + provide an optional weak registration of listeners,
       + an option to notify listeners in the event-dispatch-thread,
       + add debug features to detect inconsistencies between 
        a bean's property names and the names used to register
        a listener or used to fire a property change.
        
        
CHANGES PLANNED FOR VERSION 1.3

    o Move stable extra sources to the library core 
        + SelectionInList2 extends ListHolder and
          behaves like a SelectionInList but allows Lists only
          and does not implement ValueModel anymore.
        + SelectionInListModel extends ListModelHolder and 
          behaves like a SelectionInList but allows ListModels only
          and does not implement ValueModel anymore.
     o Demonstrate how to use the classes added in 1.1 and 1.2.
                

-------------------------------------------------------------------------
Find below release notes for previous versions.


    
    
    
                        JGoodies Data Binding
                            Version 1.1.1 
                            Release Notes
                        

INTRODUCTION

    This maintenance release fixes issue #87 and bug #92.
    It is recommended to use version to 1.1.1.

    
CHANGES THAT AFFECT THE COMPATIBILITY

    The changes affect the behavior, not the binary compatibility.

    o Since 1.1.1 the SelectionInList's default selection holder
      checks the identity. This allows to use it as bean channel
      in PresentationModel, BeanAdapter, PropertyAdapter.
      It may now fire more changes than the previous holder,
      that fired only if the old and new selection were not equal.
    o The fix for issue #92 may lead to more or less events
      fired by all AbstractConverter subclasses.
    
    
BUGS FIXED

    o Issue 87: SelectionInList default selection holder 
                shall check identity.
    o Issue 92: AbstractConverter converts null event values.


NEW FEATURES

    Most BeanUtils methods allow to provide the bean type now,
    where the bean instance was used before. This makes it easier
    to use package private beans that implement a public interface.
    
          
OTHER CHANGES

    o Changed the visibility for enclosed types to reduce 
      the amount of synthetic accessors.
    o Fixed JavaDoc typos.
    o Minor source style improvements.
    o The ANT build can create a Maven bundle.


-------------------------------------------------------------------------
Find below release notes for previous versions.



                        JGoodies Data Binding
                             Version 1.1
                            Release Notes
                        

INTRODUCTION

    This release fixes bugs and provides new features and classes.
    It is recommended to upgrade your library version to 1.1.
    
    The 1.1 API is slightly incompatible with previous versions.
    However, existing valid code will typically work as before.
    Most changes are sanity checks; they ensure that arguments 
    comply with constraints that are described in the JavaDocs.
    
    The topics for the 1.1 release are:
    1) Bug fixing and API clarification.
    2) New distribution layout. 
    3) Move stable extra sources to the library core.
    4) Improved support for PropertyVetoExceptions.  
    5) Improved support in the presentation model layer
       for operating on frequently used component state:
       enabled, editable, visible. This is implemented
       by the new class ComponentValueModel. 

    Due to a timely rollout of the 1.1 final, other improvements 
    planned for the 1.1. version have been moved to future releases. 
    The work on version 1.2 will begin immediately, and the 
    list handling classes available in the 1.1 preview builds 
    will be moved back to the library core.
        

CHANGES THAT AFFECT THE COMPATIBILITY

    o SelectionInList keeps the selection after list changes,
      even if the selection is cleared during the change.
      This happens for example when the SelectionInList is bound
      to a JTable that may - as a side effect - clear the selection 
      in JTable#tableChanged (see also issue 85).
      
    o The methods Bindings#bind(JTextComponent, *) have been replaced 
      by Bindings#bind(JTextArea, *) and #bind(JTextField, *).
      This clarifies that these methods were not intended
      (and not able) to bind JEditorPanes and JTextPanes.

    The changes below are sanity checks that have been added
    to verify that parameters comply with the constraints
    that are described in the JavaDocs.
    
    o BeanAdapter and PresentationModel methods that get a
      property name throw an NPE if the property name is null.
      
    o PresentationModel, BeanAdapter and PropertyAdapter
      throw an IllegalArgumentException if the bean channel
      is a ValueHolder that has the identityCheck feature disabled.
      
    o SelectionInList throws an IllegalArgumentException 
      if the listHolder is a ValueModel that has 
      the identity check feature disabled.
      
    o SelectionInList constructor throws a ClassCastException
      if the list holder content is neither a List nor a ListModel.
    
    
BUGS FIXED

    o Issue 78: SelectionInList#EmptyListModel may cause memory leak.
    o Issue 79: PropertyConnector updates a read-only property.
    o Issue 82: Clarify interval of list model content changes.
    o Issue 85: SelectionInList loses selection when bound to a table. 
    
    
DISTRIBUTION CHANGES

    o Issue 74: The sources no longer ship as a source Zip archive.
      They now come in the directory structure used by the CVS. 
      This makes it easier to build the distribution using ANT.     
      If you want to attach the library sources in an IDE, 
      point to folder 'src/core'.
    
    
NEW FEATURES

    o Issue 73: Improve support for constrained bean properties:
        + PropertyAdapter#setVetoableValue(Object)
        + BeanAdapter#setVetoableValue(String, Object)
        + BeanAdapter.SimplePropertyAdapter#setVetoableValue(Object)
        
    o Issue 75: Add access to (buffered) values to PresentationModel:
        + PresentationModel#getValue(String)
        + PresentationModel#setValue(String, Object)
        + PresentationModel#setVetoableValue(String, Object)
        + PresentationModel#getBufferedValue(String)
        + PresentationModel#setBufferedValue(String, Object)
                
    o Issue 76: Move extras to the library core:
        + com.jgoodies.binding.adapter.SpinnerAdapterFactory
        + com.jgoodies.binding.adapter.SpinnerToValueModelConnector
        + com.jgoodies.binding.beans.DelayedPropertyChangeHandler
        + com.jgoodies.binding.value.AbstractVetoableValueModel
        + com.jgoodies.binding.value.DelayedReadValueModel
        
    o Issue 77: Provide component state in the PresentationModel. 
      A ComponentValueModel provides bound properties for: 
      enabled, visible, editable. The Bindings class can register 
      a handler with the ComponentValueModel that updates 
      the component's state automatically. And the PresentationModel 
      has new factory methods that vend a plain or buffered
      ComponentValueModel. Added:
        + com.jgoodies.binding.value.ComponentValueModel
        + Bindings#addComponentPropertyHandler
        + Bindings#removeComponentPropertyHandler
        + PresentationModel#getComponentModel(String)
        + PresentationModel#getBufferedComponentModel(String) 
      For an example see the ComponentValueModel class comment
      and the tutorial's ComponentValueModel example.
      This feature is implemented for text components, radio buttons 
      and check boxes. Lists, tables, combos and color choosers 
      bound using the Bindings class, ignore the ComponentValueModel. 
      See also issue #86 in the Binding's issue tracker.
        
    o New classes for indirect access to Lists and ListModels:
        + ListHolder is a ListModel that holds a List in a ValueModel.
        + ListModelHolder is a ListModel that holds a ListModel
          in a ValueModel.
          
    o New Extra source: The NonNullValueModel converts null values
      in #getValue to a given default value.
          
          
OTHER CHANGES

    o Improved and corrected JavaDocs.
    o Added tests for writing a constrained bean property.
    o Added a bunch of tests for SelectionInList list changes.
    o Minor Java source style improvements.
    o Fixed an NPE in the tutorial's ComponentsExample.


-------------------------------------------------------------------------
Find below release notes for previous versions.



                        JGoodies Data Binding
                            Version 1.0.3
                            Release Notes
                        

INTRODUCTION

    This maintenance release includes a few minor improvements.


NEW FEATURES

    o Issue 40: Replace some exceptions by the exception's cause.
    o Issue 56: Replaced final markers in PresentationModel. (Started) 
    o Issue 71: Add binding for javax.swing.JColorChooser.
    o Issue 73: Improve support for constrained bean properties. (Started)
    o Issue 74: Print PropertyAccessException causes.
    
                
OTHER CHANGES

    o Marked Model#fireMulticastPropertyChange as deprecated;
      replaced by #fireMultiplePropertiesChanged.
    o Fixed typos in BeanUtils JavaDocs.
    o Added a BeanUtils optimization for Model subclasses.
    o Fixed broken links in the HTML FAQ and references.
    o Tutorial ComponentsExample binds a JColorChooser.


-------------------------------------------------------------------------
Find below release notes for previous versions.




                        JGoodies Data Binding
                            Version 1.0.2
                            Release Notes
                        

INTRODUCTION

    This maintenance release fixes a major bug in PresentationModel,
    PropertyAdapter and BeanAdapter that affects API users that 
    adapt and then change beans that are equal but not the same.
    
    I recommend to update your binding library if you use such beans,
    or if you don't know if your beans override #equals.


BUGS FIXED

    o Issue 69: Missing bean change events when changed beans are equal.
    o Issue 70: Default bean channel doesn't check for identity.
    

NEW FEATURES

    The following 4 methods make it easier to fire list data changes.
    This is not necessary if the SelectionInList holds a ListModel
    that already fires ListDataEvents. See the AlbumManager example.
    o Added SelectionInList#fireSelectedContentsChanged().
    o SelectionInList#fireContentsChanged(int, int) now public.
    o SelectionInList#fireIntervalAdded(int, int) now public.
    o SelectionInList#fireIntervalRemoved(int, int) now public.

    o Added ConverterFactory#createDoubleConverter(ValueModel, double).
    o Added ConverterFactory#createFloatConverter(ValueModel, float).
    o Added ConverterFactory#createIntegerConverter(ValueModel, double).
    o Added ConverterFactory#createLongConverter(ValueModel, double).
    
                
OTHER CHANGES

    o PreferencesAdapter checks for valid default value types.
    o Fixed a bunch of JavaDocs in the ConverterFactory.
    o Tutorial ComponentsExample uses a factory to create combo boxes.
    o Improved names in the tutorial's album manager example.
    o The tutorial uses names consistent with the Swing Suite 1.4.1.
    o The AlbumManagerModel uses the SelectionInList's new feature.
    o Improved the AlbumManger example JavaDocs.


-------------------------------------------------------------------------
Find below release notes for previous versions.



                        JGoodies Data Binding
                            Version 1.0.1
                            Release Notes
                        

INTRODUCTION

    This maintenance release fixes several bugs and JavaDoc typos,
    contains new Extras, and comes with a sligthly better tutorial.


BUGS FIXED

    o Issue 43: RadioButtonAdapter and ToggleButtonAdapter ignore 
                that the subject may reject a change.
    o Issue 44: PropertyConnector eagerly reads an unobserved property.
    o Issue 45: NPE in BoundedRangeAdapter with null subject value.
    o Issue 48: ComboBoxAdapter forces selection to be in list.
    o Issue 58: Memory leak with commit-on-focus-lost text components.
    o Issue 59: ConcurrentModificationExceptions in BeanAdapter.
    o Issue 60: PreferencesAdapter ignores String-typed default value.
    o Issue 61: NPE in LinkedListModel#getListDataListeners
                iff no listeners have been registered before.
    o Issue 63: PreferencesAdapter can't write Doubles.
    o Issue 64: PreferencesAdapter doesn't store the default value.
    o           NPE in Tutorial ComponentsExample.ExampleBean#setDate.
    

NEW FEATURES

    o Issue 41: Add #bind(JTextComponent, ValueModel, Document, boolean)
                to the Bindings class.
    o BasicComponentFactory#createComboBox(SelectionInList) and
      #createComboBox(SelectionInList, ListCellRenderer);
    o Bindings#bind(JComboBox, SelectionInList).
    o Drafts for delaying reading, writing, and observing value changes:
      DelayedWriteValueModel, DelayedReadValueModel, and 
      DelayedPropertyChangeHandler.
    o Extracted the SpinnerToValueModelConnector from the 
      SpinnerAdapterFactory, so it can be used with any SpinnerModel.
                  
                
OTHER CHANGES

    o Issue 53: Corrected broken DocumentAdapter constructor JavaDocs.
    o Issue 55: AlbumEditorBuilder contains presentation logic.
                I've moved this logic from the AlbumEditorBuilder
                to a new BufferedAlbumPresentationModel.
    o Issue 57: Added JavaDocs that explain the return type.
    o Issue 62: Added a security note to the BasicComponentFactory 
                and Bindings methods that can bind a JPasswordField.
    o ArrayListModel eagerly initializes its EventListenerList.
    o Fixed JavaDoc typo in AbstractVetoableValueModel.
    o Fixed JavaDoc typos in Bindings.
    o Fixed broken package information in the JAR manifest.
    o Fixed outdated JavaDocs in PropertyConnector.
    o Fixed typos in AlbumEditorBuilder labels.
    o Simplified the PropertyConnector implementation.
    o Significantly improved the tutorial JavaDoc class comments.
    o The event listener list in ArrayListModel is initialized lazily.
    o Set 'build.compile.source' and 'build.compile.target' to '1.4'
      in the default.properties; build.xml honors the source setting.
    o Improved and documented the SpinnerToValueModelConnector extra.
    o Improved the style of the Java sources:
      + removed tab characters,
      + ensured consistent modifier order,
      + fixed JavaDoc tags,
      + added newline characters at the end of the file.


-------------------------------------------------------------------------
Find below release notes for previous versions.



                        JGoodies Data Binding
                             Version 1.0
                            Release Notes
                        

INTRODUCTION

    This release fixes bugs and comes with an FAQ and references 
    to relevant information and related projects.
    

BUGS FIXED

    o Issue 36: IndirectPropertyChangeSupport, PresentationModel and
                BeanAdapter do not handle multiple named listeners.
    o Issue 38: SelectionInList's old selection index doesn't reflect 
                the selection holder's initial value.
    

CHANGES THAT AFFECT THE COMPATIBILITY

    o Removed the deprecated AbstractConverter#isBlank and #isEmpty.
    o Removed the deprecated class EmptyFormatter.
    o BasicComponentFactory#createDateField parses non-lenient (strict).


OTHER CHANGES

    o Fixed JavaDoc typos in EmptyNumberFormatter.
    o Fixed JavaDoc typos in AbstractTableAdapter.
    o Fixed JavaDoc example code in the BeanAdapter class comment.
    o Extended tests to expose the problems fixed by this version.
    o Added a DelayedValueModel draft to the Extras.
    o Added an HTML page with references to related projects.
    o Prevented external mutation of EmptyDateFormatter's empty value.


-------------------------------------------------------------------------
Find below release notes for previous versions.


                        JGoodies Data Binding
                   Version 1.0 Release Candidate 3
                            Release Notes
                        

INTRODUCTION

    This release fixes bugs and comes with an overhauled tutorial.
    The tutorial is now based on the examples used in Martin Fowler's
    draft "Further Patterns of Enterprise Application Architecture".
    

BUGS FIXED

    o Issue 27: NPE in ToggleButtonAdapter if the initial subject value 
                is null, or if the selected value is null.
    o Issue 28: RadioButtonAdapter.setSelected(false) sets choice value.
    o Issue 29: ConverterFactory#createBooleanToStringConverter rejects
                nullTexts that equal the trueText or falseText.
    o Issue 30: Bound text fields don't filter newline characters.
    o Issue 32: RadioButtonAdapter allows RadioButton to act as CheckBox.
                (This fix is in the 1.0 RC2, not in the 1.0 RC)
    o Issue 33: EmptyFormatter doesn't set valid edit on blank strings.
                (This fix is in the 1.0 RC2, not in the 1.0 RC)
    o Issue 34: NPE in constructor of AbstractTableAdapter.
                (This fix is in the 1.0 RC3, not in the 1.0 RC2).
    o Issue 35: SelectionInList selection holder out of synch.
                (This fix is in the 1.0 RC3, not in the 1.0 RC2).
                

CHANGES THAT AFFECT THE COMPATIBILITY

    o Marked AbstractConverter#isBlank and #isEmpty as deprecated.
      These methods have been replaced by BindingUtils methods.
      The deprecated methods will be removed for the 1.0 final.
    o Marked EmptyFormatter as deprecated. It has been replaced
      by the classes EmptyDateFormatter and EmptyNumberFormatter.
      The EmptyFormatter will be removed for the 1.0 final.
      
      
      
NEW FEATURES

    o BindingUtils#equals, #isBlank, #isEmpty.
      
      
OTHER CHANGES

    o Corrected a comment in SelectionInList regarding change events.
    o Added test cases for the bugs fixed in this release. 
    o AbstractTableAdapter copies the column names to prevent mutations.
    o Tutorial examples demonstrate event handling. The composer field
      is enabled if and only if the classical check box is selected.
    o Improved and corrected the User's Guide HTML documentation.
    o Replaced uses of to the EmptyFormatter in BasicComponentFactory.


-------------------------------------------------------------------------
Find below release notes for previous versions.


               JGoodies Data Binding, Version 1.0 Beta6
                            Release Notes
                        

INTRODUCTION

    This is primarily a bug fix release. It contains an important fix
    for the Binding when used with Java 1.5 and comes with overhauled
    RadioButtonAddapter and ToggleButtonAdapter classes.
    

BUGS FIXED

    o Issue 22: ToggleButtonAdapter not firing all events.
    o           RadioButtonAdapter not firing all events.
    o Issue 23: BeanAdapter#getValueModel accepts different accessors
    o PresentationModel#getBufferedModel accepts different accessors
    o Issue 24: New trigger ignored by PresentationModel's buffers
    o Issue 25: ArrayListModel#remove(Object) fires no event in Java 1.5
    o Issue 26: RadioButtonAdapter fails to work with read-only model
    o           ToggleButtonAdapter fails to work with read-only model
    

CHANGES THAT AFFECT THE COMPATIBILITY

    o Removed the deprecated class TableAdapter that has been
      replaced by (renamed to) AbstractTableAdapter before.
    o Rejects calls to BeanAdapter#getValueModel with the same 
      property name but different getter and or setter names.
      Rejects similar invalid calls to PresentationModel#getModel. 
    o ToggleButtonAdapter throws an IllegalArgumentException
      if the selected and deselected value are equal.


OTHER CHANGES

    o Clarified the situation described in issue 23.
    o Added test cases for the bugs fixed in this release. 
    o PresentationModel#getBufferedModel(String, String, String)
      returns a BufferedValueModel, not ValueModel, to be consistent
      with PresentationModel#getBufferedModel(String).
    o Added several constructors to the SelectionInList.
    o Added @throws tags in SelectionInList constructors.
    o ComboBoxAdapter examples use the new SelectionInList constructors.
    o RadioButtonAdapter throws an UnsupportedOperationException when
      #setGroup is invoked with a non-null ButtonGroup. This constraint
      existed before but it wasn't checked by the implementation.
    o Improved JavaDocs in RadioButtonAdapter and ToggleButtonAdapter.


-------------------------------------------------------------------------
Find below release notes for previous versions.


               JGoodies Data Binding, Version 1.0 Beta5
                            Release Notes
                        

INTRODUCTION

    This is primarily a bug fix release. 
    

BUGS FIXED

    o Issue 19: BufferedValueModel commit ignores subject value modifications.
    o Issue 20: BufferedValueModel flush shall compare values using identity.
    o Issue 21: BeanAdapter/PropertyAdapter fail to handle null bean events.

    For details about these issues see the issue tracker at
    https://binding.dev.java.net/servlets/ProjectIssues
    

CHANGES THAT AFFECT THE COMPATIBILITY

    o ConverterFactory#createBooleanToStringConverter accepts 
      the null-text ("" by default) when setting a value.


OTHER CHANGES

    o Clarified that the DocumentAdapter provides only limited support
      for handling subject value modifications, e.g. to upper case.
    o Clarified that listeners that have been registered using 
      PresentationModel#addBeanPropertyChangeListener are notified 
      if and only if the current bean changes a property, not if
      the bean itself changes. The same is valid for the BeanAdapter.
    o Added test cases for the bugs fixed in this release.   
    o Fixed and improved JavaDocs in AbstractConverter. 
    o Added safety checks to the Boolean to String converter.


-------------------------------------------------------------------------
Find below release notes for previous versions.


               JGoodies Data Binding, Version 1.0 Beta4
                            Release Notes
                        

INTRODUCTION

    This is primarily a bug fix release. 
    

BUGS FIXED / ISSUES RESOLVED

    o Issue 10: Adapters fire no events if the old and new values 
                are equal but not the same. Affects BeanAdapter, 
                PropertyAdapter, BufferedValueModel and indirectly 
                the PresentationModel.
    o Issue 12: Default bean channels shall check identity not equity.
                Changed the default bean channels in PresentationModel,
                BeanAdapter and IndirectPropertyChangeSupport.
    o Issue 13: DocumentAdapter doesn't honor subject value modifications
    o Issue 14: ValueHolder fires unnecessary event 
                when oldValue==newValue==null.
    o Issue 15: BufferedValueModel fires unnecessary event 
                when oldValue==newValue==null.
    o Issue 17: PropertyConnector fails if an event reports no new value.

    For details about these issues see the issue tracker at
    https://binding.dev.java.net/servlets/ProjectIssues
    

CHANGES THAT AFFECT THE COMPATIBILITY

    o DocumentAdapter doesn't implement PropertyChangeListener anymore.
      Instead it uses an internal PropertyChangeListener. 
      Most API users won't notice this implementation detail.


NEW FEATURES

    o AbstractVetoableValueModel (Extras) that allows to accept or reject 
      proposed value changes. Useful to request information from the user 
      or to perform operations before a value is changed.
    
    
OTHER CHANGES

    o AbstractTableAdapter replaces the TableAdapter; the latter is now 
      marked as deprecated and is just an empty subclass of its super.
      The deprecated TableAdapter will be removed in the 1.0 final.
    o Added tests for issues 10, 12, 13, 14, 15, and 17.
    o DocumentAdapter replaces text in AbstractDocuments and uses
      the remove plus insert only for general Document implementations.
    o Clarified that SelectionInList selection and value changes 
      check the equity, not the identity.   
    o Clarified that custom bean channels shall check the identity.
    o Improved and corrected the JavaDoc formatting.    


-------------------------------------------------------------------------
Find below release notes for previous versions.


                JGoodies Data Binding, Version 1.0 Beta3
                            Release Notes
                        

INTRODUCTION

    This release fixes minor bugs and brings slightly improved docs.
    

CHANGES THAT AFFECT THE COMPATIBILITY

    o Removed class ApplicationModel; use PresentationModel instead.
      
      
BUGS FIXED

    o Can't access BeanAdapter's ValueModel using reflection.
    o Can't access ConverterFactory' ValueModels using reflection.


OTHER CHANGES

    o Added tests for reflection access to ValueModels.
    o Added missing JavaDocs and fixed broken comments.
    o Added project name tag to the ANT build file.
      

-------------------------------------------------------------------------
Find below release notes for previous versions.



                  JGoodies Data Binding, Version 1.0 Beta2
                            Release Notes
                        

INTRODUCTION

    This releases uses a new default commit style for text fields,
    fixes a bug in the SelectionInList, ships with an extended tutorial,
    and comes with updated documentation. The ApplicationModel class
    has been renamed to PresentationModel.
    

CHANGES THAT AFFECT THE COMPATIBILITY

    o Changed the default commit style for text components created 
      by the BasicComponentFactory from 'key typed' to 'focus lost'.
      This is now consistent with the default commit style of 
      the JFormattedTextField. For committing text changes on key typed, 
      use BasicComponentFactory#createTextField(ValueModel, false).
      
    o Renamed 'ApplicationModel' to 'PresentationModel' to be in synch
      with Martin Fowler's upcoming additions to his book
      "Patterns for Enterprise Application Architectures".
      See http://martinfowler.com/eaaDev/PresentationModel.html
      The old class is still available but deprecated and
      will be removed from the library in the next Beta version.
      
    o SelectionInList#setSelectionHolder rejects null values.
    o SelectionInList#setSelectionIndexHolder rejects null values.
      
      
BUGS FIXED

    o SelectionInList fires a PropertyChangeEvent "selection" 
      before the internal selection state is changed.


NEW FEATURES

    o BasicComponentFactory#createPasswordField(ValueModel, boolean)
    
    
OTHER CHANGES

    o The Bindings class retains the enablement of the buttons it binds.    
    o Added overview information to the JavaDocs.
      

-------------------------------------------------------------------------
Find below release notes for previous versions.



                  JGoodies Data Binding, Version 1.0 Beta1
                            Release Notes
                        

INTRODUCTION

    This release comes with a minor improvement in the SelectionInList.
    I've renamed the version the 1.0 Beta1 to indicate that the API
    is stable and shall remain binary compatible with the 1.0 final.
    
    I will add documentation and extend the tutorial for the 1.0 final.
    

CHANGES THAT AFFECT THE COMPATIBILITY

    o Removed deprecated property name constants in SelectionInList.
      
      
NEW FEATURES

    o Read-only bound property SelectionInList#selectionEmpty. 
      Useful to bind 'enabled', 'editable' and other boolean 
      UI properties to a SelectionInList's selection state.
 
      
OTHER CHANGES

    o Added an initial set of tutorial sources. 
    o Improved JavaDoc class comments for PropertyAdapter, BeanAdapter,
      and ApplicationModel to better explain when to use what class.
    o Corrected implementation title and vendor in the JAR manifest.
    o Added a few missing JavaDoc tags
      
    

-------------------------------------------------------------------------
Find below release notes for previous versions.



                  JGoodies Data Binding, Version 0.9.24
                            Release Notes
                        

INTRODUCTION

    This release fixes minor bugs, adds minor features and clarifies
    the ValueModel API.
    

CHANGES THAT AFFECT THE COMPATIBILITY

    o Replaced ConverterFactory#createDoubleToIntegerPercentConverter
      and ConverterFactory#createFloatToIntegerPercentConverter
      with more general factory methods that accepts a multiplier.
      
      
BUGS FIXED

    o SelectionInList fails if the selection index holder 
      fires PropertyChangeEvents with null old value.


NEW FEATURES

    o ConverterFactory#createBooleanToStringConverter with null text.
    o ConverterFactory number converters accept a multiplier.
    o BasicComponentFactory#createLongField methods.
 
      
OTHER CHANGES

    o I've clarified the ValueModel API for the notification of value changes
      listeners. The motivation is, to ensure a consistent listener notification 
      for AbstractValueModel subclasses and other implementors of ValueModel.
      AbstractValueModel registers listener for the specific 'value' property.
      See the revised class comment in the ValueModel interface. 
    

-------------------------------------------------------------------------
Find below release notes for previous versions.




                  JGoodies Data Binding, Version 0.9.23
                            Release Notes
                        

INTRODUCTION

    In this release some classes have been moved from the Extras 
    to the binary library core: Bindings, BasicComponentFactory
    and ApplicationModel.
    

CHANGES THAT AFFECT THE COMPATIBILITY

    o Removed StringConverter; replaced by ConverterFactory.
    

NEW FEATURES

    o Added ApplicationModel to the core (former DefaultModule).
    o Added Bindings to the core.
    o Added BasicComponentFactory to the core. 
    o Added ConverterFactory#createBooleanNegator.
    o Added EmptyFormatter to the core.
 
      
OTHER CHANGES

    o Fixed typos in converter classes.
    o Fixed wrong JavaDocs in ValueModel#getValue ValueModel#setValue.
    o Overhauled DefaultModule and DefaultBufferedModule:
      + moved buffering features to DefaultModule
      + moved change tracking features to DefaultModule
      + joinded both classes
      + renamed to ApplicationModel
      + improved the class comment
    

-------------------------------------------------------------------------
Find below release notes for previous versions.



                  JGoodies Data Binding, Version 0.9.22
                            Release Notes
                        

INTRODUCTION

    The Binding now ships under the terms of the BSD open source license.
    

CHANGES THAT AFFECT THE COMPATIBILITY

    o Moved the MutableComboBoxAdapter to the CVS unused dir.
    o StringConverter marked as deprecated; will be removed soon.
    

BUGS FIXED

    o BoundedRangeAdapter ignores subject value changes.
    
    
NEW FEATURES

    o Class Bindings establishes adapter bindings.
    o PropertyConnect#connect avoids confusion if the 
      connector instance is never used.
    o Added ConverterFactory with factory methods #createXXXConverter.
 
      
OTHER CHANGES

    o BufferedValueModel uses its own constants for property names.
    o Overhauled the ComponentFactory:
      + renamed to BasicComponentFactory
      + removed the final marker
      + uses a more consistent set of factory methods
      + moved the concrete binding work to class Bindings
      + improved JavaDoc class comment
    

-------------------------------------------------------------------------
Find below release notes for previous versions.



                  JGoodies Data Binding, Version 0.9.21
                            Release Notes
                        

INTRODUCTION

    This code cleanup release fixes a bug and adds some features.
    

BUGS FIXED

    o PropertyConnector ignores multicast events.
    
      
OTHER CHANGES

    o Added todo in DocumentAdapter regarding the event source.
    o Clarified modification behavior in SelectionInList(Object[]).
    o Removed useless #finalize methods; improved comments.
    o Added constructor to DefaultBufferedModule.
    o Added a property name constant in BufferedValueModel.
    o Better message texts in NPEs thrown by Adapters.
    o Added ComponentFactory#createRadioButton and #createPasswordField.
    o Added ComponentFactory#createList(SelectionInList).
    o Corrected and extended the PropertyConnector JavaDocs.
    o PropertyConnector can handle read-only bean properties.
    
