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