File: Changes.rst

package info (click to toggle)
python-dugong 3.7.4+dfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, sid
  • size: 572 kB
  • sloc: python: 2,720; makefile: 25; sh: 7
file content (203 lines) | stat: -rw-r--r-- 6,668 bytes parent folder | download | duplicates (2)
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
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
.. currentmodule:: dugong

Release 3.7.4 (2019-01-19)
==========================

* All traffic can now be dumped for debugging purposes using the
  `DUGONG_TRACEFILE` environment variable. Make sure to include `%d`
  somewhere in the filename - it will be replaced with a unique number
  to distinguish between different connections.

Release 3.7.3 (2018-04-29)
==========================

* Minor bugfixes.

Release 3.7.2 (2018-02-11)
==========================

* Now compatible with py.test 3.3

Release 3.7.1 (2017-06-05)
==========================

* Now compatible with Python 3.6.

Release 3.7 (2016-06-20)
========================

* Dugong now supports server responses that specify just ``Connection:
  close`` instead of providing the response length or using chunked
  encoding.

* Dugong now honors the `~ssl.SSLContext.check_hostname` attribute of
  `~ssl.SSLContext` objects.

Release 3.6 (2016-04-23)
========================

* Dugong now uses semantic versioning. This means that
  backwards-incompatible versions (i.e., versions that change the
  existing API in some way) will be reflected in an increase of the
  major version number, i.e. the next backwards-incompatible version
  will have version 4.0.

* Various minor bugfixes.

Release 3.5 (2015-01-31)
========================

* The `is_temp_network_error` function now knows about more kinds of
  temporary errors, in particular also about those that do not have a
  corresponding Python exception (e.g. no route to host).

Release 3.4 (2014-11-29)
========================

* The :file:`examples/extract_links.py` script is now Python 3.3
  compatible again.

* Dugong now has proper proxy support for plain HTTP
  connections. Thanks to Vincent Bernat for the patch.

* Dugong now raises `DNSUnavailable` or `HostnameNotResolvable`
  exceptions instead of the more generic `socket.gaierror` and
  `socket.herror` exceptions where possible.

Release 3.3 (2014-08-06)
========================

* It was possible for some methods to raise `BrokenPipeError`, or
  `ConnectionResetError` instead of `ConnectionClosed` (especially
  under FreeBSD). This has now been fixed.

* It was possible for methods that need to read data from the server
  to raise `AssertionError` in some circumstances. This has been
  fixed.

Release 3.2 (2014-07-27)
========================

* A `HTTPConnection` instance can now be used as a context manager.

* If a connection is closed unexpectedly while request body data is
  being written to the server (i.e., during a call to
  `HTTPConnection.write` or `HTTPConnection.co_write`), dugong now
  pretends that the body has been sent to the server completely (while
  still raising `ConnectionClosed`).

  This makes it possible to catch the exception and nevertheless call
  `~HTTPConnection.read_response` (or
  `~HTTPConnection.co_read_response`) to try to read an error response
  that the server may have sent during the upload (if no response has
  been received, `ConnectionClosed` will be raised again).

* `is_temp_network_error` now actively tries to distinguish between
  permanent and temporary name resolution problems by attempting to
  resolve a number of test hostnames.

* `HTTPConnection` has a new `~HTTPConnection.timeout`
  attribute. Regular `HTTPConnection` methods (i.e., no coroutines)
  will now raise `ConnectionTimedOut` if no data could be send or
  received for *timeout* seconds.

Release 3.1 (2014-06-28)
========================

* Fixed a problem with some testcases failing with a BrokenPipeError.

* Fixed a bug that, in some cases, resulted in additional ``\0`` bytes
  being appended at the end of the response body, or in an incorrect
  `InvalidResponse` exception being raised.

* When trying to continue reading or writing body data after calling
  `HTTPConnection.disconnect`, dugong now raises `ConnectionClosed`
  instead of `AttributeError`.

Release 3.0, (2014-04-20)
=========================

* Major version bump because of backwards incompatible changes.

* Added `HTTPConnection.read_raw` method.

* The `PollNeeded` class now uses the `!select.POLLIN` and
  `!select.POLLOUT` constants instead of `!select.EPOLLIN` and
  `!select.EPOLLOUT` to signal what kind of I/O needs to be
  performed. This makes dugong compatible with systems lacking epoll
  (e.g. FreeBSD).

* The unit tests now check if the host is reachable before trying to
  run the example scripts. This avoids bogus test errors if
  there is no internet connection or if the remote host is down.
  (issue #7).


Release 2.2 (2014-03-14)
========================

* Unittests requiring the `asyncio` module are now skipped if this
  module is not available.


Release 2.1 (2014-03-11)
========================

* Fixed a problem where data was not sent to the server if the syscall
  was interrupted by a signal.

* It is no longer necessary to read from response body at least once
  even if has zero length.

* `PollNeeded.poll` now uses `select.poll` instead of
  `select.select`. This avoids a "filedescriptor out of range"
  exception that may be raised by `select.select` when the
  filedescriptor exceeds some system-specific value.


Release 2.0 (2014-02-23)
========================

* Renamed module from *httpio* to *dugong*.

* The coroutine based API was completely overhauled.

* Introduced `BodyFollowing` class for use with *body* parameter of
  `~HTTPConnection.send_request` method.

* `~HTTPConnection.send_request` now returns a `HTTPResponse` instance
  instead of a tuple.

* The :meth:`!HTTPConnection.get_current_response` method has been removed.

* The :meth:`!HTTPConnection.fileno` method has been removed.

* Added `CaseInsensitiveDict` class.

* `~HTTPConnection.send_request` now converts the *header* parameter
  to a `CaseInsensitiveDict`.

* `~HTTPConnection.send_request` now automatically generates a
  ``Content-MD5`` header when the body is passed in as a bytes-like
  object.

* `HTTPConnection.read` now accepts `None` for the *len_* parameter.

* `HTTPConnection` instances now support a bare-bones `io.IOBase`
  interface so that they can be combined with `io.TextIOWrapper` to
  read text response bodies.

* The :meth:`!HTTPConnection.close` method was renamed to
  `HTTPConnection.disconnect` to prevent confusion related to the
  ``closed`` attribute (which may be `True` if the connection is
  established, but there is no active response body).

* Repeatedly trying to read more response data after the response body
  has been read completely no longer results in `StateError`  being
  raised, but simply returns ``b''``.


Release 1.0 (2013-07-13)
========================

* Initial release.