A Twitch.tv viewer reward and games system.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

193 lines
7.6 KiB

12 years ago
  1. # Changes
  2. This file is a manually maintained list of changes for each release. Feel free
  3. to add your changes here when sending pull requests. Also send corrections if
  4. you spot any mistakes.
  5. ## v2.0.0-alpha5 (2012-12-03)
  6. * Add mysql.escapeId to escape identifiers (closes #342)
  7. * Allow custom escaping mode (config.queryFormat)
  8. * Convert DATE columns to configured timezone instead of UTC (#332)
  9. * Convert LONGLONG and NEWDECIMAL to numbers (#333)
  10. * Fix Connection.escape() (fixes #330)
  11. * Changed Readme ambiguity about custom type cast fallback
  12. * Change typeCast to receive Connection instead of Connection.config.timezone
  13. * Fix drain event having useless err parameter
  14. * Add Connection.statistics() back from v0.9
  15. * Add Connection.ping() back from v0.9
  16. ## v2.0.0-alpha4 (2012-10-03)
  17. * Fix some OOB errors on resume()
  18. * Fix quick pause() / resume() usage
  19. * Properly parse host denied / similar errors
  20. * Add Connection.ChangeUser functionality
  21. * Make sure changeUser errors are fatal
  22. * Enable formatting nested arrays for bulk inserts
  23. * Add Connection.escape functionality
  24. * Renamed 'close' to 'end' event
  25. * Return parsed object instead of Buffer for GEOMETRY types
  26. * Allow nestTables inline (using a string instead of a boolean)
  27. * Check for ZEROFILL_FLAG and format number accordingly
  28. * Add timezone support (default: local)
  29. * Add custom typeCast functionality
  30. * Export mysql column types
  31. * Add connection flags functionality (#237)
  32. * Exports drain event when queue finishes processing (#272, #271, #306)
  33. ## v2.0.0-alpha3 (2012-06-12)
  34. * Implement support for `LOAD DATA LOCAL INFILE` queries (#182).
  35. * Support OLD\_PASSWORD() accounts like 0.9.x did. You should still upgrade any
  36. user accounts in your your MySQL user table that has short (16 byte) Password
  37. values. Connecting to those accounts is not secure. (#204)
  38. * Ignore function values when escaping objects, allows to use RowDataPacket
  39. objects as query arguments. (Alex Gorbatchev, #213)
  40. * Handle initial error packets from server such as `ER_HOST_NOT_PRIVILEGED`.
  41. * Treat `utf8\_bin` as a String, not Buffer. (#214)
  42. * Handle empty strings in first row column value. (#222)
  43. * Honor Connection#nestTables setting for queries. (#221)
  44. * Remove `CLIENT_INTERACTIVE` flag from config. Improves #225.
  45. * Improve docs for connections settings.
  46. * Implement url string support for Connection configs.
  47. ## v2.0.0-alpha2 (2012-05-31)
  48. * Specify escaping before for NaN / Infinity (they are as unquoted constants).
  49. * Support for unix domain socket connections (use: {socketPath: '...'}).
  50. * Fix type casting for NULL values for Date/Number fields
  51. * Add `fields` argument to `query()` as well as `'fields'` event. This is
  52. similar to what was available in 0.9.x.
  53. * Support connecting to the sphinx searchd daemon as well as MariaDB (#199).
  54. * Implement long stack trace support, will be removed / disabled if the node
  55. core ever supports it natively.
  56. * Implement `nestTables` option for queries, allows fetching JOIN result sets
  57. with overlapping column names.
  58. * Fix ? placeholder mechanism for values containing '?' characters (#205).
  59. * Detect when `connect()` is called more than once on a connection and provide
  60. the user with a good error message for it (#204).
  61. * Switch to `UTF8_GENERAL_CI` (previously `UTF8_UNICODE_CI`) as the default
  62. charset for all connections to avoid strange MySQL performance issues (#200),
  63. and also make the charset user configurable.
  64. * Fix BLOB type casting for `TINY_BLOG`, `MEDIUM_BLOB` and `LONG_BLOB`.
  65. * Add support for sending and receiving large (> 16 MB) packets.
  66. ## v2.0.0-alpha (2012-05-15)
  67. This release is a rewrite. You should carefully test your application after
  68. upgrading to avoid problems. This release features many improvements, most
  69. importantly:
  70. * ~5x faster than v0.9.x for parsing query results
  71. * Support for pause() / resume() (for streaming rows)
  72. * Support for multiple statement queries
  73. * Support for stored procedures
  74. * Support for transactions
  75. * Support for binary columns (as blobs)
  76. * Consistent & well documented error handling
  77. * A new Connection class that has well defined semantics (unlike the old Client class).
  78. * Convenient escaping of objects / arrays that allows for simpler query construction
  79. * A significantly simpler code base
  80. * Many bug fixes & other small improvements (Closed 62 out of 66 GitHub issues)
  81. Below are a few notes on the upgrade process itself:
  82. The first thing you will run into is that the old `Client` class is gone and
  83. has been replaced with a less ambitious `Connection` class. So instead of
  84. `mysql.createClient()`, you now have to:
  85. ```js
  86. var mysql = require('mysql');
  87. var connection = mysql.createConnection({
  88. host : 'localhost',
  89. user : 'me',
  90. password : 'secret',
  91. });
  92. connection.query('SELECT 1', function(err, rows) {
  93. if (err) throw err;
  94. console.log('Query result: ', rows);
  95. });
  96. connection.end();
  97. ```
  98. The new `Connection` class does not try to handle re-connects, please study the
  99. `Server disconnects` section in the new Readme.
  100. Other than that, the interface has stayed very similar. Here are a few things
  101. to check out so:
  102. * BIGINT's are now cast into strings
  103. * Binary data is now cast to buffers
  104. * The `'row'` event on the `Query` object is now called `'result'` and will
  105. also be emitted for queries that produce an OK/Error response.
  106. * Error handling is consistently defined now, check the Readme
  107. * Escaping has become more powerful which may break your code if you are
  108. currently using objects to fill query placeholders.
  109. * Connections can now be established explicitly again, so you may wish to do so
  110. if you want to handle connection errors specifically.
  111. That should be most of it, if you run into anything else, please send a patch
  112. or open an issue to improve this document.
  113. ## v0.9.6 (2012-03-12)
  114. * Escape array values so they produce sql arrays (Roger Castells, Colin Smith)
  115. * docs: mention mysql transaction stop gap solution (Blake Miner)
  116. * docs: Mention affectedRows in FAQ (Michael Baldwin)
  117. ## v0.9.5 (2011-11-26)
  118. * Fix #142 Driver stalls upon reconnect attempt that's immediately closed
  119. * Add travis build
  120. * Switch to urun as a test runner
  121. * Switch to utest for unit tests
  122. * Remove fast-or-slow dependency for tests
  123. * Split integration tests into individual files again
  124. ## v0.9.4 (2011-08-31)
  125. * Expose package.json as `mysql.PACKAGE` (#104)
  126. ## v0.9.3 (2011-08-22)
  127. * Set default `client.user` to root
  128. * Fix #91: Client#format should not mutate params array
  129. * Fix #94: TypeError in client.js
  130. * Parse decimals as string (vadimg)
  131. ## v0.9.2 (2011-08-07)
  132. * The underlaying socket connection is now managed implicitly rather than explicitly.
  133. * Check the [upgrading guide][] for a full list of changes.
  134. ## v0.9.1 (2011-02-20)
  135. * Fix issue #49 / `client.escape()` throwing exceptions on objects. (Nick Payne)
  136. * Drop < v0.4.x compatibility. From now on you need node v0.4.x to use this module.
  137. ## Older releases
  138. These releases were done before maintaining this file:
  139. * [v0.9.0](https://github.com/felixge/node-mysql/compare/v0.8.0...v0.9.0)
  140. (2011-01-04)
  141. * [v0.8.0](https://github.com/felixge/node-mysql/compare/v0.7.0...v0.8.0)
  142. (2010-10-30)
  143. * [v0.7.0](https://github.com/felixge/node-mysql/compare/v0.6.0...v0.7.0)
  144. (2010-10-14)
  145. * [v0.6.0](https://github.com/felixge/node-mysql/compare/v0.5.0...v0.6.0)
  146. (2010-09-28)
  147. * [v0.5.0](https://github.com/felixge/node-mysql/compare/v0.4.0...v0.5.0)
  148. (2010-09-17)
  149. * [v0.4.0](https://github.com/felixge/node-mysql/compare/v0.3.0...v0.4.0)
  150. (2010-09-02)
  151. * [v0.3.0](https://github.com/felixge/node-mysql/compare/v0.2.0...v0.3.0)
  152. (2010-08-25)
  153. * [v0.2.0](https://github.com/felixge/node-mysql/compare/v0.1.0...v0.2.0)
  154. (2010-08-22)
  155. * [v0.1.0](https://github.com/felixge/node-mysql/commits/v0.1.0)
  156. (2010-08-22)