forked from python-odin/odin
-
Notifications
You must be signed in to change notification settings - Fork 0
/
HISTORY
113 lines (95 loc) · 5.28 KB
/
HISTORY
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
1.0b2
=====
- Added a redesigned CSV codec Reader to address issues with handling row-by-row processing and handling of row-level errors.
- Removed filter-query (moved to feature branch)
0.10b9
======
- Added support for MultiPartField field type. A virtual field that allows for the easy generation of key values
composed of several other fields.
- Documentation updates and some initial type hints added (using :type... style)
- Allow a virtual field to be identified as a key
- Introduce a common base class for ALL field types, this allows them to be identified separatly via hash (for sorting and keys)
- Tweaked the new string.empty option so by default it behaves in the same way as it was previously defined (eg null assumes empty)
0.10b
=====
- Possible breaking change with date and time serializers, they no longer apply a timezone as this is expected to be
managed by date and time fields.
- Added getmeta tool for getting meta data.
- Changes to Resource/Meta options to allow for them to be overridden.
- Fixes regarding ResourceBase/Resource changes
0.9
===
- Fixed bug preparing naive date and time values.
0.9a0
=====
- Support for multipart keys.
- Support for naive dates and times.
- Boolean fields now accept y/n as truthy
- Change of Resource iterable base class
0.8.2
=====
- Migrated all tests to py.test
- Support for Python 2.6 for _most_ features (some contrib features are not supported see docs for detail)
0.8.1
=====
- Bug fix for compatibility.deprecated decorator. Was breaking baldr when handling classes.
- Some documentation fixes.
0.8
===
- Added key_fields to resource meta options. This allows definition of which field(s) are used to uniquely identify the
resource.
- Added support to TraversalPath (and ResourceTraversalIterator) for using key_fields, both generating and traversing a
Resource tree.
- CodecDecodeError and CodecEncodeError now inherit off CodecError.
- TraversalPath now raises multiple error types InvalidPathError, NoMatchError, and MultipleMatchesError
- Some additional tweaks to inspect tool, as of now is still only available to Python 3.
- Additional test cases.
0.7
===
- Python 3.5 added for Travis CI test runner
- Added empty flag to ListOf and DictOf files to validate if fields is allowed to be empty
- Added key_choices to DictOf field to allow allow keys to be validated
- Added TypedDictField this is a analog of the TypedListField but for dict objects
- Project is now owned by the python-odin group
- Initial work on combined string serialisation framework. This is to unify text serialisation support between the
various codecs so additional serialises only need to be registered in a central location.
- Added DictCodec, this is codec for converting between a dict structure and resource structure. As Resource.to_dict
is explicitly designed to not act in a recursively this codec fills in a gap where a developer my require a nested
dict to be generated.
- Initial implementation of resource filtering. Filtering allows for a filter expression to be defined and used to
filter a list of resources or ensure a particular resource matches the expression. Expressions are easy to define and
read and allow for filtering against sub-resources etc.
- Added caching to the results of mapping operations. Previously iterating through a mapping multiple times caused the
mapping to be re-run. This has been made the default behaviour, if the previous behaviour is desired the MappingResult
class can be provided to Mapping.apply instead of CachingMappingResult.
- ResourceAdapter.apply_to now caches Meta object of matching resources types, previously a new meta object was created
for each resource.
- ResourceAdapterOptions.virtual_fields is now filtered using include/exclude options.
- More tests, more docs
- Various bug fixes.
0.6
===
Odin
----
- Changed the generated type name for mapping factory to ensure a more unique name.
- Pass through excluded_fields when generating types in mapping factory.
- Added ignored fields parameter to be provided to Resource.convert_to method.
- Added included fields parameter to the Mapping.update method
- Updated the ResourceAdapter interface to match that of a normal Resource, can now be used in place of a Resource with
any codec.
- Added ResourceAdapter.apply_to method that simplifies applying a resource adapter to a list of Resources.
- Updated create_resource_from_dict to accept a list and return a list of resources.
- Fixed bug in auto-mapping generation of MapListOf fields to set the to_list flag correctly
- Added forward_mapping_factory a shortcut version of mapping_factory when only a forward mapping is required.
- Added the assign (similar to the define shortcut) shortcut for defining an assignment mapping
- Fixed a bug where performing a full clean on a Resource that was created via a mapping would fail when a
MappingResult object was encountered.
- Added ResourceOptions.element_field_map for use in XML codecs
- Added container flag and ResourceOptions.container_fields for XML style codecs
- Large number of documentation updates
- Fixed bug where Mapping.loop_idx was not being updated correctly, after 2 levels of nesting the wrong index was being
updated.
Sphinx Integration
------------------
- Add max length into resource documentation
- Added description to validators that can be used in sphinx documentation