v2.10 (2012/07/18):

 * datatool.sty:

   - Split package into datatool-base.sty, datatool-fp.sty and
     datatool-pgfmath.sty

   - Added package option "math" (math=fp -> use fp.sty,
     math=pgfmath -> use pgfmath.sty)

   - datatool.sty now requires etoolbox (changed commands like 
     \@ifundefined to etoolbox equivalents)

   - Added 'omitlines' option when loading csv file (from patch supplied by Bruno Le Floch
     at:
     http://tex.stackexchange.com/questions/22942/skipping-the-first-line-of-a-data-file-for-pgfplotstable/25133#25133 )

   - \DTLloaddb : adds default column header if missing

   - Added optional argument to \DTLdisplaydb

   - Added omit key to \DTLdisplaylongdb

   - added environment dtlenvgforint

   - added environments DTLenvforeach and DTLenvforeach*

   - added check for at least version 1.2 (2009/10/20) of substr.sty

   - added \DTLassign

   - added DTLnumitemsinlist

   - added \dtlrecombine, \dtlrecombineomitcurrent,
     \dtlreplaceentryincurrentrow, \dtlswapentriesincurrentrow,
     \dtlremoveentryincurrentrow, \dtlappendentrytocurrentrow

   - Rewritten \@dtl@ifDigitOrDecimalSep (code provided by Bruno Le Floch)

   - ensured first argument of \DTLconverttodecimal gets one-level
     expansion in commands like \DTLaddall

   - Fixed \DTLloaddb to work if % used at the start of a row in CSV file.

   - Fixed \@dtl@qlopoff to substitute escaped CSV delimiters

   - Fixed bug in \DTLloadrawdb, which only performed a single
     substitution per line

   - Added \long before \edef in \DTLsubstituteall

   - Fixed bug in \@dtl@getkeyforcolumn (affects
     \DTLgetkeyforcolumn)

   - Changed tab character to ^^I

   - Fixed bug in \DTLloaddb and \DTLloadrawdb when CSV file only contains one column

 * databib.bst:

   - Added eprints field

 * datatool-user.tex (User guide):

   - fixed typo "\value{DTLbibrow}<11" => "\value{DTLbibrow}<10"

   - added section "Operating on Current Row"

   - added remark on using etoolbox to check for empty values

v2.03 (2009/11/15):
 * Added facility to clear or delete a database.

 * Fixed bug in \DTLsavedb that prints duplicate information to file.

 * \DTLreplaceentryforrow expands the replacement value 

 * \DTLappendtorow expands the new value 

 * \DTLnewdbentry : user can choose between expanding or not 
   expanding value before adding to database.

 * Renamed \dtl@columnindex to \dtlcolumnindex so that it can be
   used in the document.

 * Spaces may now occur after commas (but not before) in the 
   assignment part of \DTLforeach

 * Fixed missing backslashes in example in manual (pounds->\pounds)

 * Fixed type in datapie documentation: non-colour option is
   "gray" not "monochrome".

 * Added package "person.sty"

v2.02 (2009/07/13):
 * fixed bug caused by undefined \@dtlifhaskey (should be 
   \@DTLifhaskey)
 * fixed bug caused by undefined \dtl@getcolumnindex (should
   be \@dtl@getcolumnindex)
 * fixed bug in \DTLsavedb that ignores the file name

v2.01 (2009/03/27):
 * fixed bug that ignores descending sort option

v2.0 (2009/02/27):
 datatool.sty:

 * Rewritten database internal representation to make the code
   faster (thanks to Morten H\o gholm for the suggestion)
 * added etex as a required package
 * Database columns can now have an associated header (in addition
   to the key)
 * added \DTLdisplaydb and \DTLdisplaylongdb
 * added \DTLremoverow
 * \DTLloaddb, \DTLloadrawdb:
     - removed unnecessary checks to determine if database 
       exists when adding entries.
     - added optional argument
     - can now also load files without header row
 * \DTLsumforkeys, \DTLmeanforkeys, \DTLvarianceforkeys,
   \DTLsdforkeys, \DTLminforkeys and \DTLmaxforkeys now have a 
   second optional argument
 * added \DTLsumcolumn, \DTLmeanforcolumn, \DTLvarianceforcolumn,
   \DTLsdforcolumn, \DTLminforcolumn and \DTLmaxforcolumn
 * added \dtlforeachkey
 * added \dtlforint and \dtlgforint
 * added \dtlforcolumn and \dtlforcolumnidx
 * added \DTLcolumncount
 * added starred versions of:
   - \DTLifdbempty
   - \DTLnewrow
 * added \DTLifhaskey
 * added \DTLgetcolumnindex
 * added \DTLunsettype, \DTLstringtype, \DTLinttype, \DTLrealtype
   and \DTLcurrencytype
 * added \DTLgetdatatype 
 * removed \@dtl@setidtype
 * removed \@dtl@setkeys
 * removed \@dtl@getidtype
 * removed \@dtl@ifrowcontains
 * removed \dtl@getentryvalue
 * removed \dtl@getentryid
 * added \dtlgetentryfromcurrentrow
 * added \dtlforcolumnindex

 dataplot.sty
 * fixed bug causing ! Argument of \pgfmath@afterquick has an extra }
   error

 databar.sty
 * added \DTLeverybarhook

v1.01 (2007/08/17) :
 * Added databib package.

 * datatool.sty:

   - Fixed bug in datatool caused when certain commands occur
     in database entries or when the data type is tested.
   - Fixed bug in \DTLsubstituteall (caused problems when certain
   - commands occurred in string)
   - Added \DTLsplitstring
   - Added \DTLifSubString and \DTLisSubString
   - Added \DTLifStartsWith and \DTLisPrefix
   - Added case insensitive string tests
   - \DTLinitials and \DTLstoreinitials now work with ~ and \space
   - \DTLinitials and \DTLstoreinitials now use \DTLinitialhyphen
   - Added \dtlcompare (no longer using compare.tex)
   - Added \DTLgetvalueforkey
   - Added \DTLgetrowforkey
   - Added optional argument to \DTLsort
   - Fixed bug causing expansion in \DTLsort
   - Fixed bug in \DTLsdforall and \DTLvarianceforall
   - Removed extraneous spaces in \DTLaddall, \DTLminall, 
     \DTLmaxall, \DTLmeanforall, \DTLsdforall and \DTLvarianceforall
   - Fixed bug in \DTLiflastrow
   - Fixed bug in \DTLremovecurrentrow

 * Manual:
   - added code that produces fig "Student Marks (with average scores".
   - fixed typos in examples "Editing Database Rows" & "Mail Merging"
   - added section on null values

v1.0 (2007/07/23) : Initial Release
