### Tag v1.13.0 (2025-08-17) * Change FillZeroLog config name and add to canal. [#1053](https://github.com/go-mysql-org/go-mysql/pull/1053) ([nickchomey](https://github.com/nickchomey)) * Fix(replication): calculate LogPos for non-artificial events in MariaDB 11.4+. [#1052](https://github.com/go-mysql-org/go-mysql/pull/1052) ([mefcorvi](https://github.com/mefcorvi)) * Fix canal.GetMasterPos() for mariadb. [#1030](https://github.com/go-mysql-org/go-mysql/pull/1030) ([alarbada](https://github.com/alarbada)) * Fix MariaDB compressed event decoding panic. [#1049](https://github.com/go-mysql-org/go-mysql/pull/1049) ([krajcik](https://github.com/krajcik)) * Enhancement to allow backup binlogs using a specified GTID set. [#1050](https://github.com/go-mysql-org/go-mysql/pull/1050) ([dgupta2323](https://github.com/dgupta2323)) * Replication: return string when datetime's day or month is 00. [#1047](https://github.com/go-mysql-org/go-mysql/pull/1047) ([serprex](https://github.com/serprex)) * Prefer atomic values to atomic operations. [#1048](https://github.com/go-mysql-org/go-mysql/pull/1048) ([serprex](https://github.com/serprex)) * Add visible field to schema Index. [#1043](https://github.com/go-mysql-org/go-mysql/pull/1043) ([chenhuiyeh](https://github.com/chenhuiyeh)) * Client: make CLIENT_QUERY_ATTRIBUTES opt-out to restore proxy compatibility. [#1041](https://github.com/go-mysql-org/go-mysql/pull/1041) ([masahide](https://github.com/masahide)) * Patch float with trailing zero for JSON and add useFloatWithTrailingZero flag. [#1038](https://github.com/go-mysql-org/go-mysql/pull/1038) ([chenhuiyeh](https://github.com/chenhuiyeh)) * Replace broken links to mysqlhighavailability.com. [#1039](https://github.com/go-mysql-org/go-mysql/pull/1039) ([serprex](https://github.com/serprex)) * Update CI. [#1034](https://github.com/go-mysql-org/go-mysql/pull/1034) ([dveeden](https://github.com/dveeden)) * Set source_heartbeat_period as well as master_heartbeat_period.. [#1033](https://github.com/go-mysql-org/go-mysql/pull/1033) ([dveeden](https://github.com/dveeden)) * Remove semver. [#1028](https://github.com/go-mysql-org/go-mysql/pull/1028) ([serprex](https://github.com/serprex)) * CI: Test on 32-bit arm. [#1000](https://github.com/go-mysql-org/go-mysql/pull/1000) ([dveeden](https://github.com/dveeden)) * Golangci-lint 2. [#1024](https://github.com/go-mysql-org/go-mysql/pull/1024) ([serprex](https://github.com/serprex)) * Server: Fix formatting of credential provider note. [#1023](https://github.com/go-mysql-org/go-mysql/pull/1023) ([dveeden](https://github.com/dveeden)) ### Tag v1.12.0 (2025-04-01) > **Note:** > This version changes the logging framework to [`log/slog`](https://go.dev/blog/slog). If you use a custom logger then check the [Logging section](https://github.com/go-mysql-org/go-mysql?tab=readme-ov-file#logging) of the README. * Server: Rework NewConn/defaultServer. [#1021](https://github.com/go-mysql-org/go-mysql/pull/1021) ([dveeden](https://github.com/dveeden)) * Replication: add IsEmpty method to GTIDSet interface & implementations. [#1019](https://github.com/go-mysql-org/go-mysql/pull/1019) ([wesleywright](https://github.com/wesleywright)) * Give `RowsEvent` a method to inspect the underlying event type.. [#1016](https://github.com/go-mysql-org/go-mysql/pull/1016) ([proton-lisandro-pin](https://github.com/proton-lisandro-pin)) * Test: add test for TransactionPayloadEvent. [#1018](https://github.com/go-mysql-org/go-mysql/pull/1018) ([lance6716](https://github.com/lance6716)) * CONTRIBUTING: Add note about testing locally. [#1014](https://github.com/go-mysql-org/go-mysql/pull/1014) ([dveeden](https://github.com/dveeden)) * Replication: check hostname length. [#1013](https://github.com/go-mysql-org/go-mysql/pull/1013) ([dveeden](https://github.com/dveeden)) * Initial contributor guide. [#1010](https://github.com/go-mysql-org/go-mysql/pull/1010) ([dveeden](https://github.com/dveeden)) * Dump: Fix Unlick typo. [#1011](https://github.com/go-mysql-org/go-mysql/pull/1011) ([dveeden](https://github.com/dveeden)) * Improve unit tests around `Hasresultset` and `WriteValue`. [#1006](https://github.com/go-mysql-org/go-mysql/pull/1006) ([stgarrity](https://github.com/stgarrity)) * Replace github.com/siddontang/go-log with log/slog. [#993](https://github.com/go-mysql-org/go-mysql/pull/993) ([serprex](https://github.com/serprex)) * Support MySQL vector type. [#1004](https://github.com/go-mysql-org/go-mysql/pull/1004) ([serprex](https://github.com/serprex)) * Test: remove time-based checking. [#1002](https://github.com/go-mysql-org/go-mysql/pull/1002) ([lance6716](https://github.com/lance6716)) * Replication: Add mysql::serialization based Gtid Log Event. [#990](https://github.com/go-mysql-org/go-mysql/pull/990) ([dveeden](https://github.com/dveeden)) * Replication: Set `source_binlog_checksum` as well. [#1003](https://github.com/go-mysql-org/go-mysql/pull/1003) ([dveeden](https://github.com/dveeden)) * Add support for MariaDB ED25519 plugin. [#998](https://github.com/go-mysql-org/go-mysql/pull/998) ([heavycrystal](https://github.com/heavycrystal)) * Driver: context support. [#997](https://github.com/go-mysql-org/go-mysql/pull/997) ([serprex](https://github.com/serprex)) * Use math/bits OnesCount to preallocate slices. [#995](https://github.com/go-mysql-org/go-mysql/pull/995) ([serprex](https://github.com/serprex)) * Fix bug: context timeout inside for loop, it will case memory leak. [#999](https://github.com/go-mysql-org/go-mysql/pull/999) ([maaars](https://github.com/maaars)) * Lint: gofumpt. [#996](https://github.com/go-mysql-org/go-mysql/pull/996) ([serprex](https://github.com/serprex)) * Avoid utils.Now failing sometime around the year 2262. [#994](https://github.com/go-mysql-org/go-mysql/pull/994) ([serprex](https://github.com/serprex)) * Client: Make example testable. [#987](https://github.com/go-mysql-org/go-mysql/pull/987) ([dveeden](https://github.com/dveeden)) * CI: Update nolintlint config. [#991](https://github.com/go-mysql-org/go-mysql/pull/991) ([dveeden](https://github.com/dveeden)) * CI: Remove Ubuntu 20.04. [#989](https://github.com/go-mysql-org/go-mysql/pull/989) ([dveeden](https://github.com/dveeden)) * Server: Correctly handle `COM_STMT_EXECUTE` without rebind. [#984](https://github.com/go-mysql-org/go-mysql/pull/984) ([dveeden](https://github.com/dveeden)) * README: add Platform Support section. [#981](https://github.com/go-mysql-org/go-mysql/pull/981) ([lance6716](https://github.com/lance6716)) * Change how we import the mysql package. [#982](https://github.com/go-mysql-org/go-mysql/pull/982) ([dveeden](https://github.com/dveeden)) * Server: Correct the check for Resultset. [#983](https://github.com/go-mysql-org/go-mysql/pull/983) ([dveeden](https://github.com/dveeden)) * Client,mysql: Add support for Query Attributes. [#976](https://github.com/go-mysql-org/go-mysql/pull/976) ([dveeden](https://github.com/dveeden)) * Use 4-byte UTF-8 by default. [#979](https://github.com/go-mysql-org/go-mysql/pull/979) ([dveeden](https://github.com/dveeden)) * Client: Set `_client_version` connection attribute. [#978](https://github.com/go-mysql-org/go-mysql/pull/978) ([dveeden](https://github.com/dveeden)) * Cleanup init functions. [#977](https://github.com/go-mysql-org/go-mysql/pull/977) ([serprex](https://github.com/serprex)) * Server: set `CLIENT_CONNECT_ATTRS`. [#975](https://github.com/go-mysql-org/go-mysql/pull/975) ([dveeden](https://github.com/dveeden)) * Mysql,client,driver: Add more docs/comments and update constants. [#974](https://github.com/go-mysql-org/go-mysql/pull/974) ([dveeden](https://github.com/dveeden)) ## Tag v1.11.0 (2025-01-23) * Mysql: Fix GetInt() with negative NEWDECIMAL result. [#972](https://github.com/go-mysql-org/go-mysql/pull/972) ([dveeden](https://github.com/dveeden)) * Client: Update docs. [#970](https://github.com/go-mysql-org/go-mysql/pull/970) ([dveeden](https://github.com/dveeden)) * Cleanup: remove clear_vendor.sh. [#971](https://github.com/go-mysql-org/go-mysql/pull/971) ([dveeden](https://github.com/dveeden)) * `*`: don't use zero value of mysql.Result. [#969](https://github.com/go-mysql-org/go-mysql/pull/969) ([lance6716](https://github.com/lance6716)) * Mysql: Fix ColumnNumber() panic with nil Resultset. [#968](https://github.com/go-mysql-org/go-mysql/pull/968) ([dveeden](https://github.com/dveeden)) * Replication: Improve COM_REGISTER_SLAVE. [#967](https://github.com/go-mysql-org/go-mysql/pull/967) ([dveeden](https://github.com/dveeden)) * Use syscall.Gettimeofday to get current time. [#961](https://github.com/go-mysql-org/go-mysql/pull/961) ([hjweddie](https://github.com/hjweddie)) * Remove duplicate SIGINT in signal handling. [#962](https://github.com/go-mysql-org/go-mysql/pull/962) ([soya111](https://github.com/soya111)) * Feat: Added `time.Time` support for datetime format. [#957](https://github.com/go-mysql-org/go-mysql/pull/957) ([inoth](https://github.com/inoth)) * Mysql field: expose API to modify field value. [#960](https://github.com/go-mysql-org/go-mysql/pull/960) ([walkline](https://github.com/walkline)) * Replication: Support GTID tag in PreviousGTIDsEvent. [#952](https://github.com/go-mysql-org/go-mysql/pull/952) ([dveeden](https://github.com/dveeden)) * Zeroalloc: don't use unsafe.Pointer. [#959](https://github.com/go-mysql-org/go-mysql/pull/959) ([serprex](https://github.com/serprex)) * Driver: allow configuration of the driver name. [#958](https://github.com/go-mysql-org/go-mysql/pull/958) ([dveeden](https://github.com/dveeden)) * Update README. [#950](https://github.com/go-mysql-org/go-mysql/pull/950) ([dveeden](https://github.com/dveeden)) * README: fix example for database/sql. [#955](https://github.com/go-mysql-org/go-mysql/pull/955) ([dveeden](https://github.com/dveeden)) * CI: Update Go, MySQL and Ubuntu versions. [#954](https://github.com/go-mysql-org/go-mysql/pull/954) ([dveeden](https://github.com/dveeden)) * Canal,dump: Improve logging. [#953](https://github.com/go-mysql-org/go-mysql/pull/953) ([dveeden](https://github.com/dveeden)) ## Tag v1.10.0 (2024-11-20) * replication,cmd: improve flavor handling [#946](https://github.com/go-mysql-org/go-mysql/pull/946) ([dveeden](https://github.com/dveeden)) * Upgrade github.com/pingcap/tidb/pkg/parser. [#948](https://github.com/go-mysql-org/go-mysql/pull/948) ([Tang8330](https://github.com/Tang8330)) * replication: Add GTID_TAGGED_LOG_EVENT [#947](https://github.com/go-mysql-org/go-mysql/pull/947) ([dveeden](https://github.com/dveeden)) * canal: support ipv6 address [#943](https://github.com/go-mysql-org/go-mysql/pull/943) ([sinomoe](https://github.com/sinomoe)) * Remove failover [#931](https://github.com/go-mysql-org/go-mysql/pull/931) ([dveeden](https://github.com/dveeden)) * dump: use mariadb-dump when available [#942](https://github.com/go-mysql-org/go-mysql/pull/942) ([dveeden](https://github.com/dveeden)) * go-mysqlbinlog: set to retry only 10 times [#945](https://github.com/go-mysql-org/go-mysql/pull/945) ([dveeden](https://github.com/dveeden)) * go-mysqldump: Add option to skip binlog position [#941](https://github.com/go-mysql-org/go-mysql/pull/941) ([dveeden](https://github.com/dveeden)) * server: Improve example [#936](https://github.com/go-mysql-org/go-mysql/pull/936) ([dveeden](https://github.com/dveeden)) * dump: use --source-data based on version [#933](https://github.com/go-mysql-org/go-mysql/pull/933) ([dveeden](https://github.com/dveeden)) * replication: Log info about server [#935](https://github.com/go-mysql-org/go-mysql/pull/935) ([dveeden](https://github.com/dveeden)) * replication: fix uuid typo [#934](https://github.com/go-mysql-org/go-mysql/pull/934) ([dveeden](https://github.com/dveeden)) * dump: Support newer mysqldump versions [#932](https://github.com/go-mysql-org/go-mysql/pull/932) ([dveeden](https://github.com/dveeden)) * replication: Make ServerVersion a proper string [#930](https://github.com/go-mysql-org/go-mysql/pull/930) ([dveeden](https://github.com/dveeden)) * Makefile: allow for gotip [#928](https://github.com/go-mysql-org/go-mysql/pull/928) ([dveeden](https://github.com/dveeden)) * client: Fix timeout reset during TLS handshake [#925](https://github.com/go-mysql-org/go-mysql/pull/925) ([willdonnelly](https://github.com/willdonnelly)) * Ensure ACKs are sent after backup [#921](https://github.com/go-mysql-org/go-mysql/pull/921) ([dt8269](https://github.com/dt8269)) ### Tag v1.9.1 (2024-09-12) * Fix can't connect to MySQL 8.0 with long password. [#914](https://github.com/go-mysql-org/go-mysql/pull/914) ([lance6716](https://github.com/lance6716)) * Fix actual master and add -race in CI. [#907](https://github.com/go-mysql-org/go-mysql/pull/907) ([atercattus](https://github.com/atercattus)) * export EventCacheCount on Canal Config. [#913](https://github.com/go-mysql-org/go-mysql/pull/913) ([tomwei7](https://github.com/tomwei7)) * FIX:The problem of the ignoreTables parameter not taking effect in the go-mysqldump package. [#910](https://github.com/go-mysql-org/go-mysql/pull/910) ([liuhuanxg](https://github.com/liuhuanxg)) * fixing golangci-lint@1.60.3 errors of current build [#912](https://github.com/go-mysql-org/go-mysql/pull/) ([dvilaverde](https://github.com/dvilaverde)) * Handle null index column names in sql.DB loader [#904](https://github.com/go-mysql-org/go-mysql/pull/) ([shauns](https://github.com/shauns)) * Add DisableFlushBinlogWhileWaiting config and almost every query event triggers OnPosSynced [#900](https://github.com/go-mysql-org/go-mysql/pull/) ([morgo](https://github.com/morgo)) * allow disabling the default golang database/sql retry behavior [#899](https://github.com/go-mysql-org/go-mysql/pull/) ([dvilaverde](https://github.com/dvilaverde)) * fix(canal): do not ignore events with LogPos=0, use timestamp to distinguish fake rotate events [#894](https://github.com/go-mysql-org/go-mysql/pull/) ([mefcorvi](https://github.com/mefcorvi)) * allow packet.Conn buffer size to be adjustable [#892](https://github.com/go-mysql-org/go-mysql/pull/) ([dvilaverde](https://github.com/dvilaverde)) * time column type string formatting and test coverage [#891](https://github.com/go-mysql-org/go-mysql/pull/) ([jnewmano](https://github.com/jnewmano)) * Support DSN without 'user:password@' [#888](https://github.com/go-mysql-org/go-mysql/pull/) ([dvilaverde](https://github.com/dvilaverde)) * add support for driver.NamedValueChecker on driver connection [#887](https://github.com/go-mysql-org/go-mysql/pull/) ([dvilaverde](https://github.com/dvilaverde)) * Additional Driver args for compression and connection read/write timeouts [#885](https://github.com/go-mysql-org/go-mysql/pull/) ([dvilaverde](https://github.com/dvilaverde)) * reduce memory allocations when zlib compression is enabled [#880](https://github.com/go-mysql-org/go-mysql/pull/) ([dvilaverde](https://github.com/dvilaverde)) * Fix no table is replicated when excludeTableRegex is set while includeTableRegex is nil [#874](https://github.com/go-mysql-org/go-mysql/pull/) ([gaojijun](https://github.com/gaojijun)) * Make protocol version check more strict [#878](https://github.com/go-mysql-org/go-mysql/pull/) ([dveeden](https://github.com/dveeden)) ### Tag v1.8.0 (2024-05-10) * Fix bug in handling sub events of replication.TransactionPayloadEvent. [#875](https://github.com/go-mysql-org/go-mysql/pull/875) ([froot](https://github.com/froot)) * CI: Add tests for various MySQL versions. [#870](https://github.com/go-mysql-org/go-mysql/pull/870) ([dveeden](https://github.com/dveeden)) * Fix 'invalid compressed sequence' error, issue #871. [#872](https://github.com/go-mysql-org/go-mysql/pull/872) ([dvilaverde](https://github.com/dvilaverde)) * Fixing bad connection error when reading large compressed packets. [#863](https://github.com/go-mysql-org/go-mysql/pull/863) ([dvilaverde](https://github.com/dvilaverde)) * Collation in auth handshake are 1-byte. [#865](https://github.com/go-mysql-org/go-mysql/pull/865) ([dvilaverde](https://github.com/dvilaverde)) * Use new terms for replication on MySQL 8.4.0. [#867](https://github.com/go-mysql-org/go-mysql/pull/867) ([dveeden](https://github.com/dveeden)) * CI: Fix warning about restore cache failure. [#869](https://github.com/go-mysql-org/go-mysql/pull/869) ([dveeden](https://github.com/dveeden)) * CI: Update ci workflow. [#868](https://github.com/go-mysql-org/go-mysql/pull/868) ([dveeden](https://github.com/dveeden)) * Set read deadline for new conection to fix handshake stuck. [#861](https://github.com/go-mysql-org/go-mysql/pull/861) ([tangenta](https://github.com/tangenta)) * Allow setting the collation in auth handshake. [#860](https://github.com/go-mysql-org/go-mysql/pull/860) ([dvilaverde](https://github.com/dvilaverde)) * Fix close canal client panic if use Execute after mysql host down. [#858](https://github.com/go-mysql-org/go-mysql/pull/858) ([tomwei7](https://github.com/tomwei7)) * Fix: (*RowsEvent).handleUnsigned() panic. [#856](https://github.com/go-mysql-org/go-mysql/pull/856) ([equnchen](https://github.com/equnchen)) * Fix comparison bug in MariadbGTIDSet.Equal() function. [#853](https://github.com/go-mysql-org/go-mysql/pull/853) ([okJiang](https://github.com/okJiang)) * Separate serverID of Mariadb GTID set. [#852](https://github.com/go-mysql-org/go-mysql/pull/852) ([okJiang](https://github.com/okJiang)) * Tune slice append performance. [#850](https://github.com/go-mysql-org/go-mysql/pull/850) ([hjweddie](https://github.com/hjweddie)) * Refactor StartBackup to Support Custom Backup Handlers. [#849](https://github.com/go-mysql-org/go-mysql/pull/849) ([doraemonkeys](https://github.com/doraemonkeys)) * Update client pool logic. [#846](https://github.com/go-mysql-org/go-mysql/pull/846) ([atercattus](https://github.com/atercattus)) * Change JSON library to improve performance. [#840](https://github.com/go-mysql-org/go-mysql/pull/840) ([hjweddie](https://github.com/hjweddie)) * Add support for createIndexStmt and dropIndexStmt. [#844](https://github.com/go-mysql-org/go-mysql/pull/844) ([deadspacewii](https://github.com/deadspacewii)) * Add OnRowsQueryEvent to EventHandler. [#841](https://github.com/go-mysql-org/go-mysql/pull/841) ([sudevva](https://github.com/sudevva)) * Update pingcap/tidb parser to new location. [#836](https://github.com/go-mysql-org/go-mysql/pull/836) ([hawkingrei](https://github.com/hawkingrei)) * Make SyncedTimestamp goroutine-safe. [#835](https://github.com/go-mysql-org/go-mysql/pull/835) ([tsukanov-as](https://github.com/tsukanov-as)) * Add comment about golang type of RowsEvent.Rows. [#828](https://github.com/go-mysql-org/go-mysql/pull/828) ([lance6716](https://github.com/lance6716)) * Update pingcap/tidb parser to new location. [#834](https://github.com/go-mysql-org/go-mysql/pull/834) ([morgo](https://github.com/morgo)) * Add a optional function to decode optional meta of table map event. [#833](https://github.com/go-mysql-org/go-mysql/pull/833) ([zing22845](https://github.com/zing22845)) * Skip decoding of excluded table rows. [#831](https://github.com/go-mysql-org/go-mysql/pull/831) ([mcuelenaere](https://github.com/mcuelenaere)) * Add EventCacheCount as member of BinlogSyncerConfig to limit streamer's event channel size. [#830](https://github.com/go-mysql-org/go-mysql/pull/830) ([zing22845](https://github.com/zing22845)) * Feat: handle subevents in transaction payload event. [#827](https://github.com/go-mysql-org/go-mysql/pull/827) ([hjweddie](https://github.com/hjweddie)) * Feat:add code comments & refactor mysql config constant. [#826](https://github.com/go-mysql-org/go-mysql/pull/826) ([CocaineCong](https://github.com/CocaineCong)) * Add String() for FieldValue. [#825](https://github.com/go-mysql-org/go-mysql/pull/825) ([lance6716](https://github.com/lance6716)) * Fix typo: expectSequnceNumber -> expectSequenceNumber. [#824](https://github.com/go-mysql-org/go-mysql/pull/824) ([gaaf](https://github.com/gaaf)) * Refactor: modify the form of variable declarations. [#822](https://github.com/go-mysql-org/go-mysql/pull/822) ([CocaineCong](https://github.com/CocaineCong)) * Add GTIDEvent interface to get the SequenceNumber and LastCommitted. [#818](https://github.com/go-mysql-org/go-mysql/pull/818) ([cameron-p-m](https://github.com/cameron-p-m)) * Add function to parse 'extradata’ in rows event. [#817](https://github.com/go-mysql-org/go-mysql/pull/817) ([chungeun-choi](https://github.com/chungeun-choi)) * Fix: prevent panic on malformed handshake. [#819](https://github.com/go-mysql-org/go-mysql/pull/819) ([btoonk](https://github.com/btoonk)) * Add VisibilityBitmap to TableMapEvent in replication. [#813](https://github.com/go-mysql-org/go-mysql/pull/813) ([dongwook-chan](https://github.com/dongwook-chan)) * Tests: select testdb and use MySQL 8.0 by default. [#789](https://github.com/go-mysql-org/go-mysql/pull/789) ([dveeden](https://github.com/dveeden)) * Fix: constant name mismatch. [#805](https://github.com/go-mysql-org/go-mysql/pull/805) ([lengdavid](https://github.com/lengdavid)) * Change unit test framework to https://github.com/stretchr/testify. [#803](https://github.com/go-mysql-org/go-mysql/pull/803) ([lance6716](https://github.com/lance6716)) * Client: add close method for client pool. [#797](https://github.com/go-mysql-org/go-mysql/pull/797) ([RainJoe](https://github.com/RainJoe)) * Bump golang.org/x/text from 0.3.6 to 0.3.8. [#802](https://github.com/go-mysql-org/go-mysql/pull/802) ([dependabot[bot]](https://github.com/apps/dependabot)) * Switch zstd library to allow build on arm64 and amd64. [#801](https://github.com/go-mysql-org/go-mysql/pull/801) ([dveeden](https://github.com/dveeden)) * Support LOCAL INFILE request. [#798](https://github.com/go-mysql-org/go-mysql/pull/798) ([masahide](https://github.com/masahide)) * Support MySQL Compressed Protocol. [#787](https://github.com/go-mysql-org/go-mysql/pull/787) ([dveeden](https://github.com/dveeden)) * Add test for attributes. [#790](https://github.com/go-mysql-org/go-mysql/pull/790) ([dveeden](https://github.com/dveeden)) * Set library specific connection attributes. [#788](https://github.com/go-mysql-org/go-mysql/pull/788) ([dveeden](https://github.com/dveeden)) * Add support for MariaDB compressed binlog events. [#786](https://github.com/go-mysql-org/go-mysql/pull/786) ([monder](https://github.com/monder)) * Fix: should use column index to set null bitmap when building binary resultset. [#780](https://github.com/go-mysql-org/go-mysql/pull/780) ([luyui](https://github.com/luyui)) * Mysql8 auth compatibility. [#781](https://github.com/go-mysql-org/go-mysql/pull/781) ([atercattus](https://github.com/atercattus)) * Fix: server/handshake_resp_test.go 's mysql doc link can't be opened. [#782](https://github.com/go-mysql-org/go-mysql/pull/782) ([zhiiw](https://github.com/zhiiw)) * Support for PARTIAL_UPDATE_ROWS_EVENT binlog event and PARTIAL_JSON mode. [#774](https://github.com/go-mysql-org/go-mysql/pull/774) ([atercattus](https://github.com/atercattus)) * Canal: use localhost option. [#777](https://github.com/go-mysql-org/go-mysql/pull/777) ([AleksandrShibanov](https://github.com/AleksandrShibanov)) * Update CI Ubuntu image version and increase timeout. [#779](https://github.com/go-mysql-org/go-mysql/pull/779) ([lance6716](https://github.com/lance6716)) * This fixes issue #34. Using the wrong hostname. [#36](https://github.com/go-mysql-org/go-mysql/pull/36) ([gdey](https://github.com/gdey)) * Decoding of compressed binlog events. [#773](https://github.com/go-mysql-org/go-mysql/pull/773) ([dveeden](https://github.com/dveeden)) * Update Terminology. [#772](https://github.com/go-mysql-org/go-mysql/pull/772) ([dveeden](https://github.com/dveeden)) * Allow to run all tests with mysql:8. [#765](https://github.com/go-mysql-org/go-mysql/pull/765) ([atercattus](https://github.com/atercattus)) ### Tag v1.7.0 (2023-01-31) * Replication - just return an error not logging it. [#764](https://github.com/go-mysql-org/go-mysql/pull/764) ([atercattus](https://github.com/atercattus)) * Binlogsyncer: Format config in logs. [#763](https://github.com/go-mysql-org/go-mysql/pull/763) ([dveeden](https://github.com/dveeden)) * Allow to run tests in local environment + fix tests for it. [#762](https://github.com/go-mysql-org/go-mysql/pull/762) ([atercattus](https://github.com/atercattus)) * Mariadb: fix nil currGset for mariadb. [#760](https://github.com/go-mysql-org/go-mysql/pull/760) ([GMHDBJD](https://github.com/GMHDBJD)) * Adding replication protocol support to mysql server implementation. [#759](https://github.com/go-mysql-org/go-mysql/pull/759) ([Fizic](https://github.com/Fizic)) * Upgrade github.com/pingcap/parser to github.com/pingcap/tidb/parser. [#758](https://github.com/go-mysql-org/go-mysql/pull/758) ([axfor](https://github.com/axfor)) * Support "mysql_clear_password" auth plugin. [#757](https://github.com/go-mysql-org/go-mysql/pull/757) ([tirsen](https://github.com/tirsen)) * Handle fake rotate event as real if binlog filename changed. [#753](https://github.com/go-mysql-org/go-mysql/pull/753) ([gaojijun](https://github.com/gaojijun)) * Binlog_syncer: reduce the times of Clone of MySQLGTIDSet to speed up. [#746](https://github.com/go-mysql-org/go-mysql/pull/746) ([GMHDBJD](https://github.com/GMHDBJD)) * Support to check if a column is primary key. [#744](https://github.com/go-mysql-org/go-mysql/pull/744) ([fungaren](https://github.com/fungaren)) * Fix panic when logger or dialer is not set in canal config. [#743](https://github.com/go-mysql-org/go-mysql/pull/743) ([fungaren](https://github.com/fungaren)) * EventHandlerV2 support handle event with replication.EventHeader. [#740](https://github.com/go-mysql-org/go-mysql/pull/740) ([BLAZZ](https://github.com/BLAZZ)) * Speed up gtid process for mysql. [#738](https://github.com/go-mysql-org/go-mysql/pull/738) ([GMHDBJD](https://github.com/GMHDBJD)) * Parser: allow user-defined rows_event decode func. [#737](https://github.com/go-mysql-org/go-mysql/pull/737) ([GMHDBJD](https://github.com/GMHDBJD)) * Code refractoring. [#736](https://github.com/go-mysql-org/go-mysql/pull/736) ([tech-sumit](https://github.com/tech-sumit)) * Make logger require an interface instead of a concrete implementation. [#732](https://github.com/go-mysql-org/go-mysql/pull/732) ([mcuelenaere](https://github.com/mcuelenaere)) * Packet: fix misusing of defer. [#729](https://github.com/go-mysql-org/go-mysql/pull/729) ([shizhx](https://github.com/shizhx)) * Fix: fix client field list. [#726](https://github.com/go-mysql-org/go-mysql/pull/726) ([black-06](https://github.com/black-06)) * Add go1.19 test matrix. [#725](https://github.com/go-mysql-org/go-mysql/pull/725) ([takumin](https://github.com/takumin)) * Removed use of deprecated ioutil. [#724](https://github.com/go-mysql-org/go-mysql/pull/724) ([skoef](https://github.com/skoef)) * Update testify dependency. [#722](https://github.com/go-mysql-org/go-mysql/pull/722) ([lance6716](https://github.com/lance6716)) * Fix: return null values properly in proxy mode. [#721](https://github.com/go-mysql-org/go-mysql/pull/721) ([btoonk](https://github.com/btoonk)) * Added SetTableCache method to set new schema for a table without load…. [#719](https://github.com/go-mysql-org/go-mysql/pull/719) ([sergan99](https://github.com/sergan99)) * Use background context when KILL last connection. [#718](https://github.com/go-mysql-org/go-mysql/pull/718) ([D3Hunter](https://github.com/D3Hunter)) * Fix typo. [#717](https://github.com/go-mysql-org/go-mysql/pull/717) ([psi59](https://github.com/psi59)) * Fix readme example. [#716](https://github.com/go-mysql-org/go-mysql/pull/716) ([trim21](https://github.com/trim21)) * Use net.JoinHostPort to join host and port. [#715](https://github.com/go-mysql-org/go-mysql/pull/715) ([GMHDBJD](https://github.com/GMHDBJD)) * Optim: remove useless return value for mysql.util.RandomBuf. [#708](https://github.com/go-mysql-org/go-mysql/pull/708) ([LPX3F8](https://github.com/LPX3F8)) * Add support for custom dialer in canal and binlog syncer. [#707](https://github.com/go-mysql-org/go-mysql/pull/707) ([viciious](https://github.com/viciious)) * Fix initialization of TLS connections. [#706](https://github.com/go-mysql-org/go-mysql/pull/706) ([viciious](https://github.com/viciious)) * Use existing function for comparing auth data. [#704](https://github.com/go-mysql-org/go-mysql/pull/704) ([skoef](https://github.com/skoef)) ### Tag v1.6.0 (2022-06-16) * Allow logger override. [#699](https://github.com/go-mysql-org/go-mysql/pull/699) ([cameron-p-m](https://github.com/cameron-p-m)) * Improved the server example in README. [#696](https://github.com/go-mysql-org/go-mysql/pull/696) ([skoef](https://github.com/skoef)) * Allow TLS connections in the driver. [#673](https://github.com/go-mysql-org/go-mysql/pull/673) ([atomicules](https://github.com/atomicules)) ### Tag v1.5.0 (2022-04-30) * Replacing github.com/satori/go.uuid with github.com/google/uuid. [#690](https://github.com/go-mysql-org/go-mysql/pull/690) ([martinhrvn](https://github.com/martinhrvn)) * Fix dump gtid regexp. [#688](https://github.com/go-mysql-org/go-mysql/pull/688) ([yrbb](https://github.com/yrbb)) * Utilise byteSlice as a part of struct to avoid allocations. [#686](https://github.com/go-mysql-org/go-mysql/pull/686) ([moredure](https://github.com/moredure)) * Update bytes_buffer_pool.go. [#685](https://github.com/go-mysql-org/go-mysql/pull/685) ([moredure](https://github.com/moredure)) * Add go1.18 to the test matrix. [#684](https://github.com/go-mysql-org/go-mysql/pull/684) ([moredure](https://github.com/moredure)) * Add 1.17 version into the test matrix. [#683](https://github.com/go-mysql-org/go-mysql/pull/683) ([moredure](https://github.com/moredure)) * Stop using channel for memory pooling. [#682](https://github.com/go-mysql-org/go-mysql/pull/682) ([moredure](https://github.com/moredure)) * Fix TIME value near zero will become zero. [#678](https://github.com/go-mysql-org/go-mysql/pull/678) ([lance6716](https://github.com/lance6716)) * Fixed reading connection attributes on server side. [#676](https://github.com/go-mysql-org/go-mysql/pull/676) ([skoef](https://github.com/skoef)) * Support client connection attributes on the client side. [#675](https://github.com/go-mysql-org/go-mysql/pull/675) ([skoef](https://github.com/skoef)) * Support client connection attributes on the server side. [#672](https://github.com/go-mysql-org/go-mysql/pull/672) ([skoef](https://github.com/skoef)) * Added constants for COM_SET_OPTION. [#670](https://github.com/go-mysql-org/go-mysql/pull/670) ([skoef](https://github.com/skoef)) * Implemented ExecuteMultiple. [#668](https://github.com/go-mysql-org/go-mysql/pull/668) ([skoef](https://github.com/skoef)) * Add MysqlGTIDSet.Add() and Minus() methods. [#667](https://github.com/go-mysql-org/go-mysql/pull/667) ([ostinru](https://github.com/ostinru)) * Enabled ineffassign in golangci. [#666](https://github.com/go-mysql-org/go-mysql/pull/666) ([skoef](https://github.com/skoef)) * Enabled gosimple in golangci. [#665](https://github.com/go-mysql-org/go-mysql/pull/665) ([skoef](https://github.com/skoef)) * Add MysqlGTIDSet.Add() and Minus() methods. [#662](https://github.com/go-mysql-org/go-mysql/pull/662) ([ostinru](https://github.com/ostinru)) * Store json as string in rows events. [#658](https://github.com/go-mysql-org/go-mysql/pull/658) ([D3Hunter](https://github.com/D3Hunter)) * Set slave_uuid and replica_uuid. [#656](https://github.com/go-mysql-org/go-mysql/pull/656) ([lance6716](https://github.com/lance6716)) * Fix malformed packet and a panic. [#655](https://github.com/go-mysql-org/go-mysql/pull/655) ([lance6716](https://github.com/lance6716)) * Fix fetchIndexesViaSqlDB/NewTableFromSqlDB for MySQL 8.0. [#527](https://github.com/go-mysql-org/go-mysql/pull/527) ([RobinGeuze](https://github.com/RobinGeuze)) ### Tag v1.4.0 (2021-12-15) * Fix that forget to readOK after writing. [#652](https://github.com/go-mysql-org/go-mysql/pull/652) ([lance6716](https://github.com/lance6716)) * Packet: memory optimization for reading network packet. [#651](https://github.com/go-mysql-org/go-mysql/pull/651) ([zr-hebo](https://github.com/zr-hebo)) * Add test for Conn.ExecuteSelectStreaming. [#649](https://github.com/go-mysql-org/go-mysql/pull/649) ([atercattus](https://github.com/atercattus)) * Fix(server):java jdbc connect "Access denied for user 'root'@'127.0.0.1:3306' (using password: Yes). [#646](https://github.com/go-mysql-org/go-mysql/pull/646) ([pretty66](https://github.com/pretty66)) * Reuse BytesBuffer in BinlogParser. [#644](https://github.com/go-mysql-org/go-mysql/pull/644) ([D3Hunter](https://github.com/D3Hunter)) * Add ConnectWithDialer. [#643](https://github.com/go-mysql-org/go-mysql/pull/643) ([bakins](https://github.com/bakins)) * Read auth_data_len from InitialHandshake packet instead of hard code. [#640](https://github.com/go-mysql-org/go-mysql/pull/640) ([guoyuanchao1202](https://github.com/guoyuanchao1202)) * Fix: return error if error in packet. [#637](https://github.com/go-mysql-org/go-mysql/pull/637) ([btoonk](https://github.com/btoonk)) * Fix ast.TruncateTableStmt node name assignment. [#630](https://github.com/go-mysql-org/go-mysql/pull/630) ([daledude](https://github.com/daledude)) * Support insert argument type json.RawMessage. [#627](https://github.com/go-mysql-org/go-mysql/pull/627) ([domyway](https://github.com/domyway)) * Adds parsing of IntVarEvents. [#624](https://github.com/go-mysql-org/go-mysql/pull/624) ([IvoGoman](https://github.com/IvoGoman)) * Allow to set certain client-side capabilities. [#616](https://github.com/go-mysql-org/go-mysql/pull/616) ([skoef](https://github.com/skoef)) * Add GTID-based replication to example. [#615](https://github.com/go-mysql-org/go-mysql/pull/615) ([lance6716](https://github.com/lance6716)) * Support MYSQL_TYPE_JSON. [#614](https://github.com/go-mysql-org/go-mysql/pull/614) ([domyway](https://github.com/domyway)) * Adds documentation for row-based replication flags. [#611](https://github.com/go-mysql-org/go-mysql/pull/611) ([IvoGoman](https://github.com/IvoGoman)) * Add scheme/Index NoneUnique. [#610](https://github.com/go-mysql-org/go-mysql/pull/610) ([afocus](https://github.com/afocus)) * Hidden mysql password in log. [#608](https://github.com/go-mysql-org/go-mysql/pull/608) ([elonzh](https://github.com/elonzh)) * Fix error when trying to check binlog settings. [#602](https://github.com/go-mysql-org/go-mysql/pull/602) ([cr1sp1n](https://github.com/cr1sp1n)) * Use constant and add comment for magic number 9. [#599](https://github.com/go-mysql-org/go-mysql/pull/599) ([lance6716](https://github.com/lance6716)) * Extended ExecuteSelectStreaming. [#596](https://github.com/go-mysql-org/go-mysql/pull/596) ([skoef](https://github.com/skoef)) * Fixed access denied error messages. [#595](https://github.com/go-mysql-org/go-mysql/pull/595) ([skoef](https://github.com/skoef)) * Replaced all %lu, %ld and %u to %d for correct formatting of errors. [#594](https://github.com/go-mysql-org/go-mysql/pull/594) ([skoef](https://github.com/skoef)) * Connection status flag manipulation. [#593](https://github.com/go-mysql-org/go-mysql/pull/593) ([skoef](https://github.com/skoef)) * Return EOF response on COM_SET_OPTION commands. [#590](https://github.com/go-mysql-org/go-mysql/pull/590) ([skoef](https://github.com/skoef)) * Improved access denied error messages. [#589](https://github.com/go-mysql-org/go-mysql/pull/589) ([skoef](https://github.com/skoef)) * Expose capability and charset of connections to server. [#588](https://github.com/go-mysql-org/go-mysql/pull/588) ([skoef](https://github.com/skoef)) * Fix a bug that values of time(1),time(3),time(5) will generate 00:00:00. [#529](https://github.com/go-mysql-org/go-mysql/pull/529) ([hamburgerbox](https://github.com/hamburgerbox)) ### Tag v1.3.0 (2021.06.10) * Init Resultset in Result when handling ddl statement. [#578](https://github.com/go-mysql-org/go-mysql/pull/578) ([romberli](https://github.com/romberli)) * Add pool for client connections. [#584](https://github.com/go-mysql-org/go-mysql/pull/584) ([atercattus](https://github.com/atercattus)) ### Tag v1.2.1 (2021.05.27) * Prevent panic on malformed auth data. [#557](https://github.com/go-mysql-org/go-mysql/pull/557) ([timvaillancourt](https://github.com/timvaillancourt)) ### Tag v1.2.0 (2021.05.16) * Fix a rare bug in Conn.readResultStreaming. [#573](https://github.com/go-mysql-org/go-mysql/pull/573) ([atercattus](https://github.com/atercattus)) * Fix tag. [#575](https://github.com/go-mysql-org/go-mysql/pull/575) ([atercattus](https://github.com/atercattus)) * Update dependency. [#576](https://github.com/go-mysql-org/go-mysql/pull/576) ([Ehco1996](https://github.com/Ehco1996)) ### Tag v1.1.2 (2021.04.20) * Fix canal test in readme. [#516](https://github.com/go-mysql-org/go-mysql/pull/516) ([gaojijun](https://github.com/gaojijun)) * UUID clone. [#522](https://github.com/go-mysql-org/go-mysql/pull/522) ([lance6716](https://github.com/lance6716)) * Sort mariadb gtid set. [#545](https://github.com/go-mysql-org/go-mysql/pull/545) ([zeminzhou](https://github.com/zeminzhou)) * Mysql: use numeric comparison for binlog filename. [#547](https://github.com/go-mysql-org/go-mysql/pull/547) ([lance6716](https://github.com/lance6716)) * Fix MySQL spell. [#549](https://github.com/go-mysql-org/go-mysql/pull/549) ([igoso](https://github.com/igoso)) * Update README.md and CHANGELOG.md. [#564](https://github.com/go-mysql-org/go-mysql/pull/564) ([atercattus](https://github.com/atercattus)) * Update method now may receive strings with GTID sets. [#569](https://github.com/go-mysql-org/go-mysql/pull/569) ([mialinx](https://github.com/mialinx)) * Change module name from siddontang/go-mysql to go-mysql-org/go-mysql. [#571](https://github.com/go-mysql-org/go-mysql/pull/571) ([lance6716](https://github.com/lance6716)) * Fix a bug that not cloned to original memory. [#572](https://github.com/go-mysql-org/go-mysql/pull/572) ([lance6716](https://github.com/lance6716)) * Update README.md for a new tag. [#574](https://github.com/go-mysql-org/go-mysql/pull/574) ([atercattus](https://github.com/atercattus)) ### Tag v1.1.1 (2021.04.08) * Restructured dump/ tests. [#563](https://github.com/go-mysql-org/go-mysql/pull/563) ([atercattus](https://github.com/atercattus)) * Replace magic numbers in canal/canal_test.go by constants. [#562](https://github.com/go-mysql-org/go-mysql/pull/562) ([atercattus](https://github.com/atercattus)) * Fix parsing GTIDs from mysqlpdump. [#561](https://github.com/go-mysql-org/go-mysql/pull/561) ([dobegor](https://github.com/dobegor)) * Streaming of SELECT responses. `client/Conn.ExecuteSelectStreaming()` added. [#560](https://github.com/go-mysql-org/go-mysql/pull/560) ([atercattus](https://github.com/atercattus)) * Migation from travis.ci to github actions. [#559](https://github.com/go-mysql-org/go-mysql/pull/559) ([atercattus](https://github.com/atercattus)) * Output sorted mysql gtid. [#500](https://github.com/go-mysql-org/go-mysql/pull/500) ([zr-hebo](https://github.com/zr-hebo)) * Add skipped columns information. [#505](https://github.com/go-mysql-org/go-mysql/pull/505) ([laskoviymishka](https://github.com/laskoviymishka)) * Feat: support disable retry sync for canal. [#507](https://github.com/go-mysql-org/go-mysql/pull/507) ([everpcpc](https://github.com/everpcpc)) * Update README.md. [#511](https://github.com/go-mysql-org/go-mysql/pull/511) ([TennyZhuang](https://github.com/TennyZhuang)) * Add function to extend replication options. [#508](https://github.com/go-mysql-org/go-mysql/pull/508) ([wefen](https://github.com/wefen)) ### Tag v1.1.0 (2020.07.17) * Update .travis.yml (go 1.14 and tip). [#510](https://github.com/go-mysql-org/go-mysql/pull/510) ([atercattus](https://github.com/atercattus)) * Update README.md. [#509](https://github.com/go-mysql-org/go-mysql/pull/509) ([atercattus](https://github.com/atercattus)) * A lot of memory allocation optimizations. Changed public API for `mysql/Resultset` type. [#466](https://github.com/go-mysql-org/go-mysql/pull/466) ([atercattus](https://github.com/atercattus)) ### Tag v1.0.0 (2020.07.17) Add SemVer