Skip to content

Latest commit

 

History

History
451 lines (309 loc) · 23.8 KB

CHANGELOG.rst

File metadata and controls

451 lines (309 loc) · 23.8 KB

Community MySQL and MariaDB Collection Release Notes

This changelog describes changes after version 2.0.0.

This is a minor release of the community.mysql collection. This changelog contains all changes to the modules and plugins in this collection that have been made after the previous release.

  • mysql_info - adds the count of tables for each database to the returned values. It is possible to exclude this new field using the db_table_count exclusion filter. (ansible-collections#691)
  • mysql_user,mysql_role - The sql_mode ANSI_QUOTES affects how the modules mysql_user and mysql_role compare the existing privileges with the configured privileges, as well as decide whether double quotes or backticks should be used in the GRANT statements. Pointing out in issue 671, the modules mysql_user and mysql_role allow users to enable/disable ANSI_QUOTES in session variable (within a DB session, the session variable always overwrites the global one). But due to the issue, the modules do not check for ANSI_MODE in the session variable, instead, they only check in the GLOBAL one.That behavior is not only limiting the users' flexibility, but also not allowing users to explicitly disable ANSI_MODE to work around such bugs like https://bugs.mysql.com/bug.php?id=115953. (ansible-collections#671)

This is a bugfix release of the community.mysql collection. This changelog contains all changes to the modules and plugins in this collection that have been made after the previous release.

This is a bugfix release of the community.mysql collection. This changelog contains all changes to the modules and plugins in this collection that have been made after the previous release.

This is a patch release of the community.mysql collection. Besides a bugfix, it contains an important upcoming breaking-change information.

  • mysql_user - the user alias of the name argument has been deprecated and will be removed in collection version 5.0.0. Use the name argument instead.
  • mysql_user - module makes changes when is executed with plugin_auth_string parameter and check mode.

This is a minor release of the community.mysql collection. This changelog contains all changes to the modules and plugins in this collection that have been made after the previous release.

  • mysql_info - Add tls_requires returned value for the users_info filter (ansible-collections#628).
  • mysql_info - return a database server engine used (ansible-collections#644).
  • mysql_replication - Adds support for CHANGE REPLICATION SOURCE TO statement (ansible-collections#635).
  • mysql_replication - Adds support for SHOW BINARY LOG STATUS and SHOW BINLOG STATUS on getprimary mode.
  • mysql_replication - Improve detection of IsReplica and IsPrimary by inspecting the dictionary returned from the SQL query instead of relying on variable types. This ensures compatibility with changes in the connector or the output of SHOW REPLICA STATUS and SHOW MASTER STATUS, allowing for easier maintenance if these change in the future.
  • mysql_user - Add salt parameter to generate static hash for caching_sha2_password and sha256_password plugins.
  • collection - support of mysqlclient connector is deprecated - use PyMySQL connector instead! We will stop testing against it in collection version 4.0.0 and remove the related code in 5.0.0 (ansible-collections#654).
  • mysql_info - The users_info filter returned variable plugin_auth_string contains the hashed password and it's misleading, it will be removed from community.mysql 4.0.0. Use the plugin_hash_string return value instead (ansible-collections#629).
  • mysql_info - Add plugin_hash_string to users_info filter's output. The existing plugin_auth_string contained the hashed password and thus is missleading, it will be removed from community.mysql 4.0.0. (ansible-collections#629).
  • mysql_user - Added a warning to update_password's on_new_username option if multiple accounts with the same username but different passwords exist (ansible-collections#642).
  • mysql_user - Fix tls_requires not removing SSL and X509 when sets as empty (ansible-collections#628).
  • mysql_user - Fix idempotence when using variables from the users_info filter of mysql_info as an input (ansible-collections#628).
  • mysql_user - Fixed an IndexError in the update_password functionality introduced in PR ansible-collections#580 and released in community.mysql 3.8.0. If you used this functionality, please avoid versions 3.8.0 to 3.9.0 (ansible-collections#642).
  • mysql_user - add correct ed25519 auth plugin handling (ansible-collections#6).
  • mysql_variables - fix the module always changes on boolean values (ansible-collections#652).

This is a minor release of the community.mysql collection. This changelog contains all changes to the modules and plugins in this collection that have been made after the previous release.

  • Collection version 2.*.* is EOL, no more bugfixes will be backported. Please consider upgrading to the latest version.
  • mysql_user - add the password_expire and password_expire_interval arguments to implement the password expiration management for mysql user (ansible-collections#598).
  • mysql_user - add user attribute support via the attributes parameter and return value (ansible-collections#604).
  • mysql_info - the slave_status filter was returning an empty list on MariaDB with multiple replication channels. It now returns all channels by running SHOW ALL SLAVES STATUS for MariaDB servers (ansible-collections#603).

This is the minor release of the community.mysql collection. This changelog contains all changes to the modules and plugins in this collection that have been made after the previous release.

  • The community.mysql collection no longer supports ansible-core 2.12 and ansible-core 2.13. While we take no active measures to prevent usage and there are no plans to introduce incompatible code to the modules, we will stop testing those versions. Both are or will soon be End of Life and if you are still using them, you should consider upgrading to the latest Ansible / ansible-core 2.15 or later as soon as possible (ansible-collections#574).
  • mysql_role - the column_case_sensitive argument's default value will be changed to true in community.mysql 4.0.0. If your playbook expected the column to be automatically uppercased for your roles privileges, you should set this to false explicitly (ansible-collections#578).
  • mysql_user - the column_case_sensitive argument's default value will be changed to true in community.mysql 4.0.0. If your playbook expected the column to be automatically uppercased for your users privileges, you should set this to false explicitly (ansible-collections#577).

This is a patch release of the community.mysql collection. This changelog contains all changes to the modules and plugins in this collection that have been made after the previous release.

  • mysql module utils - use the connection arguments db instead of database and passwd instead of password when running with MySQLdb < 2.0.0 (ansible-collections#553).

This is a patch release of the community.mysql collection. This changelog contains all changes to the modules and plugins in this collection that have been made after the previous release.

  • mysql module utils - use the connection arguments db instead of database and passwd instead of password when running with older mysql drivers (MySQLdb < 2.1.0 or PyMySQL < 1.0.0) (ansible-collections#551).

This is the minor release of the community.mysql collection. This changelog contains all changes to the modules and plugins in this collection that have been made after the previous release.

  • mysql module utils - change deprecated connection parameters passwd and db to password and database (ansible-collections#177).
  • mysql_user - add MAX_STATEMENT_TIME support for mariadb to the resource_limits argument (ansible-collections#211).

This is the minor release of the community.mysql collection. This changelog contains all changes to the modules and plugins in this collection that have been made after the previous release.

  • mysql_info - add connector_name and connector_version to returned values (ansible-collections#497).
  • mysql_role - enable auto_commit to avoid MySQL metadata table lock (ansible-collections#479).
  • mysql_user - add plugin_auth_string as optional parameter to use a specific pam service if pam/auth_pam plugin is used (ansible-collections#445).
  • mysql_user - add the session_vars argument to set session variables at the beginning of module execution (ansible-collections#478).
  • mysql_user - display a more informative invalid privilege exception. Changes the exception handling of the granting permission logic to show the query executed , params and the exception message granting privileges fails` (ansible-collections#465).
  • mysql_user - enable auto_commit to avoid MySQL metadata table lock (ansible-collections#479).
  • setup_mysql - update MySQL tarball URL (ansible-collections#491).
  • mysql_user - when revoke privs consists only of GRANT, a 2nd revoke query is executed with empty privs to revoke that ended in an SQL exception (ansible-collections#503).
  • mysql_variables - add uppercase character pattern to regex to allow GLOBAL variables containing uppercase characters. This recognizes variable names used in Galera, for example, wsrep_OSU_method, which breaks the normal pattern of all lowercase characters (ansible-collections#501).

This is the patch release of the community.mysql collection. This changelog contains all changes to the modules and plugins in this collection that have been made after the previous release.

  • mysql_user, mysql_role - mysql/mariadb recent versions translate 'ALL PRIVILEGES' to a list of specific privileges. That caused a change every time we modified user privileges. This fix compares privs before and after user modification to avoid this infinite change (ansible-collections#77).

This is the minor release of the community.mysql collection. This changelog contains all changes to the modules in this collection that have been added after the release of community.mysql 3.4.0.

  • mysql_user - grant option was revoked accidentally when modifying users. This fix revokes grant option only when privs are setup to do that (ansible-collections#77 (comment)).

This is the minor release of the community.mysql collection. This changelog contains all changes to the modules in this collection that have been added after the release of community.mysql 3.3.0.

  • mysql_db - the pipefail argument's default value will be changed to true in community.mysql 4.0.0. If your target machines do not use bash as a default interpreter, set pipefail to false explicitly. However, we strongly recommend setting up bash as a default and pipefail=true as it will protect you from getting broken dumps you don't know about (ansible-collections#407).
  • mysql_db - add the chdir argument to avoid failings when a dump file contains relative paths (ansible-collections#395).
  • mysql_db - add the pipefail argument to avoid broken dumps when state is dump and compression is used (ansible-collections#256).
  • Include simplified_bsd.txt license file for various module utils.
  • mysql_db - Using compression masks errors messages from mysql_dump. By default the fix is inactive to ensure retro-compatibility with system without bash. To activate the fix, use the module option pipefail=true (ansible-collections#256).
  • mysql_replication - when the primary_ssl argument is set to no, the module will turn off SSL (ansible-collections#393).

This is the minor release of the community.mysql collection. This changelog contains all changes to the modules in this collection that have been added after the release of community.mysql 3.2.1.

  • mysql_role - add the argument members_must_exist (boolean, default true). The assertion that the users supplied in the members argument exist is only executed when the new argument members_must_exist is true, to allow opt-out (ansible-collections#369).
  • mysql_user - Add the option on_new_username to argument update_password to reuse the password (plugin and authentication_string) when creating a new user if some user with the same name already exists. If the existing user with the same name have varying passwords, the password from the arguments is used like with update_password: always (ansible-collections#365).
  • mysql_user - Add the result field password_changed (boolean). It is true, when the user got a new password. When the user was created with update_password: on_new_username and an existing password was reused, password_changed is false (ansible-collections#365).
  • mysql_query - fix false change reports when IF EXISTS/IF NOT EXISTS clause is used (ansible-collections#268).
  • mysql_role - don't add members to a role when creating the role and detach_members: true is set (ansible-collections#367).
  • mysql_role - in some cases (when "SHOW GRANTS" did not use backticks for quotes), no unwanted members were detached from the role (and redundant "GRANT" statements were executed for wanted members). This is fixed by querying the existing role members from the mysql.role_edges (MySQL) or mysql.roles_mapping (MariaDB) tables instead of parsing the "SHOW GRANTS" output (ansible-collections#368).
  • mysql_user - fix logic when update_password is set to on_create for users using plugin* arguments (ansible-collections#334). The on_create sets password to None for old mysql_native_authentication but not for authentiation methods which uses the plugin* arguments. This PR changes this so on_create also exchange plugin, plugin_hash_string, plugin_auth_string to None in the list of arguments to change

This is the patch release of the community.mysql collection. This changelog contains all changes to the modules in this collection that have been added after the release of community.mysql 3.2.0.

  • Include PSF-license.txt file for plugins/module_utils/_version.py.

This is the minor release of the community.mysql collection. This changelog contains all changes to the modules in this collection that have been added after the release of community.mysql 3.1.3.

  • The community.mysql collection no longer supports Ansible 2.9 and ansible-base 2.10. While we take no active measures to prevent usage and there are no plans to introduce incompatible code to the modules, we will stop testing against Ansible 2.9 and ansible-base 2.10. Both will very soon be End of Life and if you are still using them, you should consider upgrading to the latest Ansible / ansible-core 2.11 or later as soon as possible (ansible-collections#343).
  • mysql_user and mysql_role: Add the argument subtract_privs (boolean, default false, mutually exclusive with append_privs). If set, the privileges given in priv are revoked and existing privileges are kept (ansible-collections#333).

This is the patch release of the community.mysql collection. This changelog contains all changes to the modules in this collection that have been added after the release of community.mysql 3.1.2.

  • mysql_replication - fails when using the primary_use_gtid option with slave_pos or replica_pos (ansible-collections#335).
  • mysql_role - remove redundant connection closing (ansible-collections#330).
  • mysql_user - fix the possibility for a race condition that breaks certain (circular) replication configurations when DROP USER is executed on multiple nodes in the replica set. Adding IF EXISTS avoids the need to use sql_log_bin: no making the statement always replication safe (ansible-collections#287).

This is the patch release of the community.mysql collection. This changelog contains all changes to the modules in this collection that have been added after the release of community.mysql 3.1.1.

This is the patch release of the community.mysql collection. This changelog contains all changes to the modules in this collection that have been added after the release of community.mysql 3.1.0.

This is the minor release of the community.mysql collection. This changelog contains all changes to the modules in this collection that have been added after the release of community.mysql 3.0.0.

  • Added explicit description of the supported versions of databases and connectors. Changes to the collection are NOT tested against database versions older than mysql 5.7.31 and mariadb 10.2.37 or connector versions older than pymysql 0.7.10 and mysqlclient 2.0.1. (ansible-collections#141)
  • mysql_user - added the force_context boolean option to set the default database context for the queries to be the mysql database. This way replication/binlog filters can catch the statements (ansible-collections#265).
  • Collection core functions - use vendored version of distutils.version instead of the deprecated Python standard library distutils (ansible-collections#269).

This is the major release of the community.mysql collection. This changelog contains all breaking changes to the modules in this collection that have been added after the release of community.mysql 2.3.2.

  • mysql_replication - remove Is_Slave and Is_Master return values (were replaced with Is_Primary and Is_Replica (ansible-collections#145).
  • mysql_replication - remove the mode options values containing master/slave and the master_use_gtid option slave_pos (were replaced with corresponding primary/replica values) (ansible-collections#145).
  • mysql_user - remove support for the REQUIRESSL special privilege as it has ben superseded by the tls_requires option (ansible-collections#121).
  • mysql_user - validate privileges using database engine directly (ansible-collections#234 ansible-collections#243). Do not validate privileges in this module anymore.