mysqlx-connector-python 9.1.0__tar.gz → 9.4.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. mysqlx_connector_python-9.4.0/CHANGES.txt +538 -0
  2. {mysqlx-connector-python-9.1.0 → mysqlx_connector_python-9.4.0}/LICENSE.txt +91 -77
  3. mysqlx_connector_python-9.4.0/MANIFEST.in +17 -0
  4. mysqlx_connector_python-9.4.0/PKG-INFO +219 -0
  5. {mysqlx-connector-python-9.1.0 → mysqlx_connector_python-9.4.0}/README.rst +25 -5
  6. {mysqlx-connector-python-9.1.0 → mysqlx_connector_python-9.4.0}/README.txt +1 -1
  7. mysqlx_connector_python-9.4.0/cpydist/__init__.py +498 -0
  8. mysqlx_connector_python-9.4.0/cpydist/bdist.py +220 -0
  9. mysqlx_connector_python-9.4.0/cpydist/bdist_solaris.py +378 -0
  10. mysqlx_connector_python-9.4.0/cpydist/bdist_wheel.py +65 -0
  11. mysqlx_connector_python-9.4.0/cpydist/sdist.py +280 -0
  12. mysqlx_connector_python-9.4.0/cpydist/utils.py +693 -0
  13. mysqlx_connector_python-9.4.0/docs/INFO_BIN +2 -0
  14. mysqlx_connector_python-9.4.0/docs/INFO_SRC +4 -0
  15. {mysqlx-connector-python-9.1.0 → mysqlx_connector_python-9.4.0/lib}/mysqlx/connection.py +6 -6
  16. {mysqlx-connector-python-9.1.0 → mysqlx_connector_python-9.4.0/lib}/mysqlx/protocol.py +2 -2
  17. mysqlx_connector_python-9.4.0/lib/mysqlx/py.typed +0 -0
  18. {mysqlx-connector-python-9.1.0 → mysqlx_connector_python-9.4.0/lib}/mysqlx/result.py +4 -4
  19. {mysqlx-connector-python-9.1.0 → mysqlx_connector_python-9.4.0/lib}/mysqlx/version.py +2 -2
  20. mysqlx_connector_python-9.4.0/lib/mysqlx_connector_python.egg-info/PKG-INFO +219 -0
  21. mysqlx_connector_python-9.4.0/lib/mysqlx_connector_python.egg-info/requires.txt +8 -0
  22. mysqlx_connector_python-9.4.0/lib/mysqlx_connector_python.egg-info/top_level.txt +2 -0
  23. mysqlx_connector_python-9.4.0/pyproject.toml +31 -0
  24. mysqlx_connector_python-9.4.0/setup.py +239 -0
  25. mysqlx_connector_python-9.4.0/src/mysqlxpb/mysqlx/protocol/mysqlx.proto +421 -0
  26. mysqlx_connector_python-9.4.0/src/mysqlxpb/mysqlx/protocol/mysqlx_connection.proto +109 -0
  27. mysqlx_connector_python-9.4.0/src/mysqlxpb/mysqlx/protocol/mysqlx_crud.proto +342 -0
  28. mysqlx_connector_python-9.4.0/src/mysqlxpb/mysqlx/protocol/mysqlx_cursor.proto +128 -0
  29. mysqlx_connector_python-9.4.0/src/mysqlxpb/mysqlx/protocol/mysqlx_datatypes.proto +115 -0
  30. mysqlx_connector_python-9.4.0/src/mysqlxpb/mysqlx/protocol/mysqlx_expect.proto +103 -0
  31. mysqlx_connector_python-9.4.0/src/mysqlxpb/mysqlx/protocol/mysqlx_expr.proto +268 -0
  32. mysqlx_connector_python-9.4.0/src/mysqlxpb/mysqlx/protocol/mysqlx_notice.proto +229 -0
  33. mysqlx_connector_python-9.4.0/src/mysqlxpb/mysqlx/protocol/mysqlx_prepare.proto +143 -0
  34. mysqlx_connector_python-9.4.0/src/mysqlxpb/mysqlx/protocol/mysqlx_resultset.proto +634 -0
  35. mysqlx_connector_python-9.4.0/src/mysqlxpb/mysqlx/protocol/mysqlx_session.proto +129 -0
  36. mysqlx_connector_python-9.4.0/src/mysqlxpb/mysqlx/protocol/mysqlx_sql.proto +84 -0
  37. mysqlx_connector_python-9.4.0/src/mysqlxpb/mysqlxpb.cc +998 -0
  38. mysqlx_connector_python-9.4.0/src/mysqlxpb/python.h +37 -0
  39. mysqlx_connector_python-9.4.0/src/mysqlxpb/python_cast.h +138 -0
  40. mysqlx_connector_python-9.4.0/tests/__init__.py +787 -0
  41. mysqlx_connector_python-9.4.0/tests/data/ssl/tests_CA_cert.pem +23 -0
  42. mysqlx_connector_python-9.4.0/tests/data/ssl/tests_CA_cert_1.pem +23 -0
  43. mysqlx_connector_python-9.4.0/tests/data/ssl/tests_CA_key.pem +28 -0
  44. mysqlx_connector_python-9.4.0/tests/data/ssl/tests_CA_key_1.pem +28 -0
  45. mysqlx_connector_python-9.4.0/tests/data/ssl/tests_client_cert.pem +68 -0
  46. mysqlx_connector_python-9.4.0/tests/data/ssl/tests_client_key.pem +28 -0
  47. mysqlx_connector_python-9.4.0/tests/data/ssl/tests_expired_server_cert.pem +68 -0
  48. mysqlx_connector_python-9.4.0/tests/data/ssl/tests_expired_server_key.pem +27 -0
  49. mysqlx_connector_python-9.4.0/tests/data/ssl/tests_server_cert.pem +68 -0
  50. mysqlx_connector_python-9.4.0/tests/data/ssl/tests_server_key.pem +28 -0
  51. mysqlx_connector_python-9.4.0/tests/mysqld.py +941 -0
  52. mysqlx_connector_python-9.4.0/tests/qa/__init__.py +0 -0
  53. mysqlx_connector_python-9.4.0/tests/qa/test_qa_ciphers.py +318 -0
  54. mysqlx_connector_python-9.4.0/tests/qa/test_qa_mysqlx_api_result.py +143 -0
  55. mysqlx_connector_python-9.4.0/tests/qa/test_qa_mysqlx_api_transaction.py +651 -0
  56. mysqlx_connector_python-9.4.0/tests/qa/test_qa_mysqlx_collection_replace_remove_one.py +369 -0
  57. mysqlx_connector_python-9.4.0/tests/qa/test_qa_mysqlx_conn_ipv6.py +110 -0
  58. mysqlx_connector_python-9.4.0/tests/qa/test_qa_mysqlx_crud_collection_add.py +511 -0
  59. mysqlx_connector_python-9.4.0/tests/qa/test_qa_mysqlx_crud_collection_find.py +1980 -0
  60. mysqlx_connector_python-9.4.0/tests/qa/test_qa_mysqlx_crud_collection_index.py +2349 -0
  61. mysqlx_connector_python-9.4.0/tests/qa/test_qa_mysqlx_crud_collection_modify.py +1351 -0
  62. mysqlx_connector_python-9.4.0/tests/qa/test_qa_mysqlx_crud_collection_remove.py +647 -0
  63. mysqlx_connector_python-9.4.0/tests/qa/test_qa_mysqlx_crud_table_delete.py +467 -0
  64. mysqlx_connector_python-9.4.0/tests/qa/test_qa_mysqlx_crud_table_insert.py +166 -0
  65. mysqlx_connector_python-9.4.0/tests/qa/test_qa_mysqlx_crud_table_select.py +2303 -0
  66. mysqlx_connector_python-9.4.0/tests/qa/test_qa_mysqlx_crud_table_update.py +500 -0
  67. mysqlx_connector_python-9.4.0/tests/qa/test_qa_mysqlx_crud_view.py +254 -0
  68. mysqlx_connector_python-9.4.0/tests/qa/test_qa_mysqlx_session_reset.py +143 -0
  69. mysqlx_connector_python-9.4.0/tests/qa/test_qa_mysqlx_table_column_metadata.py +219 -0
  70. mysqlx_connector_python-9.4.0/tests/test_mysqlx_connection.py +2748 -0
  71. mysqlx_connector_python-9.4.0/tests/test_mysqlx_crud.py +4297 -0
  72. mysqlx_connector_python-9.4.0/tests/test_mysqlx_errorcode.py +71 -0
  73. mysqlx_connector_python-9.4.0/tests/test_mysqlx_errors.py +210 -0
  74. mysqlx_connector_python-9.4.0/tests/test_mysqlx_pooling.py +1292 -0
  75. mysqlx_connector_python-9.4.0/unittests.py +873 -0
  76. mysqlx-connector-python-9.1.0/INFO_BIN +0 -2
  77. mysqlx-connector-python-9.1.0/INFO_SRC +0 -4
  78. mysqlx-connector-python-9.1.0/mysqlx_connector_python-9.1.0-py3.9.egg-info/PKG-INFO +0 -184
  79. mysqlx-connector-python-9.1.0/mysqlx_connector_python-9.1.0-py3.9.egg-info/requires.txt +0 -8
  80. mysqlx-connector-python-9.1.0/mysqlx_connector_python-9.1.0-py3.9.egg-info/top_level.txt +0 -1
  81. {mysqlx-connector-python-9.1.0 → mysqlx_connector_python-9.4.0}/CONTRIBUTING.md +0 -0
  82. {mysqlx-connector-python-9.1.0 → mysqlx_connector_python-9.4.0}/SECURITY.md +0 -0
  83. /mysqlx-connector-python-9.1.0/mysqlx/py.typed → /mysqlx_connector_python-9.4.0/lib/__init__.py +0 -0
  84. {mysqlx-connector-python-9.1.0 → mysqlx_connector_python-9.4.0/lib}/mysqlx/__init__.py +0 -0
  85. {mysqlx-connector-python-9.1.0 → mysqlx_connector_python-9.4.0/lib}/mysqlx/authentication.py +0 -0
  86. {mysqlx-connector-python-9.1.0 → mysqlx_connector_python-9.4.0/lib}/mysqlx/charsets.py +0 -0
  87. {mysqlx-connector-python-9.1.0 → mysqlx_connector_python-9.4.0/lib}/mysqlx/constants.py +0 -0
  88. {mysqlx-connector-python-9.1.0 → mysqlx_connector_python-9.4.0/lib}/mysqlx/crud.py +0 -0
  89. {mysqlx-connector-python-9.1.0 → mysqlx_connector_python-9.4.0/lib}/mysqlx/dbdoc.py +0 -0
  90. {mysqlx-connector-python-9.1.0 → mysqlx_connector_python-9.4.0/lib}/mysqlx/errorcode.py +0 -0
  91. {mysqlx-connector-python-9.1.0 → mysqlx_connector_python-9.4.0/lib}/mysqlx/errors.py +0 -0
  92. {mysqlx-connector-python-9.1.0 → mysqlx_connector_python-9.4.0/lib}/mysqlx/expr.py +0 -0
  93. {mysqlx-connector-python-9.1.0 → mysqlx_connector_python-9.4.0/lib}/mysqlx/helpers.py +0 -0
  94. {mysqlx-connector-python-9.1.0 → mysqlx_connector_python-9.4.0/lib}/mysqlx/locales/__init__.py +0 -0
  95. {mysqlx-connector-python-9.1.0 → mysqlx_connector_python-9.4.0/lib}/mysqlx/locales/eng/__init__.py +0 -0
  96. {mysqlx-connector-python-9.1.0 → mysqlx_connector_python-9.4.0/lib}/mysqlx/locales/eng/client_error.py +0 -0
  97. {mysqlx-connector-python-9.1.0 → mysqlx_connector_python-9.4.0/lib}/mysqlx/logger.py +0 -0
  98. {mysqlx-connector-python-9.1.0 → mysqlx_connector_python-9.4.0/lib}/mysqlx/protobuf/__init__.py +0 -0
  99. {mysqlx-connector-python-9.1.0 → mysqlx_connector_python-9.4.0/lib}/mysqlx/protobuf/mysqlx_connection_pb2.py +0 -0
  100. {mysqlx-connector-python-9.1.0 → mysqlx_connector_python-9.4.0/lib}/mysqlx/protobuf/mysqlx_crud_pb2.py +0 -0
  101. {mysqlx-connector-python-9.1.0 → mysqlx_connector_python-9.4.0/lib}/mysqlx/protobuf/mysqlx_cursor_pb2.py +0 -0
  102. {mysqlx-connector-python-9.1.0 → mysqlx_connector_python-9.4.0/lib}/mysqlx/protobuf/mysqlx_datatypes_pb2.py +0 -0
  103. {mysqlx-connector-python-9.1.0 → mysqlx_connector_python-9.4.0/lib}/mysqlx/protobuf/mysqlx_expect_pb2.py +0 -0
  104. {mysqlx-connector-python-9.1.0 → mysqlx_connector_python-9.4.0/lib}/mysqlx/protobuf/mysqlx_expr_pb2.py +0 -0
  105. {mysqlx-connector-python-9.1.0 → mysqlx_connector_python-9.4.0/lib}/mysqlx/protobuf/mysqlx_notice_pb2.py +0 -0
  106. {mysqlx-connector-python-9.1.0 → mysqlx_connector_python-9.4.0/lib}/mysqlx/protobuf/mysqlx_pb2.py +0 -0
  107. {mysqlx-connector-python-9.1.0 → mysqlx_connector_python-9.4.0/lib}/mysqlx/protobuf/mysqlx_prepare_pb2.py +0 -0
  108. {mysqlx-connector-python-9.1.0 → mysqlx_connector_python-9.4.0/lib}/mysqlx/protobuf/mysqlx_resultset_pb2.py +0 -0
  109. {mysqlx-connector-python-9.1.0 → mysqlx_connector_python-9.4.0/lib}/mysqlx/protobuf/mysqlx_session_pb2.py +0 -0
  110. {mysqlx-connector-python-9.1.0 → mysqlx_connector_python-9.4.0/lib}/mysqlx/protobuf/mysqlx_sql_pb2.py +0 -0
  111. {mysqlx-connector-python-9.1.0 → mysqlx_connector_python-9.4.0/lib}/mysqlx/statement.py +0 -0
  112. {mysqlx-connector-python-9.1.0 → mysqlx_connector_python-9.4.0/lib}/mysqlx/tls_ciphers.py +0 -0
  113. {mysqlx-connector-python-9.1.0 → mysqlx_connector_python-9.4.0/lib}/mysqlx/types.py +0 -0
  114. {mysqlx-connector-python-9.1.0 → mysqlx_connector_python-9.4.0/lib}/mysqlx/utils.py +0 -0
  115. {mysqlx-connector-python-9.1.0/mysqlx_connector_python-9.1.0-py3.9.egg-info → mysqlx_connector_python-9.4.0/lib/mysqlx_connector_python.egg-info}/SOURCES.txt +0 -0
  116. {mysqlx-connector-python-9.1.0/mysqlx_connector_python-9.1.0-py3.9.egg-info → mysqlx_connector_python-9.4.0/lib/mysqlx_connector_python.egg-info}/dependency_links.txt +0 -0
@@ -0,0 +1,538 @@
1
+ ====================================================
2
+ MySQL Connector/Python - Release Notes & Changes
3
+ ====================================================
4
+
5
+ MySQL Connector/Python
6
+ Copyright (c) 2009, 2025, Oracle and/or its affiliates.
7
+
8
+ Full release notes:
9
+ http://dev.mysql.com/doc/relnotes/connector-python/en/
10
+
11
+ v9.4.0
12
+ ======
13
+
14
+ - WL#16966: Upgrade Python lz4 version
15
+ - WL#16963: Update the OpenTelemetry version
16
+ - WL#16962: Update the Python Protobuf version
17
+ - WL#16954: Make sdist packages pip installable
18
+ - BUG#38072835: Authentication OCI plugin option parameters not being supported by the aio connector
19
+ - BUG#37868219: RPM packages have incorrect copyright year in their metadata
20
+ - BUG#37859771: mysql/connector python version 9.3.0 has a regression which cannot persist binary data with percent signs in it
21
+ - BUG#37820231: Text based django ORM filters doesn't work with Connector/Python
22
+ - BUG#37806057: Rename extra option (when installing wheel package) to install webauthn functionality dependencies
23
+ - BUG#37774513: Inconsistent conversion to_sql for cext vs pure python
24
+ - BUG#37642447: The license type is missing from RPM package
25
+ - BUG#37627508: mysql/connector python fetchmany() has an off by one bug when argument given as 1
26
+ - BUG#37047789: Python connector does not support Django enum
27
+ - BUG#36733242: Contribution: Add Connection Pooling Support for AsyncIO Connector
28
+ - BUG#36452514: Missing version info resources
29
+ - BUG#34950958: MySQL Python Connector doesn't work with ssh in the same process
30
+ - BUG#34844347: Freezes on connection via sshtunnel
31
+
32
+ v9.3.0
33
+ ======
34
+
35
+ - WL#16754: The host wildcard no longer applies to localhost
36
+ - WL#16752: Deprecate class methods to access instance data or to know instance internal state
37
+ - WL#16327: Remove Cursors Prepared Raw and Named Tuple
38
+ - BUG#37541353: (Contribution) Fix typing annotation of MySQLConnectionAbstract's close function
39
+ - BUG#37453587: Github links in PyPI project's pages do not work
40
+ - BUG#37418436: Arbitrary File Read in MySQL Python Client library
41
+ - BUG#37410052: Bad formatting of exceptions when connecting with Unix sockets
42
+ - BUG#37399636: The C-extension has a memory leak when working with prepared statements
43
+ - BUG#37275524: Exception is not interpreted properly on prepared statements when C extension is in use
44
+ - BUG#36098290: mysql-connector-python is distributed without setup.py or pyproject.toml
45
+
46
+ v9.2.0
47
+ ======
48
+
49
+ - WL#16381: Add support for read and write timeouts
50
+ - WL#16285: Remake Multi Statement Execution
51
+ - BUG#37145655: MySQL Connector/Python Configuration Files RCE
52
+ - BUG#36702939: connection_cext has a memory leak in the python mysql-connector
53
+ - BUG#36922645: Option `connection_timeout` is overwritten and works as "query" timeout instead
54
+ - BUG#36126909: "Unread result found" exception/bad MySQLCursor.statement when query text contains code comments
55
+ - BUG#35810050: Executing multiple statements fails when importing Sakila
56
+
57
+ v9.1.0
58
+ ======
59
+
60
+ - WL#16452: Bundle all installable authentication plugins when building the C-extension
61
+ - WL#16444: Drop build support for DEB packages
62
+ - WL#16442: Upgrade gssapi version to 1.8.3
63
+ - WL#16411: Improve wheel metadata information for Classic and XDevAPI connectors
64
+ - WL#16341: OpenID Connect (Oauth2 - JWT) Authentication Support
65
+ - WL#16307: Remove Python 3.8 support
66
+ - WL#16306: Add support for Python 3.13
67
+ - BUG#37055435: Connection fails during the TLS negotiation when specifying TLSv1.3 ciphers
68
+ - BUG#37013057: mysql-connector-python Parameterized query SQL injection
69
+ - BUG#36765200: python mysql connector 8.3.0 raise %-.100s:%u when input a wrong host
70
+ - BUG#36577957: Update charset/collation description indicate this is 16 bits
71
+
72
+ v9.0.0
73
+ ======
74
+
75
+ - WL#16350: Update dnspython version
76
+ - WL#16318: Deprecate Cursors Prepared Raw and Named Tuple
77
+ - WL#16284: Update the Python Protobuf version
78
+ - WL#16283: Remove OpenTelemetry Bundled Installation
79
+ - BUG#36664998: Packets out of order error is raised while changing user in aio
80
+ - BUG#36611371: Update dnspython required versions to allow latest 2.6.1
81
+ - BUG#36570707: Collation set on connect using C-Extension is ignored
82
+ - BUG#36476195: Incorrect escaping in pure Python mode if sql_mode includes NO_BACKSLASH_ESCAPES
83
+ - BUG#36289767: MySQLCursorBufferedRaw does not skip conversion
84
+
85
+ v8.4.0
86
+ ======
87
+
88
+ - WL#16203: GPL License Exception Update
89
+ - WL#16173: Update allowed cipher and cipher-suite lists
90
+ - WL#16164: Implement support for new vector data type
91
+ - WL#16127: Remove the FIDO authentication mechanism
92
+ - WL#16053: Support GSSAPI/Kerberos authentication on Windows using authentication_ldap_sasl_client plug-in for C-extension
93
+ - BUG#36227964: Improve OpenTelemetry span coverage
94
+ - BUG#36167880: Massive memory leak mysqlx native Protobuf adding to collection
95
+
96
+ v8.3.0
97
+ ======
98
+
99
+ - WL#16015: Remove use of removed COM_ commands
100
+ - WL#15985: Support GSSAPI/Kerberos authentication on Windows using authentication_ldap_sasl_client plug-in for Pure Python
101
+ - WL#15983: Stop using mysql_ssl_set api
102
+ - WL#15982: Remove use of mysql_shutdown
103
+ - WL#15950: Support query parameters for prepared statements
104
+ - WL#15942: Improve type hints and standardize byte type handling
105
+ - WL#15836: Split mysql and mysqlx into different packages
106
+ - WL#15523: Support Python DB API asynchronous execution
107
+ - BUG#35912790: Binary strings are converted when using prepared statements
108
+ - BUG#35832148: Fix Django timezone.utc deprecation warning
109
+ - BUG#35710145: Bad MySQLCursor.statement and result when query text contains code comments
110
+ - BUG#21390859: STATEMENTS GET OUT OF SYNCH WITH RESULT SETS
111
+
112
+ v8.2.0
113
+ ======
114
+
115
+ - WL#15664: Add support for Python 3.12
116
+ - WL#15623: Improve the authentication module
117
+ - WL#15218: Support WebAuthn authentication
118
+ - BUG#35755852: Django config raise_on_warnings is ignored without isolation_level
119
+ - BUG#35733608: Server stmt spans right after the cnx aren't related to the connector's cnx span
120
+ - BUG#35547876: C/Python 8.1.0 type check build fails in the pb2 branch
121
+ - BUG#35544123: Kerberos unit tests configuration is outdated
122
+ - BUG#35503506: Query on information_schema.columns returns bytes
123
+ - BUG#35503377: First connected to server v8, then any v5 connections fail with utf8mb4 charset
124
+ - BUG#35141645: Memory leak in the mysqlx C extension
125
+
126
+ v8.1.0
127
+ ======
128
+
129
+ - WL#15749: Remove DMG and MSI support
130
+ - WL#15672: Upgrade Python Protobuf version to 4.21.12
131
+ - WL#15630: Remove Python 3.7 support
132
+ - WL#15629: Add OpenTelemetry tracing
133
+ - WL#15591: Improve the network module
134
+ - BUG#35425076: Fix deallocating None error
135
+ - BUG#35349093: Compression doesn't work with C extension API
136
+ - BUG#35338384: PIP installs incompatible Connector/Python packages
137
+ - BUG#35318413: Fix charset mapping for MySQL 8.1.0
138
+ - BUG#35278365: Fix UnicodeDecodeError with a long field name alias (c-ext)
139
+ - BUG#35212199: Check for identifier quotes in the database name
140
+ - BUG#35140271: Regex split hanging in cursor.execute(..., multi=True) for complex queries
141
+ - BUG#29115406: CONTRIBUTION - FIX RECV COMPRESS BUG
142
+
143
+ v8.0.33
144
+ =======
145
+
146
+ - WL#15528: Add docker build/test support for existing server
147
+ - WL#15483: Support OCI ephemeral key-based authentication
148
+ - WL#15435: Improve the logging system
149
+ - WL#15401: Support for type hints in module mysqlx
150
+ - BUG#35233031: Connector/Python should not default to mysql_native_password
151
+ - BUG#35015758: COM_QUIT should not be called in the connection phase
152
+ - BUG#34984850: Fix binary conversion with NO_BACKSLASH_ESCAPES mode
153
+ - BUG#31355895: Fix slow executemany() with insert statements
154
+ - BUG#30103652: Connector/Python ClientFlag SESION_TRACK is a misspelling
155
+ - BUG#27489972: Several COM_% commands have been deprecated
156
+ - BUG#27359063: Support for dictionary, named_tuple, and raw to prepared statements cursor
157
+ - BUG#21476351: Too small chunks when sending huge parameters with COM_STMT_SEND_LONG_DATA
158
+
159
+ v8.0.32
160
+ =======
161
+
162
+ - WL#15348: Support MIT Kerberos library on Windows
163
+ - WL#15036: Support for type hints
164
+ - WL#14861: Remove distutils support
165
+ - BUG#34773422: Connector/Python 8.0.31 installation fails if Python version is 3.11.0
166
+ - BUG#34727432: Fix Django datetime error when USE_TZ=True in settings
167
+ - BUG#34710366: Django implementation does not pass unit tests
168
+ - BUG#34695103: Remove debug messages that shows authentication data
169
+ - BUG#34690501: Connector/Python depends on outdated protobuf
170
+ - BUG#34689812: Fix datetime conversion when using prepared cursors
171
+ - BUG#34675508: Character set 'utf8' unsupported in python mysql connector when using MariaDB
172
+ - BUG#34655520: Wrong MySQLCursor.statement values in the results of cursor.execute(..., multi=True)
173
+ - BUG#34556157: Kerberos authorization fails when using SSPI as security interface
174
+ - BUG#34499578: MySQLCursor.executemany() fails to correctly identify BULK data loading ops
175
+ - BUG#34467201: Add init_command connection option
176
+ - BUG#33904362: mysqlx (X DevAPI) does not work properly with Russian characters
177
+ - BUG#32625155: Tests fail against group replication cluster
178
+ - BUG#30089671: Fix decoding VARBINARY columns when using a prepared cursor
179
+ - BUG#28020811: Fix multiple reference leaks in the C extension
180
+ - BUG#27426532: Reduce callproc roundtrip time
181
+ - BUG#24364556: Improve warning behavior
182
+ - BUG#23342572: Allow dictionaries as parameters in prepared statements
183
+ - BUG#23339387: Add MySQLCursorPreparedDict option
184
+ - BUG#22906307: MySQLConverter.escape() does not work for dates
185
+ - BUG#20504804: cursor.executemany() fails with INSERT IGNORE
186
+
187
+ v8.0.31
188
+ =======
189
+
190
+ - WL#15156: Add support for Python 3.11
191
+ - BUG#34373612: Fix the assumption that gcc is the default compiler
192
+ - BUG#34283402: Binary data starting with 0x00 are returned as empty string
193
+ - BUG#34217492: Exec of stored procedures with args fails when db prefix used
194
+ - BUG#33987119: TEXT and with a _bin collation (e.g: utf8mb4_bin) are considered as bytes object
195
+ - BUG#28491115: Connector/Python crashes on 0 time value
196
+ - BUG#28295478: Align exception types raised by pure Python and c-ext
197
+ - BUG#27634910: Add warning count method to cursors
198
+ - BUG#21529893: Resultset handling not proper in C-Python with c-ext
199
+ - BUG#21463298: Fix weakly-referenced object no longer exists exception
200
+ - BUG#21402805: Unbound local error when charset name is given as empty to set_charset_collation()
201
+
202
+ v8.0.30
203
+ =======
204
+
205
+ - WL#15212: Update collation mappings
206
+ - WL#15151: Increase to 88 characters per line
207
+ - WL#15137: Fix linting issues
208
+ - WL#15035: Enforce PEP 7 and PEP 8 coding style
209
+ - WL#14822: Refactor the authentication plugin mechanism
210
+ - WL#14815: Support OpenSSL 3.0
211
+ - BUG#34260344: Disallow empty strings in collection fields
212
+ - BUG#34231226: Generated classes do not work with the latest Protobuf
213
+ - BUG#34228442: Fix NO_BACKSLASH_ESCAPES SQL mode support in c-ext
214
+ - BUG#34223015: Invalidate the usage of non-compatible cursor types
215
+ - BUG#34127959: Add isolation level support in Django backend
216
+ - BUG#33923516: Allow tuple of dictionaries as "failover" argument
217
+ - BUG#28821983: Fix rounding errors for decimal values
218
+ - BUG#28295504: Disable SSL when using Unix socket connections
219
+
220
+ v8.0.29
221
+ =======
222
+
223
+ - WL#14860: Support FIDO authentication (c-ext)
224
+ - WL#14852: Align TLS option checking across connectors
225
+ - WL#14824: Remove Python 3.6 support
226
+ - WL#14679: Allow custom class for data type conversion in Django backend
227
+ - WL#14665: SSPI Kerberos authentication for Windows (pure-python)
228
+ - BUG#33861549: Replace SHOW VARIABLES inefficient statements
229
+ - BUG#33747585: Fix error when using an expression as a column without an alias
230
+ - BUG#33729842: Character set 'utf8mb3' support
231
+ - BUG#33481203: OverflowError for MySQL BIGINT on c-ext
232
+ - BUG#33203161: Exception is thrown on close connection with pooling
233
+ - BUG#30203754: Prepared stmt fails on cext with BIGINTS
234
+ - BUG#28877987: Return bytes or bytearray if decoding fails
235
+ - BUG#27634914: Remove mention of unsupported functionality in Session docstring
236
+ - BUG#23338623: Add support for Decimal parsing in protocol.py
237
+ - BUG#23324748: Guarantee file closing of input files in optionfile
238
+ - BUG#21528553: Fix API inconsistency when using consume_results=True
239
+ - BUG#21498719: Fix conversion of Python bytearray (c-ext)
240
+ - BUG#20065830: NaN is not supported
241
+
242
+ v8.0.28
243
+ =======
244
+
245
+ - WL#14814: Remove support for TLS 1.0 and 1.1
246
+ - WL#14813: Add support for Python 3.10
247
+ - WL#14720: Support for Multi Factor authentication (pure Python)
248
+ - WL#14667: Support for Multi Factor authentication (c-ext)
249
+ - BUG#33486094: Stored value in Decimal field is returned as str on prepared pure python cursor
250
+ - BUG#33410592: Fix compiler warnings
251
+ - BUG#33409819: Fix failure when using a conversion class in CMySQLConnection
252
+ - BUG#27358941: Invalid types for params silently ignored in execute method
253
+
254
+ v8.0.27
255
+ =======
256
+
257
+ - WL#14710: Support OCI IAM authentication
258
+ - WL#14689: Fallback conversion to str for types incompatible with MySQL
259
+ - WL#14664: Allow SSPI Kerberos library usage with c-ext
260
+ - BUG#33177337: Connection with chained SSL certs fails with ssl_verify_identity
261
+ - BUG#28641350: mysqlx.result.Row objects cannot be printed directly
262
+
263
+ v8.0.26
264
+ =======
265
+
266
+ - WL#14634: Running unit tests against external server
267
+ - WL#14542: Deprecate TLS 1.0 and 1.1
268
+ - WL#14440: Support for authentication_kerberos_client authentication plugin
269
+ - WL#14306: Integrate QA tests into Connector/Python test suite
270
+ - WL#14237: Support query attributes
271
+ - BUG#32947160: Remove MySQLdb module dependency from Django backend
272
+ - BUG#32838010: Fix option files parsing with include directive
273
+ - BUG#32789076: MSI is missing required libraries to use auth_ldap_client plugin
274
+ - BUG#32778827: Raise an error if the _id is different when replacing a document
275
+ - BUG#32740486: Fix typo in docstring
276
+ - BUG#32623479: The X DevAPI returns str for binary types values
277
+ - BUG#32585611: Fix broken links in X DevAPI reference documentation search
278
+ - BUG#31528783: Fix number with ZEROFILL not handled by C extension
279
+
280
+ v8.0.25
281
+ =======
282
+
283
+ This release contains no functional changes and is published to align
284
+ the version number with the MySQL Server 8.0.25 release.
285
+
286
+ v8.0.24
287
+ =======
288
+
289
+ - WL#14424: Improve timeout error messages
290
+ - WL#14240: Remove Python 3.5 support
291
+ - WL#14239: Remove Python 2.7 support
292
+ - WL#14212: Support connection close notification
293
+ - WL#14027: Add support for Python 3.9
294
+ - BUG#32532744: MSI destination folder page lacks details of what installs
295
+ - BUG#32497631: Prepared statements fail when parameters are not given
296
+ - BUG#32496788: Prepared statements accepts any type of parameters
297
+ - BUG#32435181: Add support for Django 3.2
298
+ - BUG#32162928: Change user command fails on pure python implementation
299
+ - BUG#32120659: Prepared statements w/o parameters violates MySQL protocol
300
+ - BUG#32039427: Remove python 3.4 support in MSI packaging
301
+ - BUG#32029891: Add context manager support for pooled connections
302
+ - BUG#31490101: Fix wrong cast of Python unicode to std::string
303
+ - BUG#31315173: Added documentation for multi-host and failover
304
+ - BUG#30416704: Binary columns returned as strings
305
+
306
+ v8.0.23
307
+ =======
308
+
309
+ - WL#14263: Add support for SCRAM-SHA-256
310
+ - WL#14238: Deprecate Python 2.7 support
311
+ - WL#14215: Replace language in APIs and source code/docs
312
+ - WL#14213: Support GSSAPI - Kerberos auth
313
+ - BUG#32165864: Fix segmentation fault when using invalid SQL with prepared statements
314
+ - BUG#31882419: Fix error when getting the connection ID from a CMySQLConnection
315
+ - BUG#29195610: Fix cursor.callproc() using namedtuple and dictionary cursors
316
+ - BUG#26834307: Make cursor.fetchone() and cursor.fetchmany() PEP 249 compliant
317
+ - BUG#24938411: Fix datetime microsecond conversion
318
+
319
+ v8.0.22
320
+ =======
321
+
322
+ - WL#14110: Add support for SCRAM-SHA-1
323
+ - WL#14098: Add option to specify LOAD DATA LOCAL IN PATH
324
+ - WL#13997: Refactoring of the building system
325
+ - WL#13995: Add support for configurable compression levels
326
+ - WL#13994: Support clear text passwords
327
+ - WL#13380: Add support for Django 3.0
328
+ - BUG#31335275: Fix memory leak when using the Decimal data type
329
+ - BUG#31267800: Include copyright header in the modules generated by protoc
330
+ - BUG#27535063: Fix wrong error message when specifying the collation for a non TEXT field
331
+ - BUG#20811567: Support use_pure option in config_files
332
+
333
+ v8.0.21
334
+ =======
335
+
336
+ - WL#13847: Add support for context managers
337
+ - WL#13059: Add schema validation support
338
+ - WL#12501: Connection compression
339
+ - BUG#31098686: Unittests for CMD_CHANGE_USER does not cover CMySQLConnection defaults
340
+ - BUG#31060730: Skip pure Python tests if Protobuf is not available
341
+ - BUG#30996790: Fix connect_timeout option behavior
342
+ - BUG#30950184: Fix error when using the fractional part in DATETIME
343
+ - BUG#29808262: Fix BLOB types conversion
344
+ - BUG#29181907: Fix discovering of MySQL libraries
345
+ - BUG#28627768: JSON_REPLACE not working correctly for SQL tables
346
+ - BUG#27602636: Expressions in Table.update.set() raises an exception
347
+ - BUG#27489937: Support for connection pools in the C extension
348
+
349
+ v8.0.20
350
+ =======
351
+
352
+ - WL#13334: Connector support for failover and load-balancing
353
+ - BUG#30643277: Add missing raise statement when queue is full
354
+ - BUG#30608703: Fix fetchmany when the last fetch is not a full batch
355
+
356
+ v8.0.19
357
+ =======
358
+
359
+ - WL#13531: Remove xplugin namespace
360
+ - WL#13372: DNS SRV support
361
+ - WL#12738: Specify TLS ciphers to be used by a client or session
362
+ - BUG#30270760: Fix reserved filed should have a length of 22
363
+ - BUG#29417117: Close file in handle load data infile
364
+
365
+ v8.0.18
366
+ =======
367
+
368
+ - WL#13330: Single C/Python (Win) MSI installer
369
+ - WL#13335: Connectors should handle expired password sandbox without SET operations
370
+ - WL#13194: Add support for Python 3.8
371
+ - BUG#29909157: Table scans of floats causes memory leak with the C extension
372
+ - BUG#25349794: Add read_default_file alias for option_files in connect()
373
+
374
+ v8.0.17
375
+ =======
376
+
377
+ - WL#13155: Support new utf8mb4 bin collation
378
+ - WL#12737: Add overlaps and not_overlaps as operator
379
+ - WL#12735: Add README.rst and CONTRIBUTING.rst files
380
+ - WL#12227: Indexing array fields
381
+ - WL#12085: Support cursor prepared statements with C extension
382
+ - BUG#29855733: Fix error during connection using charset and collation combination
383
+ - BUG#29833590: Calling execute() should fetch active results
384
+ - BUG#21072758: Support for connection attributes classic
385
+
386
+ v8.0.16
387
+ =======
388
+
389
+ - WL#12864: Upgrade of Protobuf version to 3.6.1
390
+ - WL#12863: Drop support for Django versions older than 1.11
391
+ - WL#12489: Support new session reset functionality
392
+ - WL#12488: Support for session-connect-attributes
393
+ - WL#12297: Expose metadata about the source and binaries
394
+ - WL#12225: Prepared statement support
395
+ - BUG#29324966: Add missing username connection argument for driver compatibility
396
+ - BUG#29278489: Fix wrong user and group for Solaris packages
397
+ - BUG#29001628: Fix access by column label in Table.select()
398
+ - BUG#28479054: Fix Python interpreter crash due to memory corruption
399
+ - BUG#27897881: Empty LONG BLOB throws an IndexError
400
+
401
+ v8.0.15
402
+ =======
403
+
404
+ - BUG#29260128: Disable load data local infile by default
405
+
406
+ v8.0.14
407
+ =======
408
+
409
+ - WL#12607: Handling of Default Schema
410
+ - WL#12493: Standardize count method
411
+ - WL#12492: Be prepared for initial notice on connection
412
+ - BUG#28646344: Remove expression parsing on values
413
+ - BUG#28280321: Fix segmentation fault when using unicode characters in tables
414
+ - BUG#27794178: Using use_pure=False should raise an error if cext is not available
415
+ - BUG#27434751: Add a TLS/SSL option to verify server name
416
+
417
+ v8.0.13
418
+ =======
419
+
420
+ - WL#12239: Add support for Python 3.7
421
+ - WL#12226: Implement connect timeout
422
+ - WL#11897: Implement connection pooling for xprotocol
423
+ - BUG#28278352: C extension mysqlx Collection.add() leaks memory in sequential calls
424
+ - BUG#28037275: Missing bind parameters causes segfault or unclear error message
425
+ - BUG#27528819: Support special characters in the user and password using URI
426
+
427
+ v8.0.12
428
+ =======
429
+
430
+ - WL#11951: Consolidate discrepancies between pure and c extension
431
+ - WL#11932: Remove Fabric support
432
+ - WL#11898: Core API v1 alignment
433
+ - BUG#28188883: Use utf8mb4 as the default character set
434
+ - BUG#28133321: Fix incorrect columns names representing aggregate functions
435
+ - BUG#27962293: Fix Django 2.0 and MySQL 8.0 compatibility issues
436
+ - BUG#27567999: Fix wrong docstring in ModifyStatement.patch()
437
+ - BUG#27277937: Fix confusing error message when using an unsupported collation
438
+ - BUG#26834200: Deprecate Row.get_string() method
439
+ - BUG#26660624: Fix missing install option in documentation
440
+
441
+ v8.0.11
442
+ =======
443
+
444
+ - WL#11668: Add SHA256_MEMORY authentication mechanism
445
+ - WL#11614: Enable C extension by default
446
+ - WL#11448: New document _id generation support
447
+ - WL#11282: Support new locking modes NOWAIT and SKIP LOCKED
448
+ - BUG#27639119: Use a list of dictionaries to store warnings
449
+ - BUG#27634885: Update error codes for MySQL 8.0.11
450
+ - BUG#27589450: Remove upsert functionality from WriteStatement class
451
+ - BUG#27528842: Fix internal queries open for SQL injection
452
+ - BUG#27364914: Cursor prepared statements do not convert strings
453
+ - BUG#24953913: Fix failing unittests
454
+ - BUG#24948205: Results from JSON_TYPE() are returned as bytearray
455
+ - BUG#24948186: JSON type results are bytearray instead of corresponding python type
456
+
457
+ v8.0.6
458
+ ======
459
+
460
+ - WL#11372: Remove configuration API
461
+ - WL#11303: Remove CreateTable and CreateView
462
+ - WL#11281: Transaction savepoints
463
+ - WL#11278: Collection.create_index
464
+ - WL#11149: Create Pylint test for mysqlx
465
+ - WL#11142: Modify/MergePatch
466
+ - WL#11079: Add support for Python 3.6
467
+
468
+ v8.0.5
469
+ ======
470
+
471
+ - WL#11073: Add caching_sha2_password authentication plugin
472
+ - WL#10975: Add Single document operations
473
+ - WL#10974: Add Row locking methods to find and select operations
474
+ - WL#10973: Allow JSON types as operands for IN operator
475
+ - WL#10899: Add support for pure Python implementation of Protobuf
476
+ - WL#10771: Add SHA256 authentication
477
+ - WL#10053: Configuration handling interface
478
+
479
+ v8.0.4
480
+ ======
481
+
482
+ - WL#10772: Cleanup Drop APIs
483
+ - WL#10770: Ensure all Session connections are secure by default
484
+ - WL#10754: Forbid modify() and remove() with no condition
485
+ - WL#10659: Support utf8mb4 as default charset
486
+ - WL#10658: Remove concept of NodeSession
487
+ - WL#10657: Move version number to 8.0
488
+ - WL#10198: Add Protobuf C++ extension implementation
489
+ - WL#10004: Document UUID generation
490
+ - BUG#26175003: Fix Session.sql() when using unicode SQL statements with Python 2.7
491
+ - BUG#26161838: Dropping an non-existing index should succeed silently
492
+ - BUG#26160876: Fix issue when using empty condition in Collection.remove() and Table.delete()
493
+ - BUG#26029811: Improve error thrown when using an invalid parameter in bind()
494
+ - BUG#25991574: Fix Collection.remove() and Table.delete() missing filters
495
+
496
+ v2.2.3
497
+ ======
498
+
499
+ - WL#10452: Add Protobuf C++ extension for Linux variants and Mac OSX
500
+ - WL#10081: DevAPI: IPv6 support
501
+ - BUG#25614860: Fix defined_as method in the view creation
502
+ - BUG#25519251: SelectStatement does not implement order_by() method
503
+ - BUG#25436568: Update available operators for XPlugin
504
+ - BUG#24954006: Add missing items in CHANGES.txt
505
+ - BUG#24578507: Fix import error using Python 2.6
506
+ - BUG#23636962: Fix improper error message when creating a Session
507
+ - BUG#23568207: Fix default aliases for projection fields
508
+ - BUG#23567724: Fix operator names
509
+
510
+ v2.2.2
511
+ ======
512
+
513
+ - DevAPI: Schema.create_table
514
+ - DevAPI: Flexible Parameter Lists
515
+ - DevAPI: New transports: Unix domain socket
516
+ - DevAPI: Core TLS/SSL options for the mysqlx URI scheme
517
+ - DevAPI: View DDL with support for partitioning in a cluster / sharding
518
+ - BUG#24520850: Fix unexpected behavior when using an empty collection name
519
+
520
+ v2.2.1
521
+ ======
522
+
523
+ - Add support for Protocol Buffers 3
524
+ - Add View support (without DDL)
525
+ - Implement get_default_schema() method in BaseSchema
526
+ - DevAPI: Per ReplicaSet SQL execution
527
+ - DevAPI: XSession accepts a list of routers
528
+ - DevAPI: Define action on adding empty list of documents
529
+ - BUG#23729357: Fix fetching BIT datatype
530
+ - BUG#23583381: Add who_am_i and am_i_real methods to DatabaseObject
531
+ - BUG#23568257: Add fetch_one method to mysqlx.result
532
+ - BUG#23550743: Add close method to XSession and NodeSession
533
+ - BUG#23550057: Add support for URI as connection data
534
+
535
+ v2.2.0
536
+ ======
537
+
538
+ - Provide initial implementation of new DevAPI