====
       Copyright 2006-2016 the original author or authors.

       Licensed under the Apache License, Version 2.0 (the "License");
       you may not use this file except in compliance with the License.
       You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

       Unless required by applicable law or agreed to in writing, software
       distributed under the License is distributed on an "AS IS" BASIS,
       WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
       See the License for the specific language governing permissions and
       limitations under the License.
====

-------------------------------------------------------------------------------
Version 1.3.1

Release notes are no longer maintained in this file.  See the "What's New"
page in MyBatis Generator documentation for change details.

-------------------------------------------------------------------------------
Version 1.3.0

Announcements:

1. Moved to mybatis.org, renamed MyBatis Generator


-------------------------------------------------------------------------------
Version 1.2.2 (Never Released):

Announcements:
1. CommentGenerator interface has changed
2. Ibator is now built with Maven
3. Added support for iBATIS version 3

Bugs:
1. Fixed NPE when no DAOs are generated
2. Fixed IBATIS-579 - don't allow column names with spaces to break
   across lines
3. Fixed NPE and incorrect calculation in generated equals when certain
   fields are null - thanks to Benjamin Klatt for finding this bug
4. Fixed IBATIS-601 - improper validation of <generatedKey>
5. Fixed IBATIS-609 - incorrect parsing of Java generic types
6. Fixed spelling error LONCVARCHAR->LONGVARCHAR (thanks Allard)
7. Fixed IBATIS-731 - change name of primary key variable to avoid conflicts
8. Fixed IBATIS-699 - Overwrite unmergeable XML files if enabled
9. Fixed issue where insertSelective failed if there is a sequence generating the
   primary key (issue only with iBATIS3)

Enhancements:
1. IBATIS-569 - Make it easier to override IbatorRules in plugins
2. IBATIS-571 - Added "autoDelimitKeywords" support to <ibatorContext>
3. IBATIS-577 - Define SQL fragments for column lists.  Thanks to Iwao
   AVE! for the idea and the initial patch
4. Added some additional command line arguments
5. Added logging
6. Added Case Insensitive LIKE example Plugin
7. Added delimitAllCoumns to table configurations
8. Added page describing some of PostgreSQL idiosyncracies with Ibator
9. IBATIS-586 - Added the ability to specify nested property elements on
   columnOverrides (thanks to Dan Turkenkopf for the idea and a nice initial patch)
10. Gather column comments during introspection
11. IBATIS-592 - Additional attributes for SqlMaps
12. Fixed addCriterionforJDBC* methods so that they all do a null check
13. Fixed IbatorRunner so that configuration errors are shown (thanks to Karel Rank)
14. Added XML ids to changeable attributes on introspected table, also
    change the XML merger so that the XML ids no longer need to contain
    the prefix "ibatorgenerated_"
15. Many refactorings to make way for iBATIS3
16. IBATIS-605 - Added Informix Dialect
17. Added ability to set annotations on method parameters
18. Addedd support for "distinct" on select by example methods
19. Added new "or" method to example classes
20. Added new "useCompoundPropertyNames" property on <table>
21. Further improved extensibility of the example classes
22. EqulasHashCodePlugin now generates far superior methods


-------------------------------------------------------------------------------
Version 1.2.1:

Bugs:
1. Fixed IbatorObjectFactory so that it will find internal classes on the
   context classloader.
2. Fixed IBATIS-565 - ill formed comment in the SqlMapConfigPlugin.

Enhancements:
1. Modified plugin methods for model fields, getters, and setters so that
   the plugin will know which type of class (Primary Key, Base Record, or
   Record with BLOBs) is being generated. 
2. Added methods to IntrospectedTable to get/set attributes.  This 
   allows plugin classes to maintain table based state between
   plugin calls.
3. Added "initialized" method to the plugin API.  This
   allows plugins to alter some of the fundamental code generation items
   (like the name of a generated class, for example).
4. Added an example plugin to show usage of the "initialized" method.

-------------------------------------------------------------------------------
Version 1.2.0:  Renamed to Ibator

Bugs:
1. Fixed the JavaTypeResolver so that an unsupported data type can be
   overridden by configuration.
2. Fixed IBATIS-523 - bug in EqualsHashCodePlugin
3. Fixed IBATIS-542 - upgrade build to Ant 1.7.1

Enhancements:
1. Ibator now includes a plugin machanism that you can use to extend or
   modify code generated by Ibator.  In most cases, you should be able
   to write plugins to replace any custom classes that subclass one of
   ibator's built-in generators.  Plugins are now the preferred method for
   extending Ibator and we recommend that you do not extend Ibator's
   built in generators unless absolutely necessary.
2. Major refactoring of Ibator internals.  This has changed
   the interface for overriding any of the supplied Ibator generators.
3. Added support for runtimeCatalog and runtimeSchema properties to the
   table configuration.  Thanks to Dan Turkenkopf for the idea and the
   patch!
4. New method - insertSelective
   
   
Changes:
1. JSE 5.0 or greater is required
2. Changed and centralized classloading - moved the <classPathEntry> from
   the <jdbcConnection> element to <ibatorConfiguration>, removed the
   rootClasspath property from <javaModelGenerator>
3. Changed API on the JavaTypeResolver interface
4. Removed Legacy generator set
5. Removed after generation hook methods in favor of the new ibator
   plugin mechanism.
6. <ibatorContext> elements now require an id

-------------------------------------------------------------------------------
Version 1.1.0:
Bugs - 
1. corner case where the new "by example" methods fail if a criteria
   class has been added to the list, but there are no criteria set
2. trimStrings on JavaModelGenerator not working
3. Fix the XML file merger so that entities are preserved
4. Fixed the configuration parser so that it correctly deals with
   external entities
5. IBATIS-434 - Incorrect default mapping for BIT datatype
6. Fixed bug where Abator generated incorrect properties for certain
   database columns (for example, if the column name is I_NAME)

Enhancements - 
1. IBATIS-348 - escape column names with $ or #, and ignore special characters
   for generated Java properties by default
2. Add "clear" method to generated example classes in the Java2/Java5
   generator sets
3. Add support for "ignoreQualifiersAtRuntime" and "runtimeTableName" on
   the <table> configuration - this makes it easier to deal with tables
   that are behind public aliases.
4. Added support for persisting a configuration to XML - this to enable
   a graphical editor in the future
5. Add afterXXXGenerationHook() methods in all generators to enable adding
   extra Java code or XML elements to any generated object.  This will make
   it easier to create customized generators
6. Added SYBASE database dialect for generated keys
7. Added the ability to specify that resultMaps should use column indexes
   rather than column name.  This is necessary in poorly designed tables
   where column names differ only in case.  This may also improve performance.
8. Added the ability to work with delimited names in database tables or
   columns.
9. API change to allow generating with selected contexts rather than
   the entire config file.
10. API change to allow generating with selected tables rather than
    the entire config file.
11. Exposed new support for selecting tables and/or contexts to the
    command line and the Ant task 
12. IBATIS-414 - make the Example and Criteria classes extendable
13. Added countByExample generated method
14. Added updateByExample generated method
15. Java2 is now the default generator set
16. IBATIS-470 - make legacy DAOs extendable
17. IBATIS-468 - add <columnRenamingRule>
18. Added DB2 Main Frame database dialect for generated keys
19. Allow rootClass and rootInterface to be specified at the table level
20. Allowed specifying a type (pre or post) for the generatedKey
    element.
21. Added a comment generator interface
22. Abator will not generate model properties that would override 
    properties in a rootClass.  Thanks to Ashok Madhavan for the beginnings
    of this code.

-------------------------------------------------------------------------------
Version 1.0.0:
1. Major refactoring of code generators to use new DOM classes.  This makes
   adding and extending code generators much easier.
2. Added a new set of code generators that take advantage of iBATIS' new
   support for nested iterate tags.
3. Added another new set of code generators that take advantage of iBATIS'
   new support for nested iterate tags, and builds code that uses many JSE 5.0
   features including parameterized types and annotations.
4. Added support for "alias" on table configuration
5. Fixed the XML file merger so that extraneous blank lines in an XML merge
   are removed
6. Major overhaul and improvement of the documentation
7. Added a typeHandler attribute to <columnOverride>
8. Added exampleMethodVisibility as a property for the DAO generator
9. Added methodNameCalculator as a property for the DAO generator
10. Added the ability to specify wildcards for schema and/or tableName in <table>
11. Added the ability to suppress type warning messages in a JSE 5.0 environment
12. Added the ability to specify different types of domain models
13. Added the "verbose" attribute to the Ant task
14. Allowed the Ant task to accept a property set
15. Added a <properties> element to the XML configuration

For full details, see the user's guide at doc\index.html in this
distribution - then look at the "What's New" page.

-------------------------------------------------------------------------------
Version 0.6.5:
1. Added support for specifying rootClass for the model objects and
   rootInterface for the DAO interface.  To use, specify the "rootClass"
   optional property on the <javaModelGenerator> element, or the
   "rootInterface" optional property on the <daoGenerator> element.
   
   For example:
     <javaModelGenerator ... >
       <property name="rootClass" value="com.somedomain.SomeClass" />
     </javaModelGenerator>
   
     <daoGenerator ... >
       <property name="rootInterface" value="com.somedomain.SomeInterface" />
     </daoGenerator>
     
   Note that Abator uses these values "as is" - no checking is done to 
   validate their existence or validity.
   
2. Refactored code generation rules and added better documentation for
   the rules (see new org.apache.ibatis.abator.internal.rules package)
3. Ensure that property names are valid for iBATIS even if the user
   specifies "useActualColumnNames"
4. Added JDBC types for DATE and TIME fields to the mapping properties
   in the by example where clause fragment
5. Externalized all message strings
6. Abator will now survive if the JDBC driver does not support the
   getPrimaryKeys() function - but with reduced function

-------------------------------------------------------------------------------
Version 0.6.1:
1. Added support for running Abator from the command line
2. Fixed bug: NPE when <generatedKey> specifies an unknown column
3. Fixed bug: getExampleParms method in generated DAO can grow so enormous
   that it can't be compiled.  The fix is to break it into smaller methods.
4. Implemented an "iBATIS-like" Ant build

-------------------------------------------------------------------------------
Version 0.6.0:
1. Restructured as a standalone JAR file with no Eclipse dependencies
2. Added an Ant task
3. Added support for wrapping primitive data types in the "by example" methods
4. Removed dependency on JDOM
5. Greatly improved extensibility of the default code generators
6. Added support for discovering the case sensitivity of the database in regard
   to table names.

-------------------------------------------------------------------------------
Version 0.5.0:

Initial Release - as an Eclipse plugin only
