~psycopg/psycopg/2.0.x

« back to all changes in this revision

Viewing changes to NEWS

  • Committer: Federico Di Gregorio
  • Date: 2004-10-29 16:08:31 UTC
  • Revision ID: fog-3d8587a243fa1d89012217ea99d2486813eb1955
SVN repo up to date (1.1.16pre1).

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
What's new in psycopg 1.99.10
2
 
-----------------------------
3
 
 
4
 
* The adapt() function now fully supports the adaptation protocol
5
 
  described in PEP 246. Note that the adapters registry now is indexed
6
 
  by (type, protocol) and not by type alone. Change your adapters
7
 
  accordingly.
8
 
 
9
 
* More configuration options moved from setup.py to setup.cfg.
10
 
 
11
 
* Fixed two memory leaks: one in cursor deallocation and one in row
12
 
  fetching (.fetchXXX() methods.)
13
 
 
14
 
What's new in psycopg 1.99.9
15
 
----------------------------
16
 
 
17
 
* Added simple pooling code (psycopg.pool module); see the reworked
18
 
  examples/threads.py for example code.
19
 
 
20
 
* Added DECIMAL typecaster to convert postgresql DECIMAL and NUMERIC
21
 
  types (i.e, all types with an OID of NUMERICOID.) Note that the
22
 
  DECIMAL typecaster does not set scale and precision on the created
23
 
  objects but uses Python defaults.
24
 
 
25
 
* ZPsycopgDA back in and working using the new pooling code.
26
 
 
27
 
* Isn't that enough? :)
28
 
 
29
 
What's new in psycopg 1.99.8
30
 
----------------------------
31
 
 
32
 
* added support for UNICODE queries.
33
 
 
34
 
* added UNICODE typecaster; to activate it just do:
35
 
    
36
 
    psycopg.extensions.register_type(psycopg.extensions.UNICODE)
37
 
  
38
 
  Note that the UNICODE typecaster override the STRING one, so it is
39
 
  not activated by default.
40
 
 
41
 
* cursors now really support the iterator protocol.
42
 
 
43
 
* solved the rounding errors in time conversions.
44
 
 
45
 
* now cursors support .fileno() and .isready() methods, to be used in
46
 
  select() calls.
47
 
 
48
 
* .copy_from() and .copy_in() methods are back in (still using the old
49
 
  protocol, will be updated to use new one in next releasae.)
50
 
 
51
 
* fixed memory corruption bug reported on win32 platform.
52
 
 
53
 
What's new in psycopg 1.99.7
54
 
----------------------------
55
 
 
56
 
* added support for tuple factories in cursor objects (removed factory
57
 
  argument in favor of a .tuple_factory attribute on the cursor object);
58
 
  see the new module psycopg.extras for a cursor (DictCursor) that
59
 
  return rows as objects that support indexing both by position and
60
 
  column name.
61
 
 
62
 
* added support for tzinfo objects in datetime.timestamp objects: the
63
 
  PostgreSQL type "timestamp with time zone" is converted to 
64
 
  datetime.timestamp with a FixedOffsetTimezone initialized as necessary.
65
 
 
66
 
What's new in psycopg 1.99.6
67
 
----------------------------
68
 
 
69
 
* sslmode parameter from 1.1.x
70
 
 
71
 
* various datetime conversion improvements.
72
 
 
73
 
* now psycopg should compile without mx or without native datetime
74
 
  (not both, obviously.)
75
 
 
76
 
* included various win32/MSVC fixes (pthread.h changes, winsock2
77
 
  library, include path in setup.py, etc.)
78
 
 
79
 
* ported interval fixes from 1.1.14/1.1.15.
80
 
 
81
 
* the last query executed by a cursor is now available in the
82
 
  .query attribute.
83
 
 
84
 
* conversion of unicode strings to backend encoding now uses a table
85
 
  (that still need to be filled.)
86
 
 
87
 
* cursors now have a .mogrify() method that return the query string
88
 
  instead of executing it.
89
 
 
90
 
* connection objects now have a .dsn read-only attribute that holds the
91
 
  connection string.
92
 
 
93
 
* moved psycopg C module to _psycopg and made psycopg a python module:
94
 
  this allows for a neat separation of DBAPI-2.0 functionality and psycopg
95
 
  extensions; the psycopg namespace will be also used to provide
96
 
  python-only extensions (like the pooling code, some ZPsycopgDA support
97
 
  functions and the like.)
98
 
 
99
 
What's new in psycopg 1.99.3
100
 
----------------------------
101
 
 
102
 
* added support for python 2.3 datetime types (both ways) and made datetime
103
 
  the default set of typecasters when available.
104
 
 
105
 
* added example: dt.py.
106
 
 
107
 
What's new in psycopg 1.99.3
108
 
----------------------------
109
 
 
110
 
* initial working support for unicode bound variables: UTF-8 and latin-1
111
 
  backend encodings are natively supported (and the encoding.py example even
112
 
  works!)
113
 
 
114
 
* added .set_client_encoding() method on the connection object.
115
 
 
116
 
* added examples: encoding.py, binary.py, lastrowid.py.
117
 
 
118
 
What's new in psycopg 1.99.2
119
 
----------------------------
120
 
 
121
 
* better typecasting:
122
 
  - DateTimeDelta used for postgresql TIME (merge from 1.1)
123
 
  - BYTEA now is converted to a real buffer object, not to a string
124
 
 
125
 
* buffer objects are now adapted into Binary objects automatically.
126
 
 
127
 
* ported scroll method from 1.1 (DBAPI-2.0 extension for cursors)
128
 
 
129
 
* initial support for some DBAPI-2.0 extensions:
130
 
  - .rownumber attribute for cursors
131
 
  - .connection attribute for cursors
132
 
  - .next() and .__iter__() methods to have cursors support the iterator
133
 
    protocol
134
 
  - all exception objects are exported to the connection object
135
 
 
136
 
What's new in psycopg 1.99.1
137
 
----------------------------
138
 
 
139
 
* implemented microprotocols to adapt arbitrary types to the interface used by
140
 
  psycopg to bind variables in execute;
141
 
 
142
 
* moved qstring, pboolean and mxdatetime to the new adapter layout (binary is
143
 
  still missing; python 2.3 datetime needs to be written).
144
 
 
145
 
 
146
 
What's new in psycopg 1.99.0
147
 
----------------------------
148
 
 
149
 
* reorganized the whole source tree;
150
 
 
151
 
* async core is in place;
152
 
 
153
 
* splitted QuotedString objects from mx stuff;
154
 
 
155
 
* dropped autotools and moved to pythonic setup.py (needs work.)
 
1
psycopg news for 1.1.15
 
2
-----------------------
 
3
 
 
4
* Interval typecasting eventually-eventually works the Right Way (TM).
 
5
 
 
6
* Fixed two bad memory leaks in QuotedString and Binary objects.
 
7
 
 
8
* Reverted change on rowcount attribute, now it is always set to the real
 
9
  number of affected columns.
 
10
 
 
11
psycopg news for 1.1.14
 
12
-----------------------
 
13
 
 
14
* Interval typecasting eventually works the Right Way (TM).
 
15
 
 
16
* ZPsycopgDA now support unicode strings and different backend encodings.
 
17
 
 
18
* ZPsycopgDA accept query data as an extra parameter to execute() (but
 
19
  still no way to give it extra data from inside a ZSQL Method.)
 
20
 
 
21
* Better DBAPI-2.0 compliance (rowcount attribute and argument passing.)
 
22
 
 
23
* Now builds on Fedora Core 2 (but remember that the real psycopg
 
24
  aficionado runs on Debian ;-P )
 
25
 
 
26
* COPY FROM raise an exception and return usefull information on error.
 
27
 
 
28
psycopg news for 1.1.13
 
29
-----------------------
 
30
 
 
31
* ZPsycopgDA works again.
 
32
 
 
33
psycopg news for 1.1.12
 
34
-----------------------
 
35
 
 
36
* Fixed nasty segfault/deadlock in switch_isolation_level.
 
37
 
 
38
* Now the PostgreSQL TIME type is correctly converted to a DateTimeDelta
 
39
  instead of a DateTime. This is much better because you can now add two
 
40
  times and a time and a date.
 
41
 
 
42
* Added an "sslmode" parameter (look at PostgreSQL documentation for
 
43
  possible values.)
 
44
 
 
45
* .execute() now rise the right exception if called with a wrong
 
46
   tuple/dict. Also, %% in queries does not raise an exception anymore.
 
47
 
 
48
* Updated RPM specs (thanks to Mark McClain we now have updated RPMs on
 
49
  initd.org too.)
 
50
 
 
51
psycopg news for 1.1.11
 
52
-----------------------
 
53
 
 
54
* a modern autoconf is now needed to build psycopg.
 
55
 
 
56
* now an error during commit or rollback is correctly reported by raising 
 
57
  an exception.
 
58
 
 
59
* when the libpq protocol 3.0 is available, psycopg uses a smater method
 
60
  to determine exception type (unfortunately the old string compare method
 
61
  is still neede for postgresql <= 7.3.x.)
 
62
 
 
63
* plugged a memory leak in copy_from().
 
64
 
 
65
* where did the news for 1.1.10 go?
 
66
 
 
67
psycopg news for 1.1.9
 
68
----------------------
 
69
 
 
70
* psycopg distribution now includes the GeoTypes package by Richard Taylor
 
71
  (QinetiQ Plc)!
 
72
 
 
73
* Problems with sequences and mappings non correctly used in .execute()
 
74
  should be gone (mogrification code completely rewritten.) Many thanks
 
75
  to Richard Taylor and Vsevolod Lobko that helped by testing the "pre"
 
76
  releases.
 
77
 
 
78
* no more libpq 7.1.x linking problems related to PQfreeNotify.
 
79
 
 
80
psycopg news for 1.1.7
 
81
----------------------
 
82
 
 
83
* added notifies and fileno methods to cursor objects.
 
84
 
 
85
* now execute accept any object that defined __getitem__ and not only
 
86
  dictionaries.
 
87
 
 
88
* little fix in ZPsycopgDA, should work with Zope 2.7.
 
89
 
 
90
psycopg news for 1.1.6
 
91
----------------------
 
92
 
 
93
* cursor objects now have the .scroll() method.
 
94
 
 
95
* NUL characters in strings are discarded in quoting; use a Binary object if
 
96
  you need strings with embedded NULs.
 
97
 
 
98
* Fixed another MT problem in .execute().
 
99
 
 
100
psycopg news for 1.1.5
 
101
----------------------
 
102
 
 
103
* ZPsycopgDA now rollback before raising an exception; should be a backward
 
104
  compatible change for people that really want to continue executing queries
 
105
  after an exception.
 
106
 
 
107
* fixed problem with dictionary mogrification (i.e., specifying the same key
 
108
  multiple times and having the None value in the dict should work now.)
 
109
 
 
110
* fixed keeper status trashing problem: no more psycopg stuck in transaction
 
111
  (maybe this will also solve ZPsycopgDA problems: will see...)
 
112
 
 
113
* now copy_from and copy_to can be passed instances of classes with "readline"
 
114
  and "write" methods and not only file instances.
 
115
 
 
116
psycopg news for 1.1.4
 
117
----------------------
 
118
 
 
119
* Fixed various memory leak problems.
 
120
 
 
121
* Implemented "statusmessage" attribute on cursors.
 
122
 
 
123
psycopg news for 1.1.3
 
124
----------------------
 
125
 
 
126
* Fixed problem with psycopg always reporting IntegrityError.
 
127
 
 
128
* Fixed segfault in debug statements.
 
129
 
 
130
* Now Python GIL is unlocked during PQconnectdb() calls (better
 
131
  multithreading.)
 
132
 
 
133
psycopg news for 1.1.2
 
134
----------------------
 
135
 
 
136
* Skipped version 1.1.1 (never released 'cause of a cvs tag error)
 
137
 
 
138
* Much better cursor.description fields (many thanks to William K. Volkman)
 
139
 
 
140
* psycopg.connect() now takes keyword parameters for host, dbname, port,
 
141
  user and password (they are all strings, even "port".)
 
142
 
 
143
* connection.set_isolation_level() implemented to help switching from default
 
144
  isolation to other levels supported by PostgreSQL. [autocommit now simply 
 
145
  does a set_isolation_level(0)]
 
146
 
 
147
* Implemented .lastrowid attribute for cursors.
 
148
 
 
149
* Now psycopg should build on win32/cygwin, thank to Hajime Nakagami patches.
 
150
 
 
151
* Includes every fix from 1.0.x up to 1.0.15.1:
 
152
 
 
153
  - Fixed connection-stay-open-when-i-do-conn.close() bug.
 
154
  - Better DBAPI-2.0 compliance for setinputsizes and setoutputsize methods.
 
155
  - Better support for build on MacOS X.
 
156
  - Fixed problem with formats in string mogrification.
 
157
  - Fixed other miscellaneous buglets in Zope Adapter.
 
158
  - Fixed small memory leak in .fetchXXX() methods.
 
159
  - Fixed serialization problem in ZPsycopgDA reported by Dieter Maurer.
 
160
 
 
161
psycopg news for 1.1
 
162
--------------------
 
163
 
 
164
* COPY TO/COPY FROM implemented by Tom Jenkins
 
165
 
 
166
* Merged changes from 1.0.13.
 
167
 
 
168
psycopg news for 1.0.12
 
169
-----------------------
 
170
 
 
171
* Maintenance release fixing some little buglets:
 
172
  - Fixed memory leak in .execute().
 
173
  - Better configure under MacOS X.
 
174
  - DA-browser now works even with tables with mixed-case names.
 
175
  - timestamps time is now set to correct value instead of 0. 
 
176
 
 
177
psycopg news for 1.0.11.1
 
178
-------------------------
 
179
 
 
180
* Fixed orrible bug in ZPsycopgDA not acception psycopg 1.0.11 as a valid
 
181
  version.
 
182
 
 
183
psycopg news for 1.0.11
 
184
-----------------------
 
185
 
 
186
* last problems from "None passed to typecasters" (introduced in 1.0.9) in
 
187
  ZPsycopgDA solved (hopefully.)
 
188
 
 
189
* psycopg now reports meaningfull exception types for some errors (like
 
190
  IntegrityError for duplicate insertions in unique indices, etc.)
 
191
 
 
192
psycopg news for 1.0.10
 
193
-----------------------
 
194
 
 
195
* fixed an exception problem introduced in 1.0.9 (patch by Matt 
 
196
  Hoskins.)
 
197
 
 
198
* ZPsycopgDA now checks psycopg version and raise an exception if it
 
199
  does not match.
 
200
 
 
201
psycopg news for 1.0.9
 
202
----------------------
 
203
 
 
204
* fixed problem with connection left in invalid state by applying
 
205
  Tom Jenkins patch.
 
206
 
 
207
* None values passed to the typecasters, it is now possible to
 
208
  translate None into "" to achieve pygrsql compatibilty. 
 
209
 
 
210
* applied 'seconds as a float' patch from Jelle.
 
211
 
 
212
psycopg news for 1.0.8
 
213
----------------------
 
214
 
 
215
* fixed a segfault introduced in 1.0.7 and another little bug when
 
216
  dealing with empty strings in QuotedString objects.
 
217
 
 
218
* Added win32 compatibility (many many thanks to Jason Erickson).
 
219
 
 
220
psycopg news for 1.0.7
 
221
----------------------
 
222
 
 
223
* Fixed little bugs in type management (infinity problems and the
 
224
  TIMESTAMPTZ type) and Zope import. Better configure script.
 
225
 
 
226
* Now psycopg really close the physical connection to PostgreSQL on
 
227
  connection .close().
 
228
 
 
229
psycopg news for 1.0.5
 
230
----------------------
 
231
 
 
232
* Applied a little patch to make table browser in zope show system tables
 
233
  correctly. 
 
234
 
 
235
* Infinity values are now converted the correct way.
 
236
 
 
237
psycopg news for 1.0.4
 
238
----------------------
 
239
 
 
240
* ZPsycopgDA does not duplicate itself anymore.
 
241
 
 
242
* Table browsing works again.
 
243
 
 
244
psycopg news for 1.0.3
 
245
----------------------
 
246
 
 
247
* bugfix for b0rken ZPsycopgDA in 1.0.2.
 
248
 
 
249
psycopg news for 1.0.2
 
250
----------------------
 
251
 
 
252
* Fixed problem with incorrect interpretation of hundredths of a second.
 
253
 
 
254
psycopg news for 1.0.1
 
255
----------------------
 
256
 
 
257
* fixed two little memory leaks, see ChangeLog for details.
 
258
 
 
259
* fixed problem with garbled passwords when using crypt autentication.
 
260
 
 
261
psycopg news for 1.0
 
262
--------------------
 
263
 
 
264
* added regression tests, first result is much better conversion of date and
 
265
  time types.
 
266
  
 
267
* fixed last know segfault (psycopg runs stable for a lot of people now.)
 
268
 
 
269
* psycopg compile and run on FreeBSD and MacOS X.
 
270
 
 
271
* much better binary objects, they use less memory and quoting is faster,
 
272
  thank to the new, smarter memory allocator.
 
273
  
 
274
* fixed all reported buglets (mostly dbapi and type-system related.)
 
275
 
 
276
* hey, this is one-dot-oh!
 
277
 
 
278
* the following features are missing from psycopg 1.0 and will be added when
 
279
  we have a little more time (i.e., there will be no _feature_ releases after
 
280
  1.0, only bugfixes):
 
281
 
 
282
    - documentation is incomplete (we are slowly writing it, track CVS if you
 
283
      want up-to-date docs)
 
284
 
 
285
    - dbapi-2.0 testsuite is incomplete (need to move code to the unittest
 
286
      framework)
 
287
 
 
288
    - psycopg needs a full suite of regression tests to be sure we don't break
 
289
      things while implementing new features (i think we'll add them _while_
 
290
      writing new features :)
 
291
 
 
292
psycopg news for 0.99.7
 
293
-----------------------
 
294
 
 
295
* time intervals are correctly recognized and converted into DateTimeInterval 
 
296
  objects. 
 
297
 
 
298
* almost complete (bugs apart) DBAPI-2.0 support. switched psycopg to use
 
299
  QuotedString for every string passed as a bound argument. Binary now works 
 
300
  (but still consumes lots of memory).
 
301
 
 
302
* added doc/ to hold documentation.
 
303
 
 
304
* added lastoid() method to cursor objects, to retrieve the OID of the last 
 
305
  inserted row. 
 
306
 
 
307
psycopg news for 0.99.4
 
308
-----------------------
 
309
 
 
310
* psycopg is approaching 1.0, so only DBAPI compliance patches and bug fixes
 
311
  are getting in.
 
312
 
 
313
* added Binary and QuotedString objects. note that sometime before 1.0 we'll
 
314
  switch turn every string passed to psycopg into a QuotedString, possibily
 
315
  breaking Zope compatibility and old scripts doing their own quoting.
 
316
 
 
317
psycopg news for 0.5.x
 
318
----------------------
 
319
 
 
320
* this is the development branch, if you want stability, stick with 0.4.6.
 
321
 
 
322
* added pthread locks so that different threads (cursors) can use the same
 
323
  postgres connection (this was done *only* to respect the dbapi on cursor
 
324
  isolation.)
 
325
 
 
326
* now the default for the .cursor() method is to associate every cursor to
 
327
  the same physical connection, to avoid isolation (as the DBAPI-2.0 specify),
 
328
  you can change that by calling the .serialize() method on the connection and
 
329
  giving it 0 as the argument, e.g., "o.serialize(0)".
 
330
 
 
331
psycopg news for 0.4.1
 
332
----------------------
 
333
 
 
334
* autocommit mode is now supported on cursors and connections.
 
335
 
 
336
psycopg news for 0.4
 
337
--------------------
 
338
 
 
339
* implemented all the remaining DBAPI-2.0 type singletons (DATETIME and
 
340
  BINARY included)
 
341
 
 
342
psycopg news for 0.3
 
343
--------------------
 
344
 
 
345
* threading problems resolved
 
346
 
 
347
* added type casting from postgres to python (the user can now specify
 
348
  its own casting objects, the default singletons NUMBER and STRING are
 
349
  included [and act as default cast objects] plus INTEGER and FLOAT as
 
350
  an extension to the DBAPI-2.0.) 
 
351
  investigate the code in examples/usercast_test.py to understand how to
 
352
  add your own types...
 
353
 
 
354
* beginning of the Zope Database Adapter: give it a try even it it is 
 
355
  broken!