/
changes.txt
155 lines (97 loc) · 4.04 KB
/
changes.txt
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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
Changes
=======
.. currentmodule:: mush
2.8.1 (14 February 2020)
------------------------
- Fix bug that resulted in lazy resources being cached across separate
runs.
2.8.0 (10 February 2020)
------------------------
- Add support for lazy resources.
2.7.2 (20 September 2017)
-------------------------
- Fix bugs relating to :ref:`default configuration <default-configuration>`
of :func:`functools.partial`.
2.7.1 (7 September 2017)
------------------------
- Use the original's requirements when the replacement passed to
:meth:`Runner.replace` has no specified requirements of its own.
2.7.0 (7 September 2017)
------------------------
- Move to `pytest`__ and `sybil`__ for testing.
- Drop support for Python 3.3.
- Add :func:`~mush.declarations.update_wrapper` helper.
- Add support for using Python 3 :ref:`type annotations <type-annotations>`
to specify requirements and returned resources.
- Add support for :ref:`arg names <default-configuration>` being used as
requirements when there is no other configuration.
- Add an explicit way of :attr:`ignoring <mush.declarations.nothing>` the return value of a
callable.
__ https://docs.pytest.org/en/latest/
__ http://sybil.readthedocs.io/en/latest/
2.6.0 (6 February 2017)
-----------------------
- Allow replacement of a callable to also supply new requirements.
- Officially support Python 3.6.
2.5.0 (23 November 2016)
------------------------
- Allow :class:`Plug` instances to be added directly using :meth:`Runner.add`
and friends.
2.4.0 (17 November 2016)
------------------------
- Add support for cloning depending on what label was used to add callables.
- Add :meth:`Runner.add_label` helper to just add a label at the end of the
runner.
- Document and flesh out :ref:`plugs`.
- Switch to full `Semantic Versioning`__.
__ http://semver.org/
2.3 (24 June 2016)
------------------
- Stop catching :class:`TypeError` and turning it into a
:class:`~context.ContextError` when calling a :class:`Runner`. This turns out
to be massively unhelpful, especially when using Python 2.
2.2 (2 January 2016)
--------------------
- Add :class:`Plug` base class.
2.1 (14 December 2015)
----------------------
- Typo fixes in documentation.
- Indicate that Python 2.6 is no longer supported.
- Raise exceptions when arguments to :func:`requires` and :func:`returns` are
not either types or labels.
- Allow tuples are lists to be passed to :meth:`~modifier.Modifier.add`,
they will automatically be turned into a :func:`requires` or :func:`returns`.
- Better error messages when a requirement is not found in the
:class:`~context.Context`.
Thanks to Dani Fortunov for the documentation review.
2.0 (11 December 2015)
----------------------
- Re-write dropping all the heuristic callable ordering in favour of building
up defined sequences of callables with labelled insertion points.
1.3 (21 October 2015)
---------------------
- Official support for Python 3.
- Drop official support for Windows, although things should still work.
- Move to Travis CI, Read The Docs and Coveralls for development.
- 'How' decorators like :func:`attr` and :func:`item` can now be nested
as well as individually performing nested actions.
- Add :func:`returns` and :meth:`~Runner.add_returning` as new ways to
override the type of a returned value.
- A better pattern for "marker types".
1.2 (11 December 2013)
----------------------
- Use :obj:`nothing` instead of ``None`` for marker return types,
fixing a bug that occurred when a callable tried to type-map a
result that was ``None``.
- Add an :func:`after` type wrapper for callables that need to wait
until after a resource is used but that can't accept that resource
as a parameter.
1.1 (27 November 2013)
----------------------
- Allow runners to be instantiated using other runners.
- Allow :meth:`Runner.extend` to be passed :class:`Runner` instances.
- Allow :func:`requires` decorations to be stacked.
- Add a :meth:`Runner.replace` method to aid with testing assembled runners.
1.0 (29 October 2013)
-----------------------
- Initial Release