CHANGELOG.txt 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429
  1. v6.0.0 (2019-0?-??)
  2. -------------------
  3. [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))
  4. [new] Invalid isolation levels passed to transactions will now throw an error
  5. [new] Duplicate parameter names in queries/stored procedures will now throw an error
  6. [new] `replaceInput` and `replaceOutput` functions added to `Request` and `PreparedStatement` to facilitate replacing existing parameters
  7. [new] Calls to the global `connect` function will return the global connection if it exists
  8. [new] Bulk table inserts now attempt to coerce Date objects out of non Date values
  9. [change] Closing the global connection by reference will now cleanup the internally managed globalConnection
  10. [change] Upgraded tedious to v6 ([#818](https://github.com/tediousjs/node-mssql/pull/818))
  11. [change] Remove references to deprecated `TYPES.Null` from tedious
  12. [change] `options.encrypt` is now set to true by default
  13. [change] Upgraded `debug` dependency to v4
  14. [change] Config objects are cloned so that the original object is not modified
  15. [change] Replaced pool library (`generic-pool`) with `tarn.js` ([#808](https://github.com/tediousjs/node-mssql/pull/808))
  16. [removed] Backoff try strategy for creating connections removed, `tarn.js` built-in retry strategy used instead
  17. v5.0.2 (2019-03-09)
  18. -------------------
  19. [change] Remove references to deprecated `TYPES.Null` from tedious
  20. v5.0.1 (2019-03-09)
  21. -------------------
  22. [change] Config objects are cloned so that the original object is not modified
  23. v5.0.0 (2019-03-07)
  24. -------------------
  25. [new] Added pause / resume feature to streamed requests ([#775](https://github.com/tediousjs/node-mssql/pull/775))
  26. [new] Added options argument to bulk requests for compatibility with tedious driver
  27. [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)
  28. [change] Updated to latest Tedious 4.1.1
  29. [removed] Node.js < 6 is no longer supported
  30. [removed] Support dropped for deprecated tedious configuration values and types
  31. v4.3.5 (2019-03-09)
  32. -------------------
  33. [change] Remove references to deprecated `TYPES.Null` from tedious
  34. v4.3.4 (2019-03-09)
  35. -------------------
  36. [change] Config objects are cloned so that the original object is not modified
  37. v4.3.3 (2019-03-07)
  38. -------------------
  39. [change] Updated to latest generic-pool 3.6.1
  40. v4.3.0 (2018-11-20)
  41. -------------------
  42. [new] Add beforeConnect handler
  43. [change] Interpret connection timeout in seconds (not milliseconds)
  44. v4.2.3 (2018-11-03)
  45. -------------------
  46. [new] Add info event for execute function
  47. [fix] Fix JSON parsing with empty recordsets
  48. [new] Array / string literal template query preparation fixes
  49. [new] Passing encrypt option from mssql connection options to tedious options
  50. [change] Return the _poolDestroy promise before connecting again
  51. v4.2.2 (2018-10-17)
  52. -------------------
  53. [change] Updated to latest Tedious 2.7.1
  54. v4.2.1 (2018-08-05)
  55. -------------------
  56. [fix] Fix connections in the pool depleting due to unfulfilled Promises and timeouts
  57. [change] Updated to latest Tedious 2.6.4
  58. v4.2.0 (2018-07-05)
  59. -------------------
  60. [new] Added TVP support for msnodesqlv8 driver
  61. [new] Added support for information messages in msnodesqlv8 driver
  62. [new] Added support for request cancellation in msnodesqlv8 driver
  63. [fix] Fixed Tedious deprecation warnings
  64. [fix] Fixed ResourceRequest timed out error
  65. [fix] All query and batch methods now have the same interface
  66. [fix] Fixed msnodesqlv8 issue where the encrypt option was getting ignored
  67. [change] Updated to latest Tedious 2.3.1
  68. v4.1.0 (2017-09-29)
  69. -------------------
  70. [new] Adding support for the MultiSubnetFailover option in connection strings (Paul Kehrer)
  71. [new] Add request timeout support for msnodesqlv8 queries (Michael Parque)
  72. [fix] Fix type inference of non-integer numbers (Andrew Crites)
  73. [fix] Set acquireTimeout on generic pool (Karl Wiggisser)
  74. v4.0.4 (2017-04-25)
  75. -------------------
  76. [fix] Fix auto-closing of idle connections
  77. v4.0.3 (2017-04-25)
  78. -------------------
  79. [fix] Fixed broken CLI & debugging
  80. v4.0.2 (2017-04-19)
  81. -------------------
  82. [fix] Fixed broken JSON parser
  83. v4.0.1 (2017-04-02)
  84. -------------------
  85. [fix] Fixed stream in pipe mode
  86. v4.0.0 (2017-04-01)
  87. -------------------
  88. [new] Completly rewritten to ES6
  89. [new] Library is now compatible with Webpack
  90. [new] Library is ready for async/await
  91. [change] Removed support for < Node.js 4
  92. [change] Removed support for outdated node-tds and msnodesql drivers
  93. [change] Removed require('mssql/nofix') syntax
  94. [change] Removed verbose and debug mode
  95. [change] Removed 'driver' from options
  96. [change] Removed Transaction and Prepared Statement queues
  97. [change] Removed 'multiple' directive
  98. [change] Connection renamed to ConnectionPool
  99. [change] Updated to latest Tedious 2.0.0
  100. v3.3.0 (2016-05-06)
  101. -------------------
  102. [new] Added support for receiving informational messages
  103. [new] Added JSON support for msnodesql and msnodesqlv8 drivers
  104. [fix] Minor fixes in connection string parsing
  105. v3.2.1 (2016-04-16)
  106. -------------------
  107. [fix] Added PreparedStatement.lastRequest to access internal Request when using Promises
  108. v3.2.0 (2016-04-11)
  109. -------------------
  110. [new] Added experimental support for ES6 tagged template literals
  111. [new] Added support for Variant data type
  112. [change] Updated to latest Tedious 1.14.0
  113. v3.1.2 (2016-03-08)
  114. -------------------
  115. [fix] Correctly release connection after transaction error
  116. v3.1.1 (2016-02-21)
  117. -------------------
  118. [change] Minor internal changes because of connect-mssql module
  119. v3.1.0 (2016-02-13)
  120. -------------------
  121. [new] Added support for creating columns with primary keys in TVP Tables
  122. v3.0.1 (2016-02-04)
  123. -------------------
  124. [fix] Fix error causing app to crash when parsing json/xml from stored procedure
  125. [fix] Correctly check connection health after socket error
  126. v3.0.0 (2016-01-08)
  127. -------------------
  128. [new] Version bump because of breakinch change introduced in release 2.6
  129. v2.6.2 (2015-12-25) - unpublished from npm
  130. -------------------
  131. [new] Added support for receiving number of affected rows
  132. [new] Automatically concat chunks of FOR XML / FOR JSON recordset
  133. [fix] Correctly preserve domains
  134. v2.5.0 (2015-12-17)
  135. -------------------
  136. [new] Added support for new TDS driver msnodesqlv8
  137. [new] Support for configs formated as Connection String, Connection String URI
  138. v2.4.0 (2015-12-11)
  139. -------------------
  140. [new] Connection.connect, PreparedStatement.prepare and Transaction.begin now returns instance of itself as a first argument to Promise resolver.
  141. [fix] Correctly handle Socket Errors inside Requests (Jørgen Elgaard Larsen)
  142. v2.3.2 (2015-11-11)
  143. -------------------
  144. [change] Updated to latest Tedious 1.13.1
  145. v2.3.1 (2015-09-21)
  146. -------------------
  147. [fix] JSON fixes
  148. v2.3.0 (2015-09-20)
  149. -------------------
  150. [new] Experimental JSON support
  151. v2.2.1 (2015-09-19)
  152. -------------------
  153. [change] Updated to latest Tedious 1.12.3
  154. [fix] Promise not returns rowCount in bulk load (Ben Farr)
  155. v2.2.0 (2015-08-17)
  156. -------------------
  157. [new] Added column metadata identity, caseSensitive and readOnly (nino-porcino)
  158. v2.1.8 (2015-08-11)
  159. -------------------
  160. [change] Updated to latest Tedious 1.12.2
  161. v2.1.7 (2015-08-09)
  162. -------------------
  163. [change] Updated to latest Tedious 1.11.4
  164. v2.1.6 (2015-06-17)
  165. -------------------
  166. [change] Updated to latest Tedious 1.11.2
  167. v2.1.5 (2015-06-05)
  168. -------------------
  169. [fix] Correctly resolve database and schema name from table path.
  170. v2.1.4 (2015-06-05)
  171. -------------------
  172. [new] Better test coverage, automated integration tests.
  173. [fix] msnodesql: Manual transaction aborting.
  174. [fix] msnodesql: Tests.
  175. v2.1.3 (2015-05-03)
  176. -------------------
  177. [fix] msnodesql: Release connection to pool on query error (Farhan Khan)
  178. v2.1.2 (2015-03-28)
  179. -------------------
  180. [fix] Fix name parsing in Table constructor (David Mercer)
  181. v2.1.1 (2015-02-25)
  182. -------------------
  183. [fix] Fix Promise in Prepared Statement
  184. v2.1.0 (2015-02-20)
  185. -------------------
  186. [new] Detailed SQL errors
  187. [fix] Precise detection of column data types
  188. v2.0.0 (2015-02-17)
  189. -------------------
  190. [change] Updated to latest Tedious 1.10.0
  191. [new] Promises
  192. [new] Pipe request to object stream
  193. [new] Integrated type checks
  194. [new] CLI
  195. [fix] Transaction Abort Handling
  196. [fix] Allow rollback on transaction with queued requests
  197. [fix] Connection pool fixes
  198. [fix] Minor fixes
  199. v1.3.0 (2014-10-27)
  200. -------------------
  201. [change] Updated to latest Tedious 1.7.0
  202. [new] Tedious: Char and NChar types are now available as input parameters
  203. v1.2.1 (2014-10-07)
  204. -------------------
  205. [change] Updated to latest Tedious 1.5.3
  206. v1.2.0 (2014-08-26)
  207. -------------------
  208. [change] Updated to latest Tedious 1.4.0
  209. [new] Added support for bulk insert.
  210. v1.1.1 (2014-08-07)
  211. -------------------
  212. [new] Added column index to recordset metadata.
  213. [fix] Minor fixes in Tedious driver
  214. v1.1.0 (2014-07-13)
  215. -------------------
  216. [change] Updated to latest Tedious 1.1.0
  217. [new] Added support for domain logins (NTLM)
  218. v1.0.2 (2014-07-04)
  219. -------------------
  220. [new] Added support for input and output parameters in batch method.
  221. [new] Added checks for SQL injection in parameter names
  222. v1.0.1 (2014-07-04)
  223. -------------------
  224. [new] Added support for Streaming in Prepared Statements
  225. v1.0.0 (2014-07-04)
  226. -------------------
  227. [new] Start of semantic versioning, and commitment to stable API until 2.0.0
  228. v0.6.2 (2014-07-04)
  229. -------------------
  230. [new] Added batch() method to execute sql commands like "create procedure"
  231. [new] Cancel request in node-tds driver
  232. [fix] Fixed VarChar/NVarChar/VarBinary MAX in prepared statements
  233. v0.6.1 (2014-07-04)
  234. -------------------
  235. [change] TDS debugging simplified
  236. v0.6.0 (2014-07-03)
  237. -------------------
  238. [change] Updated to latest Tedious 1.0.0
  239. [new] Added support for Streaming
  240. [new] Added option to set request timeout (config.requestTimeout = 15000)
  241. [new] Errors documented
  242. [change] Connection timeout renamed from config.timeout to config.connectionTimeout
  243. [fix] Minor bug fixes
  244. v0.5.5 (2014-06-24)
  245. -------------------
  246. [fix] Failed login left open connection pool
  247. v0.5.4 (2014-06-15)
  248. -------------------
  249. [new] Multiple errors handling
  250. v0.5.3 (2014-04-04)
  251. -------------------
  252. [fix] Multiple recordsets in Prepared Statements
  253. v0.5.2 (2014-04-04)
  254. -------------------
  255. [new] Support for Prepared Statements
  256. [fix] Fixed order of output parameters
  257. [fix] Minor fixes in node-tds driver
  258. v0.5.1 (2014-04-01)
  259. -------------------
  260. [change] Updated to new Tedious 0.2.1
  261. [new] You can now easily setup type's length/scale (sql.VarChar(50))
  262. [new] Serialization of Geography and Geometry CLR types
  263. [new] Support for creating Table-Value Parameters (var tvp = new sql.Table())
  264. [new] Output parameters are now Input-Output and can handle initial value
  265. [new] Option to choose whether to pass/receive times in UTC or local time
  266. [new] Connecting to named instances simplified
  267. [change] Default SQL data type for JS String type is now NVarChar (was VarChar)
  268. v0.5.0 (2014-01-25)
  269. -------------------
  270. [new] You can now attach event listeners to Connection (connect, close), Transaction (begin, commit, rollback) and Request (row, recordset, done)
  271. [new] You can now set length of Char, NChar and Binary output parameters
  272. [new] You can now change default transaction isolation level
  273. [change] Errors are now splitted to three categories for better error handling - ConnectionError, TransactionError, ReqestError
  274. [new] Tedious: Binary and VarBinary types are now available as input and output parameters
  275. [new] Tedious: Image type is now available as input parameter
  276. [change] Tedious: Binary, VarBinary and Image types are now returned as buffer (was byte array)
  277. [change] Tedious: Transaction isolationLevel default is now READ_COMMITED (was READ_UNCOMMITED)
  278. [fix] Tedious: Fixed issue when zero value was casted as null when using BigInt as input parameter
  279. [fix] Tedious: Fixed issue when dates before 1900/01/01 in input parameters resulted in "Out of bounds" error
  280. [new] node-tds: UniqueIdentifier type in now available as input and output parameter
  281. [fix] node-tds: UniqueIdentifier type is now parsed correctly as string value (was buffer)
  282. [fix] node-tds: Text, NText, Char, NChar, VarChar and NVarChar input parameters has correct lengths
  283. [fix] node-tds: Fixed Error messages
  284. [fix] Msnodesql: Char, NChar, Xml, Text, NText and VarBinary types are now correctly functional as output parameters
  285. v0.4.5 (2014-01-23)
  286. -------------------
  287. [new] Added support for "co" flow controller via co-mssql module
  288. v0.4.4 (2014-01-22)
  289. -------------------
  290. [change] returnValue also accessible as property of recordsets
  291. v0.4.3 (2014-01-14)
  292. -------------------
  293. [fix] Even better network error handling in tedious
  294. [new] Module is compatible with Node.js 0.11
  295. v0.4.2 (2014-01-06)
  296. -------------------
  297. [new] Added connection timeout for node-tds
  298. [fix] Module now handle tedious network errors correctly
  299. [fix] Connection pool now destroy failed connections correctly
  300. [fix] Connection to instance name via tedious now works correctly
  301. [change] Option 'timeout' is now common option for all drivers (see documentation)
  302. v0.4.1 (2013-12-13)
  303. -------------------
  304. [fix] Filter empty recordsets when NOCOUNT is OFF
  305. v0.4.0 (2013-12-12)
  306. -------------------
  307. [new] Added support for transactions.
  308. [new] node-tds is now available as an optional TDS driver.
  309. [new] Documentation updated to CSDoc spec.
  310. [change] Tedious driver no longer use tedious-connection-pool for connection pooling
  311. [change] Msnodesql is now pooled
  312. v0.3.4 (2013-10-23)
  313. -------------------
  314. [new] Queries with input and output parameters.
  315. v0.3.3 (2013-10-23)
  316. -------------------
  317. [new] Test connection when tedious pool is created.
  318. v0.3.2 (2013-09-30)
  319. -------------------
  320. [new] Added support for multiple connections.
  321. v0.3.1 (2013-09-13)
  322. -------------------
  323. [fix] NaN values of input parameters are automatically converted to null.
  324. v0.3.0 (2013-09-08)
  325. -------------------
  326. [new] Documentation extended
  327. [new] Microsoft Driver for Node.js for SQL Server is now available as an optional TDS driver.
  328. [new] Metadata are now accesible trough recordset.columns property.
  329. [new] Support for multiple recordsets in query.
  330. [fix] SQL null values are now correctly casted as JS null.
  331. [change] Default SQL data type for JS Number is now sql.Int (was sql.BigInt).
  332. v0.2.5 (2013-09-05)
  333. -------------------
  334. [fix] Multiple columns with identical name in same recordset are now handled correctly.
  335. v0.2.4 (2013-08-15)
  336. -------------------
  337. [fix] Errors are now instance of Error.
  338. [fix] Empty recordsets fixed.
  339. v0.2.3 (2013-08-14)
  340. -------------------
  341. [new] Verbose mode for query.
  342. v0.2.2 (2013-08-11)
  343. -------------------
  344. [new] Verbose mode for stored procedure.
  345. [fix] Null values fixed.
  346. v0.2.0 (2013-08-10)
  347. -------------------
  348. [change] Project was renamed from xsp-mssql to node-mssql.
  349. [fix] Some minor bug fixes.
  350. v0.1.0 (2013-07-10)
  351. -------------------
  352. Initial release.