-
Notifications
You must be signed in to change notification settings - Fork 53
/
Copy pathchangelog.html
251 lines (250 loc) · 11.5 KB
/
changelog.html
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
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta charset="utf-8" />
<meta name="generator" content="Docutils 0.21.2: https://docutils.sourceforge.io/" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Changelog for DBUtils</title>
<link rel="stylesheet" href="doc.css" type="text/css" />
</head>
<body>
<main id="changelog-for-dbutils">
<h1 class="title">Changelog for DBUtils</h1>
<section id="section-1">
<h2>3.1.0</h2>
<p>DBUtils 3.1.0 was released on March 17, 2024.</p>
<p>Changes:</p>
<ul class="simple">
<li><p>Support Python version 3.12, cease support for Python 3.6.</p></li>
<li><p>Various small internal improvements and modernizations.</p></li>
</ul>
</section>
<section id="section-2">
<h2>3.0.3</h2>
<p>DBUtils 3.0.3 was released on April 27, 2023.</p>
<p>Changes:</p>
<ul class="simple">
<li><p>Support Python version 3.11.</p></li>
<li><p>Improve determination of DB API module if creator is specified.</p></li>
<li><p>Minor fixes and section an advanced usage in docs.</p></li>
</ul>
</section>
<section id="section-3">
<h2>3.0.2</h2>
<p>DBUtils 3.0.2 was released on January 14, 2022.</p>
<p>The optional iterator protocol on cursors is now supported.</p>
</section>
<section id="section-4">
<h2>3.0.1</h2>
<p>DBUtils 3.0.1 was released on December 22, 2021.</p>
<p>It includes <span class="docutils literal">InterfaceError</span> to the default list of exceptions
for which the connection failover mechanism is applied.
You can override this with the <span class="docutils literal">failures</span> parameter.</p>
</section>
<section id="section-5">
<h2>3.0.0</h2>
<p>DBUtils 3.0.0 was released on November 26, 2021.</p>
<p>It is intended to be used with Python versions 3.6 to 3.10.</p>
<p>Changes:</p>
<ul class="simple">
<li><p>Cease support for Python 2 and 3.5, minor optimizations.</p></li>
</ul>
</section>
<section id="section-6">
<h2>2.0.3</h2>
<p>DBUtils 2.0.3 was released on November 26, 2021.</p>
<p>Changes:</p>
<ul class="simple">
<li><p>Support Python version 3.10.</p></li>
</ul>
</section>
<section id="section-7">
<h2>2.0.2</h2>
<p>DBUtils 2.0.2 was released on June 8, 2021.</p>
<p>Changes:</p>
<ul class="simple">
<li><p>Allow using context managers for pooled connections.</p></li>
</ul>
</section>
<section id="section-8">
<h2>2.0.1</h2>
<p>DBUtils 2.0.1 was released on April 8, 2021.</p>
<p>Changes:</p>
<ul class="simple">
<li><p>Avoid "name Exception is not defined" when exiting.</p></li>
</ul>
</section>
<section id="section-9">
<h2>2.0</h2>
<p>DBUtils 2.0 was released on September 26, 2020.</p>
<p>It is intended to be used with Python versions 2.7 and 3.5 to 3.9.</p>
<p>Changes:</p>
<ul class="simple">
<li><p>DBUtils does not act as a Webware plugin anymore, it is now just an ordinary
Python package (of course it could be used as such also before).</p></li>
<li><p>The Webware <span class="docutils literal">Examples</span> folder has been removed.</p></li>
<li><p>Folders, packages and modules have been renamed to lower-case.
Particularly, you need to import <span class="docutils literal">dbutils</span> instead of <span class="docutils literal">DBUtils</span> now.</p></li>
<li><p>The internal naming conventions have also been changed to comply with PEP8.</p></li>
<li><p>The documentation has been adapted to reflect the changes in this version.</p></li>
<li><p>This changelog has been compiled from the former release notes.</p></li>
</ul>
</section>
<section id="section-10">
<h2>1.4</h2>
<p>DBUtils 1.4 was released on September 26, 2020.</p>
<p>It is intended to be used with Python versions 2.7 and 3.5 to 3.9.</p>
<p>Improvements:</p>
<ul class="simple">
<li><p>The <span class="docutils literal">SteadyDB</span> and <span class="docutils literal">SteadyPg</span> classes only reconnect after the
<span class="docutils literal">maxusage</span> limit has been reached when the connection is not currently
inside a transaction.</p></li>
</ul>
</section>
<section id="section-11">
<h2>1.3</h2>
<p>DBUtils 1.3 was released on March 3, 2018.</p>
<p>It is intended to be used with Python versions 2.6, 2.7 and 3.4 to 3.7.</p>
<p>Improvements:</p>
<ul class="simple">
<li><p>This version now supports context handlers for connections and cursors.</p></li>
</ul>
</section>
<section id="section-12">
<h2>1.2</h2>
<p>DBUtils 1.2 was released on February 5, 2017.</p>
<p>It is intended to be used with Python versions 2.6, 2.7 and 3.0 to 3.6.</p>
</section>
<section id="section-13">
<h2>1.1.1</h2>
<p>DBUtils 1.1.1 was released on February 4, 2017.</p>
<p>It is intended to be used with Python versions 2.3 to 2.7.</p>
<p>Improvements:</p>
<ul class="simple">
<li><p>Reopen <span class="docutils literal">SteadyDB</span> connections when commit or rollback fails
(suggested by Ben Hoyt).</p></li>
</ul>
<p>Bugfixes:</p>
<ul class="simple">
<li><p>Fixed a problem when running under Jython (reported by Vitaly Kruglikov).</p></li>
</ul>
</section>
<section id="section-14">
<h2>1.1</h2>
<p>DBUtils 1.1 was released on August 14, 2011.</p>
<p>Improvements:</p>
<ul class="simple">
<li><p>The transparent reopening of connections is actually an undesired behavior
if it happens during database transactions. In these cases, the transaction
should fail and the error be reported back to the application instead of the
rest of the transaction being executed in a new connection and therefore in
a new transaction. Therefore DBUtils now allows suspending the transparent
reopening during transactions. All you need to do is indicate the beginning
of a transaction by calling the <span class="docutils literal">begin()</span> method of the connection.
DBUtils makes sure that this method always exists, even if the database
driver does not support it.</p></li>
<li><p>If the database driver supports a <span class="docutils literal">ping()</span> method, then DBUtils can use it
to check whether connections are alive instead of just trying to use the
connection and reestablishing it in case it was dead. Since these checks are
done at the expense of some performance, you have exact control when these
are executed via the new <span class="docutils literal">ping</span> parameter.</p></li>
<li><p><span class="docutils literal">PooledDB</span> has got another new parameter <span class="docutils literal">reset</span> for controlling how
connections are reset before being put back into the pool.</p></li>
</ul>
<p>Bugfixes:</p>
<ul class="simple">
<li><p>Fixed propagation of error messages when the connection was lost.</p></li>
<li><p>Fixed an issue with the <span class="docutils literal">setoutputsize()</span> cursor method.</p></li>
<li><p>Fixed some minor issues with the <span class="docutils literal">DBUtilsExample</span> for Webware.</p></li>
</ul>
</section>
<section id="section-15">
<h2>1.0</h2>
<p>DBUtils 1.0 was released on November 29, 2008.</p>
<p>It is intended to be used with Python versions 2.2 to 2.6.</p>
<p>Changes:</p>
<ul class="simple">
<li><p>Added a <span class="docutils literal">failures</span> parameter for configuring the exception classes for
which the failover mechanisms is applied (as suggested by Matthew Harriger).</p></li>
<li><p>Added a <span class="docutils literal">closeable</span> parameter for configuring whether connections can be
closed (otherwise closing connections will be silently ignored).</p></li>
<li><p>It is now possible to override defaults via the <span class="docutils literal">creator.dbapi</span> and
<span class="docutils literal">creator.threadsafety</span> attributes.</p></li>
<li><p>Added an alias method <span class="docutils literal">dedicated_connection</span> as a shorthand for
<span class="docutils literal">connection(shareable=False)</span>.</p></li>
<li><p>Added a version attribute to all exported classes.</p></li>
<li><p>Where the value <span class="docutils literal">0</span> has the meaning "unlimited", parameters can now be also
set to the value <span class="docutils literal">None</span> instead.</p></li>
<li><p>It turned out that <span class="docutils literal">threading.local</span> does not work properly with
<span class="docutils literal">mod_wsgi</span>, so we use the Python implementation for thread-local data
even when a faster <span class="docutils literal">threading.local</span> implementation is available.
A new parameter <span class="docutils literal">threadlocal</span> allows you to pass an arbitrary class
such as <span class="docutils literal">threading.local</span> if you know it works in your environment.</p></li>
</ul>
<p>Bugfixes and improvements:</p>
<ul class="simple">
<li><p>In some cases, when instance initialization failed or referenced objects
were already destroyed, finalizers could throw exceptions or create infinite
recursion (problem reported by Gregory Pinero and Jehiah Czebotar).</p></li>
<li><p>DBUtils now tries harder to find the underlying DB-API 2 module if only a
connection creator function is specified. This had not worked before with
the MySQLdb module (problem reported by Gregory Pinero).</p></li>
</ul>
</section>
<section id="section-16">
<h2>0.9.4</h2>
<p>DBUtils 0.9.4 was released on July 7, 2007.</p>
<p>This release fixes a problem in the destructor code and has been supplemented
with a German User's Guide.</p>
<p>Again, please note that the <span class="docutils literal">dbapi</span> parameter has been renamed to <span class="docutils literal">creator</span>
in the last release, since you can now pass custom creator functions
for database connections instead of DB-API 2 modules.</p>
</section>
<section id="section-17">
<h2>0.9.3</h2>
<p>DBUtils 0.9.3 was released on May 21, 2007.</p>
<p>Changes:</p>
<ul class="simple">
<li><p>Support custom creator functions for database connections.
These can now be used as the first parameter instead of an DB-API module
(suggested by Ezio Vernacotola).</p></li>
<li><p>Added destructor for steady connections.</p></li>
<li><p>Use <a class="reference external" href="https://github.com/pypa/setuptools">setuptools</a> if available.</p></li>
<li><p>Some code cleanup.</p></li>
<li><p>Some fixes in the documentation.
Added Chinese translation of the User's Guide, kindly contributed by gashero.</p></li>
</ul>
</section>
<section id="section-18">
<h2>0.9.2</h2>
<p>DBUtils 0.9.2 was released on September 22, 2006.</p>
<p>It is intended to be used with Python versions 2.2 to 2.5.</p>
<p>Changes:</p>
<ul class="simple">
<li><p>Renamed <span class="docutils literal">SolidDB</span> to <span class="docutils literal">SteadyDB</span> to avoid confusion with the "solidDB"
storage engine. Accordingly, renamed <span class="docutils literal">SolidPg</span> to <span class="docutils literal">SteadyPg</span>.</p></li>
</ul>
</section>
<section id="section-19">
<h2>0.9.1</h2>
<p>DBUtils 0.9.1 was released on May 8, 2006.</p>
<p>It is intended to be used with Python versions 2.2 to 2.4.</p>
<p>Changes:</p>
<ul class="simple">
<li><p>Added <span class="docutils literal">_closeable</span> attribute and made persistent connections not closeable
by default. This allows <span class="docutils literal">PersistentDB</span> to be used in the same way as you
would use <span class="docutils literal">PooledDB</span>.</p></li>
<li><p>Allowed arguments in the DB-API 2 <span class="docutils literal">cursor()</span> method. MySQLdb is using this
to specify cursor classes. (Suggested by Michael Palmer.)</p></li>
<li><p>Improved the documentation and added a User's Guide.</p></li>
</ul>
</section>
<section id="section-20">
<h2>0.8.1 - 2005-09-13</h2>
<p>DBUtils 0.8.1 was released on September 13, 2005.</p>
<p>It is intended to be used with Python versions 2.0 to 2.4.</p>
<p>This is the first public release of DBUtils.</p>
</section>
</main>
</body>
</html>