-
Notifications
You must be signed in to change notification settings - Fork 26
/
changelog.txt
361 lines (250 loc) · 10.1 KB
/
changelog.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
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
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
#########
Changelog
#########
* `Version 1.4.9`_ (30.6.2015)
* `Version 1.4.8`_ (23.6.2015)
* `Version 1.4.7`_ (4.6.2015)
* `Version 1.4.6`_ (29.5.2015)
* `Version 1.4.5`_ (31.3.2015)
* `Version 1.4.4`_ (27.2.2015)
* `Version 1.4.3`_ (14.11.2014)
* `Version 1.4.2`_ (13.11.2014)
* `Version 1.4.1`_ (25.6.2014)
* `Version 1.4`_ (24.6.2013)
* `Version 1.3`_ (7.6.2013)
* `Version 1.2`_ (31.5.2013)
* `Version 1.1.1`_ (14.5.2013)
* `Version 1.1`_ (9.4.2013)
* `Version 1.0`_ (7.3.2013)
* `Version 0.9.9`_ (30.11.2012)
* `Version 0.9.1`_ (8. 9. 2012)
* `Version 0.9`_ (5. 9. 2012)
* `Version 0.8.5`_ (28. 6. 2012)
* `Version 0.8`_ (31. 5. 2012)
* `Version 0.7.2`_ (27. 3. 2012)
* `Version 0.7.1`_ (31. 1. 2012)
* `Version 0.7`_ (21. 12. 2011)
Version 1.4.9
=============
- (PYFB-51) <procedure>.get_sql_for('<re>create') returns invalid output parameters
- (PYFB-52) isc_info* types which are _DATABASE_INFO_CODES_WITH_COUNT_RESULTS raises TypeError: 'float' object cannot be interpreted as an integer
Version 1.4.8
=============
- Enhancement to automatic client library location detection on POSIX. Now it also looks at LD_LIBRARY_PATH dir if specified.
Version 1.4.7
=============
- Forgoten debug printout removed. Annoying for Python 2.x users, fatal for 3.x users.
Version 1.4.6
=============
Bugs Fixed
----------
- (PYFB-50) Exception ReferenceError: 'weakly-referenced object no longer exists' in PreparedStatement and Cursor
Version 1.4.5
=============
Bugs Fixed
----------
- (PYFB-49) Memory and DB resource leak due to circular references.
Version 1.4.4
=============
Improvements
------------
- (PYFB-47) Firebird client library path added as optinal parameter to :func:`fdb.connect` and :func:`fdb.create_database`.
Bugs Fixed
----------
- Additional fix related to PYFB-43
- Additional correction for unregistered problem with circular ref. between PS and Cursor when explicit PS is executed.
Version 1.4.3
=============
Bugs Fixed
----------
- Previous fix for PYFB-43 was incomplete, corrected.
Version 1.4.2
=============
Improvements
------------
- In relation to PYFB-43 I had to make a **backward incompatible change** to event processing API. Starting from this version
`EventConduit` does not automatically starts collection of events upon creation, but it's now necessary to call
:meth:`~fdb.EventConduit.begin` method. To mitigate the inconvenience, EventConduit now supports context manager
protocol that ensures calls to begin() and close() via `with` statement.
- In relation to PYFB-39 I have decided to drop support for implicitly cached and reused prepared statements. I never
liked this feature as I think it's a sneaky method how to put some performance to badly written applications that
in worst case may lead to significant resource consumption on server side when developers are not only lazy but also stupid.
It was implemented for the sake of compatibility with KInterbasDB.
**This change has no impact on API, but may affect performance of your applications.**
Bugs Fixed
----------
- PYFB-44 - Inserting a datetime.date into a TIMESTAMP column does not work
- PYFB-42 - Python 3.4 and FDB - backup throws an exception
- Unregistered - Fixes in monitor.TransactionInfo
Version 1.4.1
=============
Improvements
------------
- PYFB-40 - fbclient.dll is not found if not in path.
Aside from registry lookup, client library isn't loaded until first call to :func:`fdb.connect`, :func:`fdb.create_database`
or :func:`fdb.load_api` (which now supports optional specification of Firebird Client Library to load).
- Adjustments for Firebird 3.0 (Alpha1)
- Properties :attr:`~fdb.services.Connection.version` and :attr:`~fdb.services.Connection.engine_version` added to :class:`fdb.services.Connection`
Bugs Fixed
----------
- Unregistered - isolation_level parameter for fdb.connection has no effect.
- Unregistered - Information gathered from monitoring tables is not properly dropped upon refresh request.
Version 1.4
===========
New Features
------------
- :mod:`fdb.schema` submodule extended with support for user privileges.
Improvements
------------
- :meth:`fdb.services.User.load_information` method to load information about user from server.
- :mod:`fdb.ibase` content cleanup and additions.
- :mod:`fdb.blr` submodule with BLR definitions.
Bugs Fixed
----------
- PYFB-37 - Unicode Strings incorrect not allowed for insertion into BLOB SubType 1.
Version 1.3
===========
New Features
------------
- :mod:`fdb.monitor` submodule for access to / work with monitoring tables.
- New :attr:`fdb.Connection.monitor` property for access to monitoring tables.
Improvements
------------
- :attr:`~fdb.schema.Schema.closed` property and :meth:`~fdb.schema.Schema.clear` method for Schema.
- Unit tests reworked.
Bugs Fixed
----------
- Unregistered: Bug in :meth:`fdb.schema.Schema.close` and :meth:`fdb.schema.Schema.bind`.
Version 1.2
===========
New Features
------------
- :mod:`fdb.schema` submodule for access to / work with database metadata.
- :mod:`fdb.utils` submodule with various helper classes and functions.
- New :attr:`fdb.Connection.schema` property for access to database schema.
- New :class:`~fdb.ConnectionWithSchema` connection class that provides more direct access
to database schema than `Connection`.
- New :attr:`fdb.Connection.firebird_version`, :attr:`fdb.Connection.version` and
:attr:`fdb.Connection.engine_version` properties.
- New `Connection.ods` read only property that returns ODS version number of connected database.
There are also new module-level constants `ODS_FB_20`, `ODS_FB_21` and `ODS_FB_25`.
- New :attr:`fdb.Connection.query_transaction` property. This is ReadOnly ReadCommitted transaction
that could be active indefinitely without blocking garbage collection. It’s used internally to query
metadata, but it’s generally useful.
Improvements
------------
- Optional PEP 249 (Python DB API 2.0) Extensions
- `Connection.Error`, `Connection.ProgrammingError`, etc.
All exception classes defined by the DB API standard are exposed on the Connection objects
as attributes (in addition to being available at module scope).
- `Cursor.connection`
This read-only attribute return a reference to the Connection object on which the cursor was created.
- `Cursor.transaction` read-only attribute returns a reference to the Transaction object on which the cursor
was created.
- Optimized wekref management, especially for `PreparedStatement`.
- `create_database` now supports two methods for database screation. You can specify CREATE DATABASE statement
(as before) or provide set of named database parameters (SQL statement is created automatically from them).
- Functions `connection` and `create_database` now take optional keyword parameter `connection_class` to
obtain instances of different class instead `Connection`.
- Support for legacy (pre-2.5) shutdown mode with mode `fdb.services.SHUT_LEGACY`.
- :meth:`fdb.Cursor.executemany` returns `self`, so it could be used directly as iterator.
- Documentation inprovements.
Bugs Fixed
----------
- Unregistered: `buffers` parameter of `fdb.connection` doesn't support values greater than 255.
- Unregistered: Lowercase character set name passed to `fdb.connect` may result in wrong funcion of automatic
data conversions and other failures (exceptions raised).
Version 1.1.1
=============
Bugs Fixed
----------
- PYFB-35 - Call to fetch after a sql statement without a result should raise exception
- PYFB-34 - Server resources not released on PreparedStatement destruction
Version 1.1
===========
New Features
------------
- :ref:`Context Manager <transaction-context-manager>` for transactions.
Bugs Fixed
----------
- PYFB-30 - BLOBs are truncated at first zero byte
Version 1.0
===========
Improvements
------------
- Removed dependency on fbclient library to be present at import time (PYFB-24)
Bugs Fixed
----------
- PYFB-25 - Truncate long text from VARCHAR(5000)
Version 0.9.9
=============
New Features
------------
- Firebird ARRAY support.
Other changes
-------------
- Cursor.execute() returns Self, so it could be used as iterator.
- Reading output from Services now uses more efficient method to get data
from server.
Bugs Fixed
----------
- Fix: precision_cache in Connection works as intended.
Version 0.9.1
=============
Just bugfixes to make FDB work on P3K again.
Version 0.9
===========
New Features
------------
- Documentation; both in-source (in Sphinx autodoc format) and Sphinx (html)
- Services API completely reworked
Other changes
-------------
- Unregistered bugs fixed.
- Various optimizations and cleanup
- Object reference graph optimalizations
- Many new tests in test suite
Version 0.8.5
=============
New Features
------------
- Support for Firebird stream BLOBs (see ReleaseNotes for details)
- Documentation (stub, from KInterbasDB 3.3.0)
Bugs Fixed
----------
- Fix for PYFB-17 and PYFB-18 (see our JIRA tracker for details)
- Fixes for automatic unicode conversions + refactoring
- Some optimizations
Version 0.8
===========
New Features
------------
- Support for Firebird Event Notifications - `JIRA entry <http://tracker.firebirdsql.org/browse/PYFB-8>`
Bugs Fixes
----------
- database_info (isc_info_firebird_version) fails opn amd64 linux - `JIRA entry <http://tracker.firebirdsql.org/browse/PYFB-16>`
- more than 2 consecutive cursor open execute and iter fail - `JIRA entry <http://tracker.firebirdsql.org/browse/PYFB-15>`
Version 0.7.2
=============
New Features
------------
- Python 3 Support (thanks to Philippe Makowski)
- Support for Distributed Transactions
And as always, some (unregistered) bugs fixed.
Version 0.7.1
=============
Bug fixes.
Version 0.7
===========
Initial release.
Almost feature-complete (ready for 95% of users), but it could be still buggy (it’s beta!), and the
code wasn’t optimized for size and speed. In all other ways it’s ready for wide testing.
What’s missing
--------------
- Distributed transactions
- ARRAY support
- EVENTs support
- Stream BLOBs
- TRACE service
- Documentation (but you can use KInterbasDB one as FDB is as close to it as possible).
- Python 3.x support (haven’t had time to test it, but it shouldn’t be hard to make it work there)