=======
CHANGES
=======

3.7.1 (2010-12-25)
------------------

- The validation token, used in the validation of schema with Object
  Field to avoid infinite recursion, has been renamed.
  ``__schema_being_validated`` became ``_v_schema_being_validated``,
  a volatile attribute, to avoid persistency and therefore,
  read/write conflicts.

- Don't allow "[\]^`" in DottedName.
  https://bugs.launchpad.net/zope.schema/+bug/191236

3.7.0 (2010-09-12)
------------------

- Improve error messages when term tokens or values are duplicates.

- Fix the buildout so the tests run.

3.6.4 (2010-06-08)
------------------

- fix validation of schema with Object Field that specify Interface schema.

3.6.3 (2010-04-30)
------------------

- Prefer the standard libraries doctest module to the one from zope.testing.

3.6.2 (2010-04-30)
------------------

- Avoid maximum recursion when validating Object field that points to cycles

- Made the dependency on ``zope.i18nmessageid`` optional.

3.6.1 (2010-01-05)
------------------

- Allow "setup.py test" to run at least a subset of the tests runnable
  via ``bin/test`` (227 for ``setup.py test`` vs. 258. for
  ``bin/test``)

- Make ``zope.schema._bootstrapfields.ValidatedProperty`` descriptor
  work under Jython.

- Make "setup.py test" tests pass on Jython.

3.6.0 (2009-12-22)
------------------

- Prefer zope.testing.doctest over doctestunit.

- Extend validation error to hold the field name.

- Add FieldProperty class that uses Field.get and Field.set methods 
  instead of storing directly on the instance __dict__.

3.5.4 (2009-03-25)
------------------

- Don't fail trying to validate default value for Choice fields with
  IContextSourceBinder object given as a source. See
  https://bugs.launchpad.net/zope3/+bug/340416. 

- Add an interface for ``DottedName`` field.

- Add ``vocabularyName`` attribute to the ``IChoice`` interface, change
  "vocabulary" attribute description to be more sensible, making it
  ``zope.schema.Field`` instead of plain ``zope.interface.Attribute``.

- Make IBool interface of Bool more important than IFromUnicode so adapters
  registered for IBool take precendence over adapters registered for
  IFromUnicode.


3.5.3 (2009-03-10)
------------------

- Make Choice and Bool fields implement IFromUnicode interface, because
  they do provide the ``fromUnicode`` method.

- Change package's mailing list address to zope-dev at zope.org, as
  zope3-dev at zope.org is now retired.

- Fix package's documentation formatting. Change package's description.

- Add buildout part that builds Sphinx-generated documentation.

- Remove zpkg-related file.

3.5.2 (2009-02-04)
------------------

- Made validation tests compatible with Python 2.5 again (hopefully not
  breaking Python 2.4)

- Added an __all__ package attribute to expose documentation.

3.5.1 (2009-01-31)
------------------

- Stop using the old old set type.

- Make tests compatible and silent with Python 2.4.

- Fix __cmp__ method in ValidationError. Show some side effects based on the
  existing __cmp__ implementation. See validation.txt

- Make 'repr' of the ValidationError and its subclasses more sensible. This
  may require you to adapt your doctests for the new style, but now it makes
  much more sense for debugging for developers.

3.5.0a2 (2008-12-11)
--------------------

- Move zope.testing to "test" extras_require, as it is not needed
  for zope.schema itself.

- Change the order of classes in SET_TYPES tuple, introduced in
  previous release to one that was in 3.4 (SetType, set), because
  third-party code could be dependent on that order. The one
  example is z3c.form's converter.

3.5.0a1 (2008-10-10)
--------------------

- Added the doctests to the long description.

- Removed use of deprecated 'sets' module when running under Python 2.6.

- Removed spurious doctest failure when running under Python 2.6.

- Added support to bootstrap on Jython.

- Added helper methods for schema validation: ``getValidationErrors``
  and ``getSchemaValidationErrors``.

- zope.schema now works on Python2.5

3.4.0 (2007-09-28)
------------------

Added BeforeObjectAssignedEvent that is triggered before the object
field sets a value.

3.3.0 (2007-03-15)
------------------

Corresponds to the version of the zope.schema package shipped as part of
the Zope 3.3.0 release.

3.2.1 (2006-03-26)
------------------

Corresponds to the version of the zope.schema package shipped as part of
the Zope 3.2.1 release.

Fixed missing import of 'VocabularyRegistryError'.  See
http://www.zope.org/Collectors/Zope3-dev/544 .

3.2.0 (2006-01-05)
------------------

Corresponds to the version of the zope.schema package shipped as part of
the Zope 3.2.0 release.

Added "iterable" sources to replace vocabularies, which are now deprecated
and scheduled for removal in Zope 3.3.

3.1.0 (2005-10-03)
------------------

Corresponds to the version of the zope.schema package shipped as part of
the Zope 3.1.0 release.

Allowed 'Choice' fields to take either a 'vocabulary' or a 'source'
argument (sources are a simpler implementation).

Added 'TimeDelta' and 'ASCIILine' field types.

3.0.0 (2004-11-07)
------------------

Corresponds to the version of the zope.schema package shipped as part of
the Zope X3.0.0 release.
