171.1.1
by Geert Vanderkelen
Adding release notes for 0.1.2-devel |
1 |
MySQL Connector/Python - Release Notes / ChangeLog |
372
by Geert Vanderkelen
BUG#16209119: Fix IPv6 support for older MS Windows version |
2 |
Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. |
315
by Geert Vanderkelen
WL#6250: Updating license notice |
3 |
|
389
by Geert Vanderkelen
Release 1.0.10 |
4 |
1.0.10 (2013-05-02) |
382
by Geert Vanderkelen
BUG#16400735: Fixed verification of server certificates |
5 |
-----------------------------------------------------------------------
|
386
by Geert Vanderkelen
BUG#16234441: Fixed shutdown using different shutdown types |
6 |
- Fixed MySQLConnection.cmd_shutdown() method to accept shutdown types. A |
7 |
new constants class ShutdownType was added. (BUG#16234441) |
|
8 |
||
384
by Geert Vanderkelen
BUG#16369511: Added support for LOAD DATA LOCAL INFILE |
9 |
- Added support for LOAD DATA LOCAL INFILE. (BUG#16369511) |
10 |
||
383
by Geert Vanderkelen
BUG#16430013: Removed non-GPL docs from GPL packages |
11 |
- Removed non-GPL documentation from GPL packages. Added README_DOCS.txt |
12 |
with URL of the online manual and downloads. (BUG#16430013) |
|
13 |
||
382
by Geert Vanderkelen
BUG#16400735: Fixed verification of server certificates |
14 |
- Fixed SSL certificate checking and error reporting. We introduced |
15 |
a new connection argument ssl_verify_cert. When set to True, |
|
16 |
it will verify the server certificate (using ssl.CERT_REQUIRED). |
|
17 |
(BUG#16400735) |
|
18 |
||
381
by Geert Vanderkelen
Release 1.0.9 |
19 |
1.0.9 (2013-02-21) |
369
by Geert Vanderkelen
Release 1.0.8 |
20 |
-----------------------------------------------------------------------
|
376
by Geert Vanderkelen
BUG#16236136: version.py is now copied when building |
21 |
- Fixed the 'build' DistUtils command to copy version.py. This makes |
22 |
sure that the version of Connector/Python inside the |
|
23 |
build-directory is fully functional. (BUG#16236136) |
|
24 |
||
375
by Geert Vanderkelen
BUG#16217667: Setting SSL client flag with SSL options |
25 |
- Fixed connecting using SSL: we now set the ClientFlag.SSL |
26 |
automatically whenever SSL arguments are used when setting |
|
27 |
up the connection. (BUG#16217667) |
|
28 |
||
374
by Geert Vanderkelen
BUG#16217743: Fixed passing string parameters to stored routines |
29 |
- Fixed passing string parameters to stored routines. (BUG#16217743) |
30 |
||
373
by Geert Vanderkelen
BUG#16249347: Fixed mail address of FSF in copyright notice |
31 |
- Fixed mail address of FSF in copyright notice. (BUG#16249347) |
32 |
||
372
by Geert Vanderkelen
BUG#16209119: Fix IPv6 support for older MS Windows version |
33 |
- Fixed IPv6 for older MS Windows versions. We now use |
34 |
socket.getaddrinfo() instead of inet_pton() to check whether we are |
|
35 |
connecting using IPv4 or IPv6. A new connection option 'force_ipv6' |
|
36 |
has been introduced. When set to True, IPv6 will be used when an |
|
37 |
address resolves to both IPv4 and IPv6. (BUG#16209119) |
|
369
by Geert Vanderkelen
Release 1.0.8 |
38 |
|
39 |
1.0.8 (2012-12-17) |
|
357
by Geert Vanderkelen
BUG#14754894: Fixed executemany() to support the pyformat parameter style |
40 |
-----------------------------------------------------------------------
|
368
by Geert Vanderkelen
BUG#15915243: Fixed ping() method to only reconnect when needed |
41 |
- Fixed MySQLConnection.ping() so it only reconnects when the reconnect |
42 |
argument is set to True. (BUG#15915243) |
|
43 |
||
367
by Geert Vanderkelen
BUG#15916486: Fixed storing results after calling stored procedures |
44 |
- Fixed storing multiple results after calling stored procedures which |
45 |
are using arguments. (BUG#15916486) |
|
46 |
||
47 |
- Fixed support for connecting to MySQL using IPv6 addresses. (BUG#15876886) |
|
48 |
||
364
by Geert Vanderkelen
BUG#15836979: Fixed handling of MySQL errors when doing handshake |
49 |
- Fixed handling MySQL errors when doing handshake. (BUG#15836979) |
50 |
||
365
by Geert Vanderkelen
BUG#15927825: Fixed remote connection using IPv6 |
51 |
- Fixed support for connecting to MySQL using IPv6 addresses. (BUG#15876886, |
52 |
BUG#15927825) |
|
363
by Geert Vanderkelen
BUG#15876886: Fixed support for connecting to MySQL using IPv6 addresses |
53 |
|
366
by Geert Vanderkelen
BUG#14829471: Fix reading incomplete MySQL packets headers |
54 |
- Fixed reading the header of MySQL packets. Previously, we were reading |
55 |
the MySQL packet headers as 4 (or 7) bytes long buffers from the socket. |
|
56 |
When we did have the correct length, we would immediately raise an exception. |
|
369
by Geert Vanderkelen
Release 1.0.8 |
57 |
We now keep reading data from the socket until we got the full header |
366
by Geert Vanderkelen
BUG#14829471: Fix reading incomplete MySQL packets headers |
58 |
or bail out on errors. (BUG#14829471) |
59 |
||
362
by Geert Vanderkelen
BUG#13808727: Fixed error message when TCP/IP port is not an integer |
60 |
- Fixed the error message when the TCP/IP port number is not a valid integer. |
61 |
Strings are first converted to integer and raise an error with a proper |
|
62 |
error when this fails. (BUG#13808727) |
|
63 |
||
360
by Geert Vanderkelen
BUG#14843456: Fixed authenticating using unicode in usernames and passwords |
64 |
- Fixed authenticating for Python v2 using usernames and/or passwords which |
369
by Geert Vanderkelen
Release 1.0.8 |
65 |
contain Unicode characters using Python v2. (BUG#14843456) |
360
by Geert Vanderkelen
BUG#14843456: Fixed authenticating using unicode in usernames and passwords |
66 |
|
358
by Geert Vanderkelen
BUG#14802017: Fixed reporting of socket errors |
67 |
- Fixed reporting of socket errors. (BUG#14802017) |
68 |
||
357
by Geert Vanderkelen
BUG#14754894: Fixed executemany() to support the pyformat parameter style |
69 |
- Fixed executemany() to support the pyformat parameter style. (BUG#14754894) |
70 |
* The regular expression parsing the INSERT statement did not work when |
|
71 |
pyformat markers where used, that is, '%(c1)s' for example. This is now |
|
72 |
fixed so both ANSI C printf and Python extended format codes can be |
|
73 |
used by MySQLCursor.executemany(). |
|
74 |
||
354
by Geert Vanderkelen
Release 1.0.7 |
75 |
1.0.7 (2012-08-19) |
349
by Geert Vanderkelen
Release 1.0.6-beta |
76 |
-----------------------------------------------------------------------
|
352
by Geert Vanderkelen
BUG#14548043: Fixed formatting of client errors |
77 |
- Fixed formatting of client errors changing numeric to string |
78 |
placeholders. (BUG#14548043) |
|
79 |
* Client and server errors have been regenerated using latest |
|
80 |
development release of MySQL v5.6.6. |
|
349
by Geert Vanderkelen
Release 1.0.6-beta |
81 |
|
82 |
1.0.6-beta (2012-08-28) |
|
340
by Geert Vanderkelen
Release 1.0.5-beta |
83 |
-----------------------------------------------------------------------
|
348
by Geert Vanderkelen
BUG#14524942: Fixed Python v3 code so it works with Python v3.3 |
84 |
- Fixed Python v3 code so it works with Python v3.3. (BUG#14524942) |
85 |
||
347
by Geert Vanderkelen
BUG#14517262: Fixed MySQLCursorRaw.fetchall() to not raise with results |
86 |
- Fixed MySQLCursorRaw.fetchall() to not raise when results are available. |
87 |
This was only a problem in the Python v3 code. (BUG#14517262, BUG#66465) |
|
88 |
||
346
by Geert Vanderkelen
WL#6450: Changed Name/version to align with other MySQL projects |
89 |
- Changed name and version of distributions to align with other MySQL |
90 |
projects (WL#6450) |
|
91 |
* The version now includes the suffix 'b' for beta and 'a' for alpha |
|
92 |
followed by a number. This version is used in the source and built |
|
93 |
distributions. GA versions will have no suffix. |
|
94 |
* The RPM spec files have been updated to create packages which names |
|
95 |
are aligned with RPMs from other MySQL projects. |
|
96 |
||
345
by Geert Vanderkelen
BUG#14483142: Fixed installation of version.py on OS X |
97 |
- Fixed installation of version.py on OS X. (BUG#14483142) |
98 |
* version.py is now correctly installed on OS X in the mysql.connector |
|
99 |
package. Previously it was installed through data_files, and version.py |
|
100 |
ended up in the system wide package location of Python from where it |
|
101 |
could not be imported. |
|
102 |
* data_files is not used any longer in setup.py and is removed. Extra |
|
103 |
files like version.py are now copied in the custom Distutils |
|
104 |
commands. |
|
105 |
||
342.1.1
by Geert Vanderkelen
BUG#14402737: Fixed SSL unit testing for source distributions |
106 |
- Fixed SSL unit testing for source distributions. (BUG#14402737) |
107 |
* The SSL keys and certificates were missing and have been added to |
|
108 |
the source distribution. Now SSL testing works properly. |
|
109 |
* Additionally for the Windows platform, forward slashes had to |
|
110 |
be added to the option file creation so the MySQL server can |
|
111 |
pickup the needed SSL files. |
|
112 |
||
343
by Geert Vanderkelen
BUG#14487502: Setting connection time out higher for unit tests |
113 |
- Timeout for unit tests has been set to 10 seconds. Test cases can |
114 |
individually adjust it to be higher or lower. (BUG#14487502) |
|
115 |
||
342
by Geert Vanderkelen
BUG#14460680: Fixed test case using YEAR(2) for MySQL v5.6.6 and later |
116 |
- Fixed test cases in test_mysql_database.py which failed when using |
117 |
using YEAR(2) with MySQL v5.6.6 and greater. (BUG#14460680) |
|
118 |
||
341
by Geert Vanderkelen
WL#6412: Mapping MySQL errors to Python exceptions based on the SQLState |
119 |
- Changed how MySQL server errors are mapped to Python exceptions. We now |
120 |
use the SQLState (when available) to raise a better error. (WL#6412) |
|
121 |
* Incompatibility: some server errors are now raised with a different |
|
122 |
exception. |
|
123 |
* It is possible to override how errors are raised using the |
|
124 |
mysql.connector.custom_error_exception() function, defined in |
|
125 |
the mysql.connector.errors module. This can be useful for certain |
|
126 |
frameworks to align with other database drivers. |
|
340
by Geert Vanderkelen
Release 1.0.5-beta |
127 |
|
128 |
1.0.5-beta (2012-07-17) |
|
336
by Geert Vanderkelen
Release 1.0.4-alpha |
129 |
-----------------------------------------------------------------------
|
338
by Geert Vanderkelen
WL#6411: Added SQL Modes as constants, making it easier to use them |
130 |
- Added SQL Modes as constants, making it easier to use them (WL#6411) |
131 |
* Setting the SQL Modes meant that developers had to make sure the |
|
132 |
string passed to MySQL was correctly formatted and contains the correct |
|
133 |
modes. To make it easier, a new class constants.SQLMode containing all |
|
134 |
the SQL Modes was added: for example, constants.SQLMode.TRADITIONAL will |
|
135 |
return the string 'TRADITIONAL'. |
|
341
by Geert Vanderkelen
WL#6412: Mapping MySQL errors to Python exceptions based on the SQLState |
136 |
* Additionally, MySQLConnection.sql_mode property now accepts a sequence of |
338
by Geert Vanderkelen
WL#6411: Added SQL Modes as constants, making it easier to use them |
137 |
SQL Modes. For example, to set 2 SQL Modes, you can do the following |
138 |
cnx.sql_mode = [SQLMode.REAL_AS_FLOAT, SQLMode.NO_ZERO_DATE] |
|
139 |
||
337
by Geert Vanderkelen
WL#6351: Added descriptive error codes for both client and server errors |
140 |
- Added descriptive error codes for both client and server errors (WL#6351) |
141 |
* The errorcode module contains client and server error codes which can |
|
142 |
be used instead of the error numbers. For example, |
|
143 |
errorcode.CR_CONNECTION_ERROR is 2002. |
|
144 |
* A new locales sub-package has been created in mysql.connector. This will |
|
145 |
provided localized content. The first support language is the default |
|
146 |
English and contains the client error messages: locales.eng.client_error. |
|
147 |
To retrieve a client error based on the error number or code (name) you |
|
148 |
can use the get_client_error() function importing it from locales: |
|
149 |
from mysql.connector.locales import get_client_error() |
|
150 |
* Error messages and error codes are automatically fetch from the latest |
|
151 |
development release of MySQL. The errorcode.py and all files in the |
|
152 |
locales package are generated. You can see the generation date and the |
|
153 |
version of MySQL which was used in those files. |
|
336
by Geert Vanderkelen
Release 1.0.4-alpha |
154 |
|
155 |
1.0.4-alpha (2012-07-08) |
|
324
by Geert Vanderkelen
Release 1.0.3-alpha |
156 |
-----------------------------------------------------------------------
|
335
by Geert Vanderkelen
BUG#14259996: Removing redundant (un)set_client_flag methods |
157 |
- Redundant MySQLConnection methods unset_client_flag() and set_client_flag() |
340
by Geert Vanderkelen
Release 1.0.5-beta |
158 |
have been removed. Use set_client_flags() using a sequence of flags to |
335
by Geert Vanderkelen
BUG#14259996: Removing redundant (un)set_client_flag methods |
159 |
change the client flags. (BUG#14259996) |
160 |
||
334
by Geert Vanderkelen
BUG#14260052: Simplified setting and retrieving character set and collation |
161 |
- Greatly simplified setting and retrieving character set and collation |
162 |
information (BUG#14260052): |
|
163 |
* Incompatible change: MySQLConnection's set_charset() has been replaced |
|
164 |
by the method set_charset_collation() with which it is possible to set |
|
165 |
character set and collation. The properties collation and charset are |
|
166 |
now read-only. |
|
167 |
||
333
by Geert Vanderkelen
BUG#14259954: Fixed executing many INSERT .. ON DUPLICATE KEY with functions |
168 |
- Fixed MySQLCursor.executemany() when INSERT statements use the |
169 |
'ON DUPLICATE KEY'-clause with a function like VALUES() (BUG#14259954) |
|
170 |
||
330
by Geert Vanderkelen
BUG#14236592: Fixing unit testing on the MS Windows platform |
171 |
- Fixing unit testing on the MS Windows platform (BUG#14236592) |
172 |
* tests/mysqld.py has been updated to make sure Windows binaries are |
|
173 |
looked up. Also, backslashes are now replaced by double forward |
|
174 |
slashes in the option file. |
|
175 |
* Bootstrapping is done using --no-defaults and we make sure that |
|
176 |
--standalone is used when launching mysqld.exe on Windows. |
|
177 |
* examples/dates.py has been updated to produce more predictable |
|
178 |
output and to work in environments where SQL Modes are set by |
|
179 |
default, for example, MySQL installation on Windows. |
|
180 |
* Some unit test have been update for Windows. |
|
181 |
||
329
by Geert Vanderkelen
BUG#14231941: Fixed converting datetime.time to MySQL for Python 2.4/2.5 |
182 |
- Converting a datetime.time for MySQL failed for Python v2.4/2.5 |
183 |
because strftime() has no support for the %f mark (BUG#14231941) |
|
184 |
||
328
by Geert Vanderkelen
BUG#14231160: Cursors .description, .lastrowid and .rowcount are read-only |
185 |
- cursor.CursorBase attributes description, lastrowid and rowcount are now |
186 |
read-only properties. This change was needed to to comply with Python's |
|
187 |
DB API v2.0 specification or PEP-249. (BUG#14231160) |
|
188 |
||
327
by Geert Vanderkelen
BUG#14201459: Server Error 1426 classified as ProgrammingError |
189 |
- Server error 1426 has been classified as ProgrammingError for |
190 |
MySQL 5.6.4 and later (BUG#14201459) |
|
191 |
* Additionally, the unit tests will now show the actual version of the |
|
192 |
MySQL server being bootstrapped and started. The version is also |
|
193 |
available to all tests. |
|
194 |
||
326
by Geert Vanderkelen
BUG#14208326: cmd_query_iter() added to support multiple statements |
195 |
- MySQLConnection.cmd_query() could and can not handle multiple statements. |
340
by Geert Vanderkelen
Release 1.0.5-beta |
196 |
There for, a new method cmd_query_iter() has been introduced which will |
326
by Geert Vanderkelen
BUG#14208326: cmd_query_iter() added to support multiple statements |
197 |
return an generator object to iterate through results. To prevent |
198 |
duplication of functionality/code, we made a few changes to the |
|
199 |
cursors in the cursor module. Here is a list of what is new and |
|
200 |
incompatible changes (BUG#14208326): |
|
201 |
* MySQLConnection.cmd_query() will raise an error when multiple |
|
202 |
statements are given; cmd_query_iter() should be used. |
|
203 |
* MySQLCursor.execute() returns a generator object with which you can |
|
204 |
iterate over results when executing multiple statements. Previously |
|
205 |
it returned -1 or the row count. MySQLCursor.execute() yields True |
|
206 |
when there are rows available (for example, after a SELECT), or False |
|
207 |
when no rows need to be or can be fetched. |
|
208 |
* The method MySQLCursor.next_resultset() has been removed since you |
|
209 |
can now iterate through results using MySQLCursor.execute(). |
|
210 |
* The method MySQLCursor.next_proc_result() has been renamed to |
|
211 |
MySQLCursor.proc_results() and returns a generator object. |
|
212 |
* MySQLCursor.statement will return the executed statement. |
|
213 |
* MySQLCursor.with_rows returns True when there is result which could |
|
214 |
return rows (which has columns definitions returned by MySQL). |
|
215 |
* The multiple_resultset.py example shows how to go through results |
|
216 |
produced by sending multiple statements. |
|
217 |
||
325
by Geert Vanderkelen
BUG#14184643: Fixed checking for unread results when sending commands |
218 |
- MySQLConnection.cmd_query() and other methods sending server commands |
219 |
did not take into consideration that there might be unread results. This |
|
220 |
could possibly lead to wrong results and the application waiting forever. |
|
221 |
(BUG#14184643) |
|
324
by Geert Vanderkelen
Release 1.0.3-alpha |
222 |
|
223 |
1.0.3-alpha (2012-06-08) |
|
224 |
-----------------------------------------------------------------------
|
|
225 |
- Facilitate the creation of source and built distributions (WL#6250) |
|
226 |
* New Distutils commands for creating packages. Every command can be |
|
227 |
given with the setup script, `python setup.py <command>`. These |
|
228 |
commands are a good base for later adding more distribution types. |
|
229 |
All commands are either specific to a particular Python minor version |
|
230 |
or major version (that is Python 2.x or Python 3.x). |
|
231 |
* sdist_gpl: GPLv2 distribution created in a folder in dist/. This is |
|
232 |
the base command for other GPLv2 source distributions. |
|
233 |
* bdist_com: Commercial distribution created in a folder in dist/. This |
|
234 |
the base command for other commercial built distributions. Before |
|
235 |
the source byte-compiled and removed, the GPL license is removed. |
|
236 |
* sdist_gpl_msi: Based on command sdist_gpl, it creates a Windows |
|
237 |
Installer installing a source distribution using WiX v3.5 (see |
|
238 |
support/MSWindows). |
|
239 |
* bdist_com_msi: Based on command bdist_com, it creates a Windows |
|
240 |
Installer installing a commercial built distribution |
|
241 |
using WiX v3.5 (see support/MSWindows). |
|
242 |
* sdist_gpl_rpm: Based on command sdist_gpl, it creates an architecture |
|
243 |
independent, but Python version specific, source distribution |
|
244 |
using a RPM spec file (see support/RPM). |
|
245 |
* bdist_com_rpm: Based on command bdist_com, it creates a architecture |
|
246 |
independent, but Python version specific, built distribution |
|
247 |
using a RPM spec file (see support/RPM). |
|
248 |
* There is an additional command to make Egg, but this proved to be not |
|
249 |
working due to the fact that Connector/Python is installed in a folder |
|
250 |
or package used by other projects (like MySQL Utilities). We, however, |
|
251 |
leave the code as it might be useful later. |
|
252 |
* The support/ directory is not part of any distribution and the setup.py |
|
253 |
will silently ignore when the extra Distutils commands are not |
|
254 |
available. |
|
255 |
* The distribution name of the Connector/Python (metasetupinfo.py) has |
|
256 |
changed from MySQL-Connector-Python to MySQL_Connector_Python to avoid |
|
257 |
problems installing using easy_install and others. |
|
258 |
* The docs/ directory now contains placeholder files for various |
|
259 |
documentation formats which will be part of the distribution later. We |
|
260 |
added these to facilitate the development and testing of the extra |
|
261 |
Distutils commands. |
|
262 |
* We removed the support/make_release.py script because we now use the |
|
263 |
Distutils. The file _version.py has been renamed to version.py so it |
|
264 |
can be imported without to much problems as it is also part of the |
|
265 |
distributions. |
|
266 |
||
322
by Geert Vanderkelen
WL#6149: Adding support for time values with a fractional part |
267 |
- Adding support for time values with a fractional part (WL#6149) |
268 |
* In MySQL 5.6.4, the fractional part of DATETIME, TIME, and TIMESTAMP |
|
269 |
values can be stored (provided the table schema supports it). |
|
270 |
Connector/Python will send the fractional part and read it from results. |
|
271 |
Support is transparent and there is no extra option needed to enable |
|
272 |
this feature. |
|
273 |
* The new example script microseconds.py was added showing how to use |
|
274 |
Connector/Python to save and read TIME values with a fractional part. |
|
321
by Geert Vanderkelen
Release 1.0.2-alpha |
275 |
|
276 |
1.0.2-alpha (2012-05-19) |
|
317
by Geert Vanderkelen
BUG#14048685: Bootstrapping MySQL v5.6 running unittests have been fixed |
277 |
-----------------------------------------------------------------------
|
320
by Geert Vanderkelen
WL#6069: Adding missing unittests |
278 |
- Adding missing unittests (WL#6069): |
279 |
* Adding missing unit tests for important modules like connection and |
|
280 |
network. |
|
281 |
* SSL wasn't tested and the bootstrapped MySQL server can now setup |
|
282 |
secure connections using certificates and keys found in the |
|
283 |
/support/ssl folder of the source. |
|
284 |
* Some bugs around SSL have been found and fixed together with some |
|
285 |
refactoring. |
|
286 |
* Some code in mysql.connector.connection has been refactored or removed. |
|
287 |
||
318
by Geert Vanderkelen
BUG#14039339: Fixing and refactoring the mysql.connector.errors module |
288 |
- Fixing and refactoring the mysql.connector.errors module (BUG#14039339): |
289 |
* class ClientError has been removed. The client error messages are |
|
290 |
now found in errors._CLIENT_ERROR and the function returning the |
|
291 |
MySQL Client error message is named errors._get_mysql_client_error. |
|
292 |
* Some server errors were incorrectly or classified twice. |
|
293 |
* errors.raise_error will raise a ValueError when the packet does not |
|
294 |
contain a MySQL error. |
|
295 |
* Removed Python mapping keys from client error messages |
|
296 |
in _CLIENT_ERROR. |
|
297 |
* The SQLState returned by MySQL errors were not reported in the |
|
298 |
raised exceptions. |
|
299 |
* Unit tests were missing for the errors module and have been added. |
|
300 |
||
317
by Geert Vanderkelen
BUG#14048685: Bootstrapping MySQL v5.6 running unittests have been fixed |
301 |
- Bootstrapping MySQL v5.6 running unittests have been fixed. (BUG#14048685) |
302 |
* A semicolon was missing issuing the USE command when loading the |
|
303 |
system table when bootstrapping. It seems that this is a problem |
|
304 |
with more recent MySQL versions. |
|
305 |
* STDOUT and STDERR when bootstrapping and starting the MySQL server |
|
306 |
for unittest testing is being redirected to devnull. |
|
307 |
* There is now an info logger line when we bootstrap and when we start |
|
308 |
the MySQL server. This should help showing at which state has been |
|
309 |
reached. |
|
310 |
||
311 |
||
316
by Geert Vanderkelen
Release v1.0.1-alpha |
312 |
1.0.1-alpha (2012-04-26) |
313 |
-----------------------------------------------------------------------
|
|
314 |
- Updating copyright notice and license: the FLOSS License Exception is |
|
315 |
now explicitly mentioned in all source files. (WL#6273) |
|
316 |
||
317 |
- The version does only contain integers now. The 'a' or 'alpha' suffix will |
|
318 |
not be present in packages, but it will be mentioned in the _version.py |
|
319 |
module since metasetupinfo.py uses this information to set, for example, |
|
320 |
the Trove classifiers dynamically. |
|
321 |
||
322 |
1.0.0-alpha (2012-04-22) |
|
323 |
-----------------------------------------------------------------------
|
|
324 |
- Preparation for first Alpha release in the MySQL Connector/Python v1.0 |
|
325 |
series (WL#6273): |
|
326 |
* _version.py was removed from the mysql.connector package and moved |
|
327 |
now only used when installing and making packages. |
|
328 |
* The README and AUTHORS files have been updated. The ChangeLog has |
|
329 |
been revamped to included only v1.0 releases. |
|
330 |
* Documentation is moving to the MySQL manual: contains of docs/ folder |
|
331 |
has been removed and for now replaced by a README. |
|
332 |
* metasetupinfo.py has been updated. |
|
333 |
* The make_release.py script has been updated and moved to the subfolder |
|
334 |
support/. |
|
335 |
* MANIFEST.in does not include setup.cfg anymore. |
|
336 |
||
337 |
- The metasetupinfo.py was using the already installed modules of |
|
338 |
Connector/Python instead of the ones going to be installed. This meant that |
|
339 |
upgrading would haven't worked when new modules would have been added. |
|
340 |
The metasetupinfo.py now alters the sys.path to make sure the to be |
|
341 |
installed modules are loaded first. (BUG#13962765) |
|
342 |
||
343 |
- Refactoring the modules connection and protocol (WL#6196): |
|
344 |
* Moving socket classes connection to the new module |
|
345 |
mysql.connector.network. |
|
346 |
* The MySQLProtocol class does not keep a reference to a |
|
347 |
MySQLConnection-object any more. MySQLProtocol is now only dealing |
|
348 |
with creating and parsing MySQL packets. Network interaction is now |
|
349 |
done only by the MySQLConnection objects with the exception of the |
|
350 |
MySQLProtocol.read_text_result, which needs a socket object to be |
|
351 |
passed. |
|
352 |
* MySQLConnection handles handshaking, authentication, |
|
353 |
OK/EOF packets and Error packets, all which was done previously by the |
|
354 |
MySQLProtocol class. |
|
355 |
* Packet numbers are now tracked by network.BaseMySQLSocket. This was |
|
356 |
previously done by MySQLProtocol. |
|
357 |
||
358 |
- MySQLCursor.description now stores column names as Unicode (BUG#13792575). |
|
359 |
||
360 |
- The dbapi.Binary is now bytes for Python v3 (BUG#13780676) |
|
361 |
||
362 |
- Fixed automatic garbage collection which caused memory usage to grow |
|
363 |
over time. (Bug#13435186) |
|
364 |
* MySQLConverter uses getattr() instead of mapping types and methods in |
|
365 |
a dictionary. |
|
366 |
* MySQLCursor keeps a weak reference to the MySQLConnection object that |
|
367 |
created it. |
|
368 |
* MySQLConnection does not keep track of its cursors any longer. |
|
369 |
* Some changes where reworked with refactoring the connection and |
|
370 |
protocol modules. (WL#6196) |
|
371 |
||
372 |
- Implemented reconnect and fixed the ping()-method (BUG#13392739) |
|
373 |
* MySQLConnection.reconnect() can be used to reconnect to the MySQL |
|
374 |
server. It accepts number of retries and an optional delay between |
|
375 |
attempts. |
|
376 |
* MySQLConnectiong.ping() is now a method and works the way the MySQL |
|
377 |
C API mysql_ping() function works: it raises an error. It can also |
|
378 |
optionally reconnect. |
|
379 |
* MySQLConnection.is_connected() now returns True when connection is |
|
380 |
available, False otherwise. |
|
381 |
* ping() and is_connected() are backwards incompatible. |
|
382 |
||
383 |
- Fixed setting time zone for current MySQL session. (BUG#13395083) |
|
384 |
||
385 |
- Fixed setting and retrieving character set and collation. (Bug#13375632) |
|
386 |
* Setting the character set using the MySQLConnection charset property |
|
387 |
or set_charset() method can now be done in 3 ways: using MySQL's ID, |
|
388 |
using a name or using a tuple with second element the collation. |
|
389 |
* Setting the collation will retrieve and reset MySQLConnection's |
|
390 |
_charset_id attribute to the correct character set. |
|
391 |
* The MySQLConnection.charset_name and MySQLConnection.collation_name |
|
392 |
properties can be used to retrieve respectively the character set and |
|
393 |
the collation name. |
|
394 |
||
395 |
- Fixed setting sql_mode to a list of modes. (BUG#13365985) |
|
396 |
||
397 |
- Fixed handling of errors after authentication for Python v3 (BUG#13364285) |
|
398 |
||
399 |
- Various improvements around receiving and sending MySQL packets: |
|
400 |
* Refactored MySQLBaseSocket.recv_plain and |
|
401 |
MySQLBaseSocket.recv_compressed: they are now simpler and handle socket |
|
402 |
errors better. |
|
403 |
* Using sendall() for sending packets. |
|
274
by Geert Vanderkelen
Adding support for Python v2.4 (again) |
404 |