Changelog
2.5.2 (04 Dec 2020)
permitLocalInfile
option and some initial commandsdocumentation improvement
Changelog
2.5.0 (15 Oct 2020)
CONJS-148 - permit setting socket keep alive (option keepAliveDelay
)
CONJS-145 - batch rewrite error when packet reach maxAllowedPacket
CONJS-146 - Using callback API, batch, avoid return error if connection not established
CONJS-144 - TypeScript type ssl wrong definitions
CONJS-143 - Array parameter escaping differ from mysql/mysql2
CONJS-133 - Support ES2020 BigInt object (option supportBigInt
)
CONJS-77 - Support MySQL caching_sha256_password authentication
CONJS-76 - Support MySQL sha256_password authentication
New Options
|option|description|type|default|
|---:|---|:---:|:---:|
| arrayParenthesis
| Indicate if array are included in parenthesis. This option permit compatibility with version < 2.5|boolean | false |
| rsaPublicKey
| Indicate path/content to MySQL server RSA public key. use requires Node.js v11.6+ |string | |
| cachingRsaPublicKey
| Indicate path/content to MySQL server caching RSA public key. use requires Node.js v11.6+ |string | |
| allowPublicKeyRetrieval
| Indicate that if rsaPublicKey
or cachingRsaPublicKey
public key are not provided, if client can ask server to send public key. |boolean | false |
| supportBigInt
| Whether resultset should return javascript ES2020 BigInt for BIGINT data type. This ensures having expected value even for value > 2^53 (see safe range). |boolean | false |
| keepAliveDelay
| permit to enable socket keep alive, setting delay. 0 means not enabled. Keep in mind that this don't reset server @@wait_timeout (use pool option idleTimeout for that). in ms |int | |
CONJS-143 is a breaking change. Queries that have a IN parameter with array parameters format change. previous format did not accept parenthesis :
conn.query('SELECT * FROM arrayParam WHERE id = ? AND val IN ?', [1, ['b', 'c']]);
now, format is
conn.query('SELECT * FROM arrayParam WHERE id = ? AND val IN (?)', [1, ['b', 'c']]);
same than mysql/mysql2 drivers.
previous behaviour can be reverted setting option arrayParenthesis
to true.
Changelog
2.4.1 (01 Jul 2020)
restoreNodeTimeout
to 1000 to avoid using blacklisted pool in clusterChangelog
2.4.0 (24 May 2020)
This version remove compatibility with Node.js 6, needing 10+ version !
Changelog
2.3.0 (19 Mar. 2020)
misc:
Changelog
2.2.0 (03 Feb. 2020)
Azure is using a proxy that will return a MySQL handshake not reflecting real server.
A new option `forceVersionCheck` is added to permit issuing a new `SELECT @@Version` command on connection creation,
to retrieve the correct server version. Connector will then act according to that server version.
This option is only permitted for MariaDB server >= 10.1.2, and permits to set a timeout to query operation.
Driver internally use `SET STATEMENT max_statement_time=<timeout> FOR <command>` permitting to cancel operation when timeout is reached,
Implementation of max_statement_time is engine dependent, so there might be some differences: For example, with Galera engine, a commits will ensure replication to other nodes to be done, possibly then exceeded timeout, to ensure proper server state.
* add mysql_native_password to fast-authentication path
* plugin 'mysql_native_password' is used by default if default server plugin is unknown
* unexpected packet type during handshake result will throw a good error.
A new option `leakDetection` permits to indicate a timeout to log connection borrowed from pool.
When a connection is borrowed from pool and this timeout is reached, a message will be logged to console indicating a possible connection leak.
Another message will tell if the possible logged leak has been released.
A value of 0 (default) meaning Leak detection is disable
Additionally, some error messages have improved:
- Connection timeout now indicate that this correspond to socket failing to establish
- differentiate timeout error when closing pool to standard connection retrieving timeout
misc:
Changelog
2.1.5 (07 Jan. 2020)