|
1 |
| -===================== |
2 |
| - What's new in 1.3.7 |
3 |
| -===================== |
4 |
| -
|
5 |
| -Support link args other than '-L' and '-l' from mysql_config. |
6 |
| -
|
7 |
| -Missing value for column without default value cause IntegrityError. (#33) |
8 |
| -
|
9 |
| -Support BIT type. (#38) |
10 |
| -
|
11 |
| -More tests for date and time columns. (#41) |
12 |
| -
|
13 |
| -Fix calling .execute() method for closed cursor cause TypeError. (#37) |
14 |
| -
|
15 |
| -Improve peformance to parse date. (#43) |
16 |
| -
|
17 |
| -Support geometry types (#49) |
18 |
| -
|
19 |
| -Fix warning while multi statement cause ProgrammingError. (#48) |
20 |
| -
|
21 |
| -
|
22 |
| -===================== |
23 |
| - What's new in 1.3.6 |
24 |
| -===================== |
25 |
| -
|
26 |
| -Fix escape_string() doesn't work. |
27 |
| -
|
28 |
| -Remove `Cursor.__del__` to fix uncollectable circular reference on Python 3.3. |
29 |
| -
|
30 |
| -Add context manager support to `Cursor`. It automatically closes cursor on `__exit__`. |
31 |
| -
|
32 |
| -.. code-block:: |
33 |
| -
|
34 |
| - with conn.cursor() as cur: |
35 |
| - cur.execute("SELECT 1+1") |
36 |
| - print(cur.fetchone()) |
37 |
| - # cur is now closed |
38 |
| -
|
39 |
| -
|
40 |
| -===================== |
41 |
| - What's new in 1.3.5 |
42 |
| -===================== |
43 |
| -
|
44 |
| -Fix TINYBLOB, MEDIUMBLOB and LONGBLOB are treated as string and decoded |
45 |
| -to unicode or cause UnicodeError. |
46 |
| -
|
47 |
| -Fix aware datetime is formatted with timezone offset (e.g. "+0900"). |
48 |
| -
|
49 |
| -
|
50 |
| -===================== |
51 |
| - What's new in 1.3.4 |
52 |
| -===================== |
53 |
| -
|
54 |
| -* Remove compiler warnings. |
55 |
| -* Fix compile error when using libmariadbclient. |
56 |
| -* Fix GIL deadlock while dealloc. |
57 |
| -
|
58 |
| -===================== |
59 |
| - What's new in 1.3.3 |
60 |
| -===================== |
61 |
| -
|
62 |
| -* Fix exception reraising doesn't work. |
63 |
| -
|
64 |
| -===================== |
65 |
| - What's new in 1.3.2 |
66 |
| -===================== |
67 |
| -
|
68 |
| -* Add send_query() and read_query_result() method to low level connection. |
69 |
| -* Add waiter option. |
70 |
| -
|
71 |
| -
|
72 |
| -===================== |
73 |
| - What's new in 1.3.1 |
74 |
| -===================== |
75 |
| -
|
76 |
| -This is a first fork of MySQL-python. |
77 |
| -Now named "mysqlclient" |
78 |
| -
|
79 |
| -* Support Python 3 |
80 |
| -* Add autocommit option |
81 |
| -* Support microsecond in datetime field. |
82 |
| -
|
83 |
| -
|
84 |
| -===================== |
85 |
| - What's new in 1.2.4 |
86 |
| -===================== |
87 |
| -
|
88 |
| -final |
89 |
| -===== |
90 |
| -
|
91 |
| -No changes. |
92 |
| -
|
93 |
| -
|
94 |
| -rc 1 |
95 |
| -==== |
96 |
| -
|
97 |
| -Fixed a dangling reference to the old types module. |
98 |
| -
|
99 |
| -
|
100 |
| -beta 5 |
101 |
| -====== |
102 |
| -
|
103 |
| -Another internal fix for handling remapped character sets. |
104 |
| -
|
105 |
| -_mysql.c was broken for the case where read_timeout was *not* available. (Issue #6) |
106 |
| -
|
107 |
| -Documentation was converted to sphinx but there is a lot of cleanup left to do. |
108 |
| -
|
109 |
| -
|
110 |
| -beta 4 |
111 |
| -====== |
112 |
| -
|
113 |
| -Added support for the MySQL read_timeout option. Contributed by |
114 |
| -Jean Schurger (jean@schurger.org). |
115 |
| -
|
116 |
| -Added a workaround so that the MySQL character set utf8mb4 works with Python; utf8 is substituted |
117 |
| -on the Python side. |
118 |
| -
|
119 |
| -
|
120 |
| -beta 3 |
121 |
| -====== |
122 |
| -
|
123 |
| -Unified test database configuration, and set up CI testing with Travis. |
124 |
| -
|
125 |
| -Applied several patches from André Malo (ndparker@users.sf.net) which fix some issues |
126 |
| -with exception handling and reference counting and TEXT/BLOB conversion. |
127 |
| -
|
128 |
| -
|
129 |
| -beta 2 |
130 |
| -====== |
131 |
| -
|
132 |
| -Reverted an accidental change in the exception format. (issue #1) |
133 |
| -
|
134 |
| -Reverted some raise statements so that they will continue to work with Python < 2.6 |
135 |
| -
|
136 |
| -
|
137 |
| -beta 1 |
138 |
| -====== |
139 |
| -
|
140 |
| -A lot of work has been done towards Python 3 compatibility, and avoiding warnings with Python 2.7. |
141 |
| -This includes import changes, converting dict.has_kay(k) to k in dict, updating some test suite methods, etc. |
142 |
| -
|
143 |
| -Due to the difficulties of supporting Python 3 and Python < 2.7, 1.2.4 will support Python 2.4 though 2.7. |
144 |
| -1.3.0 will support Python 3 and Python 2.7 and 2.6. |
145 |
| -
|
146 |
| -MySQLdb-2.0 is instead going to become moist-1.0. See https://github.com/farcepest/moist |
147 |
| -
|
148 |
| -The Windows build has been simplified, and I plan to correct pre-built i386 packages built |
149 |
| -against the python.org Python-2.7 package and MySQL Connector/C-6.0. Contact me if you |
150 |
| -need ia64 packages. |
151 |
| -
|
152 |
| -The connection's cursorclass (if not default) was being lost on reconnect. |
153 |
| -
|
154 |
| -Newer versions of MySQL don't use OpenSSL and therefore don't have HAVE_SSL defined, but they do have |
155 |
| -a different SSL library. Fixed this so SSL support would be enabled in this case. |
156 |
| -
|
157 |
| -The regex that looked for SQL INSERT statement and VALUES in cursor.executemany() was made case-insensitive |
158 |
| -again. |
159 |
| -
|
160 |
| -
|
161 |
| -===================== |
162 |
| - What's new in 1.2.3 |
163 |
| -===================== |
164 |
| -
|
165 |
| -ez_setup.py has been update to include various fixes that affect the build. |
166 |
| -
|
167 |
| -Better Python version and dependency detection as well as eliminate exception |
168 |
| -warnings under Python 2.6. |
169 |
| -
|
170 |
| -Eliminated memory leaks related to Unicode and failed connections. |
171 |
| -
|
172 |
| -Corrected connection .escape() functionality. |
173 |
| -
|
174 |
| -Miscellaneous cleanups and and expanded testing suite to ensure ongoing release |
175 |
| -quality. |
176 |
| -
|
177 |
| -===================== |
178 |
| - What's new in 1.2.2 |
179 |
| -===================== |
180 |
| -
|
181 |
| -The build system has been completely redone and should now build |
182 |
| -on Windows without any patching; uses setuptools. |
183 |
| -
|
184 |
| -Added compatibility for Python 2.5, including support for with statement. |
185 |
| -
|
186 |
| -connection.ping() now takes an optional boolean argument which can |
187 |
| -enable (or disable) automatic reconnection. |
188 |
| -
|
189 |
| -Support returning SET columns as Python sets was removed due to an |
190 |
| -API bug in MySQL; corresponding test removed. |
191 |
| -
|
192 |
| -Added a test for single-character CHAR columns. |
193 |
| -
|
194 |
| -BLOB columns are now returned as Python strings instead of byte arrays. |
195 |
| -
|
196 |
| -BINARY character columns are always returned as Python strings, and not |
197 |
| -unicode. |
198 |
| -
|
199 |
| -Fixed a bug introduced in 1.2.1 where the new SHOW WARNINGS support broke |
200 |
| -SSCursor. |
201 |
| -
|
202 |
| -Only encode the query (convert to a string) when it is a unicode instance; |
203 |
| -re-encoding encoded strings would break things. |
204 |
| -
|
205 |
| -Make a deep copy of conv when connecting, since it can be modified. |
206 |
| -
|
207 |
| -Added support for new VARCHAR and BIT column types. |
208 |
| -
|
209 |
| -DBAPISet objects were broken, but nobody noticed. |
210 |
| -
|
211 |
| -
|
212 |
| -======================== |
213 |
| - What's new in 1.2.1_p2 |
214 |
| -======================== |
215 |
| -
|
216 |
| -There are some minor build fixes which probably only affect MySQL |
217 |
| -older than 4.0. |
218 |
| -
|
219 |
| -If you had MySQL older than 4.1, the new charset and sql_mode |
220 |
| -parameters didn't work right. In fact, it was impossible to create |
221 |
| -a connection due to the charset problem. |
222 |
| -
|
223 |
| -If you are using MySQL-4.1 or newer, there is no practical difference |
224 |
| -between 1.2.1 and 1.2.1_p2, and you don't need to upgrade. |
225 |
| -
|
226 |
| -
|
227 |
| -===================== |
228 |
| - What's new in 1.2.1 |
229 |
| -===================== |
230 |
| -
|
231 |
| -Switched to Subversion. Was going to do this for 1.3, but a |
232 |
| -SourceForge CVS outage has forced the issue. |
233 |
| -
|
234 |
| -Mapped a lot of new 4.1 and 5.0 error codes to Python exceptions |
235 |
| -
|
236 |
| -Added an API call for mysql_set_character_set(charset) (MySQL > 5.0.7) |
237 |
| -
|
238 |
| -Added an API call for mysql_get_character_set_info() (MySQL > 5.0.10) |
239 |
| -
|
240 |
| -Revamped the build system. Edit site.cfg if necessary (probably not |
241 |
| -in most cases) |
242 |
| -
|
243 |
| -Python-2.3 is now the minimum version. |
244 |
| -
|
245 |
| -Dropped support for mx.Datetime and stringtimes; always uses Python |
246 |
| -datetime module now. |
247 |
| -
|
248 |
| -Improved unit tests |
249 |
| -
|
250 |
| -New connect() options: |
251 |
| -* charset: sets character set, implies use_unicode |
252 |
| -* sql_mode: sets SQL mode (i.e. ANSI, etc.; see MySQL docs) |
253 |
| -
|
254 |
| -When using MySQL-4.1 or newer, enables MULTI_STATEMENTS |
255 |
| -
|
256 |
| -When using MySQL-5.0 or newer, enables MULTI_RESULTS |
257 |
| -
|
258 |
| -When using MySQL-4.1 or newer, more detailed warning messages |
259 |
| -are produced |
260 |
| -
|
261 |
| -SET columns returned as Python Set types; you can pass a Set as |
262 |
| -a parameter to cursor.execute(). |
263 |
| -
|
264 |
| -Support for the new MySQL-5.0 DECIMAL implementation |
265 |
| -
|
266 |
| -Support for Python Decimal type |
267 |
| -
|
268 |
| -Some use of weak references internally. Cursors no longer leak |
269 |
| -if you don't close them. Connections still do, unfortunately. |
270 |
| -
|
271 |
| -ursor.fetchXXXDict() methods raise DeprecationWarning |
272 |
| -
|
273 |
| -cursor.begin() is making a brief reappearence. |
274 |
| -
|
275 |
| -cursor.callproc() now works, with some limitations. |
276 |
| -
|
| 1 | +===================== |
| 2 | + What's new in 1.3.7 |
| 3 | +===================== |
| 4 | + |
| 5 | +Support link args other than '-L' and '-l' from mysql_config. |
| 6 | + |
| 7 | +Missing value for column without default value cause IntegrityError. (#33) |
| 8 | + |
| 9 | +Support BIT type. (#38) |
| 10 | + |
| 11 | +More tests for date and time columns. (#41) |
| 12 | + |
| 13 | +Fix calling .execute() method for closed cursor cause TypeError. (#37) |
| 14 | + |
| 15 | +Improve peformance to parse date. (#43) |
| 16 | + |
| 17 | +Support geometry types (#49) |
| 18 | + |
| 19 | +Fix warning while multi statement cause ProgrammingError. (#48) |
| 20 | + |
| 21 | + |
| 22 | +===================== |
| 23 | + What's new in 1.3.6 |
| 24 | +===================== |
| 25 | + |
| 26 | +Fix escape_string() doesn't work. |
| 27 | + |
| 28 | +Remove `Cursor.__del__` to fix uncollectable circular reference on Python 3.3. |
| 29 | + |
| 30 | +Add context manager support to `Cursor`. It automatically closes cursor on `__exit__`. |
| 31 | + |
| 32 | +.. code-block:: |
| 33 | + |
| 34 | + with conn.cursor() as cur: |
| 35 | + cur.execute("SELECT 1+1") |
| 36 | + print(cur.fetchone()) |
| 37 | + # cur is now closed |
| 38 | + |
| 39 | + |
| 40 | +===================== |
| 41 | + What's new in 1.3.5 |
| 42 | +===================== |
| 43 | + |
| 44 | +Fix TINYBLOB, MEDIUMBLOB and LONGBLOB are treated as string and decoded |
| 45 | +to unicode or cause UnicodeError. |
| 46 | + |
| 47 | +Fix aware datetime is formatted with timezone offset (e.g. "+0900"). |
| 48 | + |
| 49 | + |
| 50 | +===================== |
| 51 | + What's new in 1.3.4 |
| 52 | +===================== |
| 53 | + |
| 54 | +* Remove compiler warnings. |
| 55 | +* Fix compile error when using libmariadbclient. |
| 56 | +* Fix GIL deadlock while dealloc. |
| 57 | + |
| 58 | +===================== |
| 59 | + What's new in 1.3.3 |
| 60 | +===================== |
| 61 | + |
| 62 | +* Fix exception reraising doesn't work. |
| 63 | + |
| 64 | +===================== |
| 65 | + What's new in 1.3.2 |
| 66 | +===================== |
| 67 | + |
| 68 | +* Add send_query() and read_query_result() method to low level connection. |
| 69 | +* Add waiter option. |
| 70 | + |
| 71 | + |
| 72 | +===================== |
| 73 | + What's new in 1.3.1 |
| 74 | +===================== |
| 75 | + |
| 76 | +This is a first fork of MySQL-python. |
| 77 | +Now named "mysqlclient" |
| 78 | + |
| 79 | +* Support Python 3 |
| 80 | +* Add autocommit option |
| 81 | +* Support microsecond in datetime field. |
| 82 | + |
| 83 | + |
| 84 | +===================== |
| 85 | + What's new in 1.2.4 |
| 86 | +===================== |
| 87 | + |
| 88 | +final |
| 89 | +===== |
| 90 | + |
| 91 | +No changes. |
| 92 | + |
| 93 | + |
| 94 | +rc 1 |
| 95 | +==== |
| 96 | + |
| 97 | +Fixed a dangling reference to the old types module. |
| 98 | + |
| 99 | + |
| 100 | +beta 5 |
| 101 | +====== |
| 102 | + |
| 103 | +Another internal fix for handling remapped character sets. |
| 104 | + |
| 105 | +_mysql.c was broken for the case where read_timeout was *not* available. (Issue #6) |
| 106 | + |
| 107 | +Documentation was converted to sphinx but there is a lot of cleanup left to do. |
| 108 | + |
| 109 | + |
| 110 | +beta 4 |
| 111 | +====== |
| 112 | + |
| 113 | +Added support for the MySQL read_timeout option. Contributed by |
| 114 | +Jean Schurger (jean@schurger.org). |
| 115 | + |
| 116 | +Added a workaround so that the MySQL character set utf8mb4 works with Python; utf8 is substituted |
| 117 | +on the Python side. |
| 118 | + |
| 119 | + |
| 120 | +beta 3 |
| 121 | +====== |
| 122 | + |
| 123 | +Unified test database configuration, and set up CI testing with Travis. |
| 124 | + |
| 125 | +Applied several patches from André Malo (ndparker@users.sf.net) which fix some issues |
| 126 | +with exception handling and reference counting and TEXT/BLOB conversion. |
| 127 | + |
| 128 | + |
| 129 | +beta 2 |
| 130 | +====== |
| 131 | + |
| 132 | +Reverted an accidental change in the exception format. (issue #1) |
| 133 | + |
| 134 | +Reverted some raise statements so that they will continue to work with Python < 2.6 |
| 135 | + |
| 136 | + |
| 137 | +beta 1 |
| 138 | +====== |
| 139 | + |
| 140 | +A lot of work has been done towards Python 3 compatibility, and avoiding warnings with Python 2.7. |
| 141 | +This includes import changes, converting dict.has_kay(k) to k in dict, updating some test suite methods, etc. |
| 142 | + |
| 143 | +Due to the difficulties of supporting Python 3 and Python < 2.7, 1.2.4 will support Python 2.4 though 2.7. |
| 144 | +1.3.0 will support Python 3 and Python 2.7 and 2.6. |
| 145 | + |
| 146 | +MySQLdb-2.0 is instead going to become moist-1.0. See https://github.com/farcepest/moist |
| 147 | + |
| 148 | +The Windows build has been simplified, and I plan to correct pre-built i386 packages built |
| 149 | +against the python.org Python-2.7 package and MySQL Connector/C-6.0. Contact me if you |
| 150 | +need ia64 packages. |
| 151 | + |
| 152 | +The connection's cursorclass (if not default) was being lost on reconnect. |
| 153 | + |
| 154 | +Newer versions of MySQL don't use OpenSSL and therefore don't have HAVE_SSL defined, but they do have |
| 155 | +a different SSL library. Fixed this so SSL support would be enabled in this case. |
| 156 | + |
| 157 | +The regex that looked for SQL INSERT statement and VALUES in cursor.executemany() was made case-insensitive |
| 158 | +again. |
| 159 | + |
| 160 | + |
| 161 | +===================== |
| 162 | + What's new in 1.2.3 |
| 163 | +===================== |
| 164 | + |
| 165 | +ez_setup.py has been update to include various fixes that affect the build. |
| 166 | + |
| 167 | +Better Python version and dependency detection as well as eliminate exception |
| 168 | +warnings under Python 2.6. |
| 169 | + |
| 170 | +Eliminated memory leaks related to Unicode and failed connections. |
| 171 | + |
| 172 | +Corrected connection .escape() functionality. |
| 173 | + |
| 174 | +Miscellaneous cleanups and and expanded testing suite to ensure ongoing release |
| 175 | +quality. |
| 176 | + |
| 177 | +===================== |
| 178 | + What's new in 1.2.2 |
| 179 | +===================== |
| 180 | + |
| 181 | +The build system has been completely redone and should now build |
| 182 | +on Windows without any patching; uses setuptools. |
| 183 | + |
| 184 | +Added compatibility for Python 2.5, including support for with statement. |
| 185 | + |
| 186 | +connection.ping() now takes an optional boolean argument which can |
| 187 | +enable (or disable) automatic reconnection. |
| 188 | + |
| 189 | +Support returning SET columns as Python sets was removed due to an |
| 190 | +API bug in MySQL; corresponding test removed. |
| 191 | + |
| 192 | +Added a test for single-character CHAR columns. |
| 193 | + |
| 194 | +BLOB columns are now returned as Python strings instead of byte arrays. |
| 195 | + |
| 196 | +BINARY character columns are always returned as Python strings, and not |
| 197 | +unicode. |
| 198 | + |
| 199 | +Fixed a bug introduced in 1.2.1 where the new SHOW WARNINGS support broke |
| 200 | +SSCursor. |
| 201 | + |
| 202 | +Only encode the query (convert to a string) when it is a unicode instance; |
| 203 | +re-encoding encoded strings would break things. |
| 204 | + |
| 205 | +Make a deep copy of conv when connecting, since it can be modified. |
| 206 | + |
| 207 | +Added support for new VARCHAR and BIT column types. |
| 208 | + |
| 209 | +DBAPISet objects were broken, but nobody noticed. |
| 210 | + |
| 211 | + |
| 212 | +======================== |
| 213 | + What's new in 1.2.1_p2 |
| 214 | +======================== |
| 215 | + |
| 216 | +There are some minor build fixes which probably only affect MySQL |
| 217 | +older than 4.0. |
| 218 | + |
| 219 | +If you had MySQL older than 4.1, the new charset and sql_mode |
| 220 | +parameters didn't work right. In fact, it was impossible to create |
| 221 | +a connection due to the charset problem. |
| 222 | + |
| 223 | +If you are using MySQL-4.1 or newer, there is no practical difference |
| 224 | +between 1.2.1 and 1.2.1_p2, and you don't need to upgrade. |
| 225 | + |
| 226 | + |
| 227 | +===================== |
| 228 | + What's new in 1.2.1 |
| 229 | +===================== |
| 230 | + |
| 231 | +Switched to Subversion. Was going to do this for 1.3, but a |
| 232 | +SourceForge CVS outage has forced the issue. |
| 233 | + |
| 234 | +Mapped a lot of new 4.1 and 5.0 error codes to Python exceptions |
| 235 | + |
| 236 | +Added an API call for mysql_set_character_set(charset) (MySQL > 5.0.7) |
| 237 | + |
| 238 | +Added an API call for mysql_get_character_set_info() (MySQL > 5.0.10) |
| 239 | + |
| 240 | +Revamped the build system. Edit site.cfg if necessary (probably not |
| 241 | +in most cases) |
| 242 | + |
| 243 | +Python-2.3 is now the minimum version. |
| 244 | + |
| 245 | +Dropped support for mx.Datetime and stringtimes; always uses Python |
| 246 | +datetime module now. |
| 247 | + |
| 248 | +Improved unit tests |
| 249 | + |
| 250 | +New connect() options: |
| 251 | +* charset: sets character set, implies use_unicode |
| 252 | +* sql_mode: sets SQL mode (i.e. ANSI, etc.; see MySQL docs) |
| 253 | + |
| 254 | +When using MySQL-4.1 or newer, enables MULTI_STATEMENTS |
| 255 | + |
| 256 | +When using MySQL-5.0 or newer, enables MULTI_RESULTS |
| 257 | + |
| 258 | +When using MySQL-4.1 or newer, more detailed warning messages |
| 259 | +are produced |
| 260 | + |
| 261 | +SET columns returned as Python Set types; you can pass a Set as |
| 262 | +a parameter to cursor.execute(). |
| 263 | + |
| 264 | +Support for the new MySQL-5.0 DECIMAL implementation |
| 265 | + |
| 266 | +Support for Python Decimal type |
| 267 | + |
| 268 | +Some use of weak references internally. Cursors no longer leak |
| 269 | +if you don't close them. Connections still do, unfortunately. |
| 270 | + |
| 271 | +ursor.fetchXXXDict() methods raise DeprecationWarning |
| 272 | + |
| 273 | +cursor.begin() is making a brief reappearence. |
| 274 | + |
| 275 | +cursor.callproc() now works, with some limitations. |
| 276 | + |
0 commit comments