Release Notes for Connector/C 3.0.x releases
The most recent Stable (GA) release of MariaDB Connector/C is:MariaDB Connector/C 3.4.5
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 theMariaDB Connector/C page.
Binary packages for Windows (32 and 64-bit) and generic Linux packages as well as source code packages are available from theMariaDB download page
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.
Support of passphrase protected private keys.
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 here
This page is licensed: CC BY-SA / Gnu FDL
The most recent Stable (GA) release of MariaDB Connector/C is:MariaDB Connector/C 3.4.5
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 theMariaDB Connector/C page.
Binary packages for Windows (32 and 64-bit) and generic Linux packages as well as source code packages are available from theMariaDB download page
Indicator variables for prepared statements
MDEV-9114 bulk operations (array binding) for prepared statements (insert, update, delete).
support for extended client/server capabilities (requires MariaDB 10.2 or newer)
The DBUG library was removed from Connector/C 3.0
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.
mariadb_stmt_execute_direct() prepares and executes in one step (mainly used by MariaDB ODBC driver)
mariadb_cancel()aborts a connection immediately by making all subsequent read/write operations fail
mysql_reset_connection() resets the current connection and clears session state
mariadb_get_infov returns generic or connection specific information
mysql_stmt_warning_count() 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-224: Allow to build Connector/C without TLS/SSL support
CONC-223: Add client support for missing collations
CONC-218: reset a previously used statement when calling mysql_stmt_attr_set with option STMT_ATTR_PREBIND_PARAMS
CONC-217: mariadb_stmt_execute_direct: Clear error message from mysql_stmt_execute if prepare failed
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
This page is licensed: CC BY-SA / Gnu FDL
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 theMariaDB Connector/C page.
MDEV-18721: Host option in configuration file is ignored
CONC-392: Fixed crash when server sent session tracking information with session type SESSION_TRACK_STATE_CHANGE
MDEV-18131: 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 changelog.
This page is licensed: CC BY-SA / Gnu FDL
The most recent Stable (GA) release of MariaDB Connector/C is:MariaDB Connector/C 3.4.5
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 theMariaDB Connector/C 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
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-13317: Crash in PHP5 when using libmariadb and curl mpdules
MDEV-13320: Wrong output for mariadb_config on OSX
MDEV-12889: Missing version info for shared object
MDEV-12965: Connector/C reads only the first configuration file
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
For a list of changes made in this release, with links to detailed information on each push, see thechangelog.
This page is licensed: CC BY-SA / Gnu FDL
The most recent Stable (GA) release of MariaDB Connector/C is:MariaDB Connector/C 3.4.5
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 theMariaDB Connector/C page.
Added support for new utf8mb4 character sets
New installation layout for Debian
MDEV-9059: Bundle first command with authentication packet
Build: support static OpenSSL on Windows
MDEV-14101: 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".
CONC-275: New indicator type STMT_INDICATOR_IGNORE_ROW for skipping particular parameter set in bulk operation (prepared statements).
MDEV-10361: Don't try to reconnect twice if mysql_ping failed.
Build fix for TSAN build with Clang
CONC-302: Fix output of mariadb_config
CONC-301: In case of a truncation the statement status was not updated correctly and further calls to mysql_stmt_fetch_column failed
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
For a list of changes made in this release, with links to detailed information on each push, see thechangelog.
This page is licensed: CC BY-SA / Gnu FDL
The most recent Stable (GA) release of MariaDB Connector/C is:MariaDB Connector/C 3.4.5
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 theMariaDB Connector/C 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 (MDEV-15655). Thanks to Daniel Black for his contribution.
Added Travis and Appveyor build support
CONC-320: Added asynchronous/non-blocking support for OpenSSL and GnuTLS
Fixed various clang compiler warnings
CONC-294: Access violation in mysql_close when using a connection plugin.
MDEV-14977: 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).
CONC-315: 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)
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
For a list of changes made in this release, with links to detailed information on each push, see thechangelog.
This page is licensed: CC BY-SA / Gnu FDL
The most recent Stable (GA) release of MariaDB Connector/C is:MariaDB Connector/C 3.4.5
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 theMariaDB Connector/C page.
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 security vulnerabilities:
For a list of changes made in this release, with links to detailed information on each push, see the changelog.
This page is licensed: CC BY-SA / Gnu FDL
The most recent Stable (GA) release of MariaDB Connector/C is:MariaDB Connector/C 3.4.5
DownloadRelease NotesChangelogAbout MariaDB Connector/C
Release date: 2 Aug 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 theMariaDB Connector/C page.
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.
This page is licensed: CC BY-SA / Gnu FDL
The most recent Stable (GA) release of MariaDB Connector/C is:MariaDB Connector/C 3.4.5
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 theMariaDB Connector/C page.
Build fixes when building with ASAN/TSAN
CONC-370: Fixed memory leak in configuration file parsing.
CONC-371: Incorrect fractional part conversion when converting datetime string to MYSQL_TIME
CONC-283: Fixed pkg-config configuration
CONC-364: Not all sockets created in pvio_socket_connect function are closed
multiple fixes in named pipe implementation
OpenSSL build fixes on Windows platforms
CONC-349: 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 changelog.
This page is licensed: CC BY-SA / Gnu FDL
The most recent Stable (GA) release of MariaDB Connector/C is:MariaDB Connector/C 3.4.5
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 theMariaDB Connector/C page.
Added missing pdb's to windows installer
Fixed windows build when using external zlib
mingw fix: use lowercase names for include files
CONC-375: Fixed handshake errors when mixing TLSv1.3 cipher suites with cipher suites from other TLS protocols
CONC-312: 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 changelog.
This page is licensed: CC BY-SA / Gnu FDL
DownloadRelease NotesChangelogAbout MariaDB Connector/C
Release date: 11 Feb 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 theMariaDB Connector/C page.
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.
This page is licensed: CC BY-SA / Gnu FDL