source: trunk/docs/changelog.txt @ 348

Last change on this file since 348 was 348, checked in by cito, 11 years ago

Updated the ChangeLog?.

File size: 9.8 KB
Line 
1==================
2PyGreSQL ChangeLog
3==================
4
5Version 4.0 (?)
6---------------
7- Dropped support for Python below 2.3 and PostgreSQL below 7.4.
8- Improved performance of fetchall() for large result sets
9  by speeding up the type casts (as suggested by Peter Schuller).
10- Exposed exceptions as attributes of the connection object.
11- Added new method to get parameter settings.
12- Added row_factory as suggested by Simon Pamies.
13- Separated between mandatory and additional type objects.
14- Added keyword args to insert, update and delete methods.
15- Added exception handling for direct copy.
16- Release the GIL while making a connection
17  (as suggested by Peter Schuller).
18- If available, use decimal.Decimal for numeric types.
19- Allow DB wrapper to be used with DB-API 2 connections
20  (as suggested by Chris Hilton).
21- Made private attributes of DB wrapper accessible.
22
23Version 3.8.1 (2006-06-05)
24--------------------------
25- Use string methods instead of deprecated string functions.
26- Only use SQL-standard way of escaping quotes.
27- Added the functions escape_string() and escape/unescape_bytea()
28  (as suggested by Charlie Dyson and Kavous Bojnourdi a long time ago).
29- Reverted code in clear() method that set date to current.
30- Added code for backwards compatibility in OID munging code.
31- Reorder attnames tests so that "interval" is checked for before "int."
32- If caller supplies key dictionary, make sure that all has a namespace.
33
34Version 3.8 (2006-02-17)
35------------------------
36- Installed new favicon.ico from Matthew Sporleder <mspo@mspo.com>
37- Replaced snprintf by PyOS_snprintf.
38- Removed NO_SNPRINTF switch which is not needed any longer
39- Clean up some variable names and namespace
40- Add get_relations() method to get any type of relation
41- Rewrite get_tables() to use get_relations()
42- Use new method in get_attnames method to get attributes of views as well
43- Add Binary type
44- Number of rows is now -1 after executing no-result statements
45- Fix some number handling
46- Non-simple types do not raise an error any more
47- Improvements to documentation framework
48- Take into account that nowadays not every table must have an oid column
49- Simplification and improvement of the inserttable() function
50- Fix up unit tests
51- The usual assortment of minor fixes and enhancements
52
53Version 3.7 (2005-09-07)
54------------------------
55Improvement of pgdb module:
56
57- Use Python standard `datetime` if `mxDateTime` is not available
58
59Major improvements and clean-up in classic pg module:
60
61- All members of the underlying connection directly available in `DB`
62- Fixes to quoting function
63- Add checks for valid database connection to methods
64- Improved namespace support, handle `search_path` correctly
65- Removed old dust and unnessesary imports, added docstrings
66- Internal sql statements as one-liners, smoothed out ugly code
67
68Version 3.6.2 (2005-02-23)
69--------------------------
70- Further fixes to namespace handling
71
72Version 3.6.1 (2005-01-11)
73--------------------------
74- Fixes to namespace handling
75
76Version 3.6 (2004-12-17)
77------------------------
78- Better DB-API 2.0 compliance
79- Exception hierarchy moved into C module and made available to both APIs
80- Fix error in update method that caused false exceptions
81- Moved to standard exception hierarchy in classic API
82- Added new method to get transaction state
83- Use proper Python constants where appropriate
84- Use Python versions of strtol, etc. Allows Win32 build.
85- Bug fixes and cleanups
86
87Version 3.5 (2004-08-29)
88------------------------
89Fixes and enhancements:
90
91- Add interval to list of data types
92- fix up method wrapping especially close()
93- retry pkeys once if table missing in case it was just added
94- wrap query method separately to handle debug better
95- use isinstance instead of type
96- fix free/PQfreemem issue - finally
97- miscellaneous cleanups and formatting
98
99Version 3.4 (2004-06-02)
100------------------------
101Some cleanups and fixes.
102This is the first version where PyGreSQL is moved back out of the
103PostgreSQL tree. A lot of the changes mentioned below were actually
104made while in the PostgreSQL tree since their last release.
105
106- Allow for larger integer returns
107- Return proper strings for true and false
108- Cleanup convenience method creation
109- Enhance debugging method
110- Add reopen method
111- Allow programs to preload field names for speedup
112- Move OID handling so that it returns long instead of int
113- Miscellaneous cleanups and formatting
114
115Version 3.3 (2001-12-03)
116------------------------
117A few cleanups.  Mostly there was some confusion about the latest version
118and so I am bumping the number to keep it straight.
119
120- Added NUMERICOID to list of returned types. This fixes a bug when
121  returning aggregates in the latest version of PostgreSQL.
122
123Version 3.2 (2001-06-20)
124------------------------
125Note that there are very few changes to PyGreSQL between 3.1 and 3.2.
126The main reason for the release is the move into the PostgreSQL
127development tree.  Even the WIN32 changes are pretty minor.
128
129- Add Win32 support (gerhard@bigfoot.de)
130- Fix some DB-API quoting problems (niall.smart@ebeon.com)
131- Moved development into PostgreSQL development tree.
132
133Version 3.1 (2000-11-06)
134------------------------
135- Fix some quoting functions.  In particular handle NULLs better.
136- Use a method to add primary key information rather than direct
137  manipulation of the class structures
138- Break decimal out in `_quote` (in pg.py) and treat it as float
139- Treat timestamp like date for quoting purposes
140- Remove a redundant SELECT from the `get` method speeding it,
141  and `insert` (since it calls `get`) up a little.
142- Add test for BOOL type in typecast method to `pgdbTypeCache` class
143  (tv@beamnet.de)
144- Fix pgdb.py to send port as integer to lower level function
145  (dildog@l0pht.com)
146- Change pg.py to speed up some operations
147- Allow updates on tables with no primary keys
148
149Version 3.0 (2000-05-30)
150------------------------
151- Remove strlen() call from pglarge_write() and get size from object
152  (Richard@Bouska.cz)
153- Add a little more error checking to the quote function in the wrapper
154- Add extra checking in `_quote` function
155- Wrap query in pg.py for debugging
156- Add DB-API 2.0 support to pgmodule.c (andre@via.ecp.fr)
157- Add DB-API 2.0 wrapper pgdb.py (andre@via.ecp.fr)
158- Correct keyword clash (temp) in tutorial
159- Clean up layout of tutorial
160- Return NULL values as None (rlawrence@lastfoot.com)
161  (WARNING: This will cause backwards compatibility issues)
162- Change None to NULL in insert and update
163- Change hash-bang lines to use /usr/bin/env
164- Clearing date should be blank (NULL) not TODAY
165- Quote backslashes in strings in `_quote` (brian@CSUA.Berkeley.EDU)
166- Expanded and clarified build instructions (tbryan@starship.python.net)
167- Make code thread safe (Jerome.Alet@unice.fr)
168- Add README.distutils (mwa@gate.net & jeremy@cnri.reston.va.us)
169- Many fixes and increased DB-API compliance by chifungfan@yahoo.com,
170  tony@printra.net, jeremy@alum.mit.edu and others to get the final
171  version ready to release.
172
173Version 2.4 (1999-06-15)
174------------------------
175- Insert returns None if the user doesn't have select permissions
176  on the table.  It can (and does) happen that one has insert but
177  not select permissions on a table.
178- Added ntuples() method to query object (brit@druid.net)
179- Corrected a bug related to getresult() and the money type
180- Corrected a bug related to negative money amounts
181- Allow update based on primary key if munged oid not available and
182  table has a primary key
183- Add many __doc__ strings (andre@via.ecp.fr)
184- Get method works with views if key specified
185
186Version 2.3 (1999-04-17)
187------------------------
188- connect.host returns "localhost" when connected to Unix socket
189  (torppa@tuhnu.cutery.fi)
190- Use `PyArg_ParseTupleAndKeywords` in connect() (torppa@tuhnu.cutery.fi)
191- fixes and cleanups (torppa@tuhnu.cutery.fi)
192- Fixed memory leak in dictresult() (terekhov@emc.com)
193- Deprecated pgext.py - functionality now in pg.py
194- More cleanups to the tutorial
195- Added fileno() method - terekhov@emc.com (Mikhail Terekhov)
196- added money type to quoting function
197- Compiles cleanly with more warnings turned on
198- Returns PostgreSQL error message on error
199- Init accepts keywords (Jarkko Torppa)
200- Convenience functions can be overridden (Jarkko Torppa)
201- added close() method
202
203Version 2.2 (1998-12-21)
204------------------------
205- Added user and password support thanks to Ng Pheng Siong (ngps@post1.com)
206- Insert queries return the inserted oid
207- Add new `pg` wrapper (C module renamed to _pg)
208- Wrapped database connection in a class
209- Cleaned up some of the tutorial.  (More work needed.)
210- Added `version` and `__version__`.
211  Thanks to thilo@eevolute.com for the suggestion.
212
213Version 2.1 (1998-03-07)
214------------------------
215- return fields as proper Python objects for field type
216- Cleaned up pgext.py
217- Added dictresult method
218
219Version 2.0  (1997-12-23)
220-------------------------
221- Updated code for PostgreSQL 6.2.1 and Python 1.5
222- Reformatted code and converted to use full ANSI style prototypes
223- Changed name to PyGreSQL (from PyGres95)
224- Changed order of arguments to connect function
225- Created new type `pgqueryobject` and moved certain methods to it
226- Added a print function for pgqueryobject
227- Various code changes - mostly stylistic
228
229Version 1.0b (1995-11-04)
230-------------------------
231- Keyword support for connect function moved from library file to C code
232  and taken away from library
233- Rewrote documentation
234- Bug fix in connect function
235- Enhancements in large objects interface methods
236
237Version 1.0a (1995-10-30)
238-------------------------
239A limited release.
240
241- Module adapted to standard Python syntax
242- Keyword support for connect function in library file
243- Rewrote default parameters interface (internal use of strings)
244- Fixed minor bugs in module interface
245- Redefinition of error messages
246
247Version 0.9b (1995-10-10)
248-------------------------
249The first public release.
250
251- Large objects implementation
252- Many bug fixes, enhancements, ...
253
254Version 0.1a (1995-10-07)
255-------------------------
256- Basic libpq functions (SQL access)
Note: See TracBrowser for help on using the repository browser.