Changelog History
Page 2
-
v1.3.2 Changes
January 31, 2017๐ Python 3.6 support.
๐ Allow deferred schema nodes. See https://github.com/Pylons/colander/pull/280
๐ Fix an issue when using a node multiple times in a schema by cloning it. See https://github.com/Pylons/colander/issues/279
๐ Fix a regression that broke
SequenceSchema.clone
. See https://github.com/Pylons/colander/pull/275โก๏ธ Update german translations. See https://github.com/Pylons/colander/pull/273
Recompile language files. See https://github.com/Pylons/colander/pull/270
-
v1.3.1 Changes
May 23, 2016- ๐ 1.3 was released without updating the changelog. This release fixes that.
-
v1.3 Changes
May 23, 2016โฌ๏ธ Drop Python 2.6 and PyPy3 from the test suite. They are no longer supported. See https://github.com/Pylons/colander/pull/263
๐
colander.String
schema type now supports an optional keyword argumentallow_empty
which, when True, deserializes an empty string to an empty string. When False (default), an empty string deserializes tocolander.null
. This allows for a node to be explicitly required, but allow an empty ('') value to be provided. https://github.com/Pylons/colander/pull/199โ Add
separator
parameter tocolander.Invalid.asdict
(for backward compatibility, default is '; '). See https://github.com/Pylons/colander/pull/253๐ Fixed an issue with
SchemaNode.clone
where it would fail when cloning an instance ofcolander.SequenceSchema
due to initializing the schema without any children, violating some checks. See https://github.com/Pylons/colander/pull/212
-
v1.2 Changes
January 18, 2016๐ Features
โ Add new exception
UnsupportedFields
. Used to pass to the caller a list of extra fields detected in a cstruct during deserialize. See https://github.com/Pylons/colander/pull/241โ Add
drop
functionality toSequence
type. See https://github.com/Pylons/colander/pull/225
๐ Bug Fixes
SchemaNode
will no longer assume the first argument to the constructor is the schema type. This allows it to properly fallback to using theschema_type
class attribute on subclasses even when using the imperative API to pass options to the constructor.๐ Fix a bug in which
MappingSchema
,SequenceSchema
andTupleSchema
would always treat the first arg as the schema type. This meant that it would fail if passed only nodes to the constructor despite the default type being implied by the name. It is now possible to doMappingSchema(child1, child2, ...)
instead ofMappingSchema(Mapping(), child1, child2)
.
๐ Translations
- โ Added Finnish translations:
fi
See https://github.com/Pylons/colander/pull/243
-
v1.1 Changes
January 15, 2016Platform
- โ Add explicit support for Python 3.4, Python 3.5 and PyPy3.
๐ Features
Add
min_err
andmax_err
arguments toLength
, allowing customization of its error messages.โ Add
colander.Any
validator: succeeds if at least one of its subvalidators succeeded.๐ Allow localization of error messages returned by
colander.Invalid.asdict
by adding an optionaltranslate
callable argument.โ Add a
missing_msg
argument toSchemaNode
, allowing customization of the error message used when the node is required and missing.โ Add
NoneOf
validator which succeeds if the value is none of the choices.โ Add
normalize
option toDecimal
, stripping the rightmost trailing zeros.
๐ Bug Fixes
๐ Fix an issue where the
flatten()
method produces an invalid name (ex: "answer.0.") for the typeSequence
. See https://github.com/Pylons/colander/issues/179๐ Fixed issue with
String
not being properly encoded when non-string values were passed intoserialize()
See#235 <https://github.com/Pylons/colander/pull/235>
_title
was being overwritten when made a child through defining a schema as a class. See https://github.com/Pylons/colander/pull/239
๐ Translations
โ Added new translations:
el
โก๏ธ Updated translations:
fr
,de
,ja
-
v1.0 Changes
November 26, 2014Backwards Incompatibilities
SchemaNode.deserialize
will now raise anUnboundDeferredError
if the node has an unbound deferred validator. Previously, deferred validators were silently ignored. See https://github.com/Pylons/colander/issues/47
๐ Bug Fixes
โ Removed forked
iso8601
and change to dependency on PyPIiso8601
(due to float rounding bug on microsecond portion when parsing iso8601 datetime string). Left aniso8601.py
stub for backwards compatibility.Time of "00:00" no longer gives
colander.Invalid
.Un-break wrapping of callable instances as
colander.deferred
. See https://github.com/Pylons/colander/issues/141.Set the max length TLD to 22 in
Email
validator based on the current list of valid TLDs. See https://github.com/Pylons/colander/issues/159๐ Fix an issue where
drop
was not recognized as a default and was returning thedrop
instance instead of omitting the value. https://github.com/Pylons/colander/issues/139๐ Fix an issue where the
SchemaNode.title
was clobbered by thename
when defined as a class attribute. See https://github.com/Pylons/colander/pull/183 and https://github.com/Pylons/colander/pull/185
๐ Translations
- โก๏ธ Updated translations:
fr
,de
,ja
-
v1.0.b1 Changes
September 01, 2013๐ Bug Fixes
๐ In 1.0a1, there was a change merged from https://github.com/Pylons/colander/pull/73 which made it possible to supply
None
as thedefault
value for a String type, and upon serialization, the value would be rendered ascolander.null
if the default were used. This confused people who were actually supplying the valueNone
as a default when the associated appstruct had no value, so the change has been reverted. When you supplyNone
as thedefault
argument to a String, the rendered serialize() value will again be'None'
. Sorry.Normalize
colander.Function
argumentmessage
to bemsg
. This now matches other APIs within Colander. Themessage
argument is now deprecated and a warning will be emitted. https://github.com/Pylons/colander/issues/31 https://github.com/Pylons/colander/issues/64iso8601.py
: ConvertValueError
(raised bydatetime
) intoParseErrorr
inparse_date
, so that the validation machinery upstream handles it properly.๐
iso8601.py
: Correctly parse datetimes with a timezone of Z even when the default_timezone is set. These previously had the default timezone.colander.String
schema type now raisescolander.Invalid
when trying to deserialize a non-string item. See https://github.com/Pylons/colander/issues/100
๐ Features
โ Add
colander.List
type, modeled ondeform.List
: this type preserves ordering, and allows duplicates.0๏ธโฃ It is now possible to use the value
colander.drop
as thedefault
value for items that are subitems of a mapping. Ifcolander.drop
is used as thedefault
for a subnode of a mapping schema, and the mapping appstruct being serialized does not have a value for that schema node, the value will be omitted from the serialized mapping. For instance, the following script, when run would not raise an assertion error::class What(colander.MappingSchema): thing = colander.SchemaNode(colander.String(), default=colander.drop)
result = What().serialize({}) # no "thing" in mapping assert result == {}
The
typ
of aSchemaNode
can optionally be pased in as a keyword argument. See https://github.com/Pylons/colander/issues/90๐ Allow interpolation of
missing_msg
with propertiestitle
andname
-
v1.0.a5 Changes
May 31, 2013- ๐ Fix bug introduced by supporting spec-mandated truncations of ISO-8601 timezones. A TypeError would be raised instead of Invalid. See https://github.com/Pylons/colander/issues/111.
-
v1.0.a4 Changes
May 21, 2013Loosen Email validator regex (permit apostrophes, bang, etc in localpart).
๐ Allow for timezone info objects to be pickled and unpickled "more correctly" (Use 'getinitargs' to provide unpickling-only defaults). See https://github.com/Pylons/colander/pull/108.
-
v1.0.a3 Changes
May 16, 2013๐ Features
๐ Support spec-mandated truncations of ISO-8601 timezones.
๐ Support spec-mandated truncations of ISO-8601 datetimes.
๐ Allow specifying custom representations of values for boolean fields.
๐ Bug Fixes
๐ Ensure that
colander.iso8601.FixedOffset
instances can be unpickled.Avoid validating strings as sequences under Py3k.
๐ Sync documentation with 0.9.9 change to use
insert_before
rather thanschema_order
. See https://github.com/Pylons/colander/issues/104