1
+ 1.7.1
2
+ =====
3
+
4
+ - Tweak to generation of sphinx choices so TypedLists use choices from type.
5
+ - Fix issue in Sphinx plugin where ``choices_doc_text`` was not used to format
6
+ choice values.
7
+ - Add TypedDictField to docs
8
+
1
9
1.7.0
2
10
=====
3
11
4
- - Migrate from collections.Iterable to typeing .Iterable to remove a warning
12
+ - Migrate from collections.Iterable to typing .Iterable to remove a warning
5
13
- Add user defined metadata to Resource.Meta object
6
- - Add a reserved word guard, starting with fields (using fields causes clean_fields to go into a infinite recursion loop)
14
+ - Add a reserved word guard, starting with fields (using fields causes
15
+ clean_fields to go into a infinite recursion loop)
7
16
8
17
1.6.2
9
18
=====
30
39
31
40
1.5.2
32
41
=====
33
- - Relax overly tight dependency specification. Removed pyup.io it is not suitable for packages.
42
+ - Relax overly tight dependency specification. Removed pyup.io it is not suitable
43
+ for packages.
34
44
35
45
1.5
36
46
===
39
49
40
50
1.0b2
41
51
=====
42
- - Added a redesigned CSV codec Reader to address issues with handling row-by-row processing and handling of row-level errors.
52
+ - Added a redesigned CSV codec Reader to address issues with handling row-by-row
53
+ processing and handling of row-level errors.
43
54
- Removed filter-query (moved to feature branch)
44
55
45
56
0.10b9
46
57
======
47
- - Added support for MultiPartField field type. A virtual field that allows for the easy generation of key values
48
- composed of several other fields.
58
+ - Added support for MultiPartField field type. A virtual field that allows for
59
+ the easy generation of key values composed of several other fields.
49
60
- Documentation updates and some initial type hints added (using :type... style)
50
61
- Allow a virtual field to be identified as a key
51
- - Introduce a common base class for ALL field types, this allows them to be identified separatly via hash (for sorting and keys)
52
- - Tweaked the new string.empty option so by default it behaves in the same way as it was previously defined (eg null assumes empty)
62
+ - Introduce a common base class for ALL field types, this allows them to be identified
63
+ separately via hash (for sorting and keys)
64
+ - Tweaked the new string.empty option so by default it behaves in the same way as
65
+ it was previously defined (eg null assumes empty)
53
66
54
67
0.10b
55
68
=====
56
- - Possible breaking change with date and time serializers, they no longer apply a timezone as this is expected to be
57
- managed by date and time fields.
69
+ - Possible breaking change with date and time serializers, they no longer apply
70
+ a timezone as this is expected to be managed by date and time fields.
58
71
- Added getmeta tool for getting meta data.
59
72
- Changes to Resource/Meta options to allow for them to be overridden.
60
73
- Fixes regarding ResourceBase/Resource changes
75
88
=====
76
89
77
90
- Migrated all tests to py.test
78
- - Support for Python 2.6 for _most_ features (some contrib features are not supported see docs for detail)
91
+ - Support for Python 2.6 for _most_ features (some contrib features are not supported
92
+ see docs for detail)
79
93
80
94
0.8.1
81
95
=====
82
96
83
- - Bug fix for compatibility.deprecated decorator. Was breaking baldr when handling classes.
97
+ - Bug fix for compatibility.deprecated decorator. Was breaking baldr when handling
98
+ classes.
84
99
- Some documentation fixes.
85
100
86
101
0.8
87
102
===
88
103
89
- - Added key_fields to resource meta options. This allows definition of which field(s) are used to uniquely identify the
90
- resource.
91
- - Added support to TraversalPath (and ResourceTraversalIterator) for using key_fields, both generating and traversing a
92
- Resource tree.
104
+ - Added key_fields to resource meta options. This allows definition of which field(s)
105
+ are used to uniquely identify the resource.
106
+ - Added support to TraversalPath (and ResourceTraversalIterator) for using key_fields,
107
+ both generating and traversing a Resource tree.
93
108
- CodecDecodeError and CodecEncodeError now inherit off CodecError.
94
- - TraversalPath now raises multiple error types InvalidPathError, NoMatchError, and MultipleMatchesError
95
- - Some additional tweaks to inspect tool, as of now is still only available to Python 3.
109
+ - TraversalPath now raises multiple error types InvalidPathError, NoMatchError,
110
+ and MultipleMatchesError
111
+ - Some additional tweaks to inspect tool, as of now is still only available to
112
+ Python 3.
96
113
- Additional test cases.
97
114
98
115
0.7
99
116
===
100
117
101
118
- Python 3.5 added for Travis CI test runner
102
- - Added empty flag to ListOf and DictOf files to validate if fields is allowed to be empty
119
+ - Added empty flag to ListOf and DictOf files to validate if fields is allowed to
120
+ be empty
103
121
- Added key_choices to DictOf field to allow allow keys to be validated
104
122
- Added TypedDictField this is a analog of the TypedListField but for dict objects
105
123
- Project is now owned by the python-odin group
106
- - Initial work on combined string serialisation framework. This is to unify text serialisation support between the
107
- various codecs so additional serialises only need to be registered in a central location.
108
- - Added DictCodec, this is codec for converting between a dict structure and resource structure. As Resource.to_dict
109
- is explicitly designed to not act in a recursively this codec fills in a gap where a developer my require a nested
110
- dict to be generated.
111
- - Initial implementation of resource filtering. Filtering allows for a filter expression to be defined and used to
112
- filter a list of resources or ensure a particular resource matches the expression. Expressions are easy to define and
113
- read and allow for filtering against sub-resources etc.
114
- - Added caching to the results of mapping operations. Previously iterating through a mapping multiple times caused the
115
- mapping to be re-run. This has been made the default behaviour, if the previous behaviour is desired the MappingResult
116
- class can be provided to Mapping.apply instead of CachingMappingResult.
117
- - ResourceAdapter.apply_to now caches Meta object of matching resources types, previously a new meta object was created
118
- for each resource.
124
+ - Initial work on combined string serialisation framework. This is to unify text
125
+ serialisation support between the various codecs so additional serialises only
126
+ need to be registered in a central location.
127
+ - Added DictCodec, this is codec for converting between a dict structure and resource
128
+ structure. As Resource.to_dict is explicitly designed to not act in a recursively
129
+ this codec fills in a gap where a developer my require a nested dict to be generated.
130
+ - Initial implementation of resource filtering. Filtering allows for a filter expression
131
+ to be defined and used to filter a list of resources or ensure a particular resource
132
+ matches the expression. Expressions are easy to define and read and allow for
133
+ filtering against sub-resources etc.
134
+ - Added caching to the results of mapping operations. Previously iterating through
135
+ a mapping multiple times caused the mapping to be re-run. This has been made the
136
+ default behaviour, if the previous behaviour is desired the MappingResult class
137
+ can be provided to Mapping.apply instead of CachingMappingResult.
138
+ - ResourceAdapter.apply_to now caches Meta object of matching resources types, previously
139
+ a new meta object was created for each resource.
119
140
- ResourceAdapterOptions.virtual_fields is now filtered using include/exclude options.
120
141
- More tests, more docs
121
142
- Various bug fixes.
@@ -130,20 +151,24 @@ Odin
130
151
- Pass through excluded_fields when generating types in mapping factory.
131
152
- Added ignored fields parameter to be provided to Resource.convert_to method.
132
153
- Added included fields parameter to the Mapping.update method
133
- - Updated the ResourceAdapter interface to match that of a normal Resource, can now be used in place of a Resource with
134
- any codec.
135
- - Added ResourceAdapter.apply_to method that simplifies applying a resource adapter to a list of Resources.
154
+ - Updated the ResourceAdapter interface to match that of a normal Resource, can
155
+ now be used in place of a Resource with any codec.
156
+ - Added ResourceAdapter.apply_to method that simplifies applying a resource adapter
157
+ to a list of Resources.
136
158
- Updated create_resource_from_dict to accept a list and return a list of resources.
137
- - Fixed bug in auto-mapping generation of MapListOf fields to set the to_list flag correctly
138
- - Added forward_mapping_factory a shortcut version of mapping_factory when only a forward mapping is required.
139
- - Added the assign (similar to the define shortcut) shortcut for defining an assignment mapping
140
- - Fixed a bug where performing a full clean on a Resource that was created via a mapping would fail when a
141
- MappingResult object was encountered.
159
+ - Fixed bug in auto-mapping generation of MapListOf fields to set the to_list flag
160
+ correctly
161
+ - Added forward_mapping_factory a shortcut version of mapping_factory when only
162
+ a forward mapping is required.
163
+ - Added the assign (similar to the define shortcut) shortcut for defining an assignment
164
+ mapping
165
+ - Fixed a bug where performing a full clean on a Resource that was created via a
166
+ mapping would fail when a MappingResult object was encountered.
142
167
- Added ResourceOptions.element_field_map for use in XML codecs
143
168
- Added container flag and ResourceOptions.container_fields for XML style codecs
144
169
- Large number of documentation updates
145
- - Fixed bug where Mapping.loop_idx was not being updated correctly, after 2 levels of nesting the wrong index was being
146
- updated.
170
+ - Fixed bug where Mapping.loop_idx was not being updated correctly, after 2 levels
171
+ of nesting the wrong index was being updated.
147
172
148
173
Sphinx Integration
149
174
------------------
0 commit comments