packages feed

mysql-haskell-1.2.4: ChangeLog.md

# Revision history for mysql-haskell

## 1.2.4 -- 2026.04.20
+ Fix benchmark compilation failures (#82):
  + Replace deleted `Data.Binary.Parser.Char8` import in benchmark with
    `Word8`-based combinators from `Data.Binary.Parser`
  + Replace `GHC.Prim`/`GHC.Types` imports with `GHC.Exts` from `base`
  + Fix `Word8#` vs `Word#` type mismatch in `mhDigitToInt`
  + Remove stale haddock reference to deleted `Char8` module

## 1.2.3 -- 2026.04.12
+ Support caching_sha2_password full auth via RSA on non-TLS connections#81 thanks @ikaro1192

## 1.2.2 -- 2026.03.25
+ Widen tls upper bound to allow tls 2.4.x
+ Fix unsafe ByteString operations (`unsafeDrop`, `unsafeTail`, `unsafeIndex`)
  on untrusted wire protocol data that caused undefined behavior (segfaults,
  garbage reads) on malformed input. The safe alternatives are also O(1).
  Affected parsers: text protocol timestamp/datetime/time/date fields,
  NEWDECIMAL in binlog, and `eventHeaderLen` for unknown event types.

## 1.2.1 -- 2026.03.23
+ Export `connectUnixSocket` function.
+ Tweak cabal file to better handle crypton vs cryptonite.
+ Fix version cut off for tls compatibility.
+ Fix missing `liftA2` import when running tests on GHC 9.4.
+ Add integration test for Unix socket.

## 1.2.0 -- 2026.03.07
+ Add support for  caching_sha2_password authentiation.

## 1.1.9 -- 2026.03.07
+ Fix binary protocol error 1210 on modern MySQL/MariaDB:
  `MYSQL_TYPE_BIT` and `MYSQL_TYPE_YEAR` are not valid parameter types
  for `COM_STMT_EXECUTE`. Send `MySQLBit` as `MYSQL_TYPE_LONGLONG`
  (unsigned, little-endian) and `MySQLYear` as `MYSQL_TYPE_SHORT`
  (unsigned, 2-byte integer) instead.
+ Fix `MySQLYear` binary encoding: was sending a length-encoded string
  which caused data misalignment for all subsequent parameters.
+ Fix version detection for MariaDB 10+/11+ (fractional seconds support).
+ Fix CI: enable binary logging and grant binlog privileges for
  integration tests on MariaDB.
+ Add roundtrip integration tests for `MySQLBit` and `MySQLYear`.

## 1.1.8
+ bump constraints

## 1.1.7 -- 2025.08.23 
+ bump constraints
+ upgrade cabal file
+ add upper bounds to all the warnings
  + it was only the test suite so I made them broad.
+ Disable inline-rule-shadowing for Int24 and Word24.
  those rules fire fine. you can test it our yourself with
  the Main.hs in the main repository.
  There is a stanza to do so in cabal.
+ clean up cabal file a bit, use GHC2021

## 1.1.6 -- 2024.10.23 
+ bump constraints

## 1.1.5 -- 2024.06.25
+ bump constraints

## 1.1.4 -- 2024.02.17 
+ bump constraints

## 1.1.3 -- 2023.08.30
+ bump constraints

## 1.1.2 -- 2023.08.14

+ Fix package name of changelog
+ Drop support for RC4 chipher which is depracated
+ drop dependency on binary-ieee754, which was unused.
+ Fix text 2 support, thanks @RikvanToor

## 1.1.1 -- 2023.08.14

+ cleaned up some warnings
+ Merge back into mysql-haskell after gaining hackage access.
+ Deprecate mysql-pure in favor of old hackage
  since it's only been out for a day this sort off
  stream lines upgrading for most applications.
  Cabal will just figure it out, rather then
  users having to "find" mysql-pure.
  I'll just make a bonus announcement to
  let people not depend on mysql-pure.

## 1.1.0 -- 2023.08.12 
There was a bunch of stuff unrelated to mysql
which I purged.
If you need any on these go depend on the 
respective unmaintained package.

+ Delete module System.IO.Streams.UnixSocket
+ Dleete module Data.Binary.Parser.Char8
+ Delete module System.IO.Streams.Binary

## 1.0.2 -- 2023.08.12 
+ Bump dependencies, go all into crypton
+ merge tcp-streams into the package

## 1.0.1 -- 2023.08.12 
+ add json testfiles as extra source files to make tests pass in nix builds

## 1.0.0 -- 2023.08.12 

+ Fork from mysql-haskell into mysql-pure
+ add flake
+ merge packages:
  + word24
  + binary-parsers
  + wirestreams
  
  This involved copying over all source files,
  furthermore I copied in all tests and benchmarks.
  The tests are now one giant test suite.
  I temporarly disabled the mysql tests as they need a mysql
  database to run which won't work nicely with CI right now.
  However you can run these locally by uncommenting that line.
+ Add CI which relies on native cabal instead of stack
+ Add an action to automatically bump version.
+ Add nightly build cron job.

## 0.8.4.3 -- 2020-11-04

* Fix build with GHC 8.8.

## 0.8.4.2 -- 2019-01-22

* Fix [stackage#4312](https://github.com/commercialhaskell/stackage/issues/4312): Relax `network` bounds.

## 0.8.4.1 -- 2018-10-23

* Relax `tasty` version bound to build with latest stackage. [#26](https://github.com/winterland1989/mysql-haskell/pull/26)

## 0.8.4.0  -- 2018-10-23

* Add `executeMany_` to execute batch SQLs, [#26](https://github.com/winterland1989/mysql-haskell/issues/26).
* Optimize connection closing sequence, [#20](https://github.com/winterland1989/mysql-haskell/pull/20), [#25](https://github.com/winterland1989/mysql-haskell/pull/25).

## 0.8.3.0  -- 2017-10-09

* Remove unnecessary exports from `Database.MySQL.Base`.
* Reuse TCP connection when using TLS.
* Clean up some compiler warnings.

## 0.8.2.0  -- 2017-10-09

Courtesy of naushadh, `mysql-haskell` will be on stackage again.

* Update to use `tcp-streams-1.x`.
* Fix compatibility with new  `tls/memory` version.

## 0.8.1.0  -- 2016-11-09

* Add `Show` instance to `ConnectInfo`.
* Add proper version bound for `binary`.

## 0.8.0.0  -- 2016-11-09

* Add `ciCharset` field to support `utf8mb4` charset.
* Add `BitMap` field to `COM_STMT_EXECUTE`, and [#8](https://github.com/winterland1989/mysql-haskell/pull/8) by [alexbiehl](https://github.com/alexbiehl).

## 0.7.1.0 -- 2016-11-21

* Add `QueryParam` class and `Param` datatype for multi-valued parameter(s) by [naushadh](https://github.com/naushadh).

## 0.7.0.0 -- 2016-11-09

* Split openssl support to [mysql-haskell-openssl](http://hackage.haskell.org/package/mysql-haskell-openssl).
* Expose `Database.MySQL.Connection` module due to this split, it shouldn't be used by user directly.

## 0.6.0.0 -- 2016-10-25

* Use binary-ieee754 for older binary compatibility.
* Clean up `Database.MySQL.Protocol.MySQLValue` 's export.

## 0.5.1.0 -- 2016-10-20

* Add `queryVector`, `queryVector_` and `queryStmtVector`.
* Use binary-parsers to speed up binary parsers.

## 0.5.0.0 -- 2016-8-22

* Export exception types.
* Fix a regression cause password authentication failed, add tests.
* Fix a reading order bug cause 'prepareStmt/prepareStmtDetail' failed.

## 0.4.0.0 -- 2016-8-22

* Enable TLS support via `tls` package, add benchmarks.

## 0.3.0.0  -- 2016-8-22

* Fix tls connection, change TLS implementation to HsOpenSSL, add benchmarks.
* Fix a bug in 'putLenEncInt' which cause sending large field fail.
* Various optimizations.

## 0.2.0.0  -- 2016-8-19

* Fix OK packet decoder.
* Fix sending large packet(>16M).
* Add `executeMany`, `withTransaction` to Base module.
* Add timestamp field to `RowBinLogEvent`.
* Add test, add insert benchmark.

## 0.1.0.0  -- 2016-8-16

* First version. Released on an unsuspecting world.