Skip to content

Commit f444127

Browse files
authored
Merge pull request #118 from python-odin/release/1.7.1
Release/1.7.1
2 parents bcb54fb + 8b1ea7f commit f444127

File tree

15 files changed

+1051
-472
lines changed

15 files changed

+1051
-472
lines changed

.coveragerc

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
source = odin
33

44
[report]
5-
omit = */contrib/doc_gen/*,*/contrib/sphinx/*,*/contrib/inspect/*
5+
omit = */contrib/doc_gen/*,*/contrib/inspect/*

HISTORY

+67-42
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,18 @@
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+
19
1.7.0
210
=====
311

4-
- Migrate from collections.Iterable to typeing.Iterable to remove a warning
12+
- Migrate from collections.Iterable to typing.Iterable to remove a warning
513
- 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)
716

817
1.6.2
918
=====
@@ -30,7 +39,8 @@
3039

3140
1.5.2
3241
=====
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.
3444

3545
1.5
3646
===
@@ -39,22 +49,25 @@
3949

4050
1.0b2
4151
=====
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.
4354
- Removed filter-query (moved to feature branch)
4455

4556
0.10b9
4657
======
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.
4960
- Documentation updates and some initial type hints added (using :type... style)
5061
- 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)
5366

5467
0.10b
5568
=====
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.
5871
- Added getmeta tool for getting meta data.
5972
- Changes to Resource/Meta options to allow for them to be overridden.
6073
- Fixes regarding ResourceBase/Resource changes
@@ -75,47 +88,55 @@
7588
=====
7689

7790
- 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)
7993

8094
0.8.1
8195
=====
8296

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.
8499
- Some documentation fixes.
85100

86101
0.8
87102
===
88103

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.
93108
- 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.
96113
- Additional test cases.
97114

98115
0.7
99116
===
100117

101118
- 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
103121
- Added key_choices to DictOf field to allow allow keys to be validated
104122
- Added TypedDictField this is a analog of the TypedListField but for dict objects
105123
- 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.
119140
- ResourceAdapterOptions.virtual_fields is now filtered using include/exclude options.
120141
- More tests, more docs
121142
- Various bug fixes.
@@ -130,20 +151,24 @@ Odin
130151
- Pass through excluded_fields when generating types in mapping factory.
131152
- Added ignored fields parameter to be provided to Resource.convert_to method.
132153
- 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.
136158
- 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.
142167
- Added ResourceOptions.element_field_map for use in XML codecs
143168
- Added container flag and ResourceOptions.container_fields for XML style codecs
144169
- 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.
147172

148173
Sphinx Integration
149174
------------------

README.rst

-8
Original file line numberDiff line numberDiff line change
@@ -165,11 +165,3 @@ Authors
165165
*******
166166

167167
Tim Savage
168-
169-
170-
Special Mention
171-
***************
172-
173-
I would like to acknowledge the strong influence on the design of Odin Resources from the Django ORM and it's notable
174-
contributor Malcolm Tredinnick. He was a valued colleague who's untimely passing left a large void in our company and
175-
the wider community.

docs/change-history.rst

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
##############
2+
Change History
3+
##############
4+
5+
.. include:: ../HISTORY

0 commit comments

Comments
 (0)