- Add
Database.MySQL.Fieldwith aFieldtypeclass for converting individual Haskell values to and fromMySQLValue(#86). One combined class in the style of persistent'sPersistField, with aDecodeErrorsum type for decode failures and named top-level encode/decode functions backing every instance.
- Replace abandoned
pemdependency withcrypton-pem(#84)
- Fix benchmark compilation failures (#82):
- Replace deleted
Data.Binary.Parser.Char8import in benchmark withWord8-based combinators fromData.Binary.Parser - Replace
GHC.Prim/GHC.Typesimports withGHC.Extsfrombase - Fix
Word8#vsWord#type mismatch inmhDigitToInt - Remove stale haddock reference to deleted
Char8module
- Replace deleted
- Support caching_sha2_password full auth via RSA on non-TLS connections#81 thanks @ikaro1192
- 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, andeventHeaderLenfor unknown event types.
- Export
connectUnixSocketfunction. - Tweak cabal file to better handle crypton vs cryptonite.
- Fix version cut off for tls compatibility.
- Fix missing
liftA2import when running tests on GHC 9.4. - Add integration test for Unix socket.
- Add support for caching_sha2_password authentiation.
- Fix binary protocol error 1210 on modern MySQL/MariaDB:
MYSQL_TYPE_BITandMYSQL_TYPE_YEARare not valid parameter types forCOM_STMT_EXECUTE. SendMySQLBitasMYSQL_TYPE_LONGLONG(unsigned, little-endian) andMySQLYearasMYSQL_TYPE_SHORT(unsigned, 2-byte integer) instead. - Fix
MySQLYearbinary 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
MySQLBitandMySQLYear.
- bump constraints
- 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
- bump constraints
- bump constraints
- bump constraints
- bump constraints
- 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
- 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.
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
- Bump dependencies, go all into crypton
- merge tcp-streams into the package
- add json testfiles as extra source files to make tests pass in nix builds
-
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.
- Fix build with GHC 8.8.
- Fix stackage#4312: Relax
networkbounds.
- Relax
tastyversion bound to build with latest stackage. #26
- Remove unnecessary exports from
Database.MySQL.Base. - Reuse TCP connection when using TLS.
- Clean up some compiler warnings.
Courtesy of naushadh, mysql-haskell will be on stackage again.
- Update to use
tcp-streams-1.x. - Fix compatibility with new
tls/memoryversion.
- Add
Showinstance toConnectInfo. - Add proper version bound for
binary.
- Add
ciCharsetfield to supportutf8mb4charset. - Add
BitMapfield toCOM_STMT_EXECUTE, and #8 by alexbiehl.
- Add
QueryParamclass andParamdatatype for multi-valued parameter(s) by naushadh.
- Split openssl support to mysql-haskell-openssl.
- Expose
Database.MySQL.Connectionmodule due to this split, it shouldn't be used by user directly.
- Use binary-ieee754 for older binary compatibility.
- Clean up
Database.MySQL.Protocol.MySQLValue's export.
- Add
queryVector,queryVector_andqueryStmtVector. - Use binary-parsers to speed up binary parsers.
- Export exception types.
- Fix a regression cause password authentication failed, add tests.
- Fix a reading order bug cause 'prepareStmt/prepareStmtDetail' failed.
- Enable TLS support via
tlspackage, add benchmarks.
- Fix tls connection, change TLS implementation to HsOpenSSL, add benchmarks.
- Fix a bug in 'putLenEncInt' which cause sending large field fail.
- Various optimizations.
- Fix OK packet decoder.
- Fix sending large packet(>16M).
- Add
executeMany,withTransactionto Base module. - Add timestamp field to
RowBinLogEvent. - Add test, add insert benchmark.
- First version. Released on an unsuspecting world.