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/Node.js
This category contains release notes for releases in the MariaDB Connector/Node.js 3.x series
Release date: 10 Oct 2025
MariaDB Connector/Node.js 3.5.0-rc is an RC release.
For an overview of MariaDB Connector/Node.js see the page
migrate from commonJS to ESM
deno compatibility
Fix minimumIdle option to maintain baseline idle connections
caching_sha2_password: avoid requiring RSA key pair when connecting via Unix socket
Release date: 25 Jul 2025
MariaDB Connector/Node.js 3.4.5 is a (GA) release.
For an overview of MariaDB Connector/Node.js see the page
This category contains release notes for releases in the MariaDB Connector/Node.js 2.x series
This category contains release notes for releases in the MariaDB Connector/Node.js 0.x series
Changelogs for MariaDB Connector/Node.js releases
This category contains changelogs for releases in the MariaDB Connector/Node.js 3.x series
This category contains changelogs for releases in the MariaDB Connector/Node.js 2.x series
Download | Release Notes | Changelog |
Release date: 18 Sep 2024
MariaDB Connector/Node.js 3.3.2 is a Stable (GA) release.
For an overview of MariaDB Connector/Node.js see the page
delay TLS identity validation until certificate normal or fingerprint validation
TypeScript type definition file for SqlError constructor does not match actual constructor
Typescript connection option timeout in place of queryTimeout
Typescript wrong named longlong in place of bigint
Download | Release Notes | Changelog |
Release date: 19 Dec 2023
MariaDB Connector/Node.js 3.2.3 is a Stable (GA) release.
For an overview of MariaDB Connector/Node.js see the page
Add support for connection redirection, an upcoming MariaDB Server and MaxScale feature
Wrong binary decoding of 00:00:00 TIME values
Error doesn't always have parameters according to option
Bulk insert error when last bunch of parameters is reaching max_allowed_packet
Disabling BULK insert for one batch is not possible
Download | Release Notes | Changelog |
Release date: 14 Sep 2023
MariaDB Connector/Node.js 3.2.1 is a Stable (GA) release.
For an overview of MariaDB Connector/Node.js see the page
Binary result-set parsing performance improvement, avoiding to chromium slow issue
permit configuration of console warning message to be exported
Option infileStreamFactory addition for compatibility
TypeScript missing logParam connection option
ensure respecting server collation
Download | Release Notes | Changelog |
Release date: 17 Mar 2023
MariaDB Connector/Node.js 3.1.1 is a Stable (GA) release.
For an overview of MariaDB Connector/Node.js see the page
pool not listening to 'error' event might exit application on error
Repeating calling the same procedure gets a release prepare error.
correction for node.js 12 compatibility
batch failing when using bulk and metaAsArray
Release date: 1 Mar 2022
MariaDB Connector/Node.js 3.0.0 is a Stable (GA) release.
For an overview of MariaDB Connector/Node.js see the page
see 3.0.0-rc for 3.0.0 content from previous version.
merged correction from 2.5.6
[] considering BIT(1) as boolean (option bitOneIsBoolean permit to disable that behavior for compatibility)
pool ensuring multi-request process order
set parser function once per result-set for better performance
For a complete list of changes made in this release, with links to detailed information on each push, see the .
Download | Release Notes | Changelog |
Release date: 17 Feb 2022
MariaDB Connector/Node.js 2.5.6 is a Stable (GA) release.
For an overview of MariaDB Connector/Node.js see the page
[] Local infile file validation doesn't take in account escaped value
[] change default connection timeout value 1 second to permit pools to send correct error
correct character_set_client unexpect error parsing OK_Packet
For a complete list of changes made in this release, with links to detailed information on each push, see the .
Download | Release Notes | Changelog |
Release date: 20 Oct 2021
MariaDB Connector/Node.js 2.5.5 is a Stable (GA) release.
For an overview of MariaDB Connector/Node.js see the page
[] Pool.query(undefined) never release connection
[] not permitting providing null as a value without an array
[] Missing leakDetectionTimeout option in Typescript description
For a complete list of changes made in this release, with links to detailed information on each push, see the .
Download | Release Notes | Changelog |
Release date: 14 Jun 2021
MariaDB Connector/Node.js 2.5.4 is a Stable (GA) release.
For an overview of MariaDB Connector/Node.js see the page
[] Authentication plugin failing doesn't always return error
[] Add API that list options default value
[] escaping correction
update iconv-lite dependency to 0.6.3
For a complete list of changes made in this release, with links to detailed information on each push, see the .
Download | Release Notes | Changelog |
Release date: 24 Feb 2021
MariaDB Connector/Node.js 2.5.3 is a Stable (GA) release.
For an overview of MariaDB Connector/Node.js see the page
[] Batch error when setting maxAllowedPacket less than an insert parameter value
[] use BigInt constructor in place of literal to ensure maximum compatibility
[] Wrong definition for typescript PoolConnection.release
[] test 10.6 server latest build
For a complete list of changes made in this release, with links to detailed information on each push, see the .
Download | Release Notes | Changelog |
Release date: 4 Dec 2020
MariaDB Connector/Node.js 2.5.2 is a Stable (GA) release.
For an overview of MariaDB Connector/Node.js see the page
[] bulk batch error (parameter truncation) #137
[] correction when enabling the permitLocalInfile option and some initial commands
[] Timezone support correction and clarification
[] correction to support for node.js 10.13 to 10.19
For a complete list of changes made in this release, with links to detailed information on each push, see the .
Download | Release Notes | Changelog |
Release date: 2 Jul 2020
MariaDB Connector/Node.js 2.4.1 is a Stable (GA) release.
For an overview of MariaDB Connector/Node.js see the page
- pool.getConnection() might not timeout even with acquireTimeout set
- createConnection(string)` does not support URL-encoded credentials
- Support passing null values in array when doing queries. thanks to @koendeschacht
- set default value of option restoreNodeTimeout to 1000 to avoid using blacklisted pool in cluster
For a complete list of changes made in this release, with links to detailed information on each push, see the .
Download | Release Notes | Changelog |
Release date: 20 Mar 2020
MariaDB Connector/Node.js 2.3.1 is a Stable (GA) release.
For an overview of MariaDB Connector/Node.js see the page
Corrective release of 2.3.0, changing new connection option timeout to queryTimeout to avoid any confusion.
For a complete list of changes made in this release, with links to detailed information on each push, see the .
Download | Release Notes | Changelog |
Release date: 2 Dec 2019
MariaDB Connector/Node.js 2.1.4 is a Stable (GA) release.
For an overview of MariaDB Connector/Node.js see the page
use pool reset only for corrected COM_RESET_CONNECTION
missing pool event definition
dependencies update
For a complete list of changes made in this release, with links to detailed information on each push, see the .
Download | Release Notes | Changelog | Connector/Node.js Overview
Release date: 31 Jan 2019
MariaDB Connector/Node.js 2.0.3 is a Stable (GA) release.
For an overview of MariaDB Connector/Node.js see the page
[] TypeError: Cannot read property 'totalConnections' of undefined
[] pool now throw ER_ACCESS_DENIED_ERROR in place of a basic timeout error
[] handling pipe error when streaming, avoiding hang in case of pipe error.
[] Connector throw an error when using incompatible options
For a complete list of changes made in this release, with links to detailed information on each push, see the .
Download | Release Notes | Changelog | Connector/Node.js Overview
Release date: 15 Nov 2018
MariaDB Connector/Node.js 2.0.1 is a Beta release.
For an overview of MariaDB Connector/Node.js see the page
(Bug) Commit not executed when in transaction and autocommit is enabled
(Bug) race condition when using authentication plugins
add bulk insert method
For a complete list of changes made in this release, with links to detailed information on each push, see the .
Download | Release Notes | Changelog |
Release date: 25 Sep 2018
MariaDB Connector/Node.js 2.0.0 is an Alpha release.
For an overview of MariaDB Connector/Node.js see the page
: check other connections in pool when an unexpected connection error occur
: Create option to permit setting Object to one prepareStatement parameter
: Callback API is missing
: support geometric GeoJSON structure format
Download | Release Notes | Changelog |
Release date: 19 Jul 2018
MariaDB Connector/Node.js 0.7.0 is an Alpha release.
For an overview of MariaDB Connector/Node.js see the page
First alpha release of the connector. See related documentation:
Release date: 25 Jul 2025
For the highlights of this release, see the release notes.
The revision number links will take you to the revision's page on GitHub. On GitHub you can view more details of the revision and view diffs of the code modified in that revision.
Revision #6baf970 bump 3.4.5
[misc] update dependencies
[] revert TypeScript dependency #320
[misc] update TS file to ES module syntax
[] correcting TypeError: validationFunction is not a function
[misc] client side parsing removing "//" single line comment
Release date: 3 Jul 2025
For the highlights of this release, see the release notes.
The revision number links will take you to the revision's page on GitHub. On GitHub you can view more details of the revision and view diffs of the code modified in that revision.
Revision #831fd11 bump 3.4.4
[] TypeScript types/share.d.ts and types/callback.d.ts are not published
Release date: 3 Jul 2025
MariaDB Connector/Node.js 3.4.4 is a (GA) release.
For an overview of MariaDB Connector/Node.js see the page
| | |
Release date: 2 Apr 2025
MariaDB Connector/Node.js 3.4.1 is a (GA) release.
For an overview of MariaDB Connector/Node.js see the page
| | |
Release date: 24 Oct 2024
MariaDB Connector/Node.js 3.4.0 is a (GA) release.
For an overview of MariaDB Connector/Node.js see the page
| | |
Release date: 16 Oct 2023
MariaDB Connector/Node.js 3.2.2 is a (GA) release.
For an overview of MariaDB Connector/Node.js see the page
| | |
Release date: 3 May 2023
MariaDB Connector/Node.js 3.1.2 is a (GA) release.
For an overview of MariaDB Connector/Node.js see the page
| | |
Release date: 15 Feb 2023
MariaDB Connector/Node.js 3.1.0 is a (GA) release.
For an overview of MariaDB Connector/Node.js see the page
| | |
Release date: 26 Oct 2020
MariaDB Connector/Node.js 2.5.1 is a (GA) release.
For an overview of MariaDB Connector/Node.js see the page
| | |
Release date: 23 Jul 2020
MariaDB Connector/Node.js 2.4.2 is a (GA) release.
For an overview of MariaDB Connector/Node.js see the page
| | |
Release date: 26 May 2020
MariaDB Connector/Node.js 2.4.0 is a (GA) release.
For an overview of MariaDB Connector/Node.js see the page
This version removes compatibility with Node.js 6, needing 10+ version!
| | |
Release date: 20 Mar 2020
MariaDB Connector/Node.js 2.3.0 is a (GA) release.
For an overview of MariaDB Connector/Node.js see the page
2.3.0 has been deprecated to 2.3.1: changing new connection option timeout to queryTimeout
| | |
Release date: 17 Oct 2019
MariaDB Connector/Node.js 2.1.2 is a (GA) release.
For an overview of MariaDB Connector/Node.js see the page
| | |
Release date: 06 Sept 2019
MariaDB Connector/Node.js 2.1.1 is a (GA) release.
For an overview of MariaDB Connector/Node.js see the page
| | |
Release date: 10 May 2019
MariaDB Connector/Node.js 2.0.4 is a (GA) release.
For an overview of MariaDB Connector/Node.js see the page
This version is a has been corrected with version, since TypeScript definition wasn't published on npm.
Please use this new 2.0.5 version.
| | |
Release date: 13 Dec 2018
MariaDB Connector/Node.js 2.0.2 is a release.
For an overview of MariaDB Connector/Node.js see the page
| | |
Release date: 25 Apr 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.
only run benchmark on the master branch to speed up tests
bump 3.4.2 version
| | |
Release date: 24 Oct 2024
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.
- bump 3.4.0 version
- [] add mysql2 option jsonStrings option to return MySQL Json field as string
| | |
Release date: 30 Jun 2021
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.
[misc] exact number implementation compatibility correction
[misc] travis mariadb enterprise test
| | |
Release date: 26 Oct 2020
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.
Merge branch 'release/2.5.1'
bump 2.5.1
| | |
Release date: 23 Jul 2020
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.
Merge branch 'release/2.4.2'
bump 2.4.2 version
| | |
Release date: 20 Mar 2020
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.
Bump 2.3.1 version
[misc] changing new connection option timeout
| | |
Release date: 2 Dec 2019
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.
bump 2.1.4 version
[misc] bump dependencies
[CONJS-156] Ensure setting capability PLUGIN_AUTH only if server has it
documentation improvement
CONJS-38 Add connection reset
CONJS-41 Handle multiple server pools with failover capabilities
CONJS-49 test connector with maxscale
CONJS-51 Permit use of connection string to provide options
CONJS-48 Add option to permit query command when establishing a connection
CONJS-24 : new option "sessionVariables" to permit setting session variable at connection
connection.end() immediate resolution on socket QUIT packet send.
improve documentation and set Promise API documentation to a dedicated page.
change pool implementation to permit node 6 compatibility (removal of async await)
CONJS-322: TypeScript types/share.d.ts and types/callback.d.ts are not published
CONJS-306: Support "zero configuration ssl" for parsec authentication
CONJS-315: Fixed issue with incorrect data for result-set rows of exactly 16M of data
CONJS-312: Improved pool error messages when failing to create connections
CONJS-313: Now allows using question mark parameters even when using namedPlaceholders option (mysql compatibility)
: Added Connection close alias for end function in TypeScript definition
: Fixed Bulk operations potentially returning unexpected error "Cannot read properties of undefined (reading '0')"
: Added capability to return all Bulk insert IDs for MariaDB server 11.5.1+
: Fixed bulk operations ending with "Got a packet bigger than 'max_allowed_packet' bytes" error
: Enhanced handling of non-bulk batched operations to avoid out-of-memory errors for batches not using bulk
When working with JSON fields in MariaDB and MySQL, it's important to note that the handling differs between the two database systems.
autoJsonMap Option: The autoJsonMap option provides flexibility in MariaDB. You can choose to have the connector return either JSON objects or string representations of the JSON data.
jsonStrings Option: The jsonStrings option introduces a similar choice for MySQL JSON fields. It allows you to specify whether the connector should return JSON objects or string values.
In essence, the JSON fields will be returned either as a JSON or String will depend on 2 different options depending on the database you’re working with.
CONJS-296 Add option enableKeepAlive / keepAliveInitialDelay alias for keepAliveDelay for mysql2 compatibility
The keepAliveDelay option in MariaDB connectors controls the frequency of keep-alive packets sent to maintain a persistent connection.
Disabled: When set to 0, keep-alive functionality is disabled.
Enabled: For any non-zero value, keep-alive packets are sent at the specified interval.
MySQL 2 Compatibility: To ensure compatibility with the MySQL 2 connector, the enableKeepAlive and keepAliveInitialDelay options have been added.
enableKeepAlive: If disabled, keepAliveDelay is automatically set to 0, effectively disabling keep-alive.
enableKeepAlive: If enabled, keepAliveDelay is set to the value specified in keepAliveInitialDelay.
In summary, the keepAliveDelay option determines the keep-alive frequency, while the enableKeepAlive and keepAliveInitialDelay options provide compatibility with MySQL 2 connectors by allowing you to control whether keep-alive is enabled and set the initial delay.
CONJS-303 DMLs are not returning an output while streaming
CONJS-270 Always send connection attributes, even when option connectAttributes is not set
CONJS-269 avoid useless "set names utf8mb4" on connection creation if not needed
CONJS-268 importFile method doesn't always throw error when imported commands fails #253
CONJS-267 Ensure that option collation with id > 255 are respected
CONJS-249 add connection.listeners function to permit TypeORM compatibility
CONJS-237 Connector now set session timezone, solving issue with , removing needs of client side conversion.
This requires that when using timezone options, to have corresponding server TZ data filled.
see here for updated result compared to other connectors
CONJS-231 When executing batch with a parameter can be too long to fit in one mysql packet, parameter can have 4 byte missing
CONJS-236 datatype TIME wrong binary decoding when not having microseconds
CONJS-239 When using connection with callback, pre-commands (like initSql) might not always be executed first
in case of a long query running, connection.destroy() will close connection, but might leave server still running query for some time
adding a Prepare result wrapper to avoid multiple close issue with cache
metaAsArray missing option in typescript description
CONJS-149 - Support of the new node.js version v15
For a complete list of changes made in this release, with links to detailed information on each push, see the changelog.
For a complete list of changes made in this release, with links to detailed information on each push, see the changelog.
CONJS-86 - Support extension type format
CONJS-128 - Error when using multipleStatements with metaAsArray
CONJS-129 - Support 10.5 pluggable type
CONJS-131 - checkDuplicate option is indicated in error when having dupplicate
CONJS-132 - performance improvement
CONJS-136 - typescript SqlError interface
For a complete list of changes made in this release, with links to detailed information on each push, see the changelog.
CONJS-127 - Resultset with same identifier skip data. Now an error will be thrown.
CONJS-126 - permit setting session query timeout per option
CONJS-124 - Force connection.escapeId to emit backtick #101
CONJS-123 - exporting SqlError class to permit instanceOf checks #100
- fix undefined localTz with timezone: 'Z' issue #92
- Connection.escapeId must always quote value to permit reserved words
misc:
appveyor testing server version upgrade
better debug logging trace format
correct ssl test
For a complete list of changes made in this release, with links to detailed information on each push, see the changelog.
Implemented enhancements:
Use milestone to specify in which version bug was fixed #22 Fixed bugs:
node.js v12 CI testing
cluster ordered selector bug fix on failover (thanks to @kkx)
bump dependencies
documentation update with node.js v12 minimum TLSv1.2 default support
connection.reset() error message improvement (and documentation)
small performance improvement when debug not enable
For a complete list of changes made in this release, with links to detailed information on each push, see the changelog.
New options:
using option connectAttributes value _server_host is correctly filled on Performance Schema.
batch improvement
error is now thrown when no values
BULK better handling when socket fail during command
Object with toSqlString function parameter support
null value correction when using BULK
timezone correction when not using "local" default values
now support very long parameter (> 16M)
rewrite correctly parse double slash
timezone option parsing correction (correctly handle negative values)
test coverage improvement
minor performance improvement
pool end() now correctly wait for all connections ending
For a complete list of changes made in this release, with links to detailed information on each push, see the changelog.
Revision #9abaa0d [CONJS-310] enable the permitRedirect option by default only when SSL is enabled
Revision #903934e [misc] micro optimization
Revision #7c8ba00 [misc] text decoder small improvement
Revision #b6afdbe [misc] column parsing improvements
Revision #14fd834 [misc] Revised the buffer reading methods to increment this.pos once per function call when possible
Revision #4cc791d [misc] Replaces repetitive query[i]
Revision #990afe8 [CONJS-318] Repeated named placeholders causes "Placeholder is not defined" #311
Revision #bbad4bb - [CONJS-296] Add option enableKeepAlive / keepAliveInitialDelay alias for keepAliveDelay
Revision #d803609 - Merge branch 'develop' of mariadb-connector-nodejs into develop
Revision #8a33504 - Merge branch 'parsec' into develop
Revision #7645b1e - Merge branch 'master' into develop
Revision #4b2828a - Merge pull request #295
Revision #02a60c5 - Update tests for ephemeral certificates in MaxScale
Revision #8e7ebeb - [misc] adding gclib for node 20
Revision #0d03fab - [misc] improve test stability
Revision #4beb07d - Merge branch 'master' into develop
Revision #390da84 - [CONJS-303] DMLs are not returning any output when streaming #293
Revision #8393c01 - [CONJS-299] Parsec authentication implementation
Revision #a7f5440 Merge branch 'develop' into maintenance/3.x
Revision #86e58a4 [misc] documentation change
Revision #1ebb0be [misc] typecast new methods tiny/short/datetime
Revision #a8d9e7e [CONJS-167] Custom logging implementation
Revision #d176b01 [CONJS-166] Restrict authentication plugin list by option
Revision #ca895c6 Merge branch 'feature/CONJS-165' into maintenance/3.x
Revision #2d0486e [CONJS-153] binary protocol support
Revision #25c173e [misc] improve supportBigInt option documentation
Revision #28ea67f Merge branch 'master' into develop
Revision #0a90b71 [CONJS-149] correcting possible TypeError [ERR_UNKNOWN_ENCODING]: Unknown encoding
Revision #5c0643e [misc] documentation update for supportBigInt
Revision #71c49fe Merge tag '2.5.0' into develop
Revision #26944ca [misc] adding documentation example
Revision #d96d81f Merge remote-tracking branch 'origin/master' into develop
Revision #2bfe64f [CONJS-142] Number parsing loss of precision
Revision #269c0ba Merge tag '2.4.1' into develop
queryTimeoutRevision #90170fd [misc] ensure timeout test reliability
Revision #c5e1c2d [misc] ensure CI test reliability
Revision #5e093d2 Merge tag '2.3.0' into develop
Revision #c6ba3d7 bump dependencies
Revision #8ed05f7 [misc] eslint format update
Revision #af6befa [CONJS-112] use pool reset only for corrected COM_RESET_CONNECTION
Revision #34b3bbd [CONJS-111] missing pool event definition
A list of all MariaDB Connector/Node.js releases
2025-10-10
Download | Release Notes | Changelog |
Release date: 19 Nov 2019
MariaDB Connector/Node.js 2.1.3 is a Stable (GA) release.
For an overview of MariaDB Connector/Node.js see the page
Missing mysql only collation definition
typescript escape/escapeId definition
Change user callback function not called when no option is set and changing collation only if collation option is correct
properly escape boolean parameter false
PAM authentication with multiple steps can be achieved using password as array:
better cluster error when pool is full
adding test coverage
Download | Release Notes | Changelog |
Release date: 3 May 2023
For the highlights of this release, see the release notes.
The revision number links will take you to the revision's page on GitHub. On GitHub you can view more details of the revision and view diffs of the code modified in that revision.
Revision #f56bd14 - Merge tag '3.1.2' into develop
Revision #193a13d - Merge branch 'release/3.1.2'
- bump 3.1.2 version
- [] add connection.listeners function to permit TypeORM compatibility
- [] Ensuring not importing file after pool.end() #239
- [] Improve error message when having set named parameter option and executing standard question mark command #238
- Merge tag '3.1.1' into develop
Download | Release Notes | Changelog |
Release date: 14 Jun 2021
For the highlights of this release, see the release notes.
The revision number links will take you to the revision's page on GitHub. On GitHub you can view more details of the revision and view diffs of the code modified in that revision.
Revision #519e4ab Merge branch 'release/2.5.4'
Revision #ba7cd72 [misc] travis test on node.js v16
version bump
[misc] dependency bump
[misc] test improvement for windows env
[] error initial text and sql
[] error initial text and sql
Update index.d.ts
Update index.d.ts
Update index.d.ts
#152
- new API that list options default value
misc - proxy test correction
authentication plugin failing doesn't always return an error
Use connector common test script
misc - correcting appveyor url
misc - correcting appveyor url
misc test correction for PAM with appveyor
misc test correction for PAM with appveyor
[] escape function incorrect use of 'this' #149
Merge tag '2.5.3' into develop
Download | Release Notes | Changelog |
Release date: 17 Feb 2022
For the highlights of this release, see the release notes.
The revision number links will take you to the revision's page on GitHub. On GitHub you can view more details of the revision and view diffs of the code modified in that revision.
Revision #42e503f bump 2.5.6
Revision #f0cd822 misc - test reliability improvement
misc - test reliability improvement
misc - update documentation with for-await-of use #189
misc - stored procedure tests async
misc - documentation improvement indicating that connection.release() is async
misc - correct character_set_client unexpect error parsing OK_Packet #177
misc - ensure test reliability
- change default connection timeout value to 1000ms
misc 20 Oct 2021- ensuring test stream close
- fix local infile file name validation for windows #183
Merge branch 'typescript_fix_missing_event' into develop
- fix missing event handler #186
Updating documentation and README examples using mostly async/await
adding 10.7 test to travis
Merge tag '2.5.5' into develop
Download | Release Notes | Changelog |
Release date: 13 May 2019
For the highlights of this release, see the release notes.
The revision number links will take you to the revision's page on GitHub. On GitHub you can view more details of the revision and view diffs of the code modified in that revision.
Revision #143c763 [misc] correcting non publication of typescript definition on npm adding last 2.0.4 missing pool options to typescript definition.
Revision #7a61dcc [misc] improving test reliability
Download | Release Notes | Changelog |
Release date: 25 Apr 2025
MariaDB Connector/Node.js 3.4.2 is a Stable (GA) release.
For an overview of MariaDB Connector/Node.js see the page
: Repeated named placeholders causes "Placeholder is not defined"
Download | Release Notes | Changelog |
Release date: 8 Jan 2020
MariaDB Connector/Node.js 2.1.5 is a Stable (GA) release.
For an overview of MariaDB Connector/Node.js see the page
Batch improvement
supporting array of parameters if only one parameter per query, not only array of array
supporting empty array for query without parameters
correction on licence tag: LGPL-2.1-or-later (was tag LGPL-2.1+ that is deprecated)
For a complete list of changes made in this release, with links to detailed information on each push, see the .
| | |
Release date: 19 Jun 2023
MariaDB Connector/Node.js 3.2.0 is a (GA) release.
For an overview of MariaDB Connector/Node.js see the page
| | |
Release date: 4 Feb 2019
MariaDB Connector/Node.js 2.2.0 is a (GA) release.
For an overview of MariaDB Connector/Node.js see the page
| | |
Release date: 19 Dec 2023
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.
Merge branch 'develop'
[misc] add missing change log
| | |
Release date: 16 Oct 2023
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.
- [misc] restrict capabilities to server capabilities
- Merge tag '3.2.2' into develop
| | |
Release date: 4 Dec 2020
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.
Merge branch 'release/2.5.2'
[misc] correcting CHANGELOG release date
| | |
Release date: 19 Nov 2019
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.
[] Pam authentication must permit to provide multiple passwords
[misc] adding other charset test
| | |
Release date: 13 Dec 2018
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.
- bump 2.0.2-rc tag
- [misc] add pool noControlAfterUse callback implementation
| | |
Release date: 17 Oct 2019
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.
- Merge branch 'develop'
- Bump 2.1.2
| | |
Release date: 17 Mar 2023
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.
Merge tag '3.1.1' into develop
Merge branch 'release/3.1.1'
| | |
Release date: 20 Oct 2021
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.
Merge branch 'release/2.5.5'
bump 2.5.5 version
An issue was discovered in the Connector/Node.js 3.4.3 release shortly after release and it has been replaced by Connector/Node.js 3.4.4. See the 3.4.4 for more details.
Release date: 2 Jul 2025
MariaDB Connector/Node.js 3.4.3 is a (GA) release.
| | |
Release date: 5 Jun 2024
MariaDB Connector/Node.js 3.3.1 is a (GA) release.
For an overview of MariaDB Connector/Node.js see the page
2025-04-01
Stable (GA)
2024-10-24
Stable (GA)
2021-06-30
Beta
2020-12-04
Stable (GA)
2020-10-26
Stable (GA)
2020-10-19
Stable (GA)
2019-09-06
Stable (GA)
2019-07-12
Stable (GA)
2018-11-15
Beta
2018-09-25
Alpha
Release Candidate (RC)
2025-07-25
Stable (GA)
2025-07-03
Stable (GA)
2025-07-02
Stable (GA)
2025-04-25
2024-09-18
Stable (GA)
2024-06-05
Stable (GA)
2024-03-21
Stable (GA)
2023-12-19
Stable (GA)
2023-10-16
Stable (GA)
2023-09-14
Stable (GA)
2023-06-19
2023-05-03
Stable (GA)
2023-03-17
Stable (GA)
2023-02-15
Stable (GA)
2022-10-27
Stable (GA)
2022-07-26
Stable (GA)
2022-03-01
Stable (GA)
2021-10-20
2022-02-17
Stable (GA)
2021-10-20
Stable (GA)
2012-06-14
Stable (GA)
2021-02-24
2020-07-23
Stable (GA)
2020-07-02
Stable (GA)
2020-05-26
Stable (GA)
2020-03-20
Stable (GA)
2020-03-20
Stable (GA)
2019-02-04
Stable (GA)
2020-01-08
Stable (GA)
2019-12-02
Stable (GA)
2019-12-19
Stable (GA)
2019-10-17
2019-05-13
Stable (GA)
2019-05-10
Stable (GA)
2019-01-31
Stable (GA)
2018-12-13
2018-07-19
Alpha
Stable (GA)
Stable (GA)
Release Candidate (RC)
Stable (GA)
Stable (GA)
Release Candidate (RC)
CONJS-105 Typecast provided date function erroneous parsing
CONJS-104 Pam authentication must permit to provide multiple passwords
dependencies update
importFile(options) → Promise
connection.importFile({file:'...', 'database': '...'}) → Promise
pool.importFile({file:'...', 'database': '...'}) → Promisepromise)
example:
CONJS-252 missing deprecated option supportBigNumbers and bigNumberStrings in Typescript
CONJS-254 ensuring option connectTimeout is respected : timeout is removed when socket is successfully established, in place of returning connection object. Wasn't set when using pipe/unix socket
CONJS-255 In some case, pipelining was use even option explicitly disable it
CONJS-256 method changeUser can lead to error when using multi-authentication and pipelining
All eventEmitters methods are not available on connections
SqlError sqlMessage property alias for text addition
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.
example:
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
For a complete list of changes made in this release, with links to detailed information on each push, see the changelog.
Revision #ac175ec [CONJS-207] Add support for connection redirection
Revision #f8ed899 Bump 3.2.3
Revision #c4a4eae [misc] makes one CI test with server ssl disabled
Revision #06a539d [misc] using common default servers test suite
Revision #f372e49 [misc] test stability improvement
Revision #79d8d15 [misc] precise LGPL-2.1-or-later, not just LGPL-2.1
Revision #debbbf5 [CONJS-272] Error doesn't always have parameters according to option logParam
Revision #014d738 [CONJS-274] permit disabling BULK insert for one batch
Revision #cdb1fbb [misc] help freeing memory in case of timeout
Revision #fd6cdde [misc] test correction
Revision #7c92f87 [misc] remove EOL servers
Revision #94aa563 [misc] remove EOL servers
Revision #316d77f [misc] documentation correction of insert id when multi insert #261
Revision #44aac6d [CONJS-273] Bulk insert error when last bunch of parameters is reaching max_allowed_packet #258
Revision #8a924c4 [misc] JSON test correction
Revision #af3e77e [misc] JSON test correction
Revision #7222551 [CONJS-271] wrong binary decoding of 00:00:00 TIME values #262
Revision #b0fad76 [misc] timeout test correction
Revision #25655d9 [misc] JSON test correction
Revision #6f0b66e Merge branch 'develop'
Revision #89cb720 [misc] ensure test stability depending on server supporting extended capabilities or not
Revision #f719487 [misc] remove skysql testing
Revision #5747331 [misc] test stability correction : debug size taking care of having 'set names utf8mb4' additional command
Revision #5f9320c [misc] test stability correction : connection attributes + maxscale sending session tracking info on handshake response makes handshake bigger
Revision #97dadcf [misc] test stability correction
Revision #e8b4b56 [misc] restrict capabilities to server capabilities
Revision #f2fff31 Merge tag '3.2.2' into develop
Revision #9aa48ab - Merge branch 'release/3.2.2'
Revision #7f013c5 - bump 3.2.2
Revision #9f57524 - [misc] coverage improvement
Revision #f1d1943 - [misc] coverage improvement
Revision #36e118f - [misc] ensure returning SqlError when Local infile error.
Revision #88704f5 - [misc] metadata performance improvement
Revision #64e3f0a - [misc] test coverage improvement
Revision #81318e9 - [CONJS-270] Always send connection attributes, even when connectAttributes is not set
Revision #9b1ba5d - [misc] ensure using IP in place of DNS when KILLING thread
Revision #8aa0397 - [misc] testing addition for old server without EOF deprecation
Revision #468148e - [misc] test coverage improvement
Revision #ceb69c2 - [misc] pool file error when not having file correction
Revision #95e18ab - [misc] updating test bionic node version node.js v16
Revision #60a3569 - [CONJS-269] correcting missing warning count parsing
Revision #7935411 - [misc] test improvement
Revision #2f3b4a2 - [misc] remove default node.js version
Revision #18aea07 - [CONJS-269] avoid useless "set names utf8mb4" on connection creation if not needed
Revision #9275245 - [misc] ensure correctness of escapeId #252
Revision #9e074f0 - [misc] test improvement
Revision #704ede6 - [CONJS-268] importFile method doesn't always throw error when imported commands fails #253
Revision #499dcc2 - [CONJS-267] Ensure that option collation with id > 255 are respected
Revision #867bc7e [misc] improve test for replication servers.
Revision #6bdde9f [misc] batch correction for SKYSQL
Revision #67f545c bump 2.5.2
Revision #7d015b5 [misc] correcting travis test user
Revision #b6938b0 Merge branch 'pr/141' into develop
Revision #bb29754 [misc] ensure test stability with slow env
Revision #83f0d51 [misc] ensure that connecting to database only if server has capability
Revision #41c981d Update developer guide
Revision #2e0f001 [CONJS-156] Ensure setting capability PLUGIN_AUTH only if server has it
Revision #14977f5 [misc] code style correction
Revision #66a32df [misc] code style correction
Revision #fc69120 [misc] improving test reliability for unix env.
Revision #7385d22 [misc] test correction since Node.js v15 change error for pipe.
Revision #6d6e069 [CONJS-155] Support for node.js 10.13-10.19
Revision #9f84323 [misc] travis MariaDB Cloud HA testing addition
Revision #e41b0ee [misc] travis MariaDB Cloud HA testing addition
Revision #1206ad0 [misc] dependency version update, style correction
Revision #f311a13 [CONJS-154] Timezone support correction and clarification
Revision #ffdb074 [CONJS-152] correction when enabling the permitLocalInfile option and initial commands
Revision #2028045 [misc] removing warning: please use IANA standard timezone format, since supported.
Revision #381f3c5 [misc] test correction, avoiding to reuse existing table
Revision #7035687 [misc] Improve documentation for removeNodeErrorCount (PoolCluster options)
Revision #f52f26b [CONJS-151] bulk batch error (parameter truncation) #137
Revision #fe214a0 [misc] ensure pipe test compatibility with all node.js version
Revision #f7fc592 Merge tag '2.5.1' into develop
Revision #bbbf20c [misc] better cluster error when pool is full
Revision #cd51c7f [CONJS-105] Typecast provided date function erroneous parsing
Revision #787c0ff [misc] code coverage improvement
Revision #a8d7265 [CONJS-106] properly escape boolean parameter false
Revision #2979778 [CONJS-107] Change user callback function not called when no option i… …
Revision #41f40a6 [misc] adding test for unknown collation
Revision #d01f164 [misc] sql message in error now display boolean false parameter properly …
Revision #17ed67c [misc] debug loggin coverage
Revision #0dbb55b [misc] logging function method improvement
Revision #da0c9a4 [misc] logging function method improvement
Revision #ba95356 [CONJS-108] typescript escape/escapeId definition
Revision #7eec156 [misc] changeUser changing collation only if collation option is correct
Revision #c85e020 [CONJS-109] Missing mysql only collation definition
Revision #df1e1ea bump 2.1.3 version
Revision #baf2f76 - [misc] new pool noControlAfterUse to permit having no connection validation when giving back connection to pool.
Revision #11f0a5b - [misc] bulk callback test implementation minor corrections : - doesn't send COM_STMT_CLOSE if socket has been interrupted - pool end wait for complete close
Revision #dee8739 - [misc] using travis npm rebuild
Revision #e612d84 - [misc] correcting test cases when logPackets is enable
Revision #47e48d9 - [misc] removing npm dependency
Revision #de2a082 - [misc] correcting batch callback to use MariaDB bulk when possible
Revision #1a4dad2 - [misc] correcting batch timezone option handling
Revision #8b91915 - [misc] adding connection options tests
Revision #09e2900 - [misc] use logPackets only when enable
Revision #8c655b5 - bump denque
Revision #9ad1e9d - update benchmark.js
Revision #851281e - [misc] double escape character in string parsing correction
Revision #a32fa24 - [misc] issues correction: - "_server_host" address connection attributes - rewrite batch error handling correction (too many parameters / or undefined) - bulk batch correction when using object with "toSqlString" function - bulk batch correcting null
gitrevn:parameter value handling - removed "mysql_clear_password" as default connection plugin, since deprecated - adding test coverage
Revision #2fdefcb - [misc] batch rewrite error correction when having no parameter
Revision #86b9ed3 - [misc] correcting batch error handling for filtered pool cluster. adding test coverage for batch error.
Revision #4257efa - [misc] Cluster better error message when not retrieving Connection from cluster. filtered cluster test addition + query error better handling
Revision #73aa059 - [misc] correcting warning test for mysql 8
Revision #4bf32b7 - [misc] adding unit test, bulk code cleaning
Revision #bdbd20b - [misc] test correction for better reliability
Revision #2827f78 - [misc] correcting timezone option parsing bulk date fractional part correction adding test for batch adding reset transaction test
Revision #0da1b0e - [misc] correcting timezone option parsing bulk date fractional part correction adding test for batch
Revision #a1b8b0c - [CONJS-102] expose library version to API
Revision #78a56de - feat: expose version
Revision #f15fb9c - node-types bump
Revision #53777a4 - [misc] README format update
Revision #35b19c3 - [misc] README format update
Revision #5355978 - [misc] updating SSL test for MySQL 5.7.28+ that now support TLSv1.2
Revision #cade556 - [CONJS-101] Pool Escape correction
Revision #33b19af - [misc] test escape improvement
Revision #e6c59e1 - [misc] README example improvement
Revision #d0f871d - [CONJS-99] Document best practice concerning escaping use
Revision #690e7d0 - [CONJS-101] Add Escape fonction API * escape for parameters * escape Identifier.
Revision #17cfdd1 - [misc] updating dependency
Revision #fa2d36c - [misc] changelog to right place
Revision #30a161a - [CONJS-99] Document best practice concerning credential use
Revision #3929da4 - [misc] Column definition object implementation change for better performance
Revision #d729a65 - [CONJS-98] Adding missing 'collation' option in Typescript definition
Revision #cf2da8a - Added Date to the union type for TypeCastResult
Revision #41f7c65 - [CONJS-97] Remove coverage comment on github pull request
Revision #217f14f - Merge branch 'master' into develop
Revision #016aac6 - node-types bump
Revision #bb7107c - Fleshed out the type definition for FieldInfo, for use in typeCast callbacks. Also removed an incorrect function definition for PoolCluster.add().
Revision #6fce0b0 - [CONJS-95] Pool idle maintainer wrong error logged
Revision #ed4bafc Bump 3.1.1 version
Revision #c016856 [CONJS-246] pool not listening to 'error' event might exit application on error #180
Revision #3205e6d [CONJS-245] batch not talking in account metaAsArray option when not using bulk
Revision #6679b94 [CONJS-245] batch failing when using bulk and metaAsArray #235
Revision #e9d9a00 [CONJS-244] correction for node.js 12 compatibility
Revision #57a10ad [CONJS-240] test correction
Revision #c541864 [CONJS-240] following up correction, emptying prepare statement cache on pool connection reset
Revision #7ad4ecf Merge branch 'master' into develop
Revision #0b6b64a Fix eslint warnings
Revision #0249ed2 Fix test-execute.js
Revision #3795538 [misc] xpand 6.1 testing
Revision #3488c84 Merge tag '3.1.0' into develop
Revision #acae4a2 [CONJS-175] Missing leakDetectionTimeout option in Typescript description #169
Revision #341189a [misc] correct changelog
Revision #c9f5302 [misc] test reliability improvement
Revision #46d3215 [misc] correct travis link
Revision #caf783c [CONJS-170] Pool.query/execute/batch(undefined) never release connection #163
Revision #677a465 [misc] pool test rewrite as promise
Revision #5aeb8cf Merge branch 'patch-1' into develop
Revision #aed4694 fix minor typo "JSON.stringfy" in promise-api.md
Revision #bb73aa9 [misc] travis correction
Revision #76d60e9 [misc] ensuring PR test suite runs correctly
Revision #016ef46 [CONJS-173] permitting providing null as a value without an array
Revision #f68ecb3 [misc] ensure testing on PR runs standard test
Revision #3374cbb [misc] documentation addition for non supported experimental ?? syntax
Revision #9c17990 [misc] ensure test reliability on windows
Revision #0a3a1cc Merge branch 'develop'
Revision #daeed54 [misc] ensure test reliability
Revision #2f97a35 [misc] ensure test reliability with maxscale/skysql ha
Revision #62037c8 Merge branch 'master' into develop
Revision #e49dfdf [misc] ensure PR travis test
Revision #2ef6c53 Merge tag '2.5.4' into develop
For an overview of MariaDB Connector/Node.js see the page
CONJS-309: Enhanced TypeScript support by adding mariadb/callback type definitions
CONJS-319: Resolved SSL identity verification issue where servername parameter wasn't being properly validated
CONJS-320: Fixed cluster filtering problems in query/execute operations when using the callback API
CONJS-321: Moved @types/geojson and @types/node packages to development dependencies for cleaner production builds
CONJS-288 A pool timeout error now returns connection timeout details
Connector does not permit passing a String object (≠ native string) parameter
const objVal = new String('myValue');
When using a prepared statement and explicitly disabling prepare cache using prepareCacheLength=0, the connector might not retrieve results anymore
Typescript is missing 'QueryOption' for the 'prepare' command
When using batch, javascript Date values that are not in the range 1970-01-01 00:00:01 - 2038-01-19 03:14:07 are saved as null
Download | Release Notes | Changelog |
Release date: 21 Mar 2024
MariaDB Connector/Node.js 3.3.0 is a Stable (GA) release.
For an overview of MariaDB Connector/Node.js see the page
In order to have SSL connections, there was 3 solutions:
Have server certificates generated with , configuration was then like ssl: true.
Configure connector with server certificate like:ssl: { ca: [ fs.readFileSync('server-cert.pem') ] }
disable certificate ssl verification (not secured!) like:ssl: { rejectUnauthorized: true }
Since (), enabling SSL is super easy, with simple configuration like:ssl: true, even if server has not configure ssl certificates. The connector doesn't need to know server certificate anymore, if password is not empty. This is part of mission , client validating ssl certificates using client password.
Previous use of connection.execute was executing PREPARE command first, read PREPARE response, then execute EXECUTE command and finally read EXECUTE response.
New implementation, when using MariaDB server 10.2+ and with pipelining option enable (default value) will execute PREPARE, execute EXECUTE, then only read PREPARE response and read EXECUTE response. This permit to avoid much of the network latency.
Benchmarking results using local database: (distant database would have even better result)
This improvement is for first execution of a specific query, since PREPARE is cached by default, second execution would only execute EXECUTE command
Improve query encoding and decoding performance
cannot connect to 11.3+ server with character-set-collations = utf8mb4=uca1400_ai_ci
using connection.importFile when connection is not connected to database result in error
Possible buffer overwrite when sending query bigger than 16M
error when using mysql_clear_test password authentication plugin
Download | Release Notes | Changelog |
Release date: 27 Oct 2022
MariaDB Connector/Node.js 3.0.2 is a Stable (GA) release.
For an overview of MariaDB Connector/Node.js see the page
Like queryStream, execute command can now be streamed as well for huge resultset, to avoid charging the whole resultset in memory. Example :
Metadata column name gets sporadic corrupted
Session timezone unset on connection re-use with connection pool
when throwing an error when using option leakDetectionTimeout, might result in throwing wrong error with Cannot read properties of null (reading 'leaked')
Download | Release Notes | Changelog |
Release date: 30 Jun 2021
MariaDB Connector/Node.js 3.0.0 is a Beta release.
Do not use beta releases in production!
For an overview of MariaDB Connector/Node.js see the page
Driver now permits using prepared statement. This methods are compatible with mysql2 with some differences:
permit streaming parameters
execute use by default a prepared cache that hasn't infinite length (option ‘prepareCacheLength’ with default to 256)
Implement new feature, skipping metadata when possible for better performance
New Connection methods:
: Prepares a query.
: Prepare and Executes a query.
Example:
Or directly :
If reusing query multiple time, this permits to perform better, specifically using . Performance comparison with mysql2 driver show up to 20% performance gain. More info will follow before GA release.
Default behaviour for decoding / datatype for 2.x version and mysql/mysql2 drivers return a javascript object. BIGINT / DECIMAL values might not be in the safe range, resulting in approximate results.
Since 3.x version, driver has reliable default, returning:
DECIMAL => javascript String
BIGINT => javascript object
For compatibility with the previous versions or mysql/mysql driver, 3 options have been added to return BIGINT/DECIMAL as Number, like previous defaults.
Previous options supportBigNumbers and bigNumberStrings still exist for compatibility, but are now deprecated.
Driver permit mapping the logs to an external logger. There is 3 caller functions:
network(string): called for each network exchange.
query(string): called for each commands
error(Error): called for each error.
if setting one function, function will be used for all loggers. (ie. logger: console.log === logger: { network: console.log, query: console.log, error: console.log})
Example:
For a complete list of changes made in this release, with links to detailed information on each push, see the .
Download | Release Notes | Changelog |
Release date: 19 Oct 2020
MariaDB Connector/Node.js 2.5.0 is a Stable (GA) release.
For an overview of MariaDB Connector/Node.js see the page
- permit setting socket keep alive (option keepAliveDelay)
- Array parameter escaping differ from mysql/mysql2
- Support ES2020 BigInt object (option supportBigInt)
New Options
is a breaking change. Queries that have a IN parameter with array parameters format change. previous format did not accept parenthesis :
now, format is
same than mysql/mysql2 drivers.
previous behaviour can be reverted setting option arrayParenthesis to true.
- batch rewrite error when packet reach maxAllowedPacket
- Using callback API, batch, avoid return error if connection not established
- TypeScript type ssl wrong definitions
For a complete list of changes made in this release, with links to detailed information on each push, see the .
Release date: 2 Jul 2025
For the highlights of this release, see the release notes.
The revision number links will take you to the revision's page on GitHub. On GitHub you can view more details of the revision and view diffs of the code modified in that revision.
Revision #831fd11 [misc] update CHANGELOG
Merge branch 'develop'
bump 3.4.3 version
[misc] correcting missing binding #315
[] add TypeScript callback API #298
[] cluster filter fails when using callback API
[] ensure identify validation with provided servername if set
[misc] correct scheduling
Merge branch 'ssl-identity-check' into develop
chore: move @types/geojson and @types/node to devDependencies Closes #309
[misc] documentation redirection to main MariaDB documentation
[misc] use docker registry of set
[misc] test stability improvement
[misc] test stability improvement
[misc] remove use of srv environment test in CI
[misc] remove use of srv environment test in CI
[misc] install dependencies
[misc] simplify common structure
[misc] Add SSL to CI servers
[misc] test stability
[misc] correct user suffix for CI
[misc] install dependencies
[misc] simplify common structure
[misc] Add SSL to CI servers
[misc] test stability
[misc] correct user suffix for CI
[misc] correct code coverage on CI
[misc] correct code coverage on CI
[misc] add github action
Update connection-options.md
Passing servername option to identity check
Fixing createSecureContext
Download | Release Notes | Changelog |
Release date: 18 Sep 2024
For the highlights of this release, see the release notes.
The revision number links will take you to the revision's page on GitHub. On GitHub you can view more details of the revision and view diffs of the code modified in that revision.
Revision #1a8c536 [misc] adding missing changelog issue
Revision #9086a6a bump version to 3.3.2
bump dependencies
[] TypeScript type definition file for SqlError constructor does not match actual constructor
[] ensure identity validation only when certificate validation was required
[misc] test stability addition
[] temporary disabling TLS identity validation until certificate automatic resolution
[misc] helping trace travis issue
Merge branch 'master' into develop
Mention the new NodeJS 20 "--env-file"
[] Typescript wrong named longlong in place of bigint
Merge branch 'biginttype' into develop
[] adding testing for typescript connection queryTimeout and query timeout options
Merge branch 'timeout_to_queryTimeout' into develop
[misc] ensure not using private properties with nestTables options
[misc] permit travis test stability with RC server version
fix ConnectionConfig typing, revert QueryConfig typing changes
fix the typing of timeout to queryTimeout in interface QueryConfig
Add missing BIGINT Type enum
Download | Release Notes | Changelog |
Release date: 14 Sep 2023
For the highlights of this release, see the release notes.
The revision number links will take you to the revision's page on GitHub. On GitHub you can view more details of the revision and view diffs of the code modified in that revision.
Revision #2b012a6 Merge tag '3.2.1' into develop
Revision #ab2774b Merge branch 'release/3.2.1'
bump 3.2.1
bump dependencies
Merge branch 'master' into develop
[misc] code style correction
[] Option infileStreamFactory addition for compatibility
[misc] correct travis environment
[misc] remove useless template literals
[misc] test stability improvement
[misc] test stability improvement
[misc] updating to jammy, permitting to correct docker issues with test suite
[] permit configuration of console warning message #249
[misc] maxscale testing improvement
[misc] update ES test from 23.07 to 23.08
[misc] update ES test from 23.06 to 23.07
[misc] adding mariadb server ES23.06 testing
[misc] adding mariadb server 11.1 testing
[misc] ensure maxscale test stability
[misc] temporary disable skysql testing as mandator
[] ensure respecting server collation when no charset/collation is set
[misc] ensure ssl test suite for all server version
[misc] ensure test suite for any max_allowed_packet server
[misc] benchmark fair comparison between text and binary
[] Binary result-set parsing performance improvement
[misc] test correction
[misc] test addition in order to test namedPlaceholders array parameters
[] TypeScript missing logParam connection option #247
[misc] setting copyright header
[misc] updating supported MariaDB servers in test suite
[misc] documentation correction for cluster load-balancing parameter
Download | Release Notes | Changelog |
Release date: 19 Jun 2023
For the highlights of this release, see the release notes.
The revision number links will take you to the revision's page on GitHub. On GitHub you can view more details of the revision and view diffs of the code modified in that revision.
Revision #bb5f90e - [CONJS-259] adding SqlError sqlMessage property alias for text
Revision #8ca7958 - Merge tag '3.2.0' into develop
- Merge branch 'release/3.2.0'
- bump 3.2.0
- [] All eventEmitters methods are not available on connections #244
- [misc] skysql2 test stability correction
- [misc] style correction
- [misc] test improvement
- [misc] test improvement
- [] ensuring importSql stability when using callback that permits using commands during execution
- [misc] skipping big sql import for xpand
- [misc] test correction
- [] permit to import sql file directly #242
- [misc] ensure using prettier/lint to all js files
- [] changeUser can lead to error when using multi-authentication and pipelining
- [misc] multi-authentication correction after
- [] correct pipeline use in some case even if pipeline option is not sent
- [] ensuring option connectTimeout is respected
- [] test correction for node.js 20 support
- [misc] correct wrong mysql RSA test
- [misc] adding node.js 20 to CI
- [] missing deprecated option supportBigNumbers and bigNumberStrings in Typescript #240
- [] permit Piping results with Streams when using callback implementation
- [] permit using undefined as parameter like null
- [misc] correct UTC timezone for auto timezone setting
- Merge tag '3.1.2' into develop
Download | Release Notes | Changelog |
Release date: 1 Mar 2022
For the highlights of this release, see the release notes.
The revision number links will take you to the revision's page on GitHub. On GitHub you can view more details of the revision and view diffs of the code modified in that revision.
Revision #42e503f bump 2.5.6
Revision #f0cd822 misc - test reliability improvement
misc - test reliability improvement
Merge branch 'develop' into maintenance/3.x
misc - test reliability improvement
misc - 2.5.6 correction merge
Merge branch 'develop' into maintenance/3.x
misc - update documentation with for-await-of use #189
misc - update maxscale test load local infile
misc - update maxscale test for 6.2.0
misc - update maxscale test for 6.2.0 add PAM test for maxscale (using dedicated port)
- consider BIT(1) as boolean option bitOneIsBoolean permit to disable that behavior for compatibility
misc - pool ensuring multi-request process order
misc - stored procedure tests async
misc - documentation improvement indicating that connection.release() is async
misc - set parser function once per result-set
misc - correct character_set_client unexpect error parsing OK_Packet #177
misc - ensure test reliability
- change default connection timeout value to 1000ms
misc - ensuring test stream close
- fix local infile file name validation for windows #183
misc - ensuring test stream close
- fix local infile file name validation for windows #183
Updating documentation and README examples using mostly async/await
Merge branch 'develop' into maintenance/3.x
Merge branch 'typescript_fix_missing_event' into develop
- fix missing event handler #186
Updating documentation and README examples using mostly async/await
adding 10.7 test to travis
Merge branch 'release/2.5.5'
Merge tag '2.5.5' into develop
bump 2.5.5 version
[] Missing leakDetectionTimeout option in Typescript description #169
[misc] correct changelog
[misc] test reliability improvement
[misc] correct travis link
Download | Release Notes | Changelog |
Release date: 24 Feb 2021
For the highlights of this release, see the release notes.
The revision number links will take you to the revision's page on GitHub. On GitHub you can view more details of the revision and view diffs of the code modified in that revision.
Revision #c70948f - Merge branch 'release/2.5.3'
Revision #5a29ea6 - Bump 2.5.3
- [misc] test correction
- [misc] test addition
- [misc] authentication plugin event multiple emit correction
- [misc] removing server eol version from test
- [misc] ensure proper test stability on unix if database not local
- [] Wrong definition for typescript PoolConnection.release #145
- [] test 10.6 server latest build
- Merge branch 'fix/143' into develop
- [misc] removing unnecessary failing retry
- Some BigInt Ref replace with String As per Conversation
- [] Batch error when setting maxAllowedPacket less than an insert parameter value
- More Ref Removed
- Converting ALL Bigint Ref
- Merge tag '2.5.2' into develop
Download | Release Notes | Changelog |
Release date: 4 Feb 2020
For the highlights of this release, see the release notes.
The revision number links will take you to the revision's page on GitHub. On GitHub you can view more details of the revision and view diffs of the code modified in that revision.
Revision #2811984 - bump 2.2.0 version
Revision #22cf7b0 - [misc] improving test reliability
- [] add query timeout implementation
- [] ensuring tests robustness
- [] permit giving values in sql object. example:
- [misc] bump dependencies
- [] permit fast-authentication with 'mysql_clear_password' authentication plugin.
- [] new option to detect Server version using a dedicated SELECT @@version
- [misc] correcting eslint warning on typescript tests
- [misc] correcting typescript import of @types/node to version >8
- [] test addition
- [] test addition
- Merge branch 'pull/97' into develop
- Fix missing Errors require.
- [misc] running windows tests with
- [misc] running tests with build version and 10.5.0 on windows
- [misc] correct appveyor link since moving to github mariadb-corporation
- [] tests fiability improvement + test correction for MySQL8.0 that nox completly disable loading local data
- [misc] removing test deprecated , since not available anymore
- [misc] removing test deprecated , since not available anymore
- [] Implement a pool leak detection
- [misc] test correction for MySQL 8.0 that now completely disable Loading local data
- [misc] correct codecov links
Download | Release Notes | Changelog |
Release date: 2 Jul 2020
For the highlights of this release, see the release notes.
The revision number links will take you to the revision's page on GitHub. On GitHub you can view more details of the revision and view diffs of the code modified in that revision.
Revision #38c49b1 Merge branch 'release/2.4.1'
Revision #f4e8ed5 [misc] set skysql test as allowed failure
Bump 2.4.1
[misc] test improvement for slow VM
[misc] update appveyor testing latest release. removing deprecated 5.5 version
Merge branch 'pull/118' into develop
[misc] improve test reliability
[] createConnection(string)` does not support URL-encoded credentials #115
[misc] test reliability improvement Docker use focal for and 10.4, and default to support TLS1.2 minimum version. TLSv1 and TLSv1.1 test are changed to take c ase of those changes.
[misc] correcting test for server that don't support TLSv1.1 anymore
[] pool.getConnection() might not timeout even with acquireTimeout set #116 Pool option acquireTimeout ensure that pool.getConnection() throw an error if there
is no available connection after this timeout is reached.
[misc] correcting ssl test for TLSv1 and +
[misc] correcting SSL test
[] set default value of option restoreNodeTimeout to 1000.
[] eslint correction
Support passing null values in array when doing queries
[] fix unstable resultset state when having 'duplicate field name' error #113
[misc] node.js 14 test skipping not compatible node-gyp
[misc] node.js 14 test addition
[misc] changelog update
Merge tag '2.4.0' into develop
Download | Release Notes | Changelog |
Release date: 26 May 2020
For the highlights of this release, see the release notes.
The revision number links will take you to the revision's page on GitHub. On GitHub, you can view more details of the revision and view diffs of the code modified in that revision.
Revision #69f12a1 - [misc] update README about node.js min version
Revision #2dd9748 - Merge branch 'pull/111' into develop
- [] typescript eslint correction
- [] typescript error when trying to use SqlError interface
- moment-timezone bump
- [misc] correcting MariaDB Cloud tests
- [misc] add MariaDB Cloud testing - style correction
- [misc] add MariaDB Cloud testing
- [] Duplication error now indicating option checkDuplicate.
- [] correcting SSL missing import
- [] Adding 'fast path' implementation: mysql packet usually never splits the header into multiple TCP packets
- [misc] benchmark configuration correction
- [] Support extension type format
- [misc] bump dependencies, prettier code, new version refactoring
- [misc] code style prettier correction
- [misc] update test for timeout
- Merge branch 'master' into develop
- [misc] correcting timeout test
- [] error when using multipleStatements with metaAsArray #106
- [misc] mysql 8 error detection correction
- [misc] timeout test correction
- [misc] removing 5.5 servers not available on Docker anymore
Download | Release Notes | Changelog |
Release date: 20 Mar 2020
For the highlights of this release, see the release notes.
The revision number links will take you to the revision's page on GitHub. On GitHub you can view more details of the revision and view diffs of the code modified in that revision.
Revision #b872226 Merge branch 'release/2.3.0'
Revision #25fcdcd [misc] test correction
bump 2.3.0 version
[] Resultset with same identifier skip data Now an error will be thrown.
[misc] correcting appveyor server version test
[] permit setting session query timeout per option
[misc] appveyor testing server version upgrade
[misc] better debug logging trace format
[] Force connection.escapeId to emit backtick #101
[] exporting SqlError class to permit instanceOf checks #100
[] adding test case to timezone: 'Z' issue #92
Merge branch 'pull/103' into develop
Merge branch 'master' into develop
[misc] correct ssl test
fix undefined localTz param closes #92
[] Connection.escapeId must always quote value
Download | Release Notes | Changelog |
Release date: 06 Sept. 2019
For the highlights of this release, see the release notes.
The revision number links will take you to the revision's page on GitHub. On GitHub, you can view more details of the revision and view diffs of the code modified in that revision.
Revision #24bc77b - [misc] adding changelog for 2.1.1
Revision #0c0df1a - [misc] test TLS minimum version changes in order to test old mysql server with Node.js 12
- [misc] small performance improvement to avoid testing debug each packet
- [misc] force test TLSv1.1 compatibility if Node.js 12 and MySQL before version 8.0
- [misc] correcting SSL test that now can use TLSv1.3 protocol for
- [misc] removing memory leak detection for node.js 12 until mem-watch compatibility
- [misc] removing node.js 6 from CI, ESLint 6 requiring 8 or newer
- [misc] CI testing replacing node.js v11 by supported LTS v12
- [misc] update dependencies to latest version
- [misc] code style correction
- [misc] type script correction for triple slash importation
- [misc] Node.js v12 require TLSv1.2 by default Correcting SSL test to permit TLSv1 and TLSv1.1 in case of windows server
- Merge branch 'pull/73' into develop
- Merge branch 'master' into develop
- [misc] benchmark init function using promise or callback implementation depending on benchmark
- Update package.json
- bump dependencies
- [misc] eslint code style correction
- Merge pull request #71 from kkx/fix/cluster-pool-ordered-selector
- [misc] documentation improvement for connection.reset(). Error now indicate that minimum version server is required.
- fix missing parameter for ordered selector
- Merge remote-tracking branch 'origin/master' into develop
- [misc] test correction for recent MySQL 8 that add a new error when plugin is unknown by client
- [misc] updating test for 10.4 possible default cipher and mysql non availability of TLSv1.2
- [misc] correcting indentation to follow lint rules.
- [misc] correcting test for mysql community before 8.0 version that doesn't support TLSv1.2
- [misc] adding 10.4 TLSv1.2 testing on windows
- [] azure CI install ubuntu from tar
- [misc] benchmark result charset correction
- [misc] correction callback documentation links and correct connection.batch return description
- [misc] documentation link correction
Download | Release Notes | Changelog |
Release date: 13 May 2019
MariaDB Connector/Node.js 2.0.5 is a Stable (GA) release.
For an overview of MariaDB Connector/Node.js see the page
[] permit set numeric parameter bigger than javascript 2^53-1 limitation
[] error when reading datetime data and timezone option is set
[] parse Query when receiving LOAD LOCAL INFILE, to prevent man in the middle attack
[] support named timezones and daylight savings time
New Options
This permits to set a minimum pool size, meaning that after a period of inactivity, the pool will decrease the inner number of connection to a minimum number of connections (defined with minimumIdle).
By default, connections not used after idleTimeout (default to 30 minutes) will be discarded, avoiding reaching server .
Pool handle connection creation automatically, with now some delayed after failing to establish a connection, to avoid using CPU unnecessary. Authentication error in pool have now a better handling.
For a complete list of changes made in this release, with links to detailed information on each push, see the .
Download | Release Notes | Changelog |
Release date: 8 Jan 2020
For the highlights of this release, see the release notes.
The revision number links will take you to the revision's page on GitHub. On GitHub you can view more details of the revision and view diffs of the code modified in that revision.
Revision #5af744f - bump 2.1.5 version
Revision #822e654 - [misc] correcting maxscale tests since upgrade to mocha 7.0.0
- [misc] updating dependencies version
- [misc] correcting travis new link
- [misc] typescript test correction
- [] Batch improvement : - Passing an empty array to batch throw an unexpected error - permit use of single array for query with single parameter
- [misc] update license expression in package.json
- [misc] change github links to mariadb-corporation
| | |
Release date: 26 Jul 2022
MariaDB Connector/Node.js 3.0.1 is a (GA) release.
For an overview of MariaDB Connector/Node.js see the page
| | |
Release date: 20 Oct 2021
MariaDB Connector/Node.js 3.0.0-rc is an release.
Do not use non-stable (non-GA) releases in production!
For an overview of MariaDB Connector/Node.js see the page
see for 3.0.0 content from previous version.
| | |
Release date: 27 Oct 2022
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.
[misc] code coverage correction
Merge branch 'release/3.0.2'
| | |
Release date: 31Jan 2019
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.
- Merge branch 'release/2.0.3'
- bump 2.0.3 version
| | |
Release date: 19 Oct 2020
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.
- Merge branch 'release/2.5.0'
- [misc] appveyor correction
const mariadb = require('mariadb');
mariadb.createConnection({host: 'mydb.com', user: 'myUser', password: ['myPwd', 'myAuthToken']})
.then(conn => {
...
})
.catch(err => {
...
});await conn.importFile({
file: '/tmp/someFile.sql',
database: 'myDb'
});//query that takes more than 20s
connection
.query({sql: 'information_schema.tables, information_schema.tables as t2', timeout: 100 })
.then(...)
.catch(err => {
// SQLError: (conn=2987, no: 1969, SQLState: 70100) Query execution was interrupted (max_statement_time exceeded)
// sql: select * from information_schema.columns as c1, information_schema.tables, information_schema.tables as t2 - parameters:[]
// at Object.module.exports.createError (C:\projets\mariadb-connector-nodejs.git\lib\misc\errors.js:55:10)
// at PacketNodeEncoded.readError (C:\projets\mariadb-connector-nodejs.git\lib\io\packet.js:510:19)
// at Query.readResponsePacket (C:\projets\mariadb-connector-nodejs.git\lib\cmd\resultset.js:46:28)
// at PacketInputStream.receivePacketBasic (C:\projets\mariadb-connector-nodejs.git\lib\io\packet-input-stream.js:104:9)
// at PacketInputStream.onData (C:\projets\mariadb-connector-nodejs.git\lib\io\packet-input-stream.js:160:20)
// at Socket.emit (events.js:210:5)
// at addChunk (_stream_readable.js:309:12)
// at readableAddChunk (_stream_readable.js:290:11)
// at Socket.Readable.push (_stream_readable.js:224:10)
// at TCP.onStreamRead (internal/stream_base_commons.js:182:23) {
// fatal: true,
// errno: 1969,
// sqlState: '70100',
// code: 'ER_STATEMENT_TIMEOUT'
// }
});CONJS-283 wrong decoding of binary unsigned MEDIUMINT
CONJS-285 DECIMAL field wrong decoding with deprecated option 'supportBigNumbers' set

CONJS-219 prepare cache was not limited to prepareCacheLength but can increase up to 2x the prepareCacheLength value, leading to possible ER_MAX_PREPARED_STMT_COUNT_REACHED
CONJS-228 improving prepare cache performance
CONJS-226 missing typescript metaAsArray option and documentation
CONJS-213 update error code with recent MariaDB server
CONJS-215 Executing after prepare close throw an undescriptive error
CONJS-221 option debugLen and logParam are not documented
CONJS-227 Allow setting idleTimeout to 0
CONJS-214 missing pool.closed typescript definition
CONJS-216 remove please-upgrade-node dependency
CONJS-224 missing typescript checkNumberRange option definition
CONJS-76 - Support MySQL sha256_password authentication
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 for data type. This ensures having expected value even for value > 2^53 (see 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 (use pool option idleTimeout for that). in ms
int
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
[CONJS-63] add type definitions for typescript
[CONJS-64] handle Error packet during resultset to permit query timeout with SET STATEMENT max_statement_time= FOR
[CONJS-66] SET datatype handling (returning array)
[CONJS-67] Changing user does not takes in account connector internal state (transaction status)
idleTimeout
Indicate idle time after which a pool connection is released. Value must be lower than . In seconds (0 means never release)
integer
1800
minimumIdle
Permit to set a minimum number of connection in pool. Recommendation is to use fixed pool, so not setting this value.
integer
set to connectionLimit value
Pool might return a common error ‘retrieve connection from pool timeout after XXXms’ in place of real error.[CONJS-200]
Trace option now works when using pool/cluster. It is recommended to activate the trace option in development Since driver is asynchronous, enabling this option to save initial stack when calling any driver methods. This allows having the caller method and line in the error stack, permitting error easy debugging. The problem is this error stack is created using Error.captureStackTrace that is very slow. To give an idea, this slows down by 10% a query like 'select * from mysql.user LIMIT 1', so not recommended in production. [CONJS-209]
Pool error description is improved indicating pool information, like [CONJS-208]:
node.js 18 supported [CONJS-197]
New option checkNumberRange. When used in conjunction of decimalAsNumber, insertIdAsNumber or bigIntAsNumber, if conversion to number is not exact, connector will throw an error. This permits easier compatibility with mysql/mysql2 and 2.x version driver version. [CONJS-198]
Performance enhancement for multi-rows resultset. Internal benchmarks show improved performance by 10% for a result-set of 1000 rows.[]
[CONJS-193] Wrong error returned "Cannot read properties of undefined… … (reading 'charset')" when error during handshake
[CONJS-194] Charset change using parameterized query fails with "Uncaught TypeError: opts.emit is not a function"
[CONJS-195] Error "cannot mix BigInt and other types" when parsing negative bigint
[CONJS-196] connection.close() is now really an alias or connection.release()
[] wrong return type for batch() on typescript
[] typecast geometry parsing error
[] support pre 4.1 error format for 'too many connection' error
[] encoding error for connection attributes when using changeUser with connection attributes
[] possible race condition on connection destroy when no other connection can be created
[] handle password array when using authentication plugin “pam_use_cleartext_plugin”
[] query hanging when using batch with option timeout in place of error thrown
For a complete list of changes made in this release, with links to detailed information on each push, see the changelog.
Before 3.0, implementation ensure connection state, at the cost of not handling backpressure well.
Streaming a resultset ensured the connection state before version 3.0, at the cost of not handling backpressure well. Since the goal of queryStream is to avoid the use of a large amount of memory, handling of backpressure has been optimized. If data handling takes some amount of time, the socket is paused to avoid the node socket buffer growing indefinitely. This has an impact on the use of function stream.pipeline as queryStream now needs to be closed explicitly to ensure that a connection is not in a wrong state ( unhandled rows in the socket buffer). Example
pool cluster option removeNodeErrorCount now default to infinity. This avoids having pool removed from cluster when a server temporarily fails.
pool option resetAfterUse now default to false. This permit avoids executing a command each time a connection is returned to pool.
The pool cluster option removeNodeErrorCount now defaults to infinity. This avoids that some pool is removed from the cluster when a server temporarily fails.
The pool option resetAfterUse now defaults to false. This avoids the execution of a COM_RESET each time a connection is returned to the pool.
stream
permits to set a function with parameter to set stream (since 3.0)
function
The option stream provides a way to execute a function with a callback parameter before each connection stream creation.
This can permit setting a SSH Tunnel for example:
[CONJS-125] Batch operations now support the returning clause (example command like insert into XXX values (?,?,?) returning id)
[CONJS-125] permit using batch with returning clause
[CONJS-170] Pool.query(undefined) never release connection
[CONJS-173] not permitting providing null as a value without an array
[] Update code to recent Ecma version
[] performance improvement for multi-line result-set
For a complete list of changes made in this release, with links to detailed information on each push, see the changelog.
Revision #5ad7a64 bump 3.0.2 version
Revision #452d278 [CONJS-222] permit streaming prepare statement result
Revision #ce0e775 [CONJS-228] improving prepare cache performance
Revision #ba4dcd0 Merge branch 'master' into release/3.0.2
Revision #8f75367 Allow setting idleTimeout to 0
Revision #a606ed1 [CONJS-226] add missing metaAsArray documentation and typescript option
Revision #97f735c [misc] ensure test reliability
Revision #5930cf3 Merge branch 'types-checknumberrange' into develop
Revision #dfb97ce [CONJS-219] prepare cache doesn't limit cache size to prepareCacheLength #207
Revision #b0ed213 add checkNumberRange type defs
Revision #e004ecd [misc] adding parenthesis test
Revision #dae96fc [misc] adding documentation for connection release #211
Revision #6bdb463 [CONJS-223] Metadata column name gets sporadic corrupted #215
Revision #cb0b7c4 [misc] merging #214
Revision #68896ea Merge branch 'patch-1' into develop
Revision #a922851 [misc] adding missing documentation about debugLen and logParam options
Revision #0c766d6 Update connection-options.md
Revision #5928a97 [misc] remove erroneous benchmark dependencies
Revision #94dbfe8 Merge branch 'master' into develop
Revision #9de27e4 [misc] MariaDB benchmark common test suite implementation
Revision #0bbe1b4 [CONJS-218] ensure Pam authentication when using pam_use_cleartext_plugin and multiple password
Revision #e8807e9 [CONJS-217] merge from 2.x
Revision #0f28491 Merge branch 'maintenance/2.x' into develop
Revision #378b501 [CONJS-217] MySQL caching_sha2_password never succeed using FAST AUTHENTICATION
Revision #b3a5f7f [misc] bump dependencies and version 3.0.2
Revision #029699f [misc] adding codecov configuration
Revision #aaef914 [CONJS-216] remove please-upgrade-node dependency
Revision #432051a [CONJS-215] Executing after prepare close throw a wrong error
Revision #7972f08 [CONJS-214] add missing pool.closed typescript definition
Revision #8c91a13 [misc] add code coverage
Revision #8e975c3 [misc] add typescript test coverage
Revision #c44640a [CONJS-199] return type for batch() is wrong on typescript #194
Revision #a7945b8 [misc] test stability improvement
Revision #23999e8 Merge branch 'maintenance/2.x' into develop
Revision #6059b08 [CONJS-211] pool reset test correction for mysql
Revision #8d911f1 [CONJS-211] pool reset initial command result
Revision #31ef3cb [CONJS-211] pool reset initial command result
Revision #4052118 [CONJS-213] code style correction
Revision #e281149 [CONJS-212] regression causing error "Cannot read properties of null (reading 'leaked')" #206
Revision #ba6d4b8 [misc] correcting benchmark description
Revision #5a20d55 [misc] improving changelog for 3.0.1 release
Revision #10c7660 [CONJS-213] update error codes with recent mariadb version
Revision #f8189f1 [CONJS-212] regression causing error "Cannot read properties of null (reading 'leaked')" #206
Revision #8bdbdd5 [misc] correcting benchmark description
Revision #ddb2080 - [CONJS-60] handling pipe error for stream
Revision #a601224 - [misc] connection code cleaning
Revision #2b2fd45 - [misc] debug console test better reliability
Revision #c4b110b - Merge remote-tracking branch 'origin/develop' into develop
Revision #b85206e - [misc] code cleaning
Revision #59fafd1 - [CONJS-59] pool doesn't throw access denied, but timeout error
Revision #e8c1fa4 - Merge pull request #39 from DRSDavidSoft/patch-1
Revision #345cf19 - typo
Revision #900e515 - [CONJS-55] throw an error when using incompatible connection options Correcting erroneous test case
Revision #59be6de - [CONJS-55] throw an error when using incompatible connection options Correcting erronous test case
Revision #f4cb727 - [CONJS-55] throw an error when using incompatible connection options
Revision #9dfaa9b - [misc] changing appveyor to use latest server release
Revision #7fd1e05 - [misc] improve pool tests
Revision #91d921f - Merge pull request #30 from knoxcard/patch-6
Revision #ac7f97f - Merge pull request #35 from victor0801x/gitignore-lock-file
Revision #54ca74a - add yarn.lock into gitigngore
Revision #c373078 - add package-lock.json into .gitignore
Revision #025a48a - ./benchmarks/benchs error logic
Revision #7173a43 - [misc] adding LGPL2.1+ license file
Revision #00c8c25 - [misc] ensuring timeout test that depend on setTimeout throttle
Revision #5e4acd5 - Merge tag '2.0.2-rc' into develop
Revision #c8c3684 - [CONJS-146] ensure commands are not issued until authentication flow has ended
Revision #9ea3394 - [CONJS-77] sha256/caching correction on empty password
Revision #8c70fa6 - [misc] appveyor correction
Revision #c3cd22f - bump 2.5.0 version
Revision #83d7178 - [misc] dependency bump
Revision #cd66370 - [misc] typescript missing option definition of 2.5 version
Revision #c2371b8 - [misc] update windows test to recent server
Revision #cc2e221 - [CONJS-77] sha256Password and caching_sha256_password authentication plugin implementation
Revision #ec2b430 - [CONJS-148] permit setting socket keep alive (option keepAliveDelay)
Revision #9c8706a - [CONJS-143] Array parameter escaping differ from mysql/mysql2
Revision #25a2d6a - [misc] updating test to use maxscale 2.5.4
Revision #bc786d6 - [CONJS-133] Support ES2020 BigInt object
Revision #70e24c7 - [misc] changing skySql test non mandatory
Revision #797d4c3 - [CONJS-146] Using callback API, batch, avoid return error if connection not established
Revision #ab5da1f - [misc] eslint format correction
Revision #7533811 - [CONJ-833] batch rewrite error when packet reach maxAllowedPacket #135
Revision #f17736c - Merge branch 'skysql' into develop
Revision #fdbbc4b - [CONJS-144] TypeScript type ssl wrong definitions #126
Revision #79865f4 - [misc] skysql testing
Revision #41d3926 - [misc] correcting travis-ci link
Revision #354c689 - [misc] correcting travis-ci link
Revision #cfcce3b - Merge remote-tracking branch 'origin/master' into develop
Revision #d51b1a3 - [misc] code style correction
Revision #0fce8ae - Merge tag '2.4.2' into develop
insertIdAsNumber
Whether the query should return last insert id from INSERT/UPDATE command as BigInt or Number. default return BigInt
boolean
false
decimalAsNumber
Whether the query should return decimal as Number. If enabled, this might return approximate values.
boolean
false
bigIntAsNumber
Whether the query should return BigInt data type as Number. If enabled, this might return approximate values.
boolean
false
Download | Release Notes | Changelog |
Release date: 2 Apr 2025
For the highlights of this release, see the release notes.
The revision number links will take you to the revision's page on GitHub. On GitHub you can view more details of the revision and view diffs of the code modified in that revision.
Revision #a752a1e bump 3.4.1 version
Revision #2e63f76 [misc] pool throwing first error of connection/reconnection loop, to avoid having minimal timeout of last try
[] parsec hash correction for "zero configuration ssl"
[misc] batch result correct behavior when not using bulk compare to using bulk
[misc] test stability improvement when testing with mysql
[misc] pool error ensuring to have cause when possible
[misc] maxAllowedPacket test correction
[misc] documenting batch fullResult option
[misc] correcting default testing port value
[misc] class small factorization and documentation
[misc] removing debug info logging in tests
[misc] ensuring data type corresponds to expected type
[misc] only set setKeepAlive with keepAliveInitialDelay when socket handle has already been set
[misc] documentation improvement (examples addition)
[misc] improve test proxy error detection
[misc] correct max_allowed_packet test
[misc] ensuring socketTimeout / queryTimeout value
[misc] batch test correction
[] avoid batch OOM when pipelining by processing items by batches of 1000.
[misc] pool testing correction
[misc] refactoring to simplify classes
[misc] test addition: creating pool from connection string
[] ensure compatibility with server not supporting detailed
[misc] ensure pool connection to be listed in active connection even during connection validation
[] ensure having error detail when test fails
[] permit returning all Bulk insert id's
[misc] documentation improvement
[] ensure respecting max_allowed_packet parameter
[] Support "zero configuration ssl" for parsec authentication
[] Bulk might return unexpected error "Cannot read properties of undefined (reading '0')" #299
[] ensure pool health validation won't throw any error when pool has still not connection
[] test addition
[] wrong data for result-set row of exactly 16M of data
[misc] pool default create size corresponding to expected pool size
[] Connection close alias for end function not in typescript definition #300
[] permit using question mark along with
[misc] documentation improvement
[] permit using question mark parameters even when using namedPlaceholders option - mysql2 compatibility #306
[] pool error message improvement when failing to create connection
Merge branch 'master' into develop
Check MaxScale version
[misc] removal of glibc-source in travis testing
[misc] removal of glibc-source in travis testing
[misc] Skip ephemeral cert tests older MaxScale versions correction
Skip ephemeral cert tests older MaxScale versions
Update MaxScale versions
[misc] Skip ephemeral cert tests older MaxScale versions correction
Skip ephemeral cert tests older MaxScale versions
Update MaxScale versions
[misc] bulk ending with "Got a packet bigger than 'max_allowed_packet' bytes" error #297
[misc] changing capability name EXTENDED_TYPE_INFO to EXTENDED_METADATA, in order to correspond to server and other connectors
Download | Release Notes | Changelog |
Release date: 21 Mar 2024
For the highlights of this release, see the release notes.
The revision number links will take you to the revision's page on GitHub. On GitHub you can view more details of the revision and view diffs of the code modified in that revision.
Revision #b65aca1 - [misc] changelog update
Revision #7ec5d09 - Merge branch 'master' into develop
- [] DECIMAL field wrong decoding with deprecated option 'supportBigNumbers' set
- [misc] improving test for better stability
- [misc] updating CHANGELOG missing correction
- [misc] avoid possible redirection loop
- [misc] add contribution list
- [misc] pool test correction
- [misc] pool initializationTimeout default to acquireTimeout in order to have connector error cause to be logged
- [misc] updating node.js minimum version to 14, since lru-cache dependencies required node.js 14
- [] pipelining PREPARE EXECUTE correction
- [misc] update README
- Merge branch 'develop'
- [misc] function correct naming
- [misc] stack trace not always return complete stack when using trace option
- [misc] test suite stability improvement
- [misc] various small corrections
- [misc] adding coverage test - PAM plugin with ssl
- [misc] test correction
- [] ensure testing PAM with clear_password_auth
- [] pipeline PREPARE and EXECUTE
- [misc] using static parameter encoder
- [misc] redirection test correction
- [] adding test case for wrong decoding of binary unsigned MEDIUMINT
- Merge branch 'patch-1' into develop
- Fix decoding unsigned MEDIUMINT in binary decoder
- Merge branch 'master' into develop
- Merge pull request #276
- [] cannot connect to 11.3+ server with character-set-collations = utf8mb4=uca1400_ai_ci
- Fix issue with mysql_clear_password
- [] faster datetime text encoding
- [] method parser faster search
- [misc] ensure test stability
- [misc] redirection test correction
- [misc] parsing performance improvement - part 2
- [misc] parsing performance improvement
- [misc] ssl test correction
- [misc] correct ssl test
- bump dependencies
- [misc] update copyright
- [] buffer overwrite correction
- [] multiple part query (query bigger than 16M) wrongly reuse send buffer #274
- [misc] code style correction
- Merge branch 'master' into develop
- [] TLS ephemeral certificate automatic implementation
- prepare for 3.3.0
- [misc] improving test stability
- [misc] correcting test for maxscale
- Merge branch 'develop'
- [misc] adding maxscale redirection test
- [misc] corrected test with hardcoded database
- [] using connection.importFile when connection is not connected to database result in error #266
| | |
Release date: 20 Oct 2021
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.
[] compatibility: support mysql2 stream option #173
| | |
Release date: 10 May 2019
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.
[misc] default timezone to 'local' - no conversion. 'auto' meaning requesting server timezone for auto configuration.
const prepare = await shareConn.prepare('SELECT * FROM mysql.user where host = ?');
const stream = prepare.executeStream(['localhost']);
try {
for await (const row of stream) {
console.log(row);
}
} catch (e) {
queryStream.close();
}
prepare.close();conn.query('SELECT * FROM arrayParam WHERE id = ? AND val IN ?', [1, ['b', 'c']]);conn.query('SELECT * FROM arrayParam WHERE id = ? AND val IN (?)', [1, ['b', 'c']]);const pool = mariadb.createPool({
host: 'mydb.com',
user: 'myUser',
connectionLimit: 5,
trace: true
});
await pool.query('wrong query');
/* will throw an error like :
SqlError: (conn=15868, no: 1064, SQLState: 42000) You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'wrong query' at line 1
sql: wrong query - parameters:[]
at Object.module.exports.createError (errors.js:57:10)
at ...
From event:
at Function._PARAM (\integration\test-pool.js:60:18)
at …
text: "You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'wrong query' at line 1",
sql: 'wrong query - parameters:[]',
fatal: false,
errno: 1064,
sqlState: '42000',
code: 'ER_PARSE_ERROR'
*/SqlError: (conn=-1, no: 45028, SQLState: HY000) retrieve connection from pool timeout after 200ms
(pool connections: active=1 idle=0 limit=1)
at Object.module.exports.createError
…const queryStream = connection.queryStream("SELECT * FROM mysql.user");
stream.pipeline(queryStream, transformStream, someWriterStream, (err) => { queryStream.close(); });const mariadb = require('mariadb');
const tunnel = require('tunnel-ssh');
const fs = require('fs');
const conn = await mariadb.createConnection({
user: 'dbuser',
password: 'dbpwd',
port: 27000,
stream: (cb) =>
tunnel(
{
// remote connection ssh info
username: 'sshuser',
host: '157.230.123.7',
port: 22,
privateKey: fs.readFileSync('./key.ppk'),
// database (here on ssh server)
dstHost: '127.0.0.1',
dstPort: 3306,
// local interface
localHost: '127.0.0.1',
localPort: 27000
},
cb
)
});const prepare = await conn.prepare('INSERT INTO mytable(id,val) VALUES (?,?)');
await prepare.execute([1, 'val1']);
prepare.close();await conn.execute('INSERT INTO mytable(id,val) VALUES (?,?)', [1, 'val1']);const mariadb = require('mariadb');
const winston = require('winston');
const logger = winston.createLogger({
level: 'info',
transports: [
// - Write all logs with level `error` and below to `error.log`
// - Write all logs with level `info` and below to `combined.log`
new winston.transports.Console({ filename: 'error.log', level: 'error' }),
new winston.transports.Console({ filename: 'combined.log' })
]
});
const pool = mariadb.createPool({
host: 'mydb.com',
user:'myUser',
password: 'myPwd',
logger: {
network: (msg) => logger.silly(msg),
query: (msg) => logger.info(msg),
error: (err) => logger.error(err),
}
});Revision #094aacf [CONJS-178] Update code to recent node.js version
Revision #47f1067 [CONJS-178] Update code to recent node.js version
Revision #f03b396 [CONJS-178] Update code to recent node.js version
Revision #a966f99 [misc] benchmark output result correction
Revision #d4d32b8 [CONJS-179] better pool option resetAfterUse default value
Revision #a55d2ba [CONJS-178] Update code to recent node.js version
Revision #9425d86 [CONJS-178] Update code to recent node.js version
Revision #adfb558 [misc] code style length change to 120
Revision #1da25cd [misc] Error code simplification + pool timeout handler simplification
Revision #edafd37 [misc] promise documentation improvement
Revision #30fa45a [CONJS-177] test correction for mysql
Revision #19a326f [CONJS-177] document retrieving stored procedure's output parameters #90
Revision #07bf592 [CONJS-175] Missing leakDetectionTimeout option in Typescript description #169
Revision #3f129dc [misc] correct changelog
Revision #4466b5f [misc] test reliability improvement
Revision #4b2d6fa [CONJS-170] Pool.query/execute/batch(undefined) never release connection
Revision #146584a [CONJS-176] Change Pool cluster default option removeNodeErrorCount value to Infinity
Revision #6c0b8b2 [misc] documentation link correction
Revision #30d917a [misc] Normalize all the line endings
Revision #d372512 [CONJS-125] permit using batch with returning clause
Revision #5c9bb63 Merge branch 'develop' into maintenance/3.x
Revision #bb73aa9 [misc] travis correction
Revision #76d60e9 [misc] ensuring PR test suite runs correctly
Revision #0f1529b [misc] ensuring PR test suite runs correctly
Revision #e8ebd16 [CONJS-173] permitting providing null as a value without an array
Revision #016ef46 [CONJS-173] permitting providing null as a value without an array
Revision #7f581de bump 3.0.1-rc version
Revision #cd8af36 [misc] benchmark commenting graph command
Revision #5f68898 [misc] benchmark improvement and update to recent version of mysql compatible drivers
Revision #2b91919 [misc] collation default setting improvement
Revision #e27cf2e [misc] benchmark addition: query using pool
Revision #9ce52f3 [CONJS-172] performance improvement. * using mutable Packet object to avoid creating a new Object for each packet. * set column data on creation, to avoid resolving data type parsing for each data. * BIGINT parsing improvement, avoiding parsing data as text * ensure using execute command option * using undefined in place of 'utf8' to parse String when using node.js, avoiding name resolution
Revision #170a399 [misc] ensure testing on PR runs standard test
Revision #7eb26bf [misc] documentation addition for non supported experimental ?? syntax
Revision #594592a [CONJS-168] correct stream backpressure
Revision #9c17990 [misc] ensure test reliability on windows
Revision #a9631a3 [misc] permit prettier fixing
Revision #be9d56a [misc] ensure test reliability
Revision #0a3a1cc Merge branch 'develop'
Revision #daeed54 [misc] ensure test reliability
Revision #2f97a35 [misc] ensure test reliability with maxscale/skysql ha
Revision #62037c8 Merge branch 'master' into develop
Revision #e49dfdf [misc] ensure PR travis test
Revision #7a1345b [misc] ensure PR travis test
Revision #2ef6c53 Merge tag '2.5.4' into develop
Revision #519e4ab Merge branch 'release/2.5.4'
Revision #ba7cd72 [misc] travis test on node.js v16
Revision #baf9679 [misc] build testing version correction
Revision #2168c8c [CONJS-62] server timezone auto-detection
Revision #3f52d4b [misc] travis testing retry
Revision #12e8896 [CONJS-70] ensure pool minimum connection when removing connection idle timeout
Revision #4eac074 [misc] adding timezone documentation description removing unused test message
Revision #707c345 [misc] correcting test in case of slow CPU host
Revision #ffc5250 [misc] correcting test in case of slow CPU host
Revision #8f1d5b6 [misc] testing against 10.4 latest build
Revision #5eabc1b [misc] correct test environment, using node.js version 11, since node-gyp has compatibility issue with 12 for now
Revision #c8d5f69 [CONJS-70] Pool improvement small rewrite for better separation in promise and call back implementation
Revision #cf12697 [CONJS-70] Pool improvement new options : - idleTimeout: Indicate idle time after which a pool connection is released. Value must be lower than @@wait_timeout. In seconds (0 means never release) - minimumIdle: Permit to set a minimum number of connection
gitrevj: in the pool.
Revision #ab95694 [CONJS-58] When LOAD LOCAL INFILE is enabled (by option permitLocalInfile) ensure that filename requested by server corresponds to initial query, avoiding issue with malicious server/proxy requesting local file using LOAD LOCAL INFILE protocol
Revision #46b562b [CONJS-62] Correcting MySQL 5.5 test for timezone support
Revision #caac855 [misc] changing test to node.js 11, since release 12.0.0 yesterday fails with node-gyp
Revision #d24c8ee [CONJS-62] Support named timezones and daylight savings time
Revision #49e8881 [CONJS-69] Permit set parameter Bigger than javascript 2^53-1 limitation
Revision #ac5f772 [CONJS-68] Error when reading datetimeValue and timezone is set
Revision #d3784bb [misc] windows name pipe test only if server pipe is enable
Revision #095bd5f [misc] test correction for database that doesn't support session_track_schema capabilities
Revision #8a9bcc3 [CONJS-67] Connection changeUser methods now change connector internal state
Revision #e2addee [misc] Appveyor repo based on archive to permit testing even if version change
Revision #711613b [misc] correct pipe test in case pipe is not enabled add null test for ENUM
Revision #32d91d7 [misc] Handle error packet during result-set for timed query (SET STATEMENT max_statement_time= FOR )
Revision #a7dcbc5 [misc] SET datatype return as Array
Revision #6c9e01b [misc] unix style end line to force same behaviour on windows and unix
Revision #34ab0a6 test linefeed for windows
Revision #dbd2f87 [CONJS-63] adding typescript type definitions
Revision #a16bd80 [misc] unix socket test correction
Revision #ee37463 [misc] implement prettier changing doublequote to simplequote
Revision #92b17d9 [misc] typecast option permitting getting geometry data
Revision #5b612fe [misc] correcting missing bulk option in documentation
Revision #e05bb8d [doc] correcting documentation header
Revision #0af7658 [doc] correcting documentation example
Revision #81181aa [misc] small perf improvement
Revision #0d0a200 [misc] removing useless use of variable
Revision #11e04ca [misc] small perf improvement test improvement for 10.3 new possible authentication error
Revision #c943571 [misc] prepared result-set read success correction when prepare result return no parameter and column metadata
Revision #e8374c9 [misc] removing useless condition improve tests for unix
| | |
Release date: 12 Jul 2019
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.
- bump 2.1.0 version
- [misc] correcting test for mysql compatibility
| | |
Release date: 12 Jul 2019
MariaDB Connector/Node.js 2.1.0 is a (GA) release.
For an overview of MariaDB Connector/Node.js see the page
| | |
Release date: 5 Jun 2024
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.
[misc] code style correction
bump 3.3.1
Revision #5601e0e - [CONJS-57] correcting multi-authentication in compress mode
Revision #e5401d0 - [misc] add test coverage (node.js non supported charset encoding)
Revision #bbd645d - [misc] lint correction
Revision #bdb4ac5 - [misc] maxscale wrong test correction
Revision #34e8b1b - [CONJS-89] Performance improvement on decoding string
Revision #76fb125 - [misc] maxscale testing 10 4 bases
Revision #b1bf56b - [misc] azure testing debian fix
Revision #2db8818 - [misc] testing base server 10.4
Revision #4d5d06a - [CONJS-88] updating documentation
Revision #dde49ec - [misc] charset script generation update to satisfy eslint
Revision #15c7057 - [misc] changed max line length to 100
Revision #b7e85bd - [misc] update error codes to 10.4
Revision #7199022 - [misc] ensure debug test stability
Revision #3b80dd7 - Merge branch 'pull/65' into develop
Revision #58eb876 - [MENT-29] changing tests containing passwords to satisfy possible password complexity requirement correcting azure windows server installation
Revision #628eb31 - [CONJS-19] adding possible default ed25519 authentication when changing user
Revision #0887be2 - Azure-pipelines server installation on Windows
Revision #5eb3847 - [CONJS-88] Charset collation option mismatch correction
Revision #2d06e2f - [CONJS-87] Array parameter automatic conversion
Revision #4d18c2b - [MENT-29] install any windows version
Revision #2381423 - [MENT-29] setting root user
Revision #49c57ed - [MENT-29] correcting windows installation
Revision #21c756f - [MENT-29] azure pipeline enterprise server test configuration
Revision #10958b3 - [CONJS-61] correcting removing expired test for mysql since doesn't have possibility to set expired user.
Revision #1c33d4c - [CONJS-61] removing expired test for mysql, since doesn't have possibility to set expired user.
Revision #4ed1737 - [CONJS-19] removing ed25519 authentication plugin from roadmap
Revision #ce0c57f - [CONJS-61] support connection with user having expired password. Connection is possible with user hacing expired password when enabling the option permitConnectionWhenExpired. Only possible oper
Revision #a tion in this case will be to change password ('SET PASSWORD=PASSWORD('XXX')') before issuing any other command.
Revision #464a7d9 - [CONJS-19] implement ed25519 authentication plugin authentication [CONJS-57] multiple alternative authentication methods for the same user
Revision #a7d0b6f - [misc] adding test coverage
Revision #6ca9467 - [misc] callback documentation link correction
Revision #082f8de - [misc] callback documentation correction
Revision #1741c17 - [CONJS-85] adding event test on callback pool cluster implementation
Revision #31a52b7 - [CONJS-85] Implement pool events according to mysql/mysql2 API
Revision #b722cc4 - Merge branch 'pull/61' into develop
Revision #bff05d3 - [misc] improving test stability
Revision #95f6068 - [CONJS-83] PoolCluster now emit 'remove' event supporting mysql API
Revision #800d83e - [CONJS-84] option restoreNodeTimeout is not respected when removeNodeErrorCount is set
Revision #cc80a55 - emit connection object on new connection
Revision #3eeba5e - [misc] benchmark change on promise-mysql, since 4.0.0 change behaviour on createPool (not returning pool object but promise)
Revision #0810521 - [misc] benchmark change on promise-mysql, since 4.0.0 change behaviour on createPool. (now return a promise, not pool object directly)
Revision #cc536de - Merge branch 'pull/56' into develop
Revision #28b4da2 - [CONJS-79] adding test case for non readable file
Revision #1b15320 - Merge branch 'master' into develop
Revision #4bf9a84 - [CONJS-73] Setting the time zone on the current IANA might cause an automatic recovery of the server.
Revision #1987c72 - [fix] Handle LOCAL INFILE read errors
Revision #f4ac97b - Merge branch 'master' into develop
Revision #df32c40 - [CONJS-75] Missing import dependencies for typeScript
Revision #4b7bbf5 - [CONJS-74] correction of Typecast FieldInfo.type datatype
Revision #9fc5d23 - [CONJS-73] Setting the time zone on the current IANA might cause an automatic recovery of the server.
[CONJS-19] Implement Ed25519 plugin
[CONJS-57] Multiple alternative authentication methods for the same user (MariaDB 10.4)
[CONJS-61] Permit handling expired password
[CONJS-85] Implement pool events according to mysql/mysql2 API
[] Array parameter automatic conversion
[] Performance improvement on decoding string
[] Charset collation option separation
[] Types definition must be string, not byte, when using the option typeCast
[] Missing import dependencies for typeScript
[] Read errors while processing LOCAL INFILE can cause a process crash
[] Add poolCluster 'remove' event
[] Option restoreNodeTimeout is not respected when removeNodeErrorCount is set
[] Setting the timezone to the current IANA might provoke the server's automatic retrieval
New Options
collation
(used in replacement of charset) Permit to define the collation used for connection. This will define the charset encoding used for exchanges with the database and define the order used when comparing strings. It's mainly used for micro-optimizations
string
UTF8MB4_UNICODE_CI
permitConnectionWhenExpired
Permit a user with an expired password to connect. Only possible operation in this case will be to change the password ('SET PASSWORD=PASSWORD('XXX')')
boolean
false
The option charset now corresponds to charset, still permitting collation for compatibility, but then a warning is thrown to the console.
Pools now emit events.
acquire
This event indicates that a connection has been acquired from pool.
connection
This event is emitted when a new connection is added to the pool. Has a connection object parameter
enqueue
This event is emitted when a command cannot be satisfied immediately by the pool and is queued.
release
This event is emitted when a connection is released back into the pool. Has a connection object parameter
Example:
Revision #e799888 [CONJS-293] batch with javascript date parameter not in TIMESTAMP range are saved as null #287
Revision #f6b9a18 [misc] avoid useless variables
Revision #a63d795 [misc] sending text parameter fast path, avoiding testing typeof value each time
Revision #39841b7 [misc] replace math.floor by ~ when possible for better performance
Revision #40eec18 [misc] avoid static use
Revision #9aa3e13 [misc] JSON parameter correction
Revision #35ce2dc [misc] command function now use JSON parameter
Revision #8d558c9 [CONJS-292] ensure String object parameter
Revision #b2f592b [misc] avoid unnecessary condition verification
Revision #b66a383 [misc] ensure possible future multi-catalog use
Revision #15198b9 [misc] execute performance improvement when lots of parameters And some micro improvement: Object.prototype.toString '[object Date]' for testing Date in place of costly instanceof
Revision #5de51bf [misc] micro perf change on number to string
Revision #11868e2 [misc] minor perf change
Revision #c09e77f [CONJS-291] performance reading column definition packet improvement
Revision #15d6676 [misc] binary number type faster check
Revision #a40a94b [misc] test correction for supporting MySQL 8.4
Revision #50aa5e3 [misc] ensure redirect empty value
Revision #9d3e35e [misc] add node.js 22 to test suite
Revision #343c469 [misc] adding pool toString() function
Revision #0167c18 [CONJS-290] possible ECONRESET when executing batch #281
Revision #cef85db [CONJS-289] connection possibly staying in hanging state after batch execution #281
Revision #7eba249 [misc] cleaning up test code, removing xpand and skysql code
Revision #5be0f20 [misc] ensure test stability
Revision #0f50b62 [misc] test addition
Revision #75d97f9 [CONJS-288] ensure pool timeout error give details #268
Revision #2cbeb34 [misc] avoid double-negative variable use correction
Revision #a2ce0fb Merge branch 'master' into develop
Revision #d0913b4 Add missing QueryOptions type to prepare function
Revision #3e589c7 [misc] avoid double-negative variable use
Revision #78dfc92 [misc] fix closing of prepared statements
Revision #2442249 [misc] check prepare cache is enabled before resetting it
Revision #b65aca1 [misc] changelog update
Download | Release Notes | Changelog |
Release date: 15 Feb 2023
For the highlights of this release, see the release notes.
The revision number links will take you to the revision's page on GitHub. On GitHub you can view more details of the revision and view diffs of the code modified in that revision.
Revision #3d3cdc6 Merge branch 'release/3.1.0'
Revision #982a6a1 [misc] changelog update
[] ensuring PREPARE state when caching
[] metaAsArray missing option in typescript description
[misc] benchmark initialization correction
[misc] update benchmark result for 3.1.0
[misc] bench label correction
[misc] test correction for windows
Merge tag '3.1.0' into develop
Merge branch 'release/3.1.0'
bump 3.1.0 version
[misc] benchmark update with recent version * benchmark charset option change * label correction
[misc] test correction
[misc] ensure pools ending active connections after a maximum of 10s after pool ends
[] ensure when using callback connection that pre-commands are executed first
[misc] test improvement
[] faster execution for known length packet
[misc] correcting place of prepare parser
[misc] ensuring disabling nagle algorithm setting option
[misc] faster Text Date encoder
[misc] avoid unnecessary array creation for multiple result-set with metaAsArray enabled
[msic] avoid unnecessary try catch when parsing OK_Packet + fast path for single result
[msic] avoid connection.addCommand returning unnecessary command object
[msic] avoid unnecessary binding wrapper
[] correct encoding lost and avoid buffer copying
[misc] test stability improvement
[] test stability improvement, when server doesn't have timezone entries filled
[] improve metadata parsing
[misc] remove deprecated use of Buffer.slice
[] Timezone option improvement
[misc] code correction: * correct documented method parameters * remove unused requirement * remove unused parameters
[misc] set testing limit to max_allowed_packet to 50M, to avoid suite running for hours
[misc] test correction
[misc] improve contribution guide
[misc] improve test reliability
Merge branch 'master' into develop
[misc] correcting cast documentation
[] binary TIME wrong decoding
[] allow to pass TypeScript generic type
Merge branch 'p-kuen_patch-1' into develop
Merge branch 'master' into develop
docs: update new default value of connectTimeout since v2.5.6
Merge branch 'master' into develop
Merge branch 'fix/modify-entries-method' into develop
[misc] small markdown correction
[misc] test correction for mysql that doesn't support sha256_password anymore
Allow to pass type to query function
[misc] test correction for mysql that doesn't support sha256_password anymore
Merge pull request #223
[misc] test correction for mysql that doesn't support sha256_password anymore
docs: reformat documentation of pool options
docs: reformat documentation of pool options
[misc] test correction
[misc] code style correction
[] killing connection when query are running fails
[] BULK command when reaching maximum packet size might be wrongly split
[misc] removing request SHA certificate since failing 5.7.40 / 8.0.31 without any reason
Modify unneeded Object.entries()
[misc] binary number read parsing small improvement
[misc] ensure prepare cache use counter
[misc] prepare parameter count correction
[misc] Date parameter identification using instanceof Date that is more performant than Object.prototype.toString.call(val) === '[object Date]'
[misc] avoid filling intermediary buffer when not required
[] avoid parsing PREPARE parameters meta. keeping only parameter number
[misc] avoid unnecessary parameters
[misc] adding test
[misc] fast path when TCP-IP packet contains multiple MySQL Packets
[] performance improvement, Column information name information being saved in a fit Buffer and avoid creating subpacket when not needed
[misc] BigInt literal
[misc] performance improvement for bigIntAsNumber option
[misc] add maxscale error lof when failing
[misc] benchmark name correction
[misc] result-set rows improvement, since at least one value
[] code style correction
[] performance issue when parsing lots of parameter
[misc] code style correction
Merge branch 'master' into develop
[misc] code coverage correction
merge 3.0.2 version
[] add missing metaAsArray documentation and typescript option
[] Make result set's meta property non-enumerable
Download | Release Notes | Changelog |
Release date: 26 Jul 2022
For the highlights of this release, see the release notes.
The revision number links will take you to the revision's page on GitHub. On GitHub you can view more details of the revision and view diffs of the code modified in that revision.
Revision #59da962 - [misc] improving changelog for 3.0.1 release
Revision #66dc988 - [misc] updating changelog for 3.0.1 release
- [misc] test suite correction for CS build version
- [] return type for batch() is wrong on typescript
- [misc] adding initial SQL command 'SET NAMES UTF8' for xpand until correction
- [misc] travis test adding suite
- [misc] adding MariaDB enterprise 10.4/10.5 to travis test suite
- [misc] correct travis benchmark run
- [] benchmark result update with recent driver version
- [misc] readme update
- [] benchmarks simplification
- [misc] test improvement
- [misc] test correction after commit 4232e617b325d23b0cd571434ee9987a398aeb82
- [] metadata parsing improvement
- [] initializing smaller buffer streaming sending buffer, in order to maximize use of node buffer pool
- [] avoiding buffer copy when receiving data when packet is contained in socket data
- [] multi-rows result-set performance improvement
- [misc] benchmark improvement - real pipelining test
- [misc] benchmark improvement
- [] small performance improvement
- [misc] connection correction after #a862d8dbf7d9727d34fe4bb4f75f0846102d6ea3
- [] 3.0 regression on release connection #195
- [] permitting Batch with trace when BULK is not supported
- [] trace option complete implementation
- [misc] correct README image links
- [misc] test proxy suspending remote correction
- [misc] test proxy correction
- [misc] test proxy improvement
- [misc] adding 10.8 and 10.9 build testing
- [misc] pool ending, ensuring connection creation are ended correctly
- [misc] various micro enhancement * pool: connection validation check isValid, correcting cases when a connection wasn't valid returning no response. * cluster: ensure that when option canRetry is enable to not loop eternally if pool doesn't have connection anymore cluster end promise really returns Promise when pools are closed * add test for cluster with one node only / or one node working only
- [] better pool error identification when leakDetectionTimeout is set
- [] better pool error identification
- [misc] ensure pool connection is released only once
- [misc] code coverage addition
- [misc] code coverage addition
- [] possible race condition on connection destroy when no other connection can be created
- [misc] test addition to ensure SSL when required will throw an error if server does not support SSL
- [misc] test addition to ensure SSL when required will throw an error if server does not support SSL
- [misc] remove forcing error on connection creation, server will throw error when expected.
- [misc] code coverage addition
- [] query hanging when using batch with option timeout in place of error thrown
- [] handle password array with server pam_use_cleartext_plugin
- [] encoding error when using changeUser with connection attributes
- [misc] adding test coverage
- [] better support for pre-4.1 error message format
- [misc] test correction
- [] typecast geometry parsing error
- [misc] add test coverage
- [misc] removing 10.2 EOL from travis
- [misc] travis testing correction for node.js 18
- [misc] changing travis test for node.js 18 to focal
- [] new option addition checkNumberRange to works with insertIdAsNumber/decimalAsNumber/bigIntAsNumber #201
- [] Improve pool connection error messaging
- Merge branch 'master' into develop
- [misc] small performance enhancement to handle active connection counter
- [] node.js 18 testing
- misc code style correction
- reporting leak message change #190
- Merge branch 'maintenance/2.x' into develop
- [] add test case to avoid regression #196
- fix "cannot mix BigInt and other types" error
- [] Charset change using parameterized query fails with "Uncaught TypeError: opts.emit is not a function"
- bump 3.0.1 version
- [] wrong error returned "Cannot read properties of undefined (reading 'charset')" when wrong handshake
- correct documentation link
- [] support xpand * handle TIMESTAMP type for xpand * support binary xpand 0000-00-00 00:00:00 values * Timestamp microsecond handling when using binary protocol
- docs: apply new default connectione timeout
- [misc] improving test reliability
- Merge branch 'master' into develop
- [misc] remove old node.js compatibility
- Merge tag '3.0.0-main' into develop
- Merge branch 'release/3.0.0-main'
- Update pool-base.js
- Update pool-base.js
pool.on('connection', (conn) => console.log(`connection ${conn.threadId} has been created in pool`);
PoolThis page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.