添加了 Django 3.0 支持,同时保持与 Django 2.2 的兼容性。使用 Python 2.7 删除了对 Django 1.11 的支持。(错误#91699、错误#99069、错误#28367300、错误#30835272)
通过删除旧实现的工件、改进调试以及现在静态链接 C 扩展来重构连接器/Python 构建系统。这也公开了 distutils 命令,以允许最终用户构建包。(错误#79766、错误#81203、错误#81242、错误#87493、错误#99923、错误#23194976、错误#23208553、错误#26660893、错误#31529348)
以前,不支持客户端 mysql_clear_password身份验证插件。现在,允许通过在客户端使用 mysql_clear_password以及任何需要明文密码的服务器端插件来发送不经过散列或加密的密码,例如 LDAP 可插入身份验证。如果请求mysql_clear_password插件但连接既未加密也未使用 Unix 域套接字,连接器/Python 将返回异常 。有关使用信息,请参阅 客户端明文可插入身份验证。
Windows 和 Linux 现在支持使用 MySQL Enterprise Edition SASL LDAP 身份验证插件建立的连接,但 macOS 不支持。Connector/Python实现
SCRAM-SHA-1
了SASL认证协议的认证方式。-
新的压缩算法连接选项设置了协商和选择支持的算法以通过 X 协议连接发送压缩数据的顺序。可用的算法由服务器指定,目前包括:lz4_message、deflate_stream 和 zstd_stream。支持的算法别名是 lz4、deflate 和 zstd。忽略未知或不受支持的值。
用法示例:
session = mysqlx.get_session({ "host": "localhost", "port": 33060, "user": "root", "password": "s3cr3t", "compression": "required", "compression-algorithms": ["lz4', "zstd_stream"] })
为了增强现有
allow_local_infile
连接字符串选项的安全性,新allow_local_infile_in_path
选项允许将本地数据加载限制到位于此指定目录中的文件。纯 Python 和 C 扩展实现被组合到一个包中;这适用于 DEB 和 RPM 包。