mssql 9.0.1 → 9.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE.md CHANGED
@@ -1,22 +1,22 @@
1
- MIT License
2
-
3
- Copyright (c) 2013-2018 Patrik Simek and contributors
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
22
-
1
+ MIT License
2
+
3
+ Copyright (c) 2013-2018 Patrik Simek and contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+
package/README.md CHANGED
@@ -437,7 +437,7 @@ Then the route uses the connection pool in the `app.locals` object:
437
437
  const sql = require('mssql');
438
438
 
439
439
  module.exports = function(req, res) {
440
- req.locals.db.query('SELECT TOP 10 * FROM table_name', function(err, recordset) {
440
+ req.app.locals.db.query('SELECT TOP 10 * FROM table_name', function(err, recordset) {
441
441
  if (err) {
442
442
  console.error(err)
443
443
  res.status(500).send('SERVER ERROR')
@@ -571,12 +571,36 @@ Complete list of pool options can be found [here](https://github.com/vincit/tarn
571
571
  In addition to configuration object there is an option to pass config as a connection string. Connection strings are supported.
572
572
 
573
573
  ##### Classic Connection String
574
+ ###### Standard configuration using tedious driver
574
575
 
575
576
  ```
576
577
  Server=localhost,1433;Database=database;User Id=username;Password=password;Encrypt=true
578
+ ```
579
+ ###### Standard configuration using msnodesqlv8 driver
580
+ ```
577
581
  Driver=msnodesqlv8;Server=(local)\INSTANCE;Database=database;UID=DOMAIN\username;PWD=password;Encrypt=true
578
582
  ```
579
583
 
584
+ ##### Azure Active Directory Authentication Connection String
585
+
586
+ Several types of Azure Authentication are supported:
587
+ ###### Authentication using Default Azure Credentials
588
+ ```
589
+ Server=*.database.windows.net;Database=database;Authentication=azure-active-directory-default;ClientID=clientid;Encrypt=true
590
+ ```
591
+ ###### Authentication using Active Directory Password
592
+ ```
593
+ Server=*.database.windows.net;Database=database;Authentication=azure-active-directory-password;User Id=username;Password=password;ClientID=clientid;TenantID=tenantid;Encrypt=true
594
+ ```
595
+ ###### Authentication using Access Token
596
+ ```
597
+ Server=*.database.windows.net;Database=database;Authentication=azure-active-directory-access-token;Token=token;Encrypt=true
598
+ ```
599
+ ###### Authentication using Service Principal
600
+ ```
601
+ Server=*.database.windows.net;Database=database;Authentication=azure-active-directory-service-principal-secret;ClientID=clientid;ClientSecret=clientsecret;TenantID=tenantid;Encrypt=true
602
+ ```
603
+
580
604
  ## Drivers
581
605
 
582
606
  ### Tedious
@@ -2097,4 +2121,4 @@ to create new connections or not
2097
2121
  [appveyor-url]: https://ci.appveyor.com/project/tediousjs/node-mssql
2098
2122
 
2099
2123
  [tedious-url]: https://www.npmjs.com/package/tedious
2100
- [msnodesqlv8-url]: https://www.npmjs.com/package/msnodesqlv8
2124
+ [msnodesqlv8-url]: https://www.npmjs.com/package/msnodesqlv8
package/bin/mssql CHANGED
File without changes
@@ -114,6 +114,9 @@ class ConnectionPool extends EventEmitter {
114
114
  case 'attachdbfilename':
115
115
  break
116
116
  case 'authentication':
117
+ Object.assign(config.authentication, {
118
+ type: value
119
+ })
117
120
  break
118
121
  case 'column encryption setting':
119
122
  break
@@ -133,6 +136,16 @@ class ConnectionPool extends EventEmitter {
133
136
  break
134
137
  case 'context connection':
135
138
  break
139
+ case 'client id':
140
+ Object.assign(config.authentication.options, {
141
+ clientId: value
142
+ })
143
+ break
144
+ case 'client secret':
145
+ Object.assign(config.authentication.options, {
146
+ clientSecret: value
147
+ })
148
+ break
136
149
  case 'current language':
137
150
  Object.assign(config.options, {
138
151
  language: value
@@ -222,6 +235,16 @@ class ConnectionPool extends EventEmitter {
222
235
  break
223
236
  case 'replication':
224
237
  break
238
+ case 'tenant id':
239
+ Object.assign(config.authentication.options, {
240
+ tenantId: value
241
+ })
242
+ break
243
+ case 'token':
244
+ Object.assign(config.authentication.options, {
245
+ token: value
246
+ })
247
+ break
225
248
  case 'transaction binding':
226
249
  Object.assign(config.options, {
227
250
  enableImplicitTransactions: value.toLowerCase() === 'implicit unbind'
@@ -278,7 +301,7 @@ class ConnectionPool extends EventEmitter {
278
301
  break
279
302
  }
280
303
  return config
281
- }, { options: {}, pool: {} })
304
+ }, { authentication: { options: {} }, options: {}, pool: {} })
282
305
  }
283
306
 
284
307
  /**
@@ -1,9 +1,9 @@
1
- 'use strict'
2
-
3
- module.exports = {
4
- READ_UNCOMMITTED: 0x01,
5
- READ_COMMITTED: 0x02,
6
- REPEATABLE_READ: 0x03,
7
- SERIALIZABLE: 0x04,
8
- SNAPSHOT: 0x05
9
- }
1
+ 'use strict'
2
+
3
+ module.exports = {
4
+ READ_UNCOMMITTED: 0x01,
5
+ READ_COMMITTED: 0x02,
6
+ REPEATABLE_READ: 0x03,
7
+ SERIALIZABLE: 0x04,
8
+ SNAPSHOT: 0x05
9
+ }
package/package.json CHANGED
@@ -21,7 +21,7 @@
21
21
  "azure",
22
22
  "node-mssql"
23
23
  ],
24
- "version": "9.0.1",
24
+ "version": "9.1.0",
25
25
  "main": "index.js",
26
26
  "repository": "github:tediousjs/node-mssql",
27
27
  "license": "MIT",
package/CHANGELOG.txt DELETED
@@ -1,675 +0,0 @@
1
- v9.0.1 (2022-08-18)
2
- -------------------
3
- [fix] fix regression in requestTimout option not accepting `0` as a value ([#1421](https://github.com/tediousjs/node-mssql/pull/1421))
4
-
5
- v9.0.0 (2022-08-10)
6
- -------------------
7
- [change] Upgrade tedious to v15 ([#1417](https://github.com/tediousjs/node-mssql/pull/1417))
8
- [removed] Removed NodeJS 10 & 12 support ([#1417](https://github.com/tediousjs/node-mssql/pull/1417))
9
-
10
- v8.1.4 (2022-08-18)
11
- -------------------
12
- [fix] fix regression in requestTimout option not accepting `0` as a value ([#1421](https://github.com/tediousjs/node-mssql/pull/1421))
13
-
14
- v8.1.3 (2022-08-08)
15
- -------------------
16
- [fix] requestTimeout correctly resolved ([#1398](https://github.com/tediousjs/node-mssql/pull/1398))
17
- [fix] Forcibly deny use of `useColumnNames` tedious config option that can be passed in the config object ([#1416](https://github.com/tediousjs/node-mssql/pull/1416))
18
-
19
- v8.1.2 (2022-05-27)
20
- -------------------
21
- [fix] quote identifiers in table constraint declaration ([#1397](https://github.com/tediousjs/node-mssql/pull/1397))
22
-
23
- v8.1.1 (2022-05-18)
24
- -------------------
25
- [fix] quote identifiers in table primary keys ([#1394](https://github.com/tediousjs/node-mssql/pull/1394))
26
-
27
- v8.1.0 (2022-04-06)
28
- -------------------
29
- [new] MSSQL CLI tool now accepts some options to allow overriding config file ((#1381](https://github.com/tediousjs/node-mssql/pull/1381))
30
- [fix] nodemsqlv8 driver tests working against Node 10 ([#1368](https://github.com/tediousjs/node-mssql/pull/1368))
31
-
32
- v8.0.2 (2022-02-07)
33
- -------------------
34
- Merge up missing fixes from v7.3.0
35
- [new] Transaction/PreparedStatements expose the config from their parent connection ([#1338](https://github.com/tediousjs/node-mssql/pull/1338))
36
- [fix] Fix inherited request configs from the pool. Specifically stream and arrayRowMode now inherit accurately from the connection config ([#1338](https://github.com/tediousjs/node-mssql/pull/1338))
37
-
38
- v8.0.1 (2022-01-30)
39
- -------------------
40
- Re-release of v8.0.0
41
-
42
- v8.0.0 (2022-01-30)
43
- -------------------
44
- [new] Add table.rows.clear() method to allow for chunking updates ([#1094](https://github.com/tediousjs/node-mssql/pull/1094))
45
- [new] Add valueHandler map to store callbacks that are used to process row values ([#1356](https://github.com/tediousjs/node-mssql/pull/1356))
46
- [change] msnodesqlv8 driver detects os platform and attempts to pick correct connections string for it ((#1318)[https://github.com/tediousjs/node-mssql/pull/1318])
47
- [change] Updated to latest Tedious 14 ((#1312)[https://github.com/tediousjs/node-mssql/pull/1312])
48
- [change] Errors for bad bulk load parameters have slightly different error messages ((#1318)[https://github.com/tediousjs/node-mssql/pull/1318])
49
- [change] Options provided to the driver via the config.options object will not be overridden with other values if set explicitly ((#1340)[https://github.com/tediousjs/node-mssql/pull/1340])
50
- [change] Duplicate column names will now be presented as an array even if the values are empty ((#1240)[https://github.com/tediousjs/node-mssql/pull/1240])
51
- [change] Update tarn pool dependency ((#1344)[https://github.com/tediousjs/node-mssql/pull/1344])
52
- [removed] Remove connection string parser helpers ((#1342)[https://github.com/tediousjs/node-mssql/pull/1342])
53
- [removed] Remove deprecated pool properties ((#1359)[https://github.com/tediousjs/node-mssql/pull/1359])
54
-
55
- v7.3.5 (2022-05-27)
56
- -------------------
57
- [fix] quote identifiers in table constraint declaration ([#1397](https://github.com/tediousjs/node-mssql/pull/1397))
58
-
59
- v7.3.4 (2022-05-18)
60
- -------------------
61
- [fix] msnodesqlv8.js file was missing from previous release
62
-
63
- v7.3.3 (2022-05-18)
64
- -------------------
65
- Duplicate tag
66
-
67
- v7.3.2 (2022-05-18)
68
- -------------------
69
- [fix] nodemsqlv8 driver tests working against Node 10 ([#1368](https://github.com/tediousjs/node-mssql/pull/1368))
70
- [fix] quote identifiers in table primary keys ([#1394](https://github.com/tediousjs/node-mssql/pull/1394))
71
-
72
- v7.3.1 (2022-02-24)
73
- -------------------
74
- [fix] Bump debug dependency ([#1361](https://github.com/tediousjs/node-mssql/pull/1361))
75
-
76
- v7.3.0 (2021-11-18)
77
- -------------------
78
- [new] Transaction/PreparedStatements expose the config from their parent connection ([#1338](https://github.com/tediousjs/node-mssql/pull/1338))
79
- [fix] Fix inherited request configs from the pool. Specifically stream and arrayRowMode now inherit accurately from the connection config ([#1338](https://github.com/tediousjs/node-mssql/pull/1338))
80
-
81
- v7.2.1 (2021-08-19)
82
- -------------------
83
- [fix] Fix issue with bulk insert of dates ((#1298)[https://github.com/tediousjs/node-mssql/pull/1298])
84
-
85
- v7.2.0 (2021-07-29)
86
- -------------------
87
- [new] Update Geography field parsing to provide lat/lng props from Geography Point ((#1282)[https://github.com/tediousjs/node-mssql/pull/1282])
88
- [fix] Handle errors when adding rows to bulk operations ((#1264)[https://github.com/tediousjs/node-mssql/pull/1264])
89
- [fix] Input/Output parameter passing fix for msnodesqlv8 driver ((#1275)[https://github.com/tediousjs/node-mssql/pull/1275])
90
-
91
- v7.1.3 (2021-06-11)
92
- -------------------
93
- [fix] Request timeout settings now respect value parsed from connection strings ((#1257)[https://github.com/tediousjs/node-mssql/pull/1257)
94
-
95
- v7.1.1 (2021-06-09)
96
- -------------------
97
- [fix] Errors from tedious connection creation now cause connection promise to reject ((#1254)[https://github.com/tediousjs/node-mssql/pull/1254])
98
- [fix] Encrypt and transaction binding settings now respect value parsed from connection strings ((#1252)[https://github.com/tediousjs/node-mssql/pull/1252)
99
-
100
- v7.1.0 (2021-05-13)
101
- -------------------
102
- [new] Add `parseJSON` support to query strings
103
- [fix] Bump various dependencies for security fixes
104
-
105
- v7.0.0 (2021-05-06)
106
- -------------------
107
- [new] Result sets with duplicate keys can now be handled using `request.arrayRowMode` ([#1130](https://github.com/tediousjs/node-mssql/pull/1130))
108
- [new] Requests in stream mode now emit a `rowsaffected` event ([#1213](https://github.com/tediousjs/node-mssql/pull/1213))
109
- [new] msnodesqlv8 driver now has detailed error support ([#1212](https://github.com/tediousjs/node-mssql/pull/1212))
110
- [new] Connection validation checks before releasing connections from the pool. This can be turned of via `validateConnection: false` config option ([#1192](https://github.com/tediousjs/node-mssql/pull/1192))
111
- [new] UseUTC is now supported on msnodesqlv8 connections ([#1222](https://github.com/tediousjs/node-mssql/pull/1222))
112
- [change] Updated to latest Tedious 11
113
- [change] Updated tarnjs to v3
114
- [change] Updated to support latest msnodesqlv8 v2 ([#1157](https://github.com/tediousjs/node-mssql/pull/1157))
115
- [change] Piped streams no longer have errors forwarded on to them ([#1028](https://github.com/tediousjs/node-mssql/pull/1028))
116
- [change] tedious config option `trustServerCertificate` defaults to `false` if not supplied ([#1030](https://github.com/tediousjs/node-mssql/pull/1030))
117
- [change] Request.pipe now pipes a true node stream for better support of backpressure ([#1078](https://github.com/tediousjs/node-mssql/pull/1078))
118
- [change] drop support for NodeJS < 10 ([#1070](https://github.com/tediousjs/node-mssql/pull/1070))
119
- [fix] Ensure line endings are unix style (LF)
120
- [fix] Avoid using deprecated `.inspect` on Objects ([#1071](https://github.com/tediousjs/node-mssql/pull/1071))
121
- [fix] Bump various dependencies for security fixes ([#1102](https://github.com/tediousjs/node-mssql/pull/1102))
122
- [fix] Trailing rows from request streams using msnodesqlv8 driver fail to be emitted ([#1109](https://github.com/tediousjs/node-mssql/pull/1109))
123
- [fix] Issue with geography v2 parsing resolve ([#1138](https://github.com/tediousjs/node-mssql/pull/1138))
124
- [fix] Connection config objects are now deep cloned when stored against a connection pool ([#1217](https://github.com/tediousjs/node-mssql/pull/1217))
125
- [removed] Support for connection uri format has been removed (eg: `mssql://user:password@host/?params=values`)
126
-
127
- v6.4.1 (2022-02-24)
128
- -------------------
129
- [fix] Bump debug dependency ([#1361](https://github.com/tediousjs/node-mssql/pull/1361))
130
-
131
- v6.4.0 (2021-11-18)
132
- -------------------
133
- [new] Transaction/PreparedStatements expose the config from their parent connection
134
- [fix] Fix inherited request configs from the pool. Specifically stream and arrayRowMode now inherit accurately from the connection config ([#1338](https://github.com/tediousjs/node-mssql/pull/1338))
135
-
136
- v6.3.2 (2021-05-13)
137
- -------------------
138
- [fix] Bump various dependencies for security fixes
139
-
140
- v6.3.1 (2021-01-01)
141
- -------------------
142
- [fix] Ensure line endings are unix style (LF)
143
-
144
- v6.3.0 (2020-12-14)
145
- -------------------
146
- [new] Result sets with duplicate keys can now be handled using `request.arrayRowMode` ([#1130](https://github.com/tediousjs/node-mssql/pull/1130))
147
- [fix] Issue with geography v2 parsing resolve ([#1138](https://github.com/tediousjs/node-mssql/pull/1138))
148
- [fix] Fixed issue where msnodesqlv8 could sometimes terminate queries before all errors has been emitted causing queries to hang ([#1145](https://github.com/tediousjs/node-mssql/pull/1145))
149
-
150
- v6.2.3 (2020-09-25)
151
- -------------------
152
- [fix] Remove reference to global pool on connection error ([#1107](https://github.com/tediousjs/node-mssql/pull/1107))
153
- [fix] Trailing rows from request streams using msnodesqlv8 driver fail to be emitted ([#1109](https://github.com/tediousjs/node-mssql/pull/1109))
154
-
155
- v6.2.2 (2020-09-18)
156
- -------------------
157
- [fix] Avoid using deprecated `.inspect` on Objects ([#1071](https://github.com/tediousjs/node-mssql/pull/1071))
158
- [fix] Bump various dependencies for security fixes ([#1102](https://github.com/tediousjs/node-mssql/pull/1102))
159
-
160
- v6.2.1 (2020-07-22)
161
- -------------------
162
- [fix] Bump various dependencies for security fixes
163
-
164
- v6.2.0 (2020-03-13)
165
- -------------------
166
- [new] Set default isolationLevel for all transactions ([#1005](https://github.com/tediousjs/node-mssql/pull/1005))
167
- [new] sql.Date now is coerced into a date object ([#1007](https://github.com/tediousjs/node-mssql/pull/1007))
168
- [fix] Bump acorn dependency for security fix
169
-
170
- v6.1.0 (2020-02-17)
171
- -------------------
172
- [new] Add `Request.template` helper for providing templated strings to queries ([#960](https://github.com/tediousjs/node-mssql/pull/960))
173
- [new] Repeat calls to `ConnectionPool.connect()` resolve ([#941](https://github.com/tediousjs/node-mssql/pull/941))
174
- [new] Stored procedure params are now logged to debug log ([#979](https://github.com/tediousjs/node-mssql/pull/979))
175
- [fix] Repeat calls to `mssql.connect()` will now resolve correctly ([#986](https://github.com/tediousjs/node-mssql/pull/986))
176
- [fix] Connections are encrypted by default as documented ([#977](https://github.com/tediousjs/node-mssql/pull/977))
177
- [fix] Tagged template literal queries with empty array values now work ([#990](https://github.com/tediousjs/node-mssql/pull/990))
178
-
179
- v6.0.1 (2019-11-15)
180
- -------------------
181
- [fix] Fix an issue with connection strings where usernames have url encoded values ([#945](https://github.com/tediousjs/node-mssql/pull/945)
182
-
183
- v6.0.0 (2019-11-05)
184
- -------------------
185
- [fix] Fixed bug when trying to bulk insert columns that were `NVarChar(MAX)` ([#901](https://github.com/tediousjs/node-mssql/pull/901))
186
- [fix] Fixed an issue where Object prototype pollution could cause errors ([#879](https://github.com/tediousjs/node-mssql/pull/879))
187
- [fix] Fixed an issue where Request.input didn't validate against 0 parameters being passed ([#885](https://github.com/tediousjs/node-mssql/pull/885))
188
- [new] Implement pause/resume for msnodesqlv8 driver ([#877](https://github.com/tediousjs/node-mssql/pull/877))
189
- [new] Added `healthy` flag to the pool to help determine if the pool is safe to use or not ([#816](https://github.com/tediousjs/node-mssql/pull/816))
190
- [new] Invalid isolation levels passed to transactions will now throw an error
191
- [new] Duplicate parameter names in queries/stored procedures will now throw an error
192
- [new] `replaceInput` and `replaceOutput` functions added to `Request` and `PreparedStatement` to facilitate replacing existing parameters
193
- [new] Calls to the global `connect` function will return the global connection if it exists
194
- [new] Bulk table inserts now attempt to coerce Date objects out of non Date values
195
- [change] Closing the global connection by reference will now cleanup the internally managed globalConnection
196
- [change] Upgraded tedious to v6 ([#818](https://github.com/tediousjs/node-mssql/pull/818) and [#933](https://github.com/tediousjs/node-mssql/pull/933))
197
- [change] Upgraded msnodesqlv8 support to v0.7 ([#877](https://github.com/tediousjs/node-mssql/pull/877))
198
- [change] Remove references to deprecated `TYPES.Null` from tedious
199
- [change] `options.encrypt` is now set to true by default
200
- [change] Upgraded `debug` dependency to v4
201
- [change] Config objects are cloned so that the original object is not modified
202
- [change] Replaced pool library (`generic-pool`) with `tarn.js` ([#808](https://github.com/tediousjs/node-mssql/pull/808))
203
- [removed] Backoff try strategy for creating connections removed, `tarn.js` built-in retry strategy used instead
204
-
205
- v5.1.5 (2021-05-13)
206
- -------------------
207
- [fix] Bump various dependencies for security fixes
208
-
209
- v5.1.4 (2021-01-01)
210
- -------------------
211
- [fix] Ensure line endings are unix style (LF)
212
-
213
- v5.1.3 (2020-09-18)
214
- -------------------
215
- [fix] Avoid using deprecated `.inspect` on Objects ([#1071](https://github.com/tediousjs/node-mssql/pull/1071))
216
- [fix] Bump various dependencies for security fixes ([#1102](https://github.com/tediousjs/node-mssql/pull/1102))
217
-
218
- v5.1.2 (2020-07-22)
219
- -------------------
220
- [fix] Bump various dependencies for security fixes
221
-
222
- v5.1.1 (2020-03-13)
223
- -------------------
224
- [fix] Bump acorn dependency for security fix
225
-
226
- v5.1.0 (2019-04-17)
227
- -------------------
228
- [new] Add readOnlyIntent to connection string parser ([#853](https://github.com/tediousjs/node-mssql/pull/853))
229
-
230
- v5.0.6 (2019-04-17)
231
- -------------------
232
- [fix] Ensure callbacks don't block the event loop by executing them with `setImmediate` ([#855](https://github.com/tediousjs/node-mssql/pull/855))
233
-
234
- v5.0.5 (2019-03-28)
235
- -------------------
236
- [fix] Fix an issue where connections that error can deplete the pool ([#842](https://github.com/tediousjs/node-mssql/pull/842))
237
-
238
- v5.0.4 (2019-03-27)
239
- -------------------
240
- [fix] Fix a bug where msnodesqlv8 driver could execute callbacks twice ([#834](https://github.com/tediousjs/node-mssql/pull/834))
241
- [fix] npm audit fix on vulnerable dependencies
242
-
243
- v5.0.3 (2019-03-13)
244
- -------------------
245
- [fix] Fix a bug with streamed requests that start paused ([#833](https://github.com/tediousjs/node-mssql/pull/833))
246
-
247
- v5.0.2 (2019-03-09)
248
- -------------------
249
- [change] Remove references to deprecated `TYPES.Null` from tedious
250
-
251
- v5.0.1 (2019-03-09)
252
- -------------------
253
- [change] Config objects are cloned so that the original object is not modified
254
-
255
- v5.0.0 (2019-03-07)
256
- -------------------
257
- [new] Added pause / resume feature to streamed requests ([#775](https://github.com/tediousjs/node-mssql/pull/775))
258
- [new] Added options argument to bulk requests for compatibility with tedious driver
259
- [new] Added a backoff retry strategy for failed connection creation to mitigate issue with `generic-pool` connection creation logic ([#806](https://github.com/tediousjs/node-mssql/pull/806)
260
- [change] Updated to latest Tedious 4.1.1
261
- [removed] Node.js < 6 is no longer supported
262
- [removed] Support dropped for deprecated tedious configuration values and types
263
-
264
- v4.3.9 (2020-07-22)
265
- -------------------
266
- [fix] Bump various dependencies for security fixes
267
-
268
- v4.3.8 (2020-03-13)
269
- -------------------
270
- [fix] Bump acorn dependency for security fix
271
-
272
- v4.3.7 (2019-03-29)
273
- -------------------
274
- [fix] Fix an issue where connections that error can deplete the pool ([#842](https://github.com/tediousjs/node-mssql/pull/842))
275
-
276
- v4.3.6 (2019-03-27)
277
- -------------------
278
- [fix] Fix a bug where msnodesqlv8 driver could execute callbacks twice ([#834](https://github.com/tediousjs/node-mssql/pull/834))
279
- [fix] Bump js-yaml dependency for security fix
280
-
281
- v4.3.5 (2019-03-09)
282
- -------------------
283
- [change] Remove references to deprecated `TYPES.Null` from tedious
284
-
285
- v4.3.4 (2019-03-09)
286
- -------------------
287
- [change] Config objects are cloned so that the original object is not modified
288
-
289
- v4.3.3 (2019-03-07)
290
- -------------------
291
- [change] Updated to latest generic-pool 3.6.1
292
-
293
- v4.3.0 (2018-11-20)
294
- -------------------
295
- [new] Add beforeConnect handler
296
- [change] Interpret connection timeout in seconds (not milliseconds)
297
-
298
- v4.2.3 (2018-11-03)
299
- -------------------
300
- [new] Add info event for execute function
301
- [fix] Fix JSON parsing with empty recordsets
302
- [new] Array / string literal template query preparation fixes
303
- [new] Passing encrypt option from mssql connection options to tedious options
304
- [change] Return the _poolDestroy promise before connecting again
305
-
306
- v4.2.2 (2018-10-17)
307
- -------------------
308
- [change] Updated to latest Tedious 2.7.1
309
-
310
- v4.2.1 (2018-08-05)
311
- -------------------
312
- [fix] Fix connections in the pool depleting due to unfulfilled Promises and timeouts
313
- [change] Updated to latest Tedious 2.6.4
314
-
315
- v4.2.0 (2018-07-05)
316
- -------------------
317
- [new] Added TVP support for msnodesqlv8 driver
318
- [new] Added support for information messages in msnodesqlv8 driver
319
- [new] Added support for request cancellation in msnodesqlv8 driver
320
- [fix] Fixed Tedious deprecation warnings
321
- [fix] Fixed ResourceRequest timed out error
322
- [fix] All query and batch methods now have the same interface
323
- [fix] Fixed msnodesqlv8 issue where the encrypt option was getting ignored
324
- [change] Updated to latest Tedious 2.3.1
325
-
326
- v4.1.0 (2017-09-29)
327
- -------------------
328
- [new] Adding support for the MultiSubnetFailover option in connection strings (Paul Kehrer)
329
- [new] Add request timeout support for msnodesqlv8 queries (Michael Parque)
330
- [fix] Fix type inference of non-integer numbers (Andrew Crites)
331
- [fix] Set acquireTimeout on generic pool (Karl Wiggisser)
332
-
333
- v4.0.4 (2017-04-25)
334
- -------------------
335
- [fix] Fix auto-closing of idle connections
336
-
337
- v4.0.3 (2017-04-25)
338
- -------------------
339
- [fix] Fixed broken CLI & debugging
340
-
341
- v4.0.2 (2017-04-19)
342
- -------------------
343
- [fix] Fixed broken JSON parser
344
-
345
- v4.0.1 (2017-04-02)
346
- -------------------
347
- [fix] Fixed stream in pipe mode
348
-
349
- v4.0.0 (2017-04-01)
350
- -------------------
351
- [new] Completly rewritten to ES6
352
- [new] Library is now compatible with Webpack
353
- [new] Library is ready for async/await
354
- [change] Removed support for < Node.js 4
355
- [change] Removed support for outdated node-tds and msnodesql drivers
356
- [change] Removed require('mssql/nofix') syntax
357
- [change] Removed verbose and debug mode
358
- [change] Removed 'driver' from options
359
- [change] Removed Transaction and Prepared Statement queues
360
- [change] Removed 'multiple' directive
361
- [change] Connection renamed to ConnectionPool
362
- [change] Updated to latest Tedious 2.0.0
363
-
364
- v3.3.0 (2016-05-06)
365
- -------------------
366
- [new] Added support for receiving informational messages
367
- [new] Added JSON support for msnodesql and msnodesqlv8 drivers
368
- [fix] Minor fixes in connection string parsing
369
-
370
- v3.2.1 (2016-04-16)
371
- -------------------
372
- [fix] Added PreparedStatement.lastRequest to access internal Request when using Promises
373
-
374
- v3.2.0 (2016-04-11)
375
- -------------------
376
- [new] Added experimental support for ES6 tagged template literals
377
- [new] Added support for Variant data type
378
- [change] Updated to latest Tedious 1.14.0
379
-
380
- v3.1.2 (2016-03-08)
381
- -------------------
382
- [fix] Correctly release connection after transaction error
383
-
384
- v3.1.1 (2016-02-21)
385
- -------------------
386
- [change] Minor internal changes because of connect-mssql module
387
-
388
- v3.1.0 (2016-02-13)
389
- -------------------
390
- [new] Added support for creating columns with primary keys in TVP Tables
391
-
392
- v3.0.1 (2016-02-04)
393
- -------------------
394
- [fix] Fix error causing app to crash when parsing json/xml from stored procedure
395
- [fix] Correctly check connection health after socket error
396
-
397
- v3.0.0 (2016-01-08)
398
- -------------------
399
- [new] Version bump because of breakinch change introduced in release 2.6
400
-
401
- v2.6.2 (2015-12-25) - unpublished from npm
402
- -------------------
403
- [new] Added support for receiving number of affected rows
404
- [new] Automatically concat chunks of FOR XML / FOR JSON recordset
405
- [fix] Correctly preserve domains
406
-
407
- v2.5.0 (2015-12-17)
408
- -------------------
409
- [new] Added support for new TDS driver msnodesqlv8
410
- [new] Support for configs formated as Connection String, Connection String URI
411
-
412
- v2.4.0 (2015-12-11)
413
- -------------------
414
- [new] Connection.connect, PreparedStatement.prepare and Transaction.begin now returns instance of itself as a first argument to Promise resolver.
415
- [fix] Correctly handle Socket Errors inside Requests (Jørgen Elgaard Larsen)
416
-
417
- v2.3.2 (2015-11-11)
418
- -------------------
419
- [change] Updated to latest Tedious 1.13.1
420
-
421
- v2.3.1 (2015-09-21)
422
- -------------------
423
- [fix] JSON fixes
424
-
425
- v2.3.0 (2015-09-20)
426
- -------------------
427
- [new] Experimental JSON support
428
-
429
- v2.2.1 (2015-09-19)
430
- -------------------
431
- [change] Updated to latest Tedious 1.12.3
432
- [fix] Promise not returns rowCount in bulk load (Ben Farr)
433
-
434
- v2.2.0 (2015-08-17)
435
- -------------------
436
- [new] Added column metadata identity, caseSensitive and readOnly (nino-porcino)
437
-
438
- v2.1.8 (2015-08-11)
439
- -------------------
440
- [change] Updated to latest Tedious 1.12.2
441
-
442
- v2.1.7 (2015-08-09)
443
- -------------------
444
- [change] Updated to latest Tedious 1.11.4
445
-
446
- v2.1.6 (2015-06-17)
447
- -------------------
448
- [change] Updated to latest Tedious 1.11.2
449
-
450
- v2.1.5 (2015-06-05)
451
- -------------------
452
- [fix] Correctly resolve database and schema name from table path.
453
-
454
- v2.1.4 (2015-06-05)
455
- -------------------
456
- [new] Better test coverage, automated integration tests.
457
- [fix] msnodesql: Manual transaction aborting.
458
- [fix] msnodesql: Tests.
459
-
460
- v2.1.3 (2015-05-03)
461
- -------------------
462
- [fix] msnodesql: Release connection to pool on query error (Farhan Khan)
463
-
464
- v2.1.2 (2015-03-28)
465
- -------------------
466
- [fix] Fix name parsing in Table constructor (David Mercer)
467
-
468
- v2.1.1 (2015-02-25)
469
- -------------------
470
- [fix] Fix Promise in Prepared Statement
471
-
472
- v2.1.0 (2015-02-20)
473
- -------------------
474
- [new] Detailed SQL errors
475
- [fix] Precise detection of column data types
476
-
477
- v2.0.0 (2015-02-17)
478
- -------------------
479
- [change] Updated to latest Tedious 1.10.0
480
- [new] Promises
481
- [new] Pipe request to object stream
482
- [new] Integrated type checks
483
- [new] CLI
484
- [fix] Transaction Abort Handling
485
- [fix] Allow rollback on transaction with queued requests
486
- [fix] Connection pool fixes
487
- [fix] Minor fixes
488
-
489
- v1.3.0 (2014-10-27)
490
- -------------------
491
- [change] Updated to latest Tedious 1.7.0
492
- [new] Tedious: Char and NChar types are now available as input parameters
493
-
494
- v1.2.1 (2014-10-07)
495
- -------------------
496
- [change] Updated to latest Tedious 1.5.3
497
-
498
- v1.2.0 (2014-08-26)
499
- -------------------
500
- [change] Updated to latest Tedious 1.4.0
501
- [new] Added support for bulk insert.
502
-
503
- v1.1.1 (2014-08-07)
504
- -------------------
505
- [new] Added column index to recordset metadata.
506
- [fix] Minor fixes in Tedious driver
507
-
508
- v1.1.0 (2014-07-13)
509
- -------------------
510
- [change] Updated to latest Tedious 1.1.0
511
- [new] Added support for domain logins (NTLM)
512
-
513
- v1.0.2 (2014-07-04)
514
- -------------------
515
- [new] Added support for input and output parameters in batch method.
516
- [new] Added checks for SQL injection in parameter names
517
-
518
- v1.0.1 (2014-07-04)
519
- -------------------
520
- [new] Added support for Streaming in Prepared Statements
521
-
522
- v1.0.0 (2014-07-04)
523
- -------------------
524
- [new] Start of semantic versioning, and commitment to stable API until 2.0.0
525
-
526
- v0.6.2 (2014-07-04)
527
- -------------------
528
- [new] Added batch() method to execute sql commands like "create procedure"
529
- [new] Cancel request in node-tds driver
530
- [fix] Fixed VarChar/NVarChar/VarBinary MAX in prepared statements
531
-
532
- v0.6.1 (2014-07-04)
533
- -------------------
534
- [change] TDS debugging simplified
535
-
536
- v0.6.0 (2014-07-03)
537
- -------------------
538
- [change] Updated to latest Tedious 1.0.0
539
- [new] Added support for Streaming
540
- [new] Added option to set request timeout (config.requestTimeout = 15000)
541
- [new] Errors documented
542
- [change] Connection timeout renamed from config.timeout to config.connectionTimeout
543
- [fix] Minor bug fixes
544
-
545
- v0.5.5 (2014-06-24)
546
- -------------------
547
- [fix] Failed login left open connection pool
548
-
549
- v0.5.4 (2014-06-15)
550
- -------------------
551
- [new] Multiple errors handling
552
-
553
- v0.5.3 (2014-04-04)
554
- -------------------
555
- [fix] Multiple recordsets in Prepared Statements
556
-
557
- v0.5.2 (2014-04-04)
558
- -------------------
559
- [new] Support for Prepared Statements
560
- [fix] Fixed order of output parameters
561
- [fix] Minor fixes in node-tds driver
562
-
563
- v0.5.1 (2014-04-01)
564
- -------------------
565
- [change] Updated to new Tedious 0.2.1
566
- [new] You can now easily setup type's length/scale (sql.VarChar(50))
567
- [new] Serialization of Geography and Geometry CLR types
568
- [new] Support for creating Table-Value Parameters (var tvp = new sql.Table())
569
- [new] Output parameters are now Input-Output and can handle initial value
570
- [new] Option to choose whether to pass/receive times in UTC or local time
571
- [new] Connecting to named instances simplified
572
- [change] Default SQL data type for JS String type is now NVarChar (was VarChar)
573
-
574
- v0.5.0 (2014-01-25)
575
- -------------------
576
- [new] You can now attach event listeners to Connection (connect, close), Transaction (begin, commit, rollback) and Request (row, recordset, done)
577
- [new] You can now set length of Char, NChar and Binary output parameters
578
- [new] You can now change default transaction isolation level
579
- [change] Errors are now splitted to three categories for better error handling - ConnectionError, TransactionError, ReqestError
580
- [new] Tedious: Binary and VarBinary types are now available as input and output parameters
581
- [new] Tedious: Image type is now available as input parameter
582
- [change] Tedious: Binary, VarBinary and Image types are now returned as buffer (was byte array)
583
- [change] Tedious: Transaction isolationLevel default is now READ_COMMITED (was READ_UNCOMMITED)
584
- [fix] Tedious: Fixed issue when zero value was casted as null when using BigInt as input parameter
585
- [fix] Tedious: Fixed issue when dates before 1900/01/01 in input parameters resulted in "Out of bounds" error
586
- [new] node-tds: UniqueIdentifier type in now available as input and output parameter
587
- [fix] node-tds: UniqueIdentifier type is now parsed correctly as string value (was buffer)
588
- [fix] node-tds: Text, NText, Char, NChar, VarChar and NVarChar input parameters has correct lengths
589
- [fix] node-tds: Fixed Error messages
590
- [fix] Msnodesql: Char, NChar, Xml, Text, NText and VarBinary types are now correctly functional as output parameters
591
-
592
- v0.4.5 (2014-01-23)
593
- -------------------
594
- [new] Added support for "co" flow controller via co-mssql module
595
-
596
- v0.4.4 (2014-01-22)
597
- -------------------
598
- [change] returnValue also accessible as property of recordsets
599
-
600
- v0.4.3 (2014-01-14)
601
- -------------------
602
- [fix] Even better network error handling in tedious
603
- [new] Module is compatible with Node.js 0.11
604
-
605
- v0.4.2 (2014-01-06)
606
- -------------------
607
- [new] Added connection timeout for node-tds
608
- [fix] Module now handle tedious network errors correctly
609
- [fix] Connection pool now destroy failed connections correctly
610
- [fix] Connection to instance name via tedious now works correctly
611
- [change] Option 'timeout' is now common option for all drivers (see documentation)
612
-
613
- v0.4.1 (2013-12-13)
614
- -------------------
615
- [fix] Filter empty recordsets when NOCOUNT is OFF
616
-
617
- v0.4.0 (2013-12-12)
618
- -------------------
619
- [new] Added support for transactions.
620
- [new] node-tds is now available as an optional TDS driver.
621
- [new] Documentation updated to CSDoc spec.
622
- [change] Tedious driver no longer use tedious-connection-pool for connection pooling
623
- [change] Msnodesql is now pooled
624
-
625
- v0.3.4 (2013-10-23)
626
- -------------------
627
- [new] Queries with input and output parameters.
628
-
629
- v0.3.3 (2013-10-23)
630
- -------------------
631
- [new] Test connection when tedious pool is created.
632
-
633
- v0.3.2 (2013-09-30)
634
- -------------------
635
- [new] Added support for multiple connections.
636
-
637
- v0.3.1 (2013-09-13)
638
- -------------------
639
- [fix] NaN values of input parameters are automatically converted to null.
640
-
641
- v0.3.0 (2013-09-08)
642
- -------------------
643
- [new] Documentation extended
644
- [new] Microsoft Driver for Node.js for SQL Server is now available as an optional TDS driver.
645
- [new] Metadata are now accesible trough recordset.columns property.
646
- [new] Support for multiple recordsets in query.
647
- [fix] SQL null values are now correctly casted as JS null.
648
- [change] Default SQL data type for JS Number is now sql.Int (was sql.BigInt).
649
-
650
- v0.2.5 (2013-09-05)
651
- -------------------
652
- [fix] Multiple columns with identical name in same recordset are now handled correctly.
653
-
654
- v0.2.4 (2013-08-15)
655
- -------------------
656
- [fix] Errors are now instance of Error.
657
- [fix] Empty recordsets fixed.
658
-
659
- v0.2.3 (2013-08-14)
660
- -------------------
661
- [new] Verbose mode for query.
662
-
663
- v0.2.2 (2013-08-11)
664
- -------------------
665
- [new] Verbose mode for stored procedure.
666
- [fix] Null values fixed.
667
-
668
- v0.2.0 (2013-08-10)
669
- -------------------
670
- [change] Project was renamed from xsp-mssql to node-mssql.
671
- [fix] Some minor bug fixes.
672
-
673
- v0.1.0 (2013-07-10)
674
- -------------------
675
- Initial release.