Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Release Notes for MariaDB Connector/C releases
MariaDB's latest Connector updates boost performance, security, and stability.
Release Notes for Connector/C 3.3.x releases
Release date: 12 Nov 2024
This is a Stable (GA) release of MariaDB Connector/C, formerly known as MariaDB Client Library for C.
MariaDB Connector/C 3.3.12 was not released separately but is included in MariaDB Community Server 10.6.20, 10.11.10, and 11.2.6. MariaDB Connector/C 3.3.13 includes additional bug fixes for the Connector.
Added TLSv1.3 support for Schannel (Windows)
Added new option -DWITH_BOOST_CONTEXT. CMake option -DWITH_BOOST_CONTEXT=ON adds boost::context as a dependency of libmariadb to provide a fallback on non-natively supported architectures. boost::context is preferred over ucontext when both are available.
Fixed possible crash if not default plugin was loaded.
: Undefined behavior in the reference ed25519 implementation
: Fixed error "SEC_E_ALGORITHM_MISMATCH" connecting Windows client to Ubuntu
: A reconnect doesn't do node failover when using a connection string with multiple hosts
For a list of changes made in this release, with links to detailed information on each push, see the .
Release date: 11 Feb 2025
This is a Stable (GA) release of MariaDB Connector/C, formerly known as MariaDB Client Library for C.
Added support for setting zstd compression level via mysql_optionsv parameter MYSQL_OPT_ZSTD_COMPRESSION_LEVEL.
: Fix SSL_read/write return value checking in ma_tls_async_check_result (Kudos to Joshua Hunt for contributing this fix)
: First query fails after reconnect
: Ubsan and Asan fixes
: Fix crash when sending NULL_LENGTH in field description
For a list of changes made in this release, with links to detailed information on each push, see the .
Release date: 20 Aug 2024
This is a release of MariaDB Connector/C, formerly known as MariaDB Client Library for C.
Release date: 9 Apr 2025
This is a release of MariaDB Connector/C, formerly known as MariaDB Client Library for C.
Release date: 21 Nov 2025
This is a release of MariaDB Connector/C, formerly known as MariaDB Client Library for C.
Release date: 21 Aug 2025
This is a release of MariaDB Connector/C, formerly known as MariaDB Client Library for C.
Release date: 11 Feb 2025
This is a release of MariaDBConnector/C, formerly known as MariaDB Client Library for C.
Release date: 21 Aug 2025
This is a release of MariaDB Connector/C, formerly known as MariaDB Client Library for C.
Release date: 9 Apr 2025
This is a release of MariaDB Connector/C, formerly known as MariaDB Client Library for C.
Release Notes for Connector/C 3.4.x releases
MDEV-34859: Failed to initialise non-blocking API on OpenBSD arm64
CONC-708: Fix possible buffer overflow in ma_read_ok_packet
CONC-739: prepared statement support AUTO_SEC_PART_DIGITS
CONC-748: Added support for TLSv1.3 ciphers (GnuTLS)
CONC-698: certificate info is read on every connect
CONC-704: parse_connection_string ignores empty string in last parameter
CONC-700: Fix gcc-14 -Wcalloc-transposed-args
MDEV-34424 Replica server crashes when using ed25519 plugin
TLS (schannel) fixes: - don't verify fingerprint twice
expired TLS certificate is always rejected, even if it can be auto-verified or a fingerprint is correct
new PARSEC authentication plugin is included, but disabled by default
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
CONC-795: Client side SNI support
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
CONC-783: Fix potential loss of "Proxy header not accepted from host" error
CONC-778: TLS v1.3 support for Windows Server
CONC-776: Enable rpl_set_error
CONC-775: disable UNINIT_VAR macro for clang
: Fix pipelining error (mariadb_stmt_execute_direct)
: Improve TLS verification performance on Windows
: Disable clang -Wcast-function-type-strict for makecontext
: Fix build error on android
: Updated bundled zlib
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
Added support for setting zstd compression level via mysql_optionsv parameter MYSQL_OPT_ZSTD_COMPRESSION_LEVEL.
CONC-693: Fix SSL_read/write return value checking in ma_tls_async_check_result (Kudos to Joshua Hunt for contributing this fix)
CONC-589: First query fails after reconnect
CONC-711: Ubsan and Asan fixes
CONC-709: Fix crash when sending NULL_LENGTH in field description
: Fix possible buffer overflow in ma_read_ok_packet
: Added support for TLSv1.3 ciphers (GnuTLS)
: Parsec plugin not unloaded during mtr-test run
: prepared statement support AUTO_SEC_PART_DIGITS
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
CONC-783: Fix potential loss of "Proxy header not accepted from host" error
CONC-778: TLS v1.3 support for Windows Server
CONC-776: Enable rpl_set_error
CONC-775: disable UNINIT_VAR macro for clang
: Fix pipelining error (mariadb_stmt_execute_direct)
: Disable clang -Wcast-function-type-strict for makecontext
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
Release date: 12 Nov 2024
This is a release of MariaDB Connector/C, formerly known as MariaDB Client Library for C.
MariaDB Connector/C 3.4.2 was not released separately but is included in . MariaDB Connector/C 3.4.3 includes additional bug fixes for the Connector and is included in , and .
Release date: 24 June 2022
This is a release of MariaDB Connector/C, formerly known as MariaDB Client Library for C.
Release Notes for Connector/C 3.2.x releases
Release Notes for Connector/C 2.3.x releases
Release Notes for Connector/C 2.2.x releases
Release Notes for Connector/C 3.1.x releases
Changelogs for Connector/C releases
Release Notes for Connector/C 3.0.x releases
Added option MARIADB_TLS_VERIFY_STATUS to retrieve status of peer certificate validation via mariadb_get_infov().
CONC-690: Due to required cryptographic functions that are part of the TLS crypto libraries the option WITH_SSL=OFF (disabling TLS/SSL) is no longer supported and will result in a build error.
CONC-724: Added option MARIADB_OPT_TLS_VERIFICATION_CALLBACK to specify a callback function for peer certificate testing.
Man pages are no longer stored in github repository. They can be build with cmake option -DWITH_DOCS=ON (requires pyhon 3 and pandoc).
If the environment variable MARIADB_TLS_DISABLE_PEER_VERIFICATION was set, the peer certificate verification will be skipped.
: Added windows support for the parsec authentication plugin, a new plugin added to MariaDB Server 11.6
CONC-712: Skip host name verification on local connections
CONC-731: Wrong error message if incorrect fingerprint was specified
CONC-732: Always set verification callback function, even if peer certificate validation is disabled (OpenSSL)
CONC-735: A reconnect doesn't do node failover when using a connection string with multiple hosts
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
TLS encryption
CONC-692: Provide X509 peer certificate information:
Added a new structure MARIADB_X509_INFO, which contains information about peer certificate. The information can be obtained via mysql_get_infov API function:
MDEV-31857: enable MYSQL_OPT_SSL_VERIFY_SERVER_CERT by default
Using TLS/SSL has been simplified with MariaDB Server 11.4. Before version 11.4, proper TLS/SSL configuration required multiple manual steps for the server and all the clients connecting to it.
For MariaDB Connector/C before 3.4 to establish an TLS/SSL encrypted connection, or a MariaDB Server release series previous to 11.4, three options can be used:
MDEV-30366 - Server now permits to send a result-set containing generated id and affected rows for each bulk operation. This feature can be enabled with option MARIADB_OPT_BULK_UNIT_RESULTS. The server indicates if this feature is supported by setting MARIADB_CLIENT_BULK_UNIT_RESULTS in his capability flags.
Added support for restricted_auth in configuration files
Support for new collations which were added in MariaDB Server 11.5
CONC-605: Don't allow to use unsupported client flags in mysql_real_connect CONC-677: Fix memory leak when setting default configuration directories CONC-648: Don't trust error packets received prior to TLS handshake completion. (Kudos to Daniel Lenski for his contribution CONC-683: Check pending results when closing statement CONC-688: mariadb_rpl_fetch() crashes if table is partitioned
Warning fixes (-Wcalloc-transposed-args) in calloc calls (Thanks to Sam James)
Fixed SSL_read/write return value check in ma_tls_async_check_result (Thanks to Josh Hunt)
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
Release date: 22 May 2023
This is a Stable (GA) release of MariaDB Connector/C, formerly known as MariaDB Client Library for C.
Updated bundled zlib library (version 1.2.13)
: Added support for all binary log events (replication/binlog API).
: Support of semi-sync replication
: Build named pipe plugin as built-in plugin (Windows)
: Checksum verification (replication/binlog API).
: Fixed NULL pointer dereference in unpack_fields().
: Clear server status and remove pending result sets in mysql_reset_connection().
: If prepare step failed in mariadb_stmt_execute_direct now both mysql_stmt_error and mysql_error return the error message from prepare step instead of error message of execute.
For a list of changes made in this release, with links to detailed information on each push, see the .
MariaDB Connector/C 3.2 is the current major development version. MariaDB Connector/C 3.1 is stable and feature-complete, so major new features to be developed are going into 3.2.
: Do not resend prepared statement metadata unnecessarily
: Added support for passwords > 255 characters
LOAD DATA LOCAL is now supported in binary protocol
Updated/extended cipher suite list for Schannel TLS module
: Added support for certificate revocation list in GnuTLS module
: Changed default character set from latin1 to utf8mb4
: Added support for non blocking calls using binary protocol
: mysql_get_client_* api functions now return Connector version
The connection plugin "aurora" was removed
Default character set is now utf8mb4
Character set utf8 will be mapped to utf8mb3
Added support for MSVC asan
DownloadRelease NotesChangelogAbout MariaDB Connector/C
Release date: 10 Nov 2021
This is a Stable (GA) release of MariaDB Connector/C, formerly known as MariaDB Client Library for C.
For a description of this library see the page.
: If a stored procedure was executed as server side cursor and server doesn't set the SERVER_STATUS_CURSOR_EXISTS status flag, the result set will not be processed as a server side cursor.
: If mariadb_stmt_execute_direct fails, the number of parameters (obtained by response packet of mysql_stmt_prepare) will be set back to the number of prebinded parameters to avoid memory overrun.
: The API function mysql_load_plugin_v() now returns the plugin handle (instead of raising an error and returning a NULL handle) even if the plugin was already loaded. This will avoid possible race conditions, when one thread is loading the plugin while another thread waits for the lock to load the same plugin.
Xcode compatibility update (Thanks to Sergei Krivonos for his contribution)
: Removed callback function for crypto threads, since the callback function cannot be cleared (this affects OpenSSL <= 1.0.2 only)
For a list of changes made in this release, with links to detailed information on each push, see the .
Release date: 7 Feb 2023
This is a Stable (GA) release of MariaDB Connector/C, formerly known as MariaDB Client Library for C.
: Don't substitute parameters in server error message
: Fix memory leak in prepared statements if realloc failed
: Fixed error numbers
: Check error code ranges and provide support for variadic arguments in prepared statement errors.
For a list of changes made in this release, with links to detailed information on each push, see the .
DownloadRelease NotesChangelogAbout MariaDB Connector/C
Release date: 18 Jun 2024
This is a Stable (GA) release of MariaDB Connector/C, formerly known as MariaDB Client Library for C.
For a description of this library see the page.
: Replace COM_PROCESS_KILL by SQL kill command
: memory leak fixed in get_default_configuration_dirs()
For a list of changes made in this release, with links to detailed information on each push, see the .
DownloadRelease NotesChangelogAbout MariaDB Connector/C
Release date: 11 Feb 2025
This is a Stable (GA) release of MariaDB Connector/C, formerly known as MariaDB Client Library for C.
For a description of this library see the page.
: Fix SSL_read/write return value checking in ma_tls_async_check_result (Kudos to Joshua Hunt for contributing this fix)
: First query fails after reconnect
: Fix crash when sending NULL_LENGTH in field description
: Fix possible buffer overflow in ma_read_ok_packet
: prepared statement support AUTO_SEC_PART_DIGITS
: Added support for TLSv1.3 ciphers (GnuTLS)
For a list of changes made in this release, with links to detailed information on each push, see the .
Release date: 25 May 2022
This is a Stable (GA) release of MariaDB Connector/C, formerly known as MariaDB Client Library for C.
Updated bundled zlib (Version 1.2.12)
: License header fixes
: Save proxy settings on reconnect
Android build fix
For a list of changes made in this release, with links to detailed information on each push, see the .
Release date: 29 Nov 2023
This is a release of MariaDB Connector/C, formerly known as MariaDB Client Library for C.
Release date: 15 Feb 2022
This is a release of MariaDB Connector/C, formerly known as MariaDB Client Library for C.
Release date: 14 Sep 2023
This is a release of MariaDB Connector/C, formerly known as MariaDB Client Library for C.
Release date: 7 Nov 2022
This is a release of MariaDB Connector/C, formerly known as MariaDB Client Library for C.
Release date: This version was never released
MARIADB_X509_INFO *info;
mariadb_get_infov(mysql, MARIADB_TLS_PEER_CERT_INFO, &info);Changelogs for Connector/C 3.4.x releases
CONC-634: Don't send compressed data if the server doesn't indicate compressed protocol support.
CONC-635: Disable TLS for named pipe and shared memory connections.
CONC-637: Fixed build if GSSAPI plugin is disabled
CONC-638: Fixed memory leak in ps_bugs unittest
CONC-642: Set CR_OUT_OF_MEMORY error in mysql_use_result() api function if allocation of memory failed
CONC-623: Check return value of parameter callback function and return error.
CONC-622: Fix double free() if asnyc connect failed
CONC-666: Fix memory allocation issue with prepared statement reexecution
CONC-668: Build fix for Win32
CONC-669: Cache bcrypt algorithm providers (Windows)
CONC-670: Initialize time struct in pvio_socket_set_timeout
: Avoid false positive gcc warning
: fix build with clang (v16), clang-cl(v16), and mingw-gcc(v12)
Remove WORDS_BIGENDIAN
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
Added new option MARIADB_OPT_RESTRICTED_AUTH (and corresponding "restricted-auth" option for configuration files) which specifies on or more comma spearated authentication plugins which are allowed for authenication.
If the server asks for an authentication plugin not listed in this option the connect attempt will fail with error CR_PLUGIN_NOT_ALLOWED.
Zstd compression is now supported for connections to a MySQL Server 8.0 or newer. Compression algorithms are now provided via plugins. If the Zstd compression plugin is not part of a downloaded package it means, that zstd is not installed by default on this platform. In this case you have to install the zstd libraries and include files and build the plugin from source.
Beside already supported asynchronous replication the replication/binlog API now supports semi synchronous replication.
host parameter of mysql_real_connect (and corresponding configuration settings MYSQL_OPT_HOST for mysql_options() api call and host key in configuration files) now accepts to specify multiple hosts and ports.
When establishing a connection, the list of specified hosts is run through until a connection can be established. If no connection can be established to any of the specified hosts, an error is returned.
mariadb_get_infov now supports options MARIADB_CONNECTION_BYTES_READ and MARIADB_CONNECTION_BYTES_SENT to obtain the bytes sent or read to/from database server.
A connection string contains key/value pairs, separated by a semicolon as used in ODBC. Supported keys are all configuration options which can be used in MariaDB configuration files. For a complete list check config_files#configuration-options.
The connection string must contain at least one semicolon, otherwise it wil be interpreted as hostname. Unknown or invalid keys will be ignored.
To connect via connection string, the following methods might be used:
by specifing connection option in configuration file:
by using mariadb_connect() macro
by passing connection string in host parameter to mysql_real_connect
CONC-467: rotate as first event isn't handled correctly (replication/binlog api)
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
CONC-650: Added XID support for GTID_EVENT (replication/binlog API)
removed server certification flag from client capabilities (this is a client only option)
CONC-657: Fixed crash when receiving ROWSv2 (MySQL Server) event. Kudos to Sruli Ganor for reporting this issue and providing a fix. (replication/binlog API)
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
More robust call to X509_check_host using strlen (PR 206)
Build fix: Don't require kerberos libraries which aren't used
CONC-612: Fix connection error on MacOSX
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
CONC-500: Fixed error when loading intermediate chained certificates
MDEV-18818: Fixed wrong zlib in mariadb_config when building inside server package
CONC-498: MYSQL_UNIX_ADDR and MYSQL_PORT are now defined
Added new build option WIITH_ICONV=ON/OFF. When set to OFF (default) API function mariadb_convert_string will always return -1 and sets errorcode to ENOTSUP.
mariadb_config now tries to determine the path of execution or uses MARIADB_CONFIG environment variable before falling back and using CMAKE_INSTALL_PREFIX for location of libraries and include files
added --variables option for mariadb_config. Supported values are pkgincludedir, pkglibdir and pkgplugindir.
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
CONC-588: Allocate memory for proxy options
CONC-587: Handle alerts after tls handshake has completed (OpenSSL)
CONC-580: Fixed license header
Fixed sigbus error when calling mysql_real_connect_start (MacOS/Arm5)
Build fix for Android NDK
Updated bundled zlib (Version 1.2.12)
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
CONC-565: Incorrect max_length in binary protocol
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
CONC-588: Allocate memory for proxy options
CONC-587: Handle alerts after tls handshake has completed (OpenSSL)
CONC-580: Fixed license header
Fixed sigbus error when calling mysql_real_connect_start (MacOS/Arm5)
Build fix for Android NDK
Updated bundled zlib (Version 1.2.12)
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
Included in MariaDB 10.4.4
Replication/Binlog API: The main mechanism used in replication is the binary log. If binary logging is enabled, all updates to the database (data manipulation and data definition) are written into the binary log as binlog events. Clients may read the binary log from master using the replication API in order to access the data.
CONC-395: Dashes and underscores are not interchangeable in options in my.cnf
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
removed server certification flag from client capabilities (this is a client only option)
build fixes
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
CONC-282: Connector/C now provides additional information on the package version: mariadb_config --cc_version lists the package version. Besides MARIADB_PACKAGE_VERSION, the numeric representation MARIADB_PACKAGE_VERSION_ID can now be used within preprocessor directives.
CONC-281: mysql_stmt_fetch_column doesn't work with prior call to mysql_stmt_store_result
OpenSSL fixes:
When negotiating TLS protocol during handshake, use server preferences instead of client preferences. This will allow using TLSv12 (OpenSSL server) and/or TLSv1.1 (Yassl server).
Don't check server ca unless verification flag was set. This will allow Connector/C to establish a tls/ssl connection without certificates.
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
CONC-565: Incorrect max_length in binary protocol
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
First stable (GA) release in the Connector/C 3.2 series
CONC-558: Allow all curves when specifying cipher suite (GnuTLS)
CONC-503: Add support for OpenSSL 3.0
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
CONC-537: Only read from MYSQL_HOME if MARIADB_HOME was not set
CONC-548: Symbol conflict with libsodium
CONC-490: Handshake error when CLIENT_CONNECT_WITH_DB flag was set without specifying database
CONC-543: Hash functions conflict with GnuTLS
CONC-539: Added cipher suites ECDHE-RSA-AES128-SHA256 (0xC027) and ECDHE-RSA-AES256-SHA384 (0xC028) to the cipher map which maps cipher suite names to the corresponding algorithm ids (Windows Schannel)
: Disabled checksum ignored in events (replication/binlog API)
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
CONC-619: Fixed NULL pointer dereference in unpack_fields().
CONC-632: Clear server status and remove pending result sets in mysql_reset_connection().
CONC-633: If prepare step failed in mariadb_stmt_execute_direct now both mysql_stmt_error and mysql_error return the error message from prepare step instead of error message of execute.
CONC-635: Disable TLS for named pipe and shared memory connections.
: Fixed build if GSSAPI plugin is disabled
: Fixed memory leak in ps_bugs unittest
: Set CR_OUT_OF_MEMORY error in mysql_use_result() api function if allocation of memory failed
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
MDEV-15263: FIx IS_NUM() macro
Coverity scan bug fixes
CONC-297: local infile parameter must be unsigned int instead of my_bool
CONC-329: change return value of internal socket functions from my_bool to int (Thanks to Daniel Black for his contribution)
CONC-332: my_auth doesn't read/update server ok packet
CONC-344: reset internal row counter
CONC-345: invalid heap use after free
CONC-346: Remove old cmake policies
ODBC-154: Fixed build layout when building Connector/C as subproject in Connector/ODBC (Thanks to Lawrin Novitsky for his contribution)
fixed crash in mysql_select_db if NULL parameter was provided
Debian layout changes/fixes (Thanks to Otto Kekäläinen)
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
MDEV-27304: FIx detection of MariaDB Server: If the server was startet with --version option, it might not contain the 5.5.5 prefix
MDEV-16383: Add mariadb_config --libmysqld-libs option. If server package was built with embedded server and MariaDB Connector/C was built as subproject in server package mariadb_config will display link option for embedded server
MDEV-27109: create libmariadb.a as symlink to libmariadbclient.a
Fixed length calculation of MYSQL_TIME values in binary protocol
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
CONC-292: Fixed malloc result check in dynamic columns
MDEV-10361: Don't try to reconnect twice in mysql_ping
CONC-301: In case of a truncation the statement status was not updated correctly and further calls to mysql_stmt_fetch_column failed
New Debian installation layout (cmake option -DINSTALL_LAYOUT=DEB)
CONC-299: Add support for new utf8mb4 collations
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
MDEV-27304: FIx detection of MariaDB Server: If the server was startet with --version option, it might not contain the 5.5.5 prefix
MDEV-16383: Add mariadb_config --libmysqld-libs option. If server package was built with embedded server and MariaDB Connector/C was built as subproject in server package mariadb_config will display link option for embedded server
MDEV-27109: create libmariadb.a as symlink to libmariadbclient.a
Fixed length calculation of MYSQL_TIME values in binary protocol
Added support for ROWS_EVENT_V2 (binlog api). Special Thanls to Sutou Kouhei for his contribution
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
CONC-416: Changed order for lookup configuration files on Windows
CONC-386: Added support for pem files which contain certificate and private key.
CONC-412: Allow TLS version 1.2 when using SChannel (Windows)
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
More robust call to X509_check_host using strlen (PR 206)
Build fix: Don't require kerberos libraries which aren't used
CONC-612: Fix connection error on MacOSX
MDEV-29925: Fix build for MacOSX
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
Release date: 20 Aug 2024
This is a Stable (GA) release of MariaDB Connector/C, formerly known as MariaDB Client Library for C.
: parse_connection_string ignores empty string in last parameter
: Replace COM_PROCESS_KILL by KILL command
For a list of changes made in this release, with links to detailed information on each push, see the .
DownloadRelease NotesChangelogAbout MariaDB Connector/C
Release date: 7 Feb 2023
This is a Stable (GA) release of MariaDB Connector/C, formerly known as MariaDB Client Library for C.
For a description of this library see the page.
mysql_get_client_info()/mysql_get_client_version() now return the Connector/C specific version (instead of corresponding server version),
: Don't substitute parameters in server error message
: Fix memory leak in prepared statements if realloc failed
: Fixed error numbers
: Check error code ranges and provide support for variadic arguments in prepared statement errors.
For a list of changes made in this release, with links to detailed information on each push, see the .
DownloadRelease NotesChangelogAbout MariaDB Connector/C
Release date: 4 Nov 2020
This is a Stable (GA) release of the MariaDB Connector/C, formerly known as MariaDB Client Library for C.
For a description of this library see the page.
: Added support for passwords > 255 characters
: Added support for TLS v1.3 cipher suites (OpenSSL only)
: Removed unused command COM_MULTI
If character set "auto" was specified on Windows, and GetConsoleCP returns a positive number, Ansi code page identifier (GetACP) will be used
Updated bundled zlib (now version 1.2.11)
: MSAN use-of-uninitialized-value in strstr()
: truncation check for float values fails on i386 due to Intel FPU optimization bug in gcc
: Fix crash when loading plugins in mysql_server_init()
: Fixed race condition in ma_net_init (Kudos to Alexander Sapin)
For a list of changes made in this release, with links to detailed information on each push, see the .
DownloadRelease NotesChangelogAbout MariaDB Connector/C
Release date: 29 Nov 2023
This is a Stable (GA) release of MariaDB Connector/C, formerly known as MariaDB Client Library for C.
For a description of this library see the page.
: Fix memory allocation issue with prepared statement reexecution.
: Win32 build fix
: Cache bcrypt algorithm providers (Windows)
: Initialize time struct in pvio_socket_set_timeout
: Avoid false positive gcc warning
Remove WORDS_BIGENDIAN
For a list of changes made in this release, with links to detailed information on each push, see the .
DownloadRelease NotesChangelogAbout MariaDB Connector/C
Release date: 25 Apr 2018
This is a Stable (GA) release of the MariaDB Connector/C, formerly known as MariaDB Client Library for C.
For a description of this library see the page.
Added option MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS for mysql_options()/mysql_optionsv():If this option is set, client indicates that it will be able to handle expired passwords by setting the CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS capability flag. If password is expired and CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS is set, the server will not return an error when connecting, but will put the connection in sandbox mode, where all commands will return error 1820/1828 (ER_MUST_CHANGE_PASSWORD/ER_MUST_CHANGE_PASSWORD_LOGIN) unless a new password was set.
New plugin configuration interface: The default configuration for a specific plugin can be specified via cmake parameter -DCLIENT_PLUGIN_${PLUGIN}=[DYNAMIC|STATIC|OFF].
Added support for linux abstract socket (). Thanks to Daniel Black for his contribution.
Added Travis and Appveyor build support
: Added asynchronous/non-blocking support for OpenSSL and GnuTLS
Fixed various clang compiler warnings
: Access violation in mysql_close when using a connection plugin.
: If built dynamically the old_password plugin could not be located due to wrong filename (must be mysql_old_password.so instead of old_password.so).
: If no default client character set was specified, the utf8 character set will be used by default (instead of setting the client character set to server character set)
For a list of changes made in this release, with links to detailed information on each push, see the .
Release date: 22 Aug 2022
This is a Stable (GA) release of MariaDB Connector/C, formerly known as MariaDB Client Library for C.
: Callback support for status and session_tracking
: Ignore unknown events in replication/binlog API
: Fixed build for MacOS when using bundled zlib library.
: Fixed memory leak in non-blocking API. Kudos to Hyung Hwan who found this issue and provided a fix.
: Fixed error handling in TLS read/write
For a list of changes made in this release, with links to detailed information on each push, see the .
DownloadRelease NotesChangelogAbout MariaDB Connector/C
Release date: 10 Nov 2021
This is a Stable (GA) release of MariaDB Connector/C, formerly known as MariaDB Client Library for C.
For a description of this library see the page.
: If a stored procedure was executed as server side cursor and server doesn't set the SERVER_STATUS_CURSOR_EXISTS status flag, the result set will not be processed as a server side cursor.
: If mariadb_stmt_execute_direct fails, the number of parameters (obtained by response packet of mysql_stmt_prepare) will be set back to the number of prebinded parameters to avoid memory overrun.
: The API function mysql_load_plugin_v() now returns the plugin handle (instead of raising an error and returning a NULL handle) even if the plugin was already loaded. This will avoid possible race conditions, when one thread is loading the plugin while another thread waits for the lock to load the same plugin.
Xcode compatibility update (Thanks to Sergei Krivonos for his contribution)
: Removed callback function for crypto threads, since the callback function cannot be cleared (this affects OpenSSL <= 1.0.2 only)
For a list of changes made in this release, with links to detailed information on each push, see the .
DownloadRelease NotesChangelogAbout MariaDB Connector/C
Release date: 1 Aug 2019
This is a Stable (GA) release of the MariaDB Connector/C, formerly known as MariaDB Client Library for C.
For a description of this library see the page.
: Fix CMake warnings
: heap-use-after-free in client_mpvio_read_packet
: Fix GnuTLS error with TLSv1.3
: Ignore SERVER_STATUS_CURSOR_EXISTS if client didn't open a cursor before
: Fixed crash in GnuTLS when key and certificate are in the same file
: Don't allow invalid characters in plugin names
: Fixed Location of PLUGINDIR if Connector/C is a subproject
Fixes for the following :
For a list of changes made in this release, with links to detailed information on each push, see the .
DownloadRelease NotesAbout MariaDB Connector/C
Release date: 20 Jan 2016
This is an Alpha release of MariaDB Connector/C, formerly known as the MariaDB Client Library for C. As with any other pre-production release, cautions should be taken when installing on production systems or systems with critical data. Not all of the features, planned for the final MariaDB Connector/C 3.0 release are implemented yet.
For a description of this library see the page.
Binary packages for Windows (32 and 64-bit) and generic Linux packages as well as source code packages are available from the
In addition to OpenSSL the following SSL libraries are supported in Connector/C 3.0:
GnuTLS
Windows Schannel. SChannel requires no other external libraries besides the Windows system libraries, and is the default for SSL Support on Windows operating systems.
Support of the TLSv1.1 and TLSv1.2 protocols.
All plugins can either be linked statically or built as shared objects (or dynamic link libraries on Windows)
pluggable Virtual IO (PVIO) for communication via socket, named pipe and shared memory
connection plugins, e.g for aurora failover or replication (master write, slave read)
remote IO plugin, which allows to access remote files (via http, https, ftp, ldap, ..)
Trace plugin (for analyzing and dumping network traffic)
mariadb_get_info and mariadb_get_infov (variable argument list) for obtaining general and connection specific values.
mariadb_get_charset_by_name and mariadb_get_charset_by_nr which return charset information for a given internal number or name of character set. These functions have been previously used internally by MariaDB Connector/ODBC and are now exported, so they can be used also within plugins.
mysql_get_option and mysql_get_optionv (variable argument list) for obtaining option values for a given connection.
mysql_reconnect which was used internally before (if the option MYSQL_OPT_RECONNECT was set) is now part of the API and can be used by applications and plugins to reestablish a failing connection
We will cover new functionality in detail with a couple of blog entries during the next days. The first one "What's new in Connector/C 3.0: Part I SSL" can be found
DownloadRelease NotesChangelogAbout MariaDB Connector/C
Release date: 22 Aug 2022
This is a Stable (GA) release of MariaDB Connector/C, formerly known as MariaDB Client Library for C.
For a description of this library see the page.
: Fixed crash when reconnecting via TLS
: Disable sigpipe errors for GnuTLS
: Infinite loop in pvio_socket_internal_connect: Kudos to Hugo Wen who reported this issue and provided a fix)
: Replaced server error code constants in communication (ma_net)
Fixed build for static plugins
For a list of changes made in this release, with links to detailed information on each push, see the .
DownloadRelease NotesChangelogAbout MariaDB Connector/C
Release date: 9 Apr 2025
This is a Stable (GA) release of MariaDB Connector/C, formerly known as MariaDB Client Library for C.
For a description of this library see the page.
: Valid named pipe connection on Windows is closed. Fixed different behavior of pvio_is_alive (which was first used with fix of ). Both for sockets and named pipe the function now returns true if the connection is alive, otherwise false
For a list of changes made in this release, with links to detailed information on each push, see the .
DownloadRelease NotesChangelogAbout MariaDB Connector/C
Release date: 21 Dec 2018
This is a Stable (GA) release of the MariaDB Connector/C, formerly known as MariaDB Client Library for C.
For a description of this library see the page.
Added missing pdb's to windows installer
Fixed windows build when using external zlib
mingw fix: use lowercase names for include files
: Fixed handshake errors when mixing TLSv1.3 cipher suites with cipher suites from other TLS protocols
: Added new caching_sha2_password authentication plugin for authentication with MySQL 8.0
For a list of changes made in this release, with links to detailed information on each push, see the .
Release date: 21 Jun 2024
This is a Stable (GA) release of MariaDB Connector/C, formerly known as MariaDB Client Library for C.
: Don't allow to use unsupported client flags in mysql_real_connect
: Fix memory leak when setting default configuration directories
: Don't trust error packets received prior to TLS handshake completion. (Kudos to Daniel Lenski for his contribution
Allow named pipe connection handle to be used with IO completion port. Pipe handle can be obtained via mysql_get_socket() API function. Added support for zstd static library (Kudos to Uilian Ries for his contribution)
Added support for restricted_auth in configuration files
- Server now permits to send a result-set containing generated id and affected rows for each bulk operation. This feature can be enabled with option MARIADB_OPT_BULK_UNIT_RESULTS. The server indicates if this feature is supported by setting MARIADB_CLIENT_BULK_UNIT_RESULTS in his capability flags.
Warning fixes (-Wcalloc-transposed-args) in calloc calls (Thanks to Sam James)
Fixed SSL_read/write return value check in ma_tls_async_check_result (Thanks to Josh Hunt)
For a list of changes made in this release, with links to detailed information on each push, see the .
DownloadRelease NotesChangelogAbout MariaDB Connector/C
Release date: 23 Feb 2021
This is a Stable (GA) release of the MariaDB Connector/C, formerly known as MariaDB Client Library for C.
For a description of this library see the page.
: Fix warnings generated during compilation of plugin/auth_pam/testing/pam_mariadb_mtr.c on FreeBSD
: Fixed warning on MacOS when including ucontext.h
: Check if mysql->options.extension was allocated before checking async_context
: C/C looks for plugins in wrong location on Windows
For a list of changes made in this release, with links to detailed information on each push, see the .
DownloadRelease NotesChangelogAbout MariaDB Connector/C
Release date: 19 June 2020
This is a Stable (GA) release of the MariaDB Connector/C, formerly known as MariaDB Client Library for C.
For a description of this library see the page.
: Use servers preferred authentication method unless another plugin was specified.
Added support for kFreeBSD builds
Fixed memory leak in GnuTLS if connection couldn't be established.
For a list of changes made in this release, with links to detailed information on each push, see the .
DownloadRelease NotesChangelogAbout MariaDB Connector/C
Release date: 14 Nov 2018
This is a Stable (GA) release of the MariaDB Connector/C, formerly known as MariaDB Client Library for C.
For a description of this library see the page.
Build fixes when building with ASAN/TSAN
: Fixed memory leak in configuration file parsing.
: Incorrect fractional part conversion when converting datetime string to MYSQL_TIME
: Fixed pkg-config configuration
: Not all sockets created in pvio_socket_connect function are closed
multiple fixes in named pipe implementation
OpenSSL build fixes on Windows platforms
: Added new parameter STMT_ATTR_STATE to retrieve statement status via api function mysql_stmt_attr_get
For a list of changes made in this release, with links to detailed information on each push, see the .
DownloadRelease NotesChangelogAbout MariaDB Connector/C
Release date: 7 Sep 2018
This is a Stable (GA) release of the MariaDB Connector/C, formerly known as MariaDB Client Library for C.
For a description of this library see the page.
Fix for security vulnerability
For a list of changes made in this release, with links to detailed information on each push, see the .
DownloadRelease NotesChangelogAbout MariaDB Connector/C
Release date: 4 Aug 2016
This is a Stable (GA) release of the MariaDB Connector/C, formerly known as MariaDB Client Library for C.
For a description of this library see the page.
Added support for OpenSSL 1.1 library
: Fixed wrong behaviour of mysql_stmt_fetch_column: If a blob is fetched in pieces, offset was ignored.
: When retrieving large result sets mysql_stmt_store_result was 4 times slower than libmysql due to extra loops in alloc_root() function. (see also )
For a list of changes made in this release, with links to detailed information on each push, see the .
DownloadRelease NotesChangelogAbout MariaDB Connector/C
Release date: 13 May 2019
This is a Stable (GA) release of the MariaDB Connector/C, formerly known as MariaDB Client Library for C.
For a description of this library see the page.
: Host option in configuration file is ignored
: Fixed crash when server sent session tracking information with session type SESSION_TRACK_STATE_CHANGE
: MariaDB does not verify IP addresses from subject alternative names
For a list of changes made in this release, with links to detailed information on each push, see the .
DownloadRelease NotesChangelogAbout MariaDB Connector/C
Release date: 11 Sep 2019
This is a Stable (GA) release of the MariaDB Connector/C, formerly known as MariaDB Client Library for C.
For a description of this library see the page.
: Use windows crypto libraries on Windows platforms
Included in , , and
For a list of changes made in this release, with links to detailed information on each push, see the .
DownloadRelease NotesChangelogAbout MariaDB Connector/C
Release date: 7 Jun 2018
This is a Stable (GA) release of the MariaDB Connector/C, formerly known as MariaDB Client Library for C.
For a description of this library see the page.
: Copy all members of MYSQL_FIELD from mysql->fields to stmt->fields
Fixed conversion from string to MYSQL_TIME type (prepared statements)
Added missing status defines (SERVER_STATUS_ANSI_QUOTES, SERVER_STATUS_IN_TRANS_READONLY)
: Added new default connection attribute _server_host
: Changed default character set to latin1
For a list of changes made in this release, with links to detailed information on each push, see the .
DownloadRelease NotesChangelogAbout MariaDB Connector/C
Release date: 9 Dec 2015
This is a Stable (GA) release of the MariaDB Connector/C, formerly known as MariaDB Client Library for C.
For a description of this library see the page.
: Build fails with -DWITH_OPENSSL=On in Visual Studio 2015
Disable nagle algorithm for tcp/ip connections on Windows by default
ssl-validate-cert incorrect hostname check
Support for CMake versions >= 3.0
For a list of changes made in this release, with links to detailed information on each push, see the .
DownloadRelease NotesChangelogAbout MariaDB Connector/C
Release date: 29 Nov 2012
This is the initial Stable (GA) release of the MariaDB Client Library for C. In general, marking this release as stable means that there are no known serious bugs, except for those marked as feature requests, that no bugs were fixed since last release that caused a notable code changes, and that we believe the code is ready for general usage (based on bug inflow).
For a description of this library see the page.
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
Release date: 21 Nov 2025
This is a Stable (GA) release of MariaDB Connector/C, formerly known as MariaDB Client Library for C.
Included in MariaDB Community Server , and
This release includes internal improvements to the build system and continuous integration setup. There are no user-facing changes, bug fixes, or new features in this version.
For a list of changes made in this release, with links to detailed information on each push, see the .
DownloadRelease NotesChangelogAbout MariaDB Connector/C
Release date: 29 Jan 2020
This is a Stable (GA) release of the MariaDB Connector/C, formerly known as MariaDB Client Library for C.
For a description of this library see the page.
Included in , , and
TLS/SSL: when the client doesn't procide a CA file and the option ssl_verify_server_cert was set, the peer cerificate will be validated against the system CA.
Fixes for the following :
For a list of changes made in this release, with links to detailed information on each push, see the .
Release date: 19 Feb 2024
This is a release of MariaDB Connector/C, formerly known as MariaDB Client Library for C.
Release date: 12 Nov 2024
This is a release of MariaDB Connector/C, formerly known as MariaDB Client Library for C.
MariaDB Connector/C 3.1.25 was not released separately but is included in . MariaDB Connector/C 3.1.26 includes additional bug fixes for the Connector.
For a description of this library see the page.
Release date: 18 Nov 2015
This is a (GA) release of the MariaDB Connector/C, formerly known as MariaDB Client Library for C. In general, marking this release as stable means that there are no known serious bugs, except for those marked as feature requests, that no bugs were fixed since last release that caused a notable code changes, and that we believe the code is ready for general usage (based on bug inflow).
For a description of this library see the page.
Release date: 3 Apr 2014
This is a (GA) release of the MariaDB Client Library for C. In general, marking this release as stable means that there are no known serious bugs, except for those marked as feature requests, that no bugs were fixed since the last release that caused notable code changes, and that we believe the code is ready for general usage (based on bug inflow).
For a description of this library, see the page.
Release date: 18 Jan 2017
This is a (GA) release of the MariaDB Connector/C, formerly known as MariaDB Client Library for C.
For a description of this library see the page.
Plugin API interface change: Changed the interface of authentication plugins, so plugins from C/C 3.0 (like GSSAPI/Kerberos plugin) can be used with Connector/C 2.3
MDEV-23564: CMake failed on MacOSX due to deprecated GSS API methods
CONC-317: Parsing of configuration file fails if key/value pairs contain white spaces.
CONC-322: Correct handling of EAGAIN and EINPROGRESS in internal_connect (socket) for non windows platforms.
CONC-323: mariadb_stmt_execute_direct hangs forever if compression used.
CONC-324: Wrong codepage numbers for some collations.
CONC-326: ssl_thread_init() uses wrong openssl threadid callback
CONC-604: Fixed crash when reconnecting via TLS
CONC-605: Disable sigpipe errors for GnuTLS
CONC-606: Replaced server error code constants in communication (ma_net)
CONC-607: Infinite loop in pvio_socket_internal_connect(). Kudos to Hugo Wen who found this issue and provided a fix.
Support of passphrase protected private keys.
Allow named pipe connection handle to be used with IO completion port. Pipe handle can be obtained via mysql_get_socket() API function.
Added support for zstd static library (Kudos to Uilian Ries for his contribution)
CONC-648: Don't trust error packets received prior to TLS handshake completion. (Kudos to Daniel Lenski for his contribution)
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
Fixed possible crash if not default plugin was loaded.
CONC-730: Undefined behavior in the reference ed25519 implementation
CONC-527: Fixed error "SEC_E_ALGORITHM_MISMATCH" connecting Windows client to Ubuntu
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
CONC-167: fix crash when fetching MYSQL_TYPE_BIT data. MYSQL_TYPE_BIT has no fixed packlength, so net_field_length should be checked instead.
CONC-169: Memory corruption in mariadb_dyncol_unpack
CONC-168: String conversion of timestamps is broken: When converting datetime value with microseconds to string (binary protocol) number of decimal places was ignored. Thanks to Patrick Huesmann for providing a fix.
OpenSSL: remove warnings when using OPENSSL_NO_DEPRECATED versions
CONC-163: mysql->info returns garbage if no row was updated.
CONC-161: Increase user name length to 128
CONC-160: field metadata doesn't show NUM_FLAG for NEWDECIMAL columns
CONC-156: Connector/C build fails on FreeBSD due to not including necessary header. Thanks to Andie H. Hwang for providing this patch!
CONC-155: return trailing zero when fetching from binary columns into string
CONC-154: set stmt->state to MYSQL_STMT_FETCH_DONE if result set is empty (nothing to fetch) or madb_stmt_reset was called
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
CONC-147: Allow client to bind to a specific network address: On clients with multiple possible TCP routes to a server, it's now possible to bind the client to a specific address.This can be done either via mysql_options(mysql, MYSQL_OPT_BIND, bind_address) or by an entry "" in the configuration file.
CONC-150: Source package doesn't contain mariadb_config.c.in
Add version information for executables, dynamic and static libraries (Windows only)
Digitally sign executables and dynamic link libraries (Windows only)
Fixed build errors for Microsoft Visuall Studio 2015
Fix for mariadb_convert_string - charset names for utf16 and utf32 are changed so iconv understands it. Also if endianness is not specified, BE charsets used by default, to avoid BOMs
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
Support of SSL client/server connection: Compared to the MariaDB GPL client library, this implementation uses a global (per library instance) SSL context, which needs less memory and results in better performance.
Read-a-head cache to reduce the system load and time.
Added an additional experimental layer to communicate with other databases via plugins, e.g., Sqllite. This feature is disabled by default and not recommended for production use.
Dynamic columns support via the dynamic column API
Support for utf16 character set
Documentation, currently available in HTML format only
Graphical installation wizard for Windows platforms (msi installer)
compressed protocol support for large packets
support for quoted values in configuration files
character set auto detection
Compiler support. MariaDB client library for C 2.0.0 will compile now also under mingw and Objective/C
Performance schema support for connection attributes
Added microseconds support for prepared statements: datetime, timestamp, and time to string conversion now return microseconds
Graphical installation wizard for Windows platforms (msi installer)
IPV6 support
allow old password authentication (pre 4.1 passwords)
Support for connection timeout parameter on Windows platforms
New API functions:
mysql_options_v (for option calls which require multiple parameters). For compatibility with libmysql, the function mysql_options4 is defined as a macro.
mysql_get_parameters
mysql_read_query_result
MariaDB client library for C 2.0.0 contains about 80 bug fixes. For a complete list and description, please check the Jira bug system
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
CONC-384: Incorrect packet when a connection attribute name or value is equal to or greater than 251
CONC-388: field->def_length is always set to 0 (only used by deprecated function mysql_list_fields).
Getter should get and the setter should set CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS (Thanls to Robert Bindar)
Build system
CONC-385: Removed some cmake system checks
CONC-387: Fix case sensitive include file names for cross compiling
Fixed cnake policy CMP007
Support static linking auth plugins (Thanks to Inada Naoki)
Remove pdb files from Windows Release build (Thanks to Inada Naoki)
Fix build with deprecated OpenSSL API: replaced ERR_remove_state by ERR_remove_thread_state. (Thanks to Rosen Penev)
Disable LOAD DATA LOCAL INFILE suport by default and auto-enable it for the duration of one query, if the query string starts with the word "load". In all other cases the application should enable LOAD DATA LOCAL INFILE support explicitly.
Changed return code for mysql_optionv/mysql_get_optionv to 1 (was -1) and added CR_NOT_IMPLEMENTED error message if a option is unknown or not supported. This will fix possible error when setting connection attribute failed. (Thanks to Coray Hickey for providing this patch).
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
CONC-205: Any field going after a TEXT field in the selecion list is fetched incorrectly (prepared statements)
CONC-198: Can't use more than one statement per connection
CONC-223: Add client support for missing collations
MDEV-10894: big endian conversion
fixed packet_length in dialog plugin
fixed include of my_stmt.h
fixed wrong behavior of read_timeout
fixed timeout for non-blocking operations
fixed output for plugindir in mariadb_config
removed extra check for non binary result types in fetch_bin (prepared statements)
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
CONC-447: ERROR 2026 (HY000): SSL connection error: Certificate signature check failed
CONC-446: Provide error code and message for Schannel errors
CONC-417 / CONC-391 / MDEV-13492 : SEC_E_INVALID_TOKEN when server sends large message during SSL handshake
Included in MariaDB 10.4.11, MariaDB 10.3.21, and MariaDB 10.2.30
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
Included in MariaDB 10.5.3, MariaDB 10.4.13, MariaDB 10.3.23, and MariaDB 10.2.32
In this version we've moved to providing binaries for several different Linux distributions instead of just a pair of "generic" Linux binaries (a 32-bit and a 64-bit). If you want to continue using the generic binaries, they are still present and listed as "Ubuntu 14.04 32-bit" and "Ubuntu 14.04 64-bit" on the downloads page
CONC-304: Rename the static library to libmariadb.a and other libmariadb files in a consistent manner
CONC-441: Default user name for C/C is wrong if login user is different from effective user
CONC-449: Check $MARIADB_HOME/my.cnf in addition to $MYSQL_HOME/my.cnf
CONC-457: mysql_list_processes crashes in unpack_fields
CONC-458: mysql_get_timeout_value crashes when used improperly
CONC-464: Fix static build for auth_gssapi_client plugin
Fixes for the following :
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
LOAD DATA LOCAL INFILEThe option must be set via mysql_optionsv call:
The registered callback function has the following format
It returns 0 on success, non zero for error.
For a complete example check test_local_infile_callback in misc.c
In case getaddrinfo() returns an error, we return the WSA Error code instead of gai error. (For more information please read ms738520(v=vs.85).aspx)
Fixed numeric precision in prepared statements when converting float and double values to strings
When connecting via TLS socket is now set to non blocking. If SSL_get_error returns WANT_READ/WANT_WRITE SSL_connect will be called again until connect timeout seconds passed.
Fixed behaviour of getaddrinfo: If getaddrinfo returns EAI_AGAIN getaddrinfo will be called again until connect timeout seconds passed. If no connect timeout was specified, a default value of 30 seconds will be used.
Removed LONGLONG_MIN/MAX definition from config-win.h as they are also defined in my_global
Fix for windows build: replace SIZEOF_CHARP with sizeof(char *)
: Don't use verify callback in global context, since it may cause bad/unexpected behaviour in threaded issues. Instead now verification of peer certificate will be processed by the OpenSSL library itself.
Fixed possible memory overrun in my_strdup_root
: fixed zerofill issues (converting numeric to string)
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
CONC-336: Allow multiple initialization of client library
Fixed string to MYSQL_TIME conversion (prepared statements)
CONC-334: Copy all members of MYSQL_FIELD to internal statement structure
CONC-315: Change default character set to latin1
Fixed double free in dynamic column library
Fixed plugin library on MacOS
Added checks for corrupted packets in protocol
MDEV-15450: Added default connection attribute _server_host
CONC-326: fixed wrong openssl thread id callback
CONC-330: Allow to build without TLS support
Fixes for the following :
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
CONC-383: client plugins can't be loaded due to missing prefix
Fixed version setting in GnuTLS by moving "NORMAL" at the end of priority string
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
MDEV-20469: Plugin dialog could not be loaded (wrong path)
ODBC-440: Fixed typo in sha256_password cmake configuration
CONC-418: For unknown/not handled schannel error codes FormatMessage function will be used instead of returning "Unknown error" message.
CONC-417, MDEV-13492: At irregular intervals older windows versions (prior Windows 10) fail to establish a secure (TLS) connection and return errors SEC_E_INVALID_TOKEN, SEC_E_BUFFER_TOO_SMALL or SEC_E_MESSAGE_ALTERED. This is a bug in windows schannel library and was only fixed in recent versions, also OpenSSL provided a workaround (see 1350). Since we are unable to fix this, in case of an error during TLS handshake the errorcode Connector/C will try to reconnect up to three times if the error code was SEC_E_INVALID_TOKEN, SEC_E_BUFFER_TOO_SMALL or SEC_E_MESSAGE_ALTERED.
Included in MariaDB 10.4.10, MariaDB 10.3.20, and MariaDB 10.2.29
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
DownloadRelease NotesChangelogAbout MariaDB Connector/C
Release date: 10 Jun 2021
This is a Beta release of the MariaDB Connector/C, formerly known as MariaDB Client Library for C.
For a description of this library see the page.
: Do not resend prepared statement metadata unnecessarily
: Added support for passwords > 255 characters
LOAD DATA LOCAL is now supported in binary protocol
Updated/extended cipher suite list for Schannel TLS module
various address sanitizer (asan) fixes
Build fxes for latest CMake version
: Fixed symbol conflict when linking against libsodium
: unset CLIENT_CONNECT_WITH_DB flag if no database was specified
The connection plugin "aurora" was removed
Default character set is now utf8mb4
Character set utf8 will be mapped to utf8mb3
Added support for MSVC asan
For a list of changes made in this release, with links to detailed information on each push, see the .
DownloadRelease NotesChangelogAbout MariaDB Connector/C
Release date: 18 Jan 2018
This is a Stable (GA) release of the MariaDB Connector/C, formerly known as MariaDB Client Library for C.
For a description of this library see the page.
Added support for new utf8mb4 character sets
New installation layout for Debian
: Bundle first command with authentication packet
Build: support static OpenSSL on Windows
: Add support for tls-version, via mysql_options(mysql, MARIADB_OPT_TLS_VERSION, value), where value must be "TLSv1.1", "TLSv1.2" or "TLSv1.3".
: New indicator type STMT_INDICATOR_IGNORE_ROW for skipping particular parameter set in bulk operation (prepared statements).
: Don't try to reconnect twice if mysql_ping failed.
Build fix for TSAN build with Clang
: Fix output of mariadb_config
: In case of a truncation the statement status was not updated correctly and further calls to mysql_stmt_fetch_column failed
For a list of changes made in this release, with links to detailed information on each push, see the .
DownloadRelease NotesChangelogAbout MariaDB Connector/C
Release date: 20 July 2017
This is a Stable (GA) release of the MariaDB Connector/C, formerly known as MariaDB Client Library for C.
For a description of this library see the page.
Array support for prepared statements (bulk operations)
TLS/SSL support for GnuTLS, Windows SChannel and LibreSSL
Support for passphrase protected keys
SHA256 authentication plugin
mariadb_get_info and mariadb_get_infov (variable argument list): for obtaining general and connection specific values.
mariadb_get_charset_by_name and mariadb_get_charset_by_nr: returns character set information for a given internal number or name of character set. These functions have been previously used internally by MariaDB Connector/ODBC and are now exported, so they can be used also within plugins.
mysql_reconnect which was used internally before (if the option MYSQL_OPT_RECONNECT was set) is now part of the API and can be used by applications and plugins to reestablish a failing connection
mariadb_cancel: aborts a connection immediately by making all subsequent read/write operations fail
: Crash in PHP5 when using libmariadb and curl mpdules
: Wrong output for mariadb_config on OSX
: Missing version info for shared object
: Connector/C reads only the first configuration file
For a list of changes made in this release, with links to detailed information on each push, see the .
Note: This page describes features in an unreleased version of .
Unreleased means there are no official packages or binaries available for download which contain the features. The source code is available on GitHub.
DownloadRelease NotesChangelogAbout MariaDB Connector/C
Release date: 31 May 2017
This is a Stable (GA) release of the MariaDB Connector/C, formerly known as MariaDB Client Library for C.
For a description of this library see the page.
Changed parameter type for parameter reconnect in mysql_optionsv from uint to my_bool
: Wrong FSF address
fixed socket timeout problems (Windows)
: Fixed build for big-endian platforms
For a list of changes made in this release, with links to detailed information on each push, see the .
About MariaDB Connector/C
Release date: 29 Jan 2015
This is a (GA) release of the MariaDB Connector/C, formerly known as MariaDB Client Library for C. In general, marking this release as stable means that there are no known serious bugs, except for those marked as feature requests, that no bugs were fixed since the last release that caused notable code changes, and that we believe the code is ready for general usage (based on bug inflow).
For a description of this library, see the page.
Release date: 29 Sept 2015
This is a (GA) release of the MariaDB Connector/C, formerly known as MariaDB Client Library for C. In general, marking this release as stable means that there are no known serious bugs, except for those marked as feature requests, that no bugs were fixed since last release that caused a notable code changes, and that we believe the code is ready for general usage (based on bug inflow).
For a description of this library see the page.
Release date: 21 Nov 2025
For the highlights of this release, see the .
The revision number links will take you to the revision's page on GitHub. On you can view more details of the revision and view diffs of the code modified in that revision.
2025-10-06 14:06:21 +0200
mysql_optionsv(mysql, MARIADB_OPT_VERIFY_LOCAL_INFILE_CALLBACK, my_verify_function, data);int my_verify_function(void *data, const char *filename)mysql_stmt_more_results
mysql_stmt_next_result
mysql_ps_fetch_functions (was internal before, now it can be used by client applications, e.g., ODBC, to convert between different types)
CONC-433: Added support for certificate revocation list in GnuTLS module
CONC-547: Changed default character set from latin1 to utf8mb4
CONC-533: Added support for non blocking calls using binary protocol
CONC-509: mysql_get_client_* api functions now return Connector version
CONC-543: renamed internal hash functions (to avoid conflicts with statically linked GnuTLS library)
CONC-537: Only use MYSQL_HOME environment variable if MARIADB_HOME was not specified.
CONC-535: disabled checksum ignored in event processing (Replication/Binlog API)
CONC-475: export function mariadb_rpl_init_ex (Replication/Binlog API)
CONC-521: define _XOPEN_SOURCE before including ucontext.h (MacOS)
CONC-518: Added macro IS_MYSQL_ASYNC() which now checks if memory for extension was allocated.
CONC-517: if plugin dir was not specified, plugin needs to be loaded from current path, DLPATH or PATH (Windows)
MDEV-14647: Fixed crash when client receives extended ok packet with SESSION_TRACK_STATE_CHANGE information flag
CONC-297: setting MYSQL_OPT_LOCAL_INFILE failed on big endian systems.
MDEV-14514: mariadb_config returned wrong exit code when specifying an invalid option
MDEV-11546: Fixed timeout problem in Schannel
CONC-277: Allow reinitialization of the library if mysql_server_end() was called.
MDEV-11603: Solaris build fixes
CONC-292: Fixed malloc result check in dynamic columns
MDEV-14165: The metadata length value for a column with a zerofill flag was calculated with a fixed length instead of using the reported length.
CONC-286: Force TLS/SSL usage if fingerprint parameters were specified.
CONC-282: Connector/C now provides additional information for package version
mariadb_config --cc_version lists the package version
Beside MARIADB_PACKAGE_VERSION numeric representation MARIADB_PACKAGE_VERSION_ID can be used now within preprocessor directives.
MDEV-13959: Fixed duplicate if condition in dynamic columns
Added MARIADB_BASE_VERSION definition in mariadb_version.h to distnguish MARIADB from MySQL
CONC-276: client library crashes on Windows after TLS reconnect
CONC-271: installation layout fix for RPM
mariadb_stmt_execute_direct: prepares and executes a prepared statement for one time execution
mysql_stmt_warning_count returns: the number of warnings from the last executed statement
mysql_reset_connection: resets the current connection and clears session state
Functions for obtaining session state changes:
mysql_session_track_get_first()
mysql_session_track_get_next()
MDEV-13100: Can't read custom config file
MDEV-12423: Install fails to create symlinks
MDEV-13040: mariadb_stmt.h contains c++ comments
MDEV-12763: Don't use deprecated API calls with OpenSSL 1.1
MDEV-12247: Server does not respond for single query execution
MDEV-12446: double free if no default configuration is present
MDEV-11708: cmake with option -DWITH_ASAN no longer works
MDEV-11008: Connector/C integration does not respect INSTALL_LIBDIR or INSTALL_DOCDIR
MDEV-10894: Fixed conversion for big-endian platforms
CONC-252: Use unsigned long instead of size_t for api functions
CONC-265: Big endian fixes
CONC-253: Compiler warnings in gssapi_client.c
CONC-250: Added support for wildcards and SAN
CONC-231: Incorrect FSF address
CONC-224: Allow to build without TLS support
CONC-223: Added missing collations
CONC-222: Installation fixes for missing include files
Non-blocking (asynchronous) API. For a detailed description, see .
New dialog and mysql_clear_text authentication plugins.
CMake build now supports the following additional configuration options:
-DINSTALL_LAYOUT=DEFAULT or RPM Allows to overwrite default directories
-DLIB_INSTALL_DIR
-DINCLUDE_INSTALL_DIR
-DDOCS_INSTALL_DIR
-DPLUGINS_INSTALL_DIR
-DBIN_INSTALL_DIR
Reduce build time by creating an OBJECT library (introduced in CMake 2.8.8)
Out-of-source build touches files in source dir (CONC-88)
Incorrect output for mariadb_config (CONC-99)
Segmentation fault when using named pipes (CONC-94)
Crash in prepared statements when using NULL values ()
Check if the connection is valid before resetting the statement (, )
Socket was closed twice in a threaded environment ()
SSL connection with require X509 privilege doesn't work ()
mysql_options doesn't support MYSQL_SECURE_AUTH option ()
Remove longlong definition from mysql.h to prevent collisions with other projects ()
Protect certification loading by a mutex ()
Fixed installation layout problems ()
Export missing plugin symbols ()
Windows version of libmariadb doesn't export all symbols ()
Fixed memory leak when reconnecting ()
For a complete list and description, please check the Jira bug system
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
SSL: For preventing man in the middle attacks MariaDB Connector/C now supports additional validation of a server certificate by checking the SHA1-fingerprint. (New options: MARIADB_OPT_SSL_FP and MARIADB_OPT_SSL_FP_LIST)
CONC-129: fix crash in mysql_close_start if connection is broken
CONC-130: Initial wait on connect is wrong direction
CONC-131: memory leak in mysql_close (asynchronous)
CONC-132: Prevent overriding of SUFFIX_INSTALL_DIR
: Centos 6 32 bits: Release build error: my_context.c:454: Error: CFI instruction used without previous .cfi_startproc
: mysql_get_socket now returns MARIADB_INVALID_SOCKET
: Asynchronous version of mysql_select_db was not exported
: Error code not set in mysql_stmt_send_long_data
: memory leak in mysql_ssl_set
: Xcode/OSX build doesn't work
: MinGW/Windows7 build doesn't work because ssize_t is redefined
: Hang when working with prepared statements
: use #include "my_stmt.h" instead of <my_stmt.h> in mysql.h
Fixed possible memory overrun: When reallocating net->buffer we need to allocate extra space for header and compressed header
removed dynamic column dependencies from my_global.h
fixed plugin path in mariadb_config
security fix: Don’t switch to untrusted connection if mysql_ssl_set was called and option for checking server certificate was enabled.
Added a global variable mariadb_deinitialize_ssl which controls if SSL will be deinitialized in mysql_server_end (see )
Fixed string for hex_symbols in mysql_hex_string function
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
Merge branch '3.3' into 3.4
Revision #9e2b0370 2025-10-06 11:45:00 +0200
Removed unused TYPELIB declarations
Revision #04fa18a4 2025-09-24 07:58:36 +0200
Fix CMake 4.1 warning "ELSEIF called with no arguments"
Revision #d202a63d 2025-10-06 10:10:55 +0200
Merge branch '3.4-georg' into 3.4
Revision #bfe37565 2025-10-06 09:52:20 +0200
Skip sni test if hostname wasn't specified
Revision #bd4100b9 2025-10-06 09:47:22 +0200
CONC-795: Implementation of client side SNI support
Revision #6309125e 2025-09-22 14:10:02 +0200
Merge branch '3.4-georg' into 3.4
Revision #4bb84c4a 2025-09-22 13:58:22 +0200
github-actions: create msi on windows platforms
Revision #0ca807a2 2025-09-18 17:30:25 +0300
Fix clang-21 -Wdefault-const-init-var-unsafe
Revision #fb5515d2 2025-09-15 21:49:27 +0200
Merge branch '3.3' into 3.4
Revision #d080db68 2025-09-15 21:48:46 +0200
[misc] adding windows 32 bits test to CI
Revision #c98a6097 2025-09-11 10:05:56 +0200
Merge branch '3.3' into 3.4
Revision #2425ab57 2025-09-11 09:33:36 +0200
Matrix and test setup have moved to mariadb-corporation github account.
Revision #d9a1b0d2 2025-08-21 14:49:56 -0400
bump the VERSION
Revision #5f51b445 2025-08-21 12:05:31 +0200
Merge pull request #292 from mariadb-corporation/3.3-CONC-774-fixup
Revision #270750f5 2025-08-15 09:03:43 +0300
CONC-774 fixup: Always emit BTI J
Revision #f3a122a4 2025-08-21 14:51:05 -0400
bump the VERSION
Revision #f288f86a 2025-08-04 18:36:43 +0200
Merge branch '3.3' into 3.4
Revision #c80f221f 2025-08-04 16:49:38 +0200
CONC-783 fixup - make sure that proxy header is not sent twice
Revision #0ad0cc0f 2025-08-04 15:17:37 +0200
Merge branch '3.3' into 3.4
Revision #c71865ec 2025-07-18 16:02:16 +0200
CONC-783 Fix potential loss of "Proxy header not accepted from host" error
DownloadRelease NotesChangelogAbout MariaDB Connector/C
Release date: 18 Jan 2017
This is a Beta release of MariaDB Connector/C, formerly known as the MariaDB Client Library for C. As with any other pre-production release, cautions should be taken when installing on production systems or systems with critical data.
For a description of this library see the page.
Binary packages for Windows (32 and 64-bit) and generic Linux packages as well as source code packages are available from the
for prepared statements
bulk operations (array binding) for prepared statements (insert, update, delete).
support for extended client/server capabilities (requires or newer)
The DBUG library was removed from Connector/C 3.0
New .
prepares and executes in one step (mainly used by MariaDB ODBC driver)
aborts a connection immediately by making all subsequent read/write operations fail
resets the current connection and clears session state
returns generic or connection specific information
: Allow to build Connector/C without TLS/SSL support
: Add client support for missing collations
: reset a previously used statement when calling mysql_stmt_attr_set with option STMT_ATTR_PREBIND_PARAMS
: mariadb_stmt_execute_direct: Clear error message from mysql_stmt_execute if prepare failed
Connector/C 2.3.2 now supports client plugins from MariaDB Server and Connector/C 3.0, for example GSSAPI plugin for kerberos authentication. Older plugins from previous versions of Connector/C can't be used anymore and might crash.
returns warnings per statement
Functions for obtaining session state changes:
Added tls_version support for schannel. tls_version has to be specified via mysql_options(mysql, MARIADB_OPT_TLS_VERSION, ...)
CONC-202: remove definition of _snprintf (failed with Visual Studio 15)
CONC-200: support of my_ulonglong
CONC-180: return system error message in case of SEC_E_INTERNAL_ERROR (Schannel)
CONC-177: Fixed length calculation for zerofill conversion from float/double to string
CONC-170: missing blank in mariadb_config --libs output
CONC-169: Memory corruption in mariadb_dyncol_unpack
CONC-168: string conversion of timestamps is broken
CONC-161: Increase username length to 128
CONC-160: field metadata doesn't show NUM_FLAG for NEWDECIMAL columns
CONC-155: return trailing zero when fetching from binary columns into string
CONC-154: set statement status to MYSQL_STMT_FETCH_DONE if result set is empty or mysql_stmt_reset was called
Solaris build fixes
Build fixes for gcc 4.8
Fixed possible overrun in authentication
fixed crash in shared memory connection
Fixed memory overrun in my_strdup_root
binary fetch fixes for prepared statements:
append trailing \0 for strings
don't remove last byte for binary objects
removed call of gnutls_bye() since server is not able to detect dead socket
Added new cipher mapping for GnuTLS
removed global context for TLS/SSL sessions
fixed wrong behavior when using SChannel: SEC_I_RENEGOTIATE is now handled as error
Optimization for re-preparing statement: Don't send COM_STMT_RESET if we will send COM_STMT_CLOSE afterwards
MDEV-10894: fixed conversion for big-endian platforms
MDEV-11008: Connector/C integration does not respect INSTALL_LIBDIR or INSTALL_DOCDIR
MDEV-10357: my_context_continue() does not store current fiber on Windows
Added support for OpenSSL 1.1
fixed build when using GnuTLS. Minimum required version of GnuTLS is 3.3.24
fixed output for plugin directory in mariadb_config
added sigpipe handler for OpenSSL
A list of all MariaDB Connector/C releases
2025-11-21
Stable (GA)
Release date: 21 Aug 2025
For the highlights of this release, see the .
The revision number links will take you to the revision's page on GitHub. On you can view more details of the revision and view diffs of the code modified in that revision.
Revisions for both Connector/C 3.4.6 and 3.4.7 are included here
2024-11-12
Stable (GA)
2024-08-20
Stable (GA)
2024-06-21
Stable (GA)
2024-02-19
Stable (GA)
2023-11-29
Stable (GA)
2023-09-14
Stable (GA)
N/A
N/A
2023-05-22
Stable (GA)
2023-02-07
Stable (GA)
2022-11-07
Stable (GA)
2022-08-22
Stable (GA)
2022-05-25
Stable (GA)
2022-02-15
RC
2021-07-07
Stable (GA)
2021-06-29
RC
2021-06-10
Beta
2023-11-29
Stable (GA)
2023-09-01
Stable (GA)
2023-05-22
Stable (GA)
2023-02-07
Stable (GA)
2022-11-07
Stable (GA)
2022-08-22
Stable (GA)
2022-05-25
Stable (GA)
2022-02-15
Stable (GA)
2021-11-10
Stable (GA)
2021-08-11
Stable (GA)
2021-05-11
Stable (GA)
2021-02-23
Stable (GA)
2020-11-04
Stable (GA)
2020-09-17
Stable (GA)
2020-06-19
Stable (GA)
2020-05-14
Stable (GA)
2020-01-29
Stable (GA)
2019-12-12
Stable (GA)
2019-11-11
Stable (GA)
2019-09-11
Stable (GA)
2019-08-01
Stable (GA)
2019-06-19
Stable (GA)
2019-06-06
RC
2019-04-08
Alpha
2018-08-02
Stable (GA)
2018-06-07
Stable (GA)
2018-04-25
Stable (GA)
2018-01-18
Stable (GA)
2017-07-20
Stable (GA)
2017-01-18
Beta
2016-01-20
Alpha
2017-05-31
Stable (GA)
2017-01-18
Stable (GA)
2016-08-04
Stable (GA)
2016-07-01
Stable (GA)
2025-08-21
Stable (GA)
2025-04-09
Stable (GA)
2025-02-11
Stable (GA)
2024-11-12
Stable (GA)
2024-08-20
Stable (GA)
2022-06-24
Stable (GA)
2025-11-21
Stable (GA)
2025-08-21
Stable (GA)
2025-04-09
Stable (GA)
2025-02-11
2022-05-25
Stable (GA)
2022-02-15
Stable (GA)
2021-11-10
Stable (GA)
2021-08-09
2025-04-09
Stable (GA)
2025-02-11
Stable (GA)
2024-11-12
Stable (GA)
2024-06-18
2019-05-13
Stable (GA)
2019-02-11
Stable (GA)
2018-12-21
Stable (GA)
2018-11-14
2018-09-07
Stable (GA)
2018-06-07
Stable (GA)
2018-01-18
Stable (GA)
2017-12-04
20116-04-26
Stable (GA)
2015-12-09
Stable (GA)
2015-11-18
Stable (GA)
2015-09-29
2015-01-29
Stable (GA)
2014-04-03
Stable (GA)
2012-11-29
Stable (GA)
Stable (GA)
Stable (GA)
Stable (GA)
Stable (GA)
Stable (GA)
Stable (GA)
Revision #b790c6c1 2025-07-22 23:06:18 +0200
bump the VERSION
Revision #ba3a172d 2025-07-17 15:04:50 +0200
Merge branch '3.3' into 3.4
Revision #77bdf5a5 2025-07-17 10:36:37 +0200
Fixed double close (introduced in PR275)
Revision #e240810b 2025-04-11 07:20:38 +0200
fix: fixed the possible nullPointerAritheticOutOfMemory by using SET_CLIENT_ERROR and return 1; because jumping to the error label is not viable in this case as pos is not initialized and it could raise more errors, this way we still handle the error while not clashing with the original error handling implementation
Revision #1edef5b2 2025-04-11 08:33:31 +0200
fix: added a failsafe return 1; in case the malloc at 559 fails so that we don't work with NULL
Revision #f2117d42 2025-04-11 08:50:10 +0200
fix: fixed the posibility of undefined behaviour of the strchr previously at 252 if the strdup at 248 fails and thus returns NULL by setting a client error signalling that the client ran out of memory for easier communication of what exactly failed during the loading of the plugins and why. Returning from the function just after
Revision #f72654e3 2025-04-11 10:59:23 +0200
fix: fixed a memory leak due to the socket not being closed after encountering an error by closing the socket before return
Revision #9e4042c1 2025-04-11 11:45:53 +0200
fix: fixed a possible leak when one of the files (fp1 or fp2) fails to open by adding a simple condition that checks whether one of them opens while the other fails and closing it and added the extra prentheses for the assignment inside the if statement for easier debugging and to avoid static analysis flagging it as a wrong statement inside the if clause
Revision #c10a3479 2025-04-11 12:10:26 +0200
fix: added the closing of the test_file before various fail statements to avoid memory leaks
Revision #056f09bb 2025-04-11 13:01:52 +0200
fix: added frees for any allocated memory if the allocation of other memory fails and the FAIL_UNLESS calls needed the stop the test if this happens
Revision #7009f604 2025-04-11 13:15:09 +0200
fix: added the closing of the file descriptor if the check_mysql_rc macro will return FAIL to avoid memory leaks
Revision #9fb319a7 2025-04-11 13:46:11 +0200
fix: added the necessary frees for the bind var before any of the check_stmt_rc() and check_mysql_rc() macros potentialy return from the fuction
Revision #92a8b3b5 2025-04-14 11:47:59 +0200
fix: fixed the posible read of NULL when strdup fails thus resulting in rpl->filename being NULL by setting an error signalling that we ran out of memory to ease the debugging of the mariadb_rpl_options function and make it clearer if it ever fails because of this. Also added va_end in this case to avoid the va_list (ap) leaking when we return from this function and then returning 1 from the fucntion.
Revision #5ea5d7ae 2025-04-14 12:44:36 +0200
fix: fixed the order of the mariadb_free_rpl_event() and rpl_set_error() calls to avoid using the rpl_even var after freeing it
Revision #06e041cf 2025-05-26 12:15:01 +0200
Added the FAIL_UNLESS call for the bind variable that is being allocated to handle the possibility of the calloc failing and ensure we are not working with NULL in the rest of the tests
Revision #0fc94025 2025-05-26 12:27:39 +0200
Added the call to FAIL_UNLESS to handle the possibility of the allocation of buffer failing to ensure we don't work with NULL further in the test, also added a free to bind in this case to avoid a memory leak
Revision #ba0da1df 2025-07-16 16:56:05 +0200
Merge pull request #289 from qobood/3.3
Revision #40be423f 2025-07-13 18:42:30 +0300
Fix miscellaneous typos
Revision #9d77fe83 2025-07-16 12:49:15 +0200
bump the VERSION
Revision #cacd251e 2025-07-10 09:56:57 +0200
Merge pull request #275 from PavolSloboda/static-analysis-result
Revision #ba69f71f 2025-05-26 12:27:39 +0200
Added the call to FAIL_UNLESS to handle the possibility of the allocation of buffer failing to ensure we don't work with NULL further in the test, also added a free to bind in this case to avoid a memory leak
Revision #eefaf1d1 2025-05-26 12:15:01 +0200
Added the FAIL_UNLESS call for the bind variable that is being allocated to handle the possibility of the calloc failing and ensure we are not working with NULL in the rest of the tests
Revision #692a1313 2025-04-14 12:44:36 +0200
fix: fixed the order of the mariadb_free_rpl_event() and rpl_set_error() calls to avoid using the rpl_even var after freeing it
Revision #fd32a32c 2025-04-14 11:47:59 +0200
fix: fixed the posible read of NULL when strdup fails thus resulting in rpl->filename being NULL by setting an error signalling that we ran out of memory to ease the debugging of the mariadb_rpl_options function and make it clearer if it ever fails because of this. Also added va_end in this case to avoid the va_list (ap) leaking when we return from this function and then returning 1 from the fucntion.
Revision #d06a12e2 2025-04-11 13:46:11 +0200
fix: added the necessary frees for the bind var before any of the check_stmt_rc() and check_mysql_rc() macros potentialy return from the fuction
Revision #ff693cb8 2025-04-11 13:15:09 +0200
fix: added the closing of the file descriptor if the check_mysql_rc macro will return FAIL to avoid memory leaks
Revision #5e1265b0 2025-04-11 13:01:52 +0200
fix: added frees for any allocated memory if the allocation of other memory fails and the FAIL_UNLESS calls needed the stop the test if this happens
Revision #3308af14 2025-04-11 12:10:26 +0200
fix: added the closing of the test_file before various fail statements to avoid memory leaks
Revision #abb6ab2f 2025-04-11 11:45:53 +0200
fix: fixed a possible leak when one of the files (fp1 or fp2) fails to open by adding a simple condition that checks whether one of them opens while the other fails and closing it and added the extra prentheses for the assignment inside the if statement for easier debugging and to avoid static analysis flagging it as a wrong statement inside the if clause
Revision #fc6b991e 2025-04-11 10:59:23 +0200
fix: fixed a memory leak due to the socket not being closed after encountering an error by closing the socket before return
Revision #ba7730aa 2025-04-11 08:50:10 +0200
fix: fixed the posibility of undefined behaviour of the strchr previously at 252 if the strdup at 248 fails and thus returns NULL by setting a client error signalling that the client ran out of memory for easier communication of what exactly failed during the loading of the plugins and why. Returning from the function just after
Revision #ff485e90 2025-04-11 08:33:31 +0200
fix: added a failsafe return 1; in case the malloc at 559 fails so that we don't work with NULL
Revision #ef626288 2025-04-11 07:33:52 +0200
fix: fixed the va_end_missing on line 4626 by adding a va_end call
Revision #8c9ab80a 2025-04-11 07:20:38 +0200
fix: fixed the possible nullPointerAritheticOutOfMemory by using SET_CLIENT_ERROR and return 1; because jumping to the error label is not viable in this case as pos is not initialized and it could raise more errors, this way we still handle the error while not clashing with the original error handling implementation
Revision #dad72b63 2025-07-10 09:45:46 +0200
Merge branch '3.3' into 3.4
Revision #c58dce93 2025-07-10 09:04:02 +0200
Merge pull request #279 from grooverdan/static_analsis_fix
Revision #f431c6ea 2025-05-27 16:38:23 +1000
CONC-776: enable rpl_set_error
Revision #bd233f8a 2025-05-27 16:37:39 +1000
break; after return never reached
Revision #d5d330f8 2025-05-27 16:18:50 +1000
mariadb_reconnect: reconnection may fail to allocate extensions
Revision #b22b85bc 2025-05-27 16:05:36 +1000
mysql_init: early alloc failure not freed
Revision #f3d86275 2025-07-10 05:54:49 +0200
Merge pull request #281 from grooverdan/caching_sha2_pw_err
Revision #6fde019b 2025-05-29 15:42:34 +1000
caching_sha2_pw: free filebuffer and cleanup on Public key import failure
Revision #96b73e20 2025-07-09 11:52:15 +0200
Merge pull request #282 from grooverdan/win_get_password
Revision #d226315e 2025-05-29 16:39:50 +1000
get_tty_password(Windows) - CreateFile error
Revision #67972e13 2025-06-25 09:52:18 +0200
ci-fix: Test 10.x mtr, not 11.4 and above
Revision #a7a3db71 2025-06-25 06:27:46 +0200
ci fixes:
Don't set C/C unittest environment variables globally
Removed 10.6 and 10.11 mtr tests
Revision #f4109774 2025-06-24 10:53:01 +0200
Add diagnostic output for ci test
Revision #92b09b67 2025-06-20 15:14:30 +0200
[TODO-5373] add macos to non mandatory for now
Revision #5b32575f 2025-06-18 16:09:13 +0200
[TODO-5373] remove node.js installation
Revision #0a3f2173 2025-06-16 19:43:16 +0200
[TODO-5373] add github action
Revision #0eb34a26 2025-07-09 11:48:32 +0200
Merge pull request #267 from ericherman/eherman-io-size-20241231
Revision #f5319d9a 2024-12-31 18:12:21 +0100
Create #define for network buffer alignment
Revision #d3facb7c 2025-06-25 06:27:46 +0200
ci fixes:
Don't set C/C unittest environment variables globally
Removed 10.6 and 10.11 mtr tests
Revision #189c2318 2025-06-24 10:53:01 +0200
Add diagnostic output for ci test
Revision #29c43ff9 2025-06-24 06:18:30 +0200
Merge pull request #285 from rusher/3.4
Revision #3139702b 2025-06-20 15:14:30 +0200
[TODO-5373] add macos to non mandatory for now
Revision #6774fb9d 2025-06-18 16:09:13 +0200
[TODO-5373] remove node.js installation
Revision #1bf35711 2025-06-16 19:43:16 +0200
[TODO-5373] add github action
Revision #b3adb241 2025-06-07 16:50:38 +0200
Merge branch '3.3' into 3.4
Revision #aebe28b8 2025-06-07 15:32:44 +0200
CONC-778: TLSv1.3 support for Windows Server 2022
Revision #0ac57a4e 2025-05-24 17:15:30 +0200
Merge branch '3.3' into 3.4
Revision #163fc458 2025-05-24 17:13:50 +0200
Merge pull request #277 from grooverdan/conc-775
Revision #d40935e5 2025-05-23 18:23:10 +1000
CONC-775 - UNINIT_VAR macro - disable for clang
Revision #9cb88c0d 2025-05-14 19:47:37 +0200
Merge branch '3.3' into 3.4
Revision #aa7cee63 2025-05-14 19:40:55 +0200
Merge pull request #276 from stewartsmith/3.3-aarch64-ma-context-bti-fix
Revision #e2e5113a 2025-05-13 13:52:41 -0700
Fix my_context_[spawn|continue|yield] for aarch64 BTI
Revision #6d747250 2025-05-02 07:58:48 +0200
Merge branch '3.3' into 3.4
Revision #c07e50d9 2025-05-02 07:52:01 +0200
Merge branch '3.1' into 3.3
Revision #e44e3f6b 2025-05-02 07:44:47 +0200
CONC-771: Fix pipelining mode (mariadb_stmt_execute_direct)
Revision #461a2c79 2025-04-24 06:30:23 +0200
Merge branch '3.3' into 3.4
Revision #02ceb060 2025-04-23 21:30:03 +0200
CONC-756: Update zlib to 1.3.1
Revision #b10b76e5 2025-02-12 15:17:39 +0100
Fix compilation with GCC 15
Revision #126a7530 2025-04-17 19:43:06 +0200
Remove workaround after MDEV-13492 was fixed.
Revision #352973da 2025-04-23 21:13:11 +0200
Merge pull request #272 from FaramosCZ/gcc-15
Revision #e8448137 2025-02-12 15:17:39 +0100
Fix compilation with GCC 15
Revision #b5a2c9f3 2025-04-20 10:49:16 +0200
Merge branch '3.3' into 3.4
Revision #55abb320 2025-04-20 10:16:30 +0200
Merge branch '3.1' into 3.3-merge
Revision #867f0d18 2025-04-17 09:30:13 +0200
Merge pull request #274 from grooverdan/makecontext
Revision #52c1eb4d 2025-04-03 12:11:52 +1100
CONC-766 Disable clang -Wcast-function-type-strict for makecontext
Revision #ae748744 2025-04-09 18:14:57 -0400
bump the VERSION
Revision #28a1e4b5 2025-03-31 11:02:35 +0200
Fix for CONC-762: Always set is_null and length in bind structure to avoid msan errors
Revision #9247ab71 2025-04-17 02:14:19 +0200
Merge pull request #273 from knielsen/knielsen_conc764
Revision #5b7df227 2025-04-01 20:32:49 +0200
CONC-764: Build error in ma_context.c on android
Revision #8e371bbe 2025-04-01 19:25:48 +0200
CONC-764: Build error in ma_context.c on android
Revision #7274f8f6 2025-04-09 18:15:34 -0400
bump the VERSION
Revision #88045932 2025-04-17 15:29:07 +0200
CONC-767 Improve SSL verification performance on Windows
Revision #fa56a25f 2025-04-17 19:43:06 +0200
Remove workaround after MDEV-13492 was fixed.
Revision #b0e31d6f 2025-04-09 18:16:46 -0400
bump the VERSION
Revision #ba712ddf 2025-03-31 13:17:50 +0200
CONC-763: ma_charset.c misses MySQL collation ID 309 - utf8mb4_0900_bin
Revision #5d34e482 2025-03-28 11:40:08 +0200
Merge 3.3 into 3.4
Revision #b38e8720 2025-03-05 13:39:22 +0100
Text fixes:
Fixed windows test (missing parameter)
Check if we need to connect via SSL port (Travis)
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: CC BY-SA / Gnu FDL