Added DNS SRV support.
To automatically resolve any SRV record available in a target DNS server or service discovery endpoint, use the
mysqlx+srvscheme+extension in a X DevAPI connection string, or
mysqlx+srvfor the classic protocol, or by enabling the dns-srv=True (or dns_srv=True) connection option when using keyword arguments or dictionaries.
Added two new connection options that evaluate during the TLS handshake to restrict the negotiated TLS protocols and ciphers; along with those configured on the server that can further restrict the final choices. The new options are
tls-versionsto define the allowed TLS protocol versions, and
tls-ciphersuitesfor the allowed cipher suites. These definitions are comma-separated, and accepted by the getSession() and getClient() methods.
tls-versions: accepts one or more of the following: TLSv1, TLSv1.1, TLSv1.2, and TLSv1.3. Other values generate an error. Example usage: mysqlx://myserver/db?tls-versions=[TLSv1.2,TLSv1.3]
tls-ciphersuites: accepts IANA cipher suite names, as listed on IANA's TLS Cipher Suites page. Unsupported or unknown values are ignored. Example usage: mysqlx://myserver/db?tls-ciphersuites=[TLS_DHE_PSK_WITH_AES_128_GCM_SHA256, TLS_CHACHA20_POLY1305_SHA256]
The internal X Protocol namespace changed from xplugin to mysqlx. MySQL Server removed xplugin namespace support in v8.0.19; for Connector/Python this means:
With Connector/Python v8.0.19 and higher, some X DevAPI Protocol operations do not function with MySQL Server 8.0.18 and lower, operations such as Schema.create_collection(), Schema.get_collections(), Schema.get_tables(), and Collection.create_index().
Connector/Python 8.0.19 can connect to MySQL Server 8.0.18 and lower, as both both the 'xplugin' (with deprecation warnings) and 'mysqlx' namespaces can be used.
Fixed the reserved SSL authentication filed; it changed from 23 to 22. Thanks to Qianqian Bu for the patch. (Bug #30270760, Bug #96770)
References: This issue is a regression of: Bug #29855733.
Fixed LOAD DATA INFILE LOCAL handling; the file handle was not closed. Thanks to Micah Gale for the patch. (Bug #29417117, Bug #94496)