OSDN Git Service

feat: init cross_tx keepers (#146)
[bytom/vapor.git] / vendor / github.com / go-sql-driver / mysql / CHANGELOG.md
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