MySQL Connector/NodeJS 8.0.7-dmr has been released

MySQL Connector/Node.js is a new Node.js driver for use with the X
DevAPI. This release, v8.0.7 , is the first development release of the
MySQL Connector/Node.js 8.0 series.

The X DevAPI enables application developers to write code that combines
the strengths of the relational and document models using a modern,
NoSQL-like syntax that does not assume previous experience writing
traditional SQL.

MySQL Connector/Node.js can be downloaded through npm (see
https://www.npmjs.com/package/@mysql/xdevapi for details) or from
https://dev.mysql.com/downloads/connector/nodejs/.

To learn more about how to write applications using the X DevAPI, see
http://dev.mysql.com/doc/x-devapi-userguide/en/. For more information
about how the X DevAPI is implemented in MySQL Connector/Node.js, and
its usage, see http://dev.mysql.com/doc/dev/connector-nodejs/.

Note

Please note that the X DevAPI requires at least MySQL Server version
5.7.12 or higher with the X Plugin enabled. For general documentation
about how to get started using MySQL as a document store, see
http://dev.mysql.com/doc/refman/5.7/en/document-store.html.

MySQL Connectors and other MySQL client tools and applications now
synchronize the first digit of their version number with the (highest)
MySQL server version they support. This change makes it easy and intuitive
to decide which client version to use for which server version.

Connector/Node.js 8.0.7 is the first release to use the new
numbering. It is the successor to Connector/Node.js 1.0.6.

Functionality Added or Changed

  • It is no longer permitted to pass an empty search condition, such as the NULL value or an empty string, to the Collection.modify() and Collection.remove() methods.
  • A number of changes have been implemented for the “drop” methods:
    • The “drop” methods are now made available at the same level as the corresponding “create” methods. For example, the dropCollection() and dropTable() methods have been removed from the XSession class (which has now been consolidated into the Session class) and moved under the Schema class; under the same principle, the drop() method has been removed from the Collection and Table classes.
    • The “drop” methods now succeed even if the objects to be dropped do not exist.
    • dropView() is now asynchronous and behaves exactly like dropTable() and dropCollection() by implicitly executing the operation and returning a promise that will hold the result of the drop operation.
  • A configuration handler interface, mysqlx.config, has been created for managing persisted session configurations. See MySQL Connector/Node.js with X DevAPI
    (http://dev.mysql.com/doc/dev/connector-nodejs/) for details.
  • There are a few changes with regard to secure connections to MySQL servers:
    • Connections are now secure by default.
    • The connection option ssl-enable has been replaced by the ssl-mode option, which has DISABLED, REQUIRED (default), and VERIFY_CA as its permitted values
    • Using the ssl-crl option requires the use of the ssl-ca option and that ssl-mode=VERIFY_CA; this is due to an internal requirement of the Node.js core platform.
  • Consolidated the BaseSession, NodeSession, and XSession into a single Session class. The following related changes were also made:
    • The mysqlx.getNodeSession() method is renamed to getSession and returns a Session object.
    • The DatabaseObject.getSession() now returns a Session object.
  • A new client-side failover feature has been implemented: when creating a new connection, multiple hosts now can be specified in the connection string, and Connector/Node.js tries each host until a successful connection is established or until all hosts have been tried. See Tutorial: Getting Started
    (http://dev.mysql.com/doc/dev/connector-nodejs/tutorial-Getting_Started.html)
    for details
  • Connector/Node.js now supports connecting to a local server using Unix sockets. See Tutorial: Getting Started
    (http://dev.mysql.com/doc/dev/connector-nodejs/tutorial-Getting_Started.html)
    for details.
  • The format of the document ID value generated when adding a document to a collection has changed. It is still a string of 32 hexadecimal digits based on a UUID, but the order of digits has been changed to match the requirement of a stable ID prefix.

Bugs Fixed

    • It was not possible to create a new session for a user with a SHA256 password via the PLAIN authentication mechanism. (Bug #26117627)
    • The handling of large JSON arrays was problematic, and would cause an exception to be thrown. (Bug #26084604)
    • Attempting to use bind when removing a document from a collection would not succeed, and an exception would be thrown. (Bug #26029551)
    • The Table.update() implementation did not require a SearchConditionStr parameter, and not using this parameter could result in updating all the rows of a given table. A client-side exception is now thrown if the SearchConditionStr parameter is undefined or empty. (Bug #25993174)
    • The Table.delete() implementation did not require a SearchConditionStr parameter, and not using this parameter could result in deleting all the rows of a given table. A client-side exception is now thrown if the SearchConditionStr parameter is undefined or empty. (Bug #25992969)

On behalf of the MySQL/Oracle Release Engineering Team
Piotr Obrzut

Simplified Client and Connector Versioning

Here at MySQL we are constantly improving both our servers and our client software by making things simple to use and understand.  An area where we want to simplify things is around the version number we use for various MySQL client, connector, and other applications like Workbench, MySQL Enterprise Backup, etc.

Basically:

  • We want to make sure our users easily know which version of a connector or client works with which server version(s).
  • We want to deliver support for new server features during the server DMR phase without disrupting the GA versions of the connectors.

Which Connector Version To Use?

MySQL connectors (our client libraries — Connector/C, Connector/J, Connector/Net, etc) and other clients (tools and applications — MySQL Shell, MySQL Enterprise Backup, etc) will generally release more often than the server.  Relative to upgrading a set of servers in an enterprise, upgrading a client is normally quite simple.

Because of this rapid versioning of clients we have historically not tied the client version to the server version.  In addition to that we’ve changed the server versioning as of MySQL 8.0 to increment just the first digit for each major release.  After 8 comes 9, etc.

So you may see that the current versions of some client libraries are all over the place – 6.9 for Connector/Net, 5.1 for Connector/J, 2.1 for Connector/Python, or 4.1 for MySQL Enterprise Backup.  As you can see these version numbers do not relate to the server version at all.  We think this is confusing and with the recent server version change we could simplify things for clients, connectors, and applications.

Note:  In some cases we tried to make this easier by having a policy that all our support client libraries must support all servers that are still supported, but then there are other clients like MySQL Enterprise Manager where that’s not the case.

Challenges – DMRs and Testing Out New Server Features

The server team provides pre-release versions of the server available for testing out new features.  These releases are called DMR or “Development Milestone Release”.  While many of the new server features are transparent to client libraries, some require client library updates like new collations or new security measures.

When server changes affect clients users ask how can they try out the new features?   What connector or client version should they use?

And, features appearing in server DMR releases can change.  They are, after all, in development so adding support for pre-release features that can change into a GA connector is really a no-go.  So we need a  way to make new server features available to connectors and clients without disrupting the normal feature cycle of the clients.

Solving – New Simplified Versioning Methods for Clients

To address these issues beginning with the 8.0 server GA release, all of our connectors will synchronize the first digit of their version number with the server.   This means that MySQL Server 8.0 will go GA alongside 8.0 versions of each of our connectors.

Now, it’s easy to know which version of a client you should use – the first version number should match (starting with 8.x.x releases).

  • For Connectors – Using MySQL 8.0 then any of our MySQL connectors 8.0 or later will fit the bill!  Does this mean that older connectors will not work with MySQL 8.0?  Not necessarily!  However, older connectors might not be quite as compatible and will certainly not support many of the new features.
  • Other client tools and application – Will also go to 8.0 versions – MySQL Shell 8.0, MySQL Workbench 8.0, MySQL Enterprise Backup 8.0, etc.

As new MySQL Server DMR releases come out you can expect to see corresponding clients to help you try out the new features in both the client and the server.

We see the change as an opportunity to really clarify our product offerings using the version number and deliver a much more unified experience.  Clients will still version frequently so you’ll see some clients move ahead with 8.1 and 8.2 versions but that first digit 8 will still tell  you that it will work perfectly with MySQL Server 8.0

We’ll have more to say on this in the coming weeks!  Please let us know if you have any questions!

MySQL Connector/NET 6.10.2 beta has been released

Dear MySQL users,

MySQL Connector/Net 6.10.2 beta is the third release which supports Scaffold-DbContext, that enables the creation of corresponding model classes from an existing database that are compatible with Entity Framework (EF) Core 1.1.

To download MySQL Connector/Net 6.10.2 beta, see the “Development Releases” tab at http://dev.mysql.com/downloads/connector/net/

Changes in MySQL Connector/Net 6.10.2 (2017-07-04, Beta)

Functionality Added or Changed

* The previously deprecated Old Syntax (OldSyntax, Use Old Syntax, UseOldSyntax) connection-string option was removed.

* EF Core: Tables from an existing database can be specified with command-line tools when scaffolding a DbContext. The MySQL provider generates an entity type for each table in the DbContext. By default, all tables in the database are included unless a list of tables is provided.

For Package Manager Console Tools, use the Scaffold-DbContext command with the -Table <tablename, tablename, …> common parameter.

For .NET Core CLI Tools, use the dotnet ef dbcontext scaffold command with the
–table option for each table to add.

* EF Core: The MySQL provider now creates a new schema when the entity.ToTable method within a derived DbContext class specifies the name of a nonexistent schema.

* EF Core: The Connector/Net implementation of EF Core now includes extended maximum lengths for several string data types to enable the use of longer strings.

* Connector/Net no longer supports MySQL Fabric.

Bugs Fixed

* EF Core: The –force option when used with the dotnet ef dbcontext scaffold command did not overwrite the existing output files as expected. (Bug #25493508)

* EF Core: The Database First command used to create a DbContext class emitted an error when used with either the sakila or world database sample. (Bug #25493336)

* EF Core: The Database First feature did not support the following data types: BINARY, VARBINARY, MEDIUMBLOB, LONGBLOB, SET, DATE, TIME, and YEAR. (Bug #25493209)

* EF Core: JSON data exchange format was not supported by the Database First feature. (Bug #25493143)

* EF Core: Database First support produced an error when the existing MySQL database included one or more views. (Bug #25493086)

* EF Core: Using System.ComponentModel.DataAnnotations.Schema.TableAttribute to initialize a new class instance that specified the name of an existing MySQL table produced incorrect mappings of table and column names. (Bug #25394223, Bug #84423)

Nuget packages are available at:

https://www.nuget.org/packages/MySql.Data/6.10.2-beta https://www.nuget.org/packages/MySql.Web/6.10.2-beta https://www.nuget.org/packages/MySql.Data.EntityFrameworkCore/6.10.2-beta https://www.nuget.org/packages/MySql.Data.EntityFrameworkCore.Design/6.10.2-beta

Enjoy and thanks for the support!

On behalf of the MySQL Release Team,
Nawaz Nazeer Ahamed

MySQL for Excel 1.3.7 has been released

Dear MySQL users,

The MySQL Windows Experience Team is proud to announce the release of MySQL for Excel version 1.3.7. This is a maintenance release for 1.3.x. It can be used for production environments.

MySQL for Excel is an application plug-in enabling data analysts to very easily access and manipulate MySQL data within Microsoft Excel. It enables you to directly work with a MySQL database from within Microsoft Excel so you can easily do tasks such as:

  • Importing MySQL data into Excel
  • Exporting Excel data directly into MySQL to a new or existing table
  • Editing MySQL data directly within Excel

MySQL for Excel is installed using the MySQL Installer for Windows.The MySQL Installer comes in 2 versions:

  • Full which includes a complete set of MySQL products with their binaries included in the download.
  • Web (network install) which will just pull the MySQL for Excel over the web and install it when run.

You can download MySQL Installer from our official Downloads page at http://dev.mysql.com/downloads/installer/

The MySQL for Excel product can also be downloaded by using the product standalone installer found at this link: http://dev.mysql.com/downloads/windows/excel/

Changes in MySQL for Excel 1.3.7 (2017-05-24)

Functionality Added or Changed

  • The way MySQL for Excel shares data-editing sessions among users and between computers was improved. (Bug #25509085, Bug #73314)
  • The Append Excel Data to Table operation was updated with new advanced options to manage the behavior of rows containing unique key values that are duplicates of those in the database. (Bug #25479653, Bug #83801)
  • Added a new global option that specifies how to format spatial data as text: Well-Known Text, Keyhole Markup Language, Geography Markup Language, or GeoJSON. (Bug #22081263)
  • Enhanced the logic that migrates stored MySQL connections to the MySQL Workbench connections.xml file. In previous versions, the migration was offered and if not done at that moment, the dialog to migrate was shown every time MySQL for Excel was launched. There was no way to choose to continue storing MySQL connections in the MySQL for Excel configuration folder, instead of merging them with MySQL Workbench. Now, the Connections Migration dialog offers a way to postpone the migration by one hour, one day, one week, one month, or indefinitely. If the migration is postponed, the dialog is shown again after that time elapses. If the migration is postponed indefinitely, then an option is added to the Options dialog that permits the migration of connections to be done manually, as long as MySQL Workbench is installed.
  • Support for MySQL Fabric was removed.

Bugs Fixed

  • SSL connections when created with MySQL Workbench should be inactive within MySQL for Excel, which does not support SSL connections. (Bug #25962564)
  • Selecting a schema containing at least one stored procedure for a MySQL 8.0 or 8.1 connection emitted an error. (Bug #25962347)
  • Empty string values within Excel column data that were used in an export or append-data operation caused the generated SQL queries to have no value, instead of an empty value corresponding to the data type of the target column (for example: 0 for Integer; false for Bool if the column does not allow NULL values, or NULL otherwise). (Bug #25509312, Bug #84851)
  • MySQL data could not be refreshed or edited directly in an Excel worksheet by different users or from different computers, which reduced the ability to share data-editing sessions among users or between computers. This fix alters the way connection information is stored by migrating the connection details for related import and edit-data operations from the user settings file to the XML parts of a workbook when the workbook is opened, and if the workbook supports XML parts and the connection information related to that workbook is found in the user settings file. (Bug #25509085, Bug #73314)
  • User-selected data types that replaced the detected values of a column were lost when the First Row Contains Column Names check box was selected or deselected in preparation for an export-data operation. This fix retains the selected value when the data type is set manually to override the automatically detected type and the check box is selected or deselected. It further adds a new action to reset the column back to automatic detection. (Bug #25492772, Bug #84802)
  • A portion of the preview area that should be displayed during import, export, and append data operations was concealed by other fields. (Bug #25325457, Bug #84351)
  • Attempting to refresh MySQL data in an Excel worksheet while the MySQL for Excel task pane was closed generated an error. (Bug #25301136, Bug #84291)
  • Edit-data operations in which the SQL query used optimistic updates, and the data contained empty strings, produced errors during the commit to MySQL. Enhanced mapping of character sets and clearer error-message text were added to identify the use of client character sets that are unsupported in MySQL. (Bug #25236221, Bug #76287)
  • A mismatch between the current schema and the current connection caused the refresh action to fail when a worksheet with imported data was created as an Excel table, saved, closed, and then reopened. (Bug #25233309, Bug #84154)
  • Inactive connections and unsaved passwords caused the refresh action to generate errors for worksheets with imported MySQL data in Excel tables. (Bug #25227226, Bug #84136)
  • Excel worksheets that had currency values with comma separators produced errors when the data was exported to a MySQL table. (Bug #25214984, Bug #84049)
  • MySQL connection passwords were not saved to the secure password vault and produced a password request every time an existing connection was opened. (Bug #25108196, Bug #83855)
  • Excel cells containing empty strings, which are not actually blank, generated errors with export, append, or edit data operations. With this fix, an empty string is now equivalent to a blank cell. (Bug #24431935, Bug #82497)
  • Although the Refresh All action in the Data ribbon refreshed all MySQL connections, it did not refresh the other connections associated with a workbook when the MySQL for Excel add-in was enabled. (Bug #23605635, Bug #81901)
  • Clearing numeric parameter values within a stored procedure, or setting any of the initial values to NULL, during an Import MySQL Data operation emitted an error. (Bug #23281495, Bug #81417)
  • Type TinyInt was mapped as type Bool when data was imported to Excel from MySQL. (Bug #23022665, Bug #80880)
  • MySQL columns of type DATE and DATETIME produced errors during import-data operations. This fix improves the way MySQL for Excel handles these types for all operations: import data, export data, append data, and edit data. (Bug #22627266, Bug #80139)
  • Excel data of type Date could not be exported to a MySQL table. (Bug #22585674, Bug #80079)
  • Tables and views imported to Excel without the Include Column Names as Headers option first being selected omitted the expected default column names (Column1, Column2, and so on). (Bug #22373140)
  • Creating a new schema with the binary – binary collation produced an error. (Bug #22371690)
  • Saved edit-data sessions could not be restored after a workbook was closed and then reopened. (Bug #22138958)
  • Connection sharing between MySQL for Excel and MySQL Workbench resulted in some incorrect connection information being passed to the MySQL Server Connection dialog. (Bug #22079779)
  • The default schema of the current MySQL connection changed unexpectedly when a table in a different schema was edited. (Bug #22074426)
  • With a cursor positioned at the bottom of a worksheet and with the Add Summary Fields check box selected, the import-data operation failed despite having enough space to fill the cells. (Bug #19652840)

Quick links:

Enjoy and thanks for the support!

MySQL Connector/C++ 1.1.9 has been released

Dear MySQL Users,

A new GA (general availability) version of MySQL Connector/C++ has
been made available: MySQL Connector/C++ 1.1.9 GA. The MySQL
Connector/C++ provides a C++ API for connecting client applications to
the MySQL Server 5.5 or newer.

You can download the production release at:

http://dev.mysql.com/downloads/connector/cpp/1.1.html

MySQL Connector C++ (Commercial) will be available for download on the
My Oracle Support (MOS) website. This release will be available on eDelivery
(OSDC) in next month’s upload cycle.

The MySQL driver for C++ offers an easy to use API derived from JDBC
4.0. MySQL Workbench has used it successfully for years.

We have improved the driver since the last GA release. Please see the
documentation and the CHANGES file in the source distribution for a
detailed description of bugs that have been fixed. Bug descriptions are
also listed below.

Enjoy!

Changes in MySQL Connector/C++ 1.1.9 (2017-05-16, General Availability)

Compilation Notes

* The Windows version of Connector/C++ Community is now
built using the dynamic C++ runtime library (that is, with the
/MD compiler option), with the following implications for users:

+ Target hosts running Windows applications that use
Connector/C++ Community now need the Visual C++
Redistributable for Visual Studio 2013
(https://www.microsoft.com/en-us/download/details.aspx?id=40784)
installed on them.

+ Client applications on Windows that use Connector/C++
Community should be compiled with the /MD compiler option.

Security Notes

* The linked OpenSSL library for Connector/C++ 1.1.9
Commercial has been updated to version 1.0.2k. For a description
of issues fixed in this version, see
http://www.openssl.org/news/vulnerabilities.html
This change does not affect the Oracle-produced MySQL Community
build of Connector/C++, which uses the yaSSL library instead.

Bugs Fixed

* Values returned by getDouble() from DOUBLE table columns
were truncated (decimal part missing) if the locale was set to
fr_CA, which uses comma as the decimal separator. (Bug
#17227390, Bug #69719)

* Connections to localhost failed if the local server was
bound only to its IPv6 interface. (Bug #17050354, Bug #69663)

On Behalf of the MySQL/ORACLE RE Team
Balasubramanian Kandasamy

MySQL Connector/ODBC 5.3.8 has been released

Dear MySQL users,

MySQL Connector/ODBC 5.3.8, a new version of the ODBC driver for the MySQL database management system, has been released.

The available downloads include both a Unicode driver and an ANSI driver based on the same modern codebase. Please select the driver type you need based on the type of your application – Unicode or ANSI.
Server-side prepared statements are enabled by default. It is suitable for use with any MySQL version from 5.5.

This is the fourth release of the MySQL ODBC driver conforming to the ODBC 3.8 specification. It contains implementations of key 3.8 features,
including self-identification as a ODBC 3.8 driver, streaming of output parameters (supported for binary types only), and support of the SQL_ATTR_RESET_CONNECTION connection attribute (for the Unicode driver only).

Also, Connector/ODBC 5.3 introduces a GTK+-based setup library providing a GUI DSN setup dialog on some Unix-based systems, currently included in the Debian 7/8, EL6/OL6, EL7/OL7 (64-bit only), Fedora 24/25,
FreeBSD 10/11, SLES 12, Ubuntu 12/14/16 packages. Other new features in the 5.3 driver are FileDSN and Bookmarks support.

The release is now available in source and binary form for a number of platforms from our download pages at http://dev.mysql.com/downloads/connector/odbc/5.3.html For information on installing, please see the documentation at http://dev.mysql.com/doc/connector-odbc/en/connector-odbc-installation.html Enjoy!

The MySQL Connectors team at Oracle Changes in MySQL Connector/ODBC 5.3.8 (2017-04-28)

Security Notes

* Security Fix: The linked OpenSSL library for Connector/ODBC Commercial 5.3.8 has been updated from version 1.0.2j to version 1.0.2k. Versions of OpenSSL prior to 1.0.2k are reported to be vulnerable to 2017-3731
(http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3731), CVE-2017-3732
(http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3732), and CVE-2017-7055
(http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7055).
This change does not affect the Oracle-produced MySQL Community build of Connector/ODBC 5.3.8, which uses the yaSSL library instead. (Bug #25615448, CVE-2017-3731,
CVE-2017-3732, CVE-2017-7055)

Bugs Fixed

* When error 2006 (“MySQL server has gone away”) occurred,
Connector/ODBC wrongly returned the SQL_NO_DATA error.
(Bug #25671389)

* When the SQL_TIMESTAMP_STRUCT was used, if the date portion of a timestamp was populated but the time portion was uninitialized, queries involving the timestamp would fail with a Date overflow error. With this fix, the uninitialized time value is simply ignored. (Bug
#25386024)

* Segmentation faults occurred when catalog, column, or table names that were too long were passed as arguments to metadata functions like SQLColumnPrivileges(),SQLColumns(),SQLTablePrivileges()
and SQLTables(). With this fix, proper errors are returned in those cases. (Bug #18796005)

* An assertion error occurred when calling SQLSetDescField() with SQL_DESC_COUNT as FieldIdentifier,
irrespective of the record number set. (Bug #18641633)

* Connector/ODBC quit unexpectedly when a negative column number was passed as an argument for the SQLGetData()
method. (Bug #18636600)

* When server-side prepared statements were enabled, using the prefetch option caused SQL syntax errors to be returned for queries that contained parameter markers.
(Bug #17386788)

* After the attribute SQL_ATTR_MAX_ROWS had been set for a certain statement handler, a new statement handler also had the same value set automatically. The fix makes sure a new statement handler returns all rows by default. (Bug
#17259397, Bug #69554)

* If the NO_INFORMATION_SCHEMA connection option was set,
the SQLTables() function did not return the catalog correctly when a wildcard or SQL_ALL_CATALOGS was used in its arguments. (Bug #14005343)
References: See also: Bug #13914518.

On behalf of the Oracle MySQL RE Team,
Hery Ramilison

MySQL Connector/C 6.1.10 GA has been released

Dear MySQL Users,

A new GA (general availability) version of MySQL Connector/C has been
made available: MySQL Connector/C 6.1.10 GA. The MySQL Connector/C 6.1
implements the MySQL C API for connecting client applications to the
MySQL Server 5.5 or newer.

You can download the production release at:
http://dev.mysql.com/downloads/connector/c/6.1.html

MySQL Connector C (Commercial) will be available for download on the My
Oracle Support (MOS) website. This release will be available on
eDelivery (OSDC) in next month’s upload cycle.

Please see the documentation and the README file in the source distribution
for a detailed description of bugs that have been fixed.

Enjoy!

Changes in MySQL Connector/C 6.1.10 (2017-04-28, General
Availability)

Compilation Notes

* The Windows version of MySQL Connector/C Community is now
built using the dynamic C runtime libraries (that is,
with the /MD compiler option), with the following
implications for users:

+ Target hosts running Windows applications that use
MySQL Connector/C Community now need the Visual C++
Redistributable for Visual Studio 2015
(https://www.microsoft.com/en-us/download/details.aspx?id=48145)
installed on them.

+ Client applications on Windows that use MySQL
Connector/C Community should be compiled with the
/MD compiler option.

Security Notes

* The linked OpenSSL library for MySQL Connector/C 6.1
Commercial has been updated to version 1.0.2k. For a description
of issues fixed in this version, see
http://www.openssl.org/news/vulnerabilities.html. This change
does not affect the Oracle-produced MySQL Community build of
Connector/C, which uses the yaSSL library instead. (Bug
#25615447)

On behalf of the Oracle MySQL Release Engineering Team,
Nawaz Nazeer Ahamed

MySQL Connector/J 5.1.42 has been released

Link

Dear MySQL Users,

MySQL Connector/J 5.1.42, a maintenance release of the production 5.1
branch has been released. Connector/J is the Type-IV pure-Java JDBC
driver for MySQL.

MySQL Connector Java is available in source and binary form from the
Connector/J download pages at
http://dev.mysql.com/downloads/connector/j/5.1.html
and mirror sites as well as Maven-2 repositories.

MySQL Connector Java (Commercial) is already available for download on the
My Oracle Support (MOS) website. This release will be available on eDelivery
(OSDC) in next month’s upload cycle.

As always, we recommend that you check the “CHANGES” file in the
download archive to be aware of changes in behavior that might affect
your application.

MySQL Connector/J 5.1.42 includes the following general bug fixes and
improvements, also available in more detail on
http://dev.mysql.com/doc/relnotes/connector-j/en/news-5-1-41.html

Changes in MySQL Connector/J 5.1.42 (2017-04-28)

Version 5.1.42 is a maintenance release of the production 5.1
branch. It is suitable for use with MySQL Server versions
5.5, 5.6, and 5.7. It supports the Java Database Connectivity
(JDBC) 4.2 API.

* Functionality Added or Changed

* Bugs Fixed

Functionality Added or Changed

* A null value can now be extracted from a result set to a
class belonging to the java.time package. Before, such an
extraction resulted in a NullPointerException being
thrown. Thanks to Martin Desharnais for contributing the
code. (Bug #25250938, Bug #84189)

* Connector/J now checks that a MySQL server’s SSL
certificate and the Certificate Authority (CA) that
issued it are not expired before establishing an SSL
connection with the server, even if the connection
property verifyServerCertificate is set to false. (Bug
#20515688)

* Name-value pairs contained in the connection property
sessionVariables can now be separated by either commas or
a semicolons. (Bug #17757070)

Bugs Fixed

* An invalid timezone identifier was used in
StatementRegressionTest.java of the Connector/J
testsuite. (Bug #25687718, Bug #85351)

* A mysql client failed to establish an SSL connection to
the server using the SSL certificates provided in the
Connector/J source package. It was because the
certificates have been generated with the same Common
Name. This fix corrects the Common Names and regenerates
the SSL certificates. (Bug #25636947)

* The unit test testsuite.simple.ResultSetTest.testPadding
failed with the error Unknown character set: ‘gb18030’
after the collation map updates in release 5.1.40. (Bug
#25556597)

* In a multi-host connection, query timeouts did not occur
as configured. It was because the CancelTask thread, when
trying to access the top level, virtual connection
object, ran into a race condition with the connection
monitor and then hung. With this fix, the CancelTask
thread is passed a direct reference to the underlying
physical connection, with which it can execute the
cancellation. (Bug #25490163, Bug #84783)

* CallableStatement.extractProcedureName() did not return
the correct result when the procedure name contained a
dash. This was due to an error in the stripComments()
method of the StringUtils class, which has now been
corrected. (Bug #25321524, Bug #84324)

* The ConnectionImpl.isReadOnly() method returned a
confusing error message when it could not retrieve the
read-only status of the server. The message has now been
changed to “Could not retrieve transaction read-only
status from server.” (Bug #25101890, Bug #83834)

* A NullPointerException was thrown when a null boolean
value was being read from the database. (Bug #25048406,
Bug #83662)

* After a BIT value had been retrieved from a result set,
the wasNull() method of the result set returned value for
the last wasNull() query instead of the value for the
last retrieved column. (Bug #24841670, Bug #83368)

* Using a partially-quoted identifier (with only the
database or the procedure name quoted) or a non-existent
parameter to register an output parameter in a
CallableStatement caused a NullPointerException. With
this fix, a partially-quoted identifier is accepted, and
a non-existent parameter causes a SQLError to be thrown.
(Bug #22333996, Bug #79561)

* DatabaseMetaData.getProcedureColumns() and
DatabaseMetaData.getFunctionColumns() did not return
expected results. This was due to the errors with the
matching algorithm for the column names, which have now
been fixed. Notice that, however, the effects of the
connection parameter getProceduresReturnsFunctions on the
two methods when JDBC 4 is used remain unchanged. (Bug
#19531384, Bug #73775)

* When an UpdatableResultSet was used, trying to close the
result set and its prepared statement simultaneously by
different threads might result in a deadlock. This fix
updates the synchronization mechanism for
UpdatableResultSet to avoid the issue. (Bug #17653733,
Bug #70704)

* After a connection had already switched catalog with
setCatalog(), cached data from the old catalog was
returned for a reused server-side prepared statement.
With this fix, the cache of a server-side prepared
statement cache now includes the catalog in its key to
avoid wrong cache hits when the statement is reused on
another catalog. (Bug #16714868, Bug #66430)

On Behalf of MySQL/ORACLE RE Team
Gipson Pulla

MySQL for Visual Studio 2.0.5 has been released

The MySQL Windows Experience Team is proud to announce the release of  MySQL for Visual Studio 2.0.5 m4. Note that this is a development preview release and not intended for production usage.

MySQL for Visual Studio 2.0.5 m4 is the fourth development release of the MySQL for Visual Studio 2.0 series. This series adds support for the new X DevAPI. The X DevAPI enables application developers to write code that combines the strengths of the relational and document models using a modern, NoSQL-like syntax that does not assume previous experience writing traditional SQL.

To learn more about how to write applications using the X DevAPI, see http://dev.mysql.com/doc/x-devapi-userguide/en/. For more information about how the X DevAPI is implemented in MySQL for Visual Studio, and its usage, see http://dev.mysql.com/doc/refman/5.7/en/mysql-shell-visual-studio.html.

Please note that the X DevAPI requires at least MySQL Server version 5.7.12 or higher with the X Plugin enabled. For general documentation about how to get started using MySQL as a document store, see http://dev.mysql.com/doc/refman/5.7/en/document-store.html.

You can download MySQL Installer from our official Downloads page at http://dev.mysql.com/downloads/installer/.

MySQL for Visual Studio can also be downloaded by using the product standalone installer found at http://dev.mysql.com/downloads/windows/visualstudio/, under the tab “Development Releases”.

 

Changes in MySQL for Visual Studio 2.0.5 (2017-04-24)

Known limitation of this release: MySQL Connections Manager does not save the changes made to the default schema when editing a connection. Use one of the following workarounds to resolve this limitation:

  • For new connections created with MySQL Connections Manager in which a default schema is specified, close MySQL Connections Manager and then reopen it. After performing this action, you can add the connection to the Microsoft Visual Studio Server Explorer.
  • For existing connections, set the default schema with MySQL Workbench.

Functionality Added or Changed

  • Removed Support for Microsoft Visual Studio 2010.
  • Added support for Microsoft Visual Studio 2017.
  • Added an output pane to the MySQL SQL Editor window. The new MySQL Output pane includes the information that previously appeared in the Messages tab.

Bugs Fixed

  • The MySQL Data Export Tool exported data from the wrong schema when a second schema was selected and then deselected. In addition, all selected schemas were deselected when a single schema was deselected. (Bug #23666666)
  • Script files did not accept most keyboard input after the file was saved for the first time. (Bug #24751945)
  • The Field Type view in the result tab of an executed SQL query did not display field information correctly when the query included a schema name explicitly. (Bug #24601948)
  • The bit() data type was incorrectly implemented as bit(10) for MySQL tables in the Table Designer window.  (Bug #13477821)

 

Quick links

MySQL Connector/Python 2.1.6 GA has been released

Dear MySQL users,

MySQL Connector/Python 2.1.6 GA is a fourth GA version of 2.1 release
series of the pure Python database driver for MySQL. It can be used for
production environments.

MySQL Connector/Python version 2.1.6 GA is compatible with MySQL Server
versions 5.5 and greater. Python 2.6 and greater as well as Python 3.3
and greater are supported. Python 2.4, 2.5 and 3.1, 3.2 are not
supported.

MySQL Connector/Python 2.1.6 is available for download from:

http://dev.mysql.com/downloads/connector/python/#downloads

The ChangeLog file included in the distribution contains a brief summary
of changes in MySQL Connector/Python 2.1.6. For a more complete list of
changes, see below or online at:

http://dev.mysql.com/doc/relnotes/connector-python/en/

Enjoy!

Changes in MySQL Connector/Python 2.1.6 (2017-04-18, General
Availability)

Functionality Added or Changed

* An ssl-cipher option is now supported for specifying the
encryption cipher for secure connections. (Bug #22545879,
Bug #78186)

Bugs Fixed

* Compatibility issues with Django 1.9 were corrected. (Bug
#25726671)

* The fix for Bug #22529828 caused Python 2.7 to be unable
to insert binary data. (Bug #25589496, Bug #85100)
References: This issue is a regression of: Bug #22529828.

* Some SQL statements that worked using pure Python failed
with the Connector/Python C Extension enabled. (Bug
#25558885)

* Connector/Python produced no error or warning if the
server certificate was expired. (Bug #25397650)

* If an exception reset the underlying session, connections
in a connection pooled could become unavailable to the
pool. (Bug #25383644, Bug #84476)

* Methods for filtering time and datetime fields were
changed in Django 1.9 from value_to_db_datetime to
adapt_datetimefield_value and from value_to_db_time to
adapt_timefield_value. Proxy methods with the previous
names were added to Connector/Python ensure
compatibility. Thanks to Brian Tyndall for the patch.
(Bug #25349918, Bug #84410)

* Extra encapsulation was removed from the get_constraints
method for the foreign_key parameter. Thanks to Brian
Tyndall for the patch. (Bug #25349912, Bug #84409)

* Connector/Python added support for a database backend API
change introduced in Django 1.9 for the bulk_insert_sql
method. Thanks to Brian Tyndall for the patch. (Bug
#25349897, Bug #84408)

* Loading the world sample database worked using pure
Python but failed with the Connector/Python C Extension
enabled. (Bug #22476689, Bug #79780)

* If the output from the mysql_config –include command
included more than one directory, the C Extension failed
to compile. (Bug #20736339, Bug #76350)

On Behalf of the MySQL/ORACLE RE Team,
-Sreedhar S