github.com/hellobchain/third_party@v0.0.0-20230331131523-deb0478a2e52/go-sql-driver/mysql/CHANGELOG.md (about) 1 ## Version 1.4 (2018-06-03) 2 3 Changes: 4 5 - Documentation fixes (#530, #535, #567) 6 - Refactoring (#575, #579, #580, #581, #603, #615, #704) 7 - Cache column names (#444) 8 - Sort the DSN parameters in DSNs generated from a config (#637) 9 - Allow native password authentication by default (#644) 10 - Use the default port if it is missing in the DSN (#668) 11 - Removed the `strict` mode (#676) 12 - Do not query `max_allowed_packet` by default (#680) 13 - Dropped support Go 1.6 and lower (#696) 14 - Updated `ConvertValue()` to match the database/sql/driver implementation (#760) 15 - Document the usage of `0000-00-00T00:00:00` as the time.Time zero value (#783) 16 - Improved the compatibility of the authentication system (#807) 17 18 New Features: 19 20 - Multi-Results support (#537) 21 - `rejectReadOnly` DSN option (#604) 22 - `context.Context` support (#608, #612, #627, #761) 23 - Transaction isolation level support (#619, #744) 24 - Read-Only transactions support (#618, #634) 25 - `NewConfig` function which initializes a config with default values (#679) 26 - Implemented the `ColumnType` interfaces (#667, #724) 27 - Support for custom string types in `ConvertValue` (#623) 28 - Implemented `NamedValueChecker`, improving support for uint64 with high bit set (#690, #709, #710) 29 - `caching_sha2_password` authentication plugin support (#794, #800, #801, #802) 30 - Implemented `driver.SessionResetter` (#779) 31 - `sha256_password` authentication plugin support (#808) 32 33 Bugfixes: 34 35 - Use the DSN hostname as TLS default ServerName if `tls=true` (#564, #718) 36 - Fixed LOAD LOCAL DATA INFILE for empty files (#590) 37 - Removed columns definition cache since it sometimes cached invalid data (#592) 38 - Don't mutate registered TLS configs (#600) 39 - Make RegisterTLSConfig concurrency-safe (#613) 40 - Handle missing auth data in the handshake packet correctly (#646) 41 - Do not retry queries when data was written to avoid data corruption (#302, #736) 42 - Cache the connection pointer for error handling before invalidating it (#678) 43 - Fixed imports for appengine/cloudsql (#700) 44 - Fix sending STMT_LONG_DATA for 0 byte data (#734) 45 - Set correct capacity for []bytes read from length-encoded strings (#766) 46 - Make RegisterDial concurrency-safe (#773) 47 48 49 ## Version 1.3 (2016-12-01) 50 51 Changes: 52 53 - Go 1.1 is no longer supported 54 - Use decimals fields in MySQL to format time types (#249) 55 - Buffer optimizations (#269) 56 - TLS ServerName defaults to the host (#283) 57 - Refactoring (#400, #410, #437) 58 - Adjusted documentation for second generation CloudSQL (#485) 59 - Documented DSN system var quoting rules (#502) 60 - Made statement.Close() calls idempotent to avoid errors in Go 1.6+ (#512) 61 62 New Features: 63 64 - Enable microsecond resolution on TIME, DATETIME and TIMESTAMP (#249) 65 - Support for returning table alias on Columns() (#289, #359, #382) 66 - Placeholder interpolation, can be actived with the DSN parameter `interpolateParams=true` (#309, #318, #490) 67 - Support for uint64 parameters with high bit set (#332, #345) 68 - Cleartext authentication plugin support (#327) 69 - Exported ParseDSN function and the Config struct (#403, #419, #429) 70 - Read / Write timeouts (#401) 71 - Support for JSON field type (#414) 72 - Support for multi-statements and multi-results (#411, #431) 73 - DSN parameter to set the driver-side max_allowed_packet value manually (#489) 74 - Native password authentication plugin support (#494, #524) 75 76 Bugfixes: 77 78 - Fixed handling of queries without columns and rows (#255) 79 - Fixed a panic when SetKeepAlive() failed (#298) 80 - Handle ERR packets while reading rows (#321) 81 - Fixed reading NULL length-encoded integers in MySQL 5.6+ (#349) 82 - Fixed absolute paths support in LOAD LOCAL DATA INFILE (#356) 83 - Actually zero out bytes in handshake response (#378) 84 - Fixed race condition in registering LOAD DATA INFILE handler (#383) 85 - Fixed tests with MySQL 5.7.9+ (#380) 86 - QueryUnescape TLS config names (#397) 87 - Fixed "broken pipe" error by writing to closed socket (#390) 88 - Fixed LOAD LOCAL DATA INFILE buffering (#424) 89 - Fixed parsing of floats into float64 when placeholders are used (#434) 90 - Fixed DSN tests with Go 1.7+ (#459) 91 - Handle ERR packets while waiting for EOF (#473) 92 - Invalidate connection on error while discarding additional results (#513) 93 - Allow terminating packets of length 0 (#516) 94 95 96 ## Version 1.2 (2014-06-03) 97 98 Changes: 99 100 - We switched back to a "rolling release". `go get` installs the current master branch again 101 - Version v1 of the driver will not be maintained anymore. Go 1.0 is no longer supported by this driver 102 - Exported errors to allow easy checking from application code 103 - Enabled TCP Keepalives on TCP connections 104 - Optimized INFILE handling (better buffer size calculation, lazy init, ...) 105 - The DSN parser also checks for a missing separating slash 106 - Faster binary date / datetime to string formatting 107 - Also exported the MySQLWarning type 108 - mysqlConn.Close returns the first error encountered instead of ignoring all errors 109 - writePacket() automatically writes the packet size to the header 110 - readPacket() uses an iterative approach instead of the recursive approach to merge splitted packets 111 112 New Features: 113 114 - `RegisterDial` allows the usage of a custom dial function to establish the network connection 115 - Setting the connection collation is possible with the `collation` DSN parameter. This parameter should be preferred over the `charset` parameter 116 - Logging of critical errors is configurable with `SetLogger` 117 - Google CloudSQL support 118 119 Bugfixes: 120 121 - Allow more than 32 parameters in prepared statements 122 - Various old_password fixes 123 - Fixed TestConcurrent test to pass Go's race detection 124 - Fixed appendLengthEncodedInteger for large numbers 125 - Renamed readLengthEnodedString to readLengthEncodedString and skipLengthEnodedString to skipLengthEncodedString (fixed typo) 126 127 128 ## Version 1.1 (2013-11-02) 129 130 Changes: 131 132 - Go-MySQL-Driver now requires Go 1.1 133 - Connections now use the collation `utf8_general_ci` by default. Adding `&charset=UTF8` to the DSN should not be necessary anymore 134 - Made closing rows and connections error tolerant. This allows for example deferring rows.Close() without checking for errors 135 - `[]byte(nil)` is now treated as a NULL value. Before, it was treated like an empty string / `[]byte("")` 136 - DSN parameter values must now be url.QueryEscape'ed. This allows text values to contain special characters, such as '&'. 137 - Use the IO buffer also for writing. This results in zero allocations (by the driver) for most queries 138 - Optimized the buffer for reading 139 - stmt.Query now caches column metadata 140 - New Logo 141 - Changed the copyright header to include all contributors 142 - Improved the LOAD INFILE documentation 143 - The driver struct is now exported to make the driver directly accessible 144 - Refactored the driver tests 145 - Added more benchmarks and moved all to a separate file 146 - Other small refactoring 147 148 New Features: 149 150 - Added *old_passwords* support: Required in some cases, but must be enabled by adding `allowOldPasswords=true` to the DSN since it is insecure 151 - Added a `clientFoundRows` parameter: Return the number of matching rows instead of the number of rows changed on UPDATEs 152 - Added TLS/SSL support: Use a TLS/SSL encrypted connection to the server. Custom TLS configs can be registered and used 153 154 Bugfixes: 155 156 - Fixed MySQL 4.1 support: MySQL 4.1 sends packets with lengths which differ from the specification 157 - Convert to DB timezone when inserting `time.Time` 158 - Splitted packets (more than 16MB) are now merged correctly 159 - Fixed false positive `io.EOF` errors when the data was fully read 160 - Avoid panics on reuse of closed connections 161 - Fixed empty string producing false nil values 162 - Fixed sign byte for positive TIME fields 163 164 165 ## Version 1.0 (2013-05-14) 166 167 Initial Release