For X DevAPI applications, when creating a new connection, if the connection data contains several target hosts that have no explicit priority assigned, the behavior of the failover logic now is the same as if all those target hosts have the same priority. That is, the next candidate for making a connection is chosen randomly from the remaining available hosts. Alternatively, the new
priorityattribute optionally sets the priority for each host. If two hosts have the same priority then one is chosen at random.
dnspythondependency, and now raise an exception if DNS SRV functionality is used without it installed. (Bug #30764641, Bug #98225)
The fetchmany() method failed to function properly when the last fetch was not a full batch; and would hang. Thanks to Bruce Feng for the patch. (Bug #29847862, Bug #30608703, Bug #30250184, Bug #91971, Bug #93510, Bug #97830)
The minimum Protobuf prerequisite version changed from 3.6.1 to 3.0.0.
To make RPM and DEB package installation seamless, implicit dependencies on Python protobuf 3.0.0 or higher was added to the packages for most platforms. But as there are no Python protobuf versions fulfilling that requirement on EL7, SLES 12, nor Ubuntu 16.04, their pure Python packages depend on the C extension package to provide the same functionality.
These dependencies are handled automatically by tools like YUM and APT. Users installing using "rpm" or "dpkg" needs to install both the pure Python and C extension packages.Note
Note that this means that the connection option "use_pure=True" can't be used on EL7, SLES 12, nor Ubuntu 16.04 unless the system has Python protobuf 3.0.0 or higher installed.