Changes since 0.7
=================

- Add "verbose" keyword to all of the network request functions.

- The handling of FIELD names and IDs has improved.  If the name
  is the same as the ID, only that single name will be used as a
  column title on the Numpy side.  There are no longer
  invented-yet-unique column titles in this case.

- The VOTable class constructor has an additional kwarg "version"
  to specify the VOTable spec version to use when writing out.

BUGS:

- PARAM elements with an empty value attribute are no longer
  considered an error.

- Fix bug where if the number of rows was exactly equal to 512,
  the array would be overallocated.

- Fix ucd name handling.  "E" syntax words can be used as secondary
  words.

Changes since 0.6
=================

- For better Python 3.x compatibility, a minimum of Python 2.6 is
  required.

- Warnings and exceptions now all have their own class, which makes
  them easier to control and catch.  See voexceptions.py for more
  information.  Much more detailed documentation about warnings and
  errors, including references into the relevant. VOTable standards.

- The "arraysize" attribute now defaults to "1", not "*" to better
  match the specification.  This may mean that some character fields
  which used to load in their entirety may now only load the first
  character.  Warning W47 will be raised in these cases.

- When the number of array elements in a cell does not match the
  length of the array as specified in the FIELD element, a warning E02
  is displayed if pedantic mode is off.  Previously, an array size
  mismatch was a hard exception.

- When the data contains a different number of columns than are
  defined in the FIELD elements, an exception is raised.  Before, the
  exception raised was rather inscrutable.

- Files that use XML namespaces are now supported.

- vo.table now includes a new testing framework that reads VOTable
  files from a number of services and generates reports about their
  compliance to the VOTable standard.  See
  test/heasarc_validation/README for more information.

- Writing files is around 15% faster.

BUGS:

- Doesn't treat integers with leading zeros as octal notation.  (Octal
  notation is not a part of the VOTable standard).

- Parsing continues until any XML parsing errors are encountered,
  rather than at some rather arbitrary point before that.

- Some memory leaks were fixed in the parser.

Changes since 0.5
=================

- Initial support for conesearch, simple image access and simple
  spectrum access protocols.  This support should be considered
  experimental and subject to drastic changes in the future.

- Support for VOTable 1.2

- Improved compatibility with VOTable 1.0

- Support for Python 3.x

- All vo-specific warnings and exceptions have a number.  These
  warnings and exceptions are defined in the documentation.

- Warnings and error messages are more detailed.

- Only warnings indicating a violation of the specification are given
  type VOTableSpecWarning.

- Improved compatibility with Python 2.6

- C extension for writing XML, resulting in 2x speedup

- Generally faster

- More workarounds for invalid VOTABLE files in the wild

BUGS:

- Loading binary tables without an explicit 'nrows' is now fixed.

- pyfits is not required -- will only be used when necessary.
