MySQL Router 8.0 Release Notes
Added the use_gr_notifications
[metadata-cache]
option to enable Group Replication notifications, which is
disabled by default. It supports
group_replication/membership/quorum_loss,
group_replication/membership/view,
group_replication/status/role_change, and
group_replication/status/state_change.
Optionally use the new
--conf-use-gr-notifications
bootstrap
command-line to enable this option in the generated
configuration file.
(WL #10719)
Added a REST API that follows the OpenAPI 2.0 specification and
is implemented as a plugin; load the plugin using
[rest_api]
in the configuration file. It also
requires the http_server plugin. Use the
optional require_realm
configuration option
(string) to define the authentication realm.
The base-path for all REST endpoints is "api" followed by a
numeric API version that is defined as the release date, such as
"/api/20190715/". The system follows camelCase naming rules and
errors follow RFC 7807. The system exposes a
swagger.json
file as /api/
.
(WL #8965){apiVersion}
/swagger.json
Bootstrapping could misclassify a hostname as IPv6 and surround
it with square brackets in the state
(state.json
) file; and this produced a
"Configuration error: cluster-metadata-servers is incorrect"
error. A workaround was to disable ipv6 support on the system.
(Bug #29876948, Bug #95531)
Starting the http_server plugin against a port that was already bound would yield a confusing error, such as "Error: bind('0.0.0.0:10100) failed: The operation completed successfully." (Bug #29823472)
Improved the connection counter logic to prevent a potential unexpected halt before completing the shutdown process. (Bug #29820725)
Requesting the metadata-cache health immediately after start up could cause an expected exit by get_destinations() if metadata_cache's cache-api was not yet initialized. (Bug #29820155)
Bootstrapping would fail on hosts that defined multiple network interfaces. (Bug #29814629)
Optimized logging mechanism; system generated log messages independent of the log level. Now log messages are only prepared if configured to do so. (Bug #29798420)
Fixed potential blocking during shutdown by adding proper libmysqlclient deinitialization where needed. This bug only affected DEBUG builds. (Bug #29635378)
harness/CMakeLists.txt
was renamed to
harness/src/CMakeLists.txt
.
(Bug #29629788)
The loaded plugin message level was changed from level "info" to "debug". (Bug #29616101)
The bootstrap "invalid URI" error message was improved. (Bug #29609170)
HTTPS connections with ECDHE ciphers to Router's http_server component failed if built against OpenSSL 1.0.1. (Bug #29609052)
The file generated by mysqlrouter_passwd was world-readable, and is now user-readable (Bug #29589127)
For the REST API, unsupported query parameters now return the 400 HTTP status code; and remain ignored. (Bug #29556935)
Log lines above 512 characters were truncated. (Bug #29540910)
For the REST API, OPTION, TRACE, and CONNECT requests now return the application/problem+json Content-Type and 405 HTTP status code. (Bug #29539557)
The HTTP server component now supports .jpg/.jpeg image files, and file extension matches are now case-insensitive. (Bug #29508595)
Added Visual Studio 2019 support. (Bug #29454252)
An unknown [http_auth_realm] backend yielded an unclear error. (Bug #29421759)
An uncaught exception was generated if a client socket was shutdown the client peer address was retrieved. (Bug #29382585)
Misleading "Potential changes detected in cluster" warnings were added to Router's log file. Node order differences no longer cause these errors. (Bug #29264764, Bug #94060)
Router would start if
bootstrap_server_addresses
was empty or not
set. Now Router fails to start in this case if
cluster-metadata-servers (a
dynamic-config
attribute) is also empty.
(Bug #28352482)
The .ini
configuration file locations are
now detected and displayed in --help
output.
(Bug #28261802)
With Debian packages, the bootstrap process could fail when used
with the --directory
option.
(Bug #27034449)