Topics
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.
- mysql_user - add correct
ed25519
auth plugin handling when creating a user (ansible-collections#676).
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.
- mysql_user - add correct
ed25519
auth plugin handling when creating a user (ansible-collections#672).
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 thename
argument has been deprecated and will be removed in collection version 5.0.0. Use thename
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 theusers_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 variableplugin_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
tousers_info
filter's output. The existingplugin_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 removingSSL
andX509
when sets as empty (ansible-collections#628). - mysql_user - Fix idempotence when using variables from the
users_info
filter ofmysql_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
andpassword_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 runningSHOW 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
andansible-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 thelatest 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 totrue
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 totrue
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).
- mysql_info - add filter
users_info
(ansible-collections#580). - mysql_role - add
column_case_sensitive
option to prevent field names from being uppercased (ansible-collections#569). - mysql_user - add
column_case_sensitive
option to prevent field names from being uppercased (ansible-collections#569).
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 ofdatabase
andpasswd
instead ofpassword
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 ofdatabase
andpasswd
instead ofpassword
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
anddb
topassword
anddatabase
(ansible-collections#177). - mysql_user - add
MAX_STATEMENT_TIME
support for mariadb to theresource_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
andconnector_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_replication - add a new option:
primary_ssl_verify_server_cert
(https://github.com//pull/435).
- 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 totrue
in community.mysql 4.0.0. If your target machines do not usebash
as a default interpreter, setpipefail
tofalse
explicitly. However, we strongly recommend setting upbash
as a default andpipefail=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 whenstate
isdump
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 tono
, 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 themembers
argument exist is only executed when the new argumentmembers_must_exist
istrue
, to allow opt-out (ansible-collections#369). - mysql_user - Add the option
on_new_username
to argumentupdate_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 withupdate_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 withupdate_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 toon_create
for users usingplugin*
arguments (ansible-collections#334). Theon_create
setspassword
to None for old mysql_native_authentication but not for authentiation methods which uses theplugin*
arguments. This PR changes this soon_create
also exchangeplugin
,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 forplugins/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
andansible-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 againstAnsible 2.9
andansible-base 2.10
. Both will very soon be End of Life and if you are still using them, you should consider upgrading to thelatest 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 withappend_privs
). If set, the privileges given inpriv
are revoked and existing privileges are kept (ansible-collections#333).
- mysql_user - fix missing dynamic privileges after revoke and grant privileges to user (ansible-collections#120).
- mysql_user - fix parsing privs when a user has roles assigned (ansible-collections#231).
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. AddingIF EXISTS
avoids the need to usesql_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.
- Collection core functions - fixes related to the mysqlclient Python connector (ansible-collections#292).
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.
- mysql_role - make the
set_default_role_all
parameter actually working (ansible-collections#282).
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 themysql
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 librarydistutils
(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
andIs_Master
return values (were replaced withIs_Primary
andIs_Replica
(ansible-collections#145). - mysql_replication - remove the mode options values containing
master
/slave
and the master_use_gtid optionslave_pos
(were replaced with correspondingprimary
/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.