Download Latest Version dolt-windows-amd64.7z (22.0 MB)
Email in envelope

Get an email when there's a new version of Dolt

Home / v1.76.6
Name Modified Size InfoDownloads / Week
Parent folder
dolt-windows-amd64.msi < 17 hours ago 44.2 MB
install.sh < 17 hours ago 3.2 kB
dolt-windows-amd64.7z < 17 hours ago 22.0 MB
dolt-windows-amd64.zip < 17 hours ago 38.6 MB
dolt-darwin-arm64.tar.gz < 17 hours ago 39.9 MB
dolt-darwin-amd64.tar.gz < 17 hours ago 42.1 MB
dolt-linux-arm64.tar.gz < 17 hours ago 39.7 MB
dolt-linux-amd64.tar.gz < 17 hours ago 42.8 MB
1.76.6 source code.tar.gz < 18 hours ago 12.4 MB
1.76.6 source code.zip < 18 hours ago 14.2 MB
README.md < 18 hours ago 7.6 kB
Totals: 11 Items   296.0 MB 0

Merged PRs

dolt

  • 10055: Respect sql-server Dockerfile .yaml and .json support Reset CONFIG_PROVIDED after applying /etc/dolt/doltcfg.d/config.json so subsequent YAML lookup runs.
  • 10048: go/store/nbs: Fix race in chunk journal initialization. With dolt gc, the store journal can be deleted and recreated as part of normal operation. When we bootstrap a new chunk journal, we always write 1MB of 0 bytes and a root hash record, reflecting the current root hash, at offset 0. ChunkJournal takes an advisory exclusive lock when it opens the database data directory. It will operate in a read-only mode when it cannot take this lock. Due to a bug, even when operating in read-only mode, the chunk journal bootstrap code would run if the store was requested to open the chunk journal but there were was no existing chunk journal on disk. This meant there was a race condition if a Dolt process opened the store in read-only mode while another process was going to GC the store. If the read-only store tried to open the journal file and did not find it, it could end up overwriting the beginning of the contents of a just-created journal file. This PR adds two fixes: 1) When we create a journal file, we must be its actual creator. O_EXCL will cause os.Open() to return an error if this syscall did not create the file, which means we are not in charge and we need to bail. 2) When running in read-only mode, we should never create the journal file. We can try to read its contents if we learn of its existence, but if there is no file and we have been requested to open it, we should return an error.
  • 10043: [#10038]: Fix the SELECT * vs LIKE no result mismatch with case-insensitive collation Fixes [#10038]
  • Fix wildcard SELECT * being EOF as a result of NextValueRow() iterator object already being consumed by queueRows().
  • Remove NextValueRow() for prollyKeylessIndexIter because it conflicts with goroutine function queueRows() for Next().
  • 10029: Pass tree.Node as pointer

go-mysql-server

  • 3299: Prevent panic when using table functions in joins and subqueries This prevents the panic seen in https://github.com/dolthub/dolt/issues/10051 The join planner assumed that every instance of TableAlias wrapped an implementer of sql.TableNode. Only tables that support lookups implement sql.TableNode. Table functions that are not backed by an actual table and don't support lookups do not implement this interface. This panic is happening when testing to see whether we can optimize a join into a RightSemiJoin. The table needs to support lookups for this optimization to be allowed. So if it doesn't implement sql.TableNode, it suffices to skip this join plan, since we wouldn't be able to produce it away. This does not fix the broader issue of https://github.com/dolthub/dolt/issues/10051, which is that it is currently impossible for table functions that accept non-literal arguments to support efficient lookups. I'm not currently aware of any use cases where this is required, but I'll keep the issue open to track it in case we need to support that in the future.
  • 3297: [#10050]: Fix JSON conversion for dolt when using TextStorage Fix [#10050]
  • Extended JsonType.Convert to unwrap sql.StringWrapper values before decoding.
  • Add convertJSONValue to handle string and []byte like inputs.
  • 3293: Don't make string unless in Debug mode Even though this isn't getting logged anywhere, generating the DebugString for CostedIndexScans is costly enough to show in the profiler. Also specify capacity for rows in Result. benchmarks: https://github.com/dolthub/dolt/pull/10039#issuecomment-3499431486
  • 3292: Updating auth interfaces to pass connection Allows implementations of PlainTextStorage, CachedStorage, and HashStorage to receive the connection, so that they can check connection properties, such as SSL/TLS. Depends on: https://github.com/dolthub/vitess/pull/443/files Related to: https://github.com/dolthub/dolt/issues/10008
  • 3291: Add support for configuring a user's TLS connection requirements Adds support for creating users with TLS connection requirements, and displaying those settings via the mysql.user system table. MySQL documentation on CREATE USER SSL/TLS options Example: CREATE USER user1@localhost REQUIRES X509; Related to https://github.com/dolthub/dolt/issues/10008
  • 3279: [#9887]: Add BINLOG and mariadb-binlog support Fixes [#9887]
  • Add BinlogConsumer and BinlogConsumerCatalog interfaces.
  • Add BINLOG statement that decodes base64 encoded event strings and runs them on dolt's binlog replica applier using BinlogConsumer interface.
  • Add support for mariadb-binlog utility with new format support for sql_mode, collation_database, collation_connection, and collation_server, which can use bitmasks and IDs tied to system variable values.
  • Add new format int support for lc_time_names; this remains a no-op.
  • Add authentication handler for Binlog statement and new privilege types binlog_admin, replication_applier.
  • Other system variables have been added as no-ops for mariadb-binlog compatibility: skip_parallel_replication, gtid_domain_id, gtid_seq_no, check_constraint_checks, sql_if_exists, system_versioning_insert_history, and insert_id.
  • Add separate MariaDB-specific system variables array and a new getter that pulls from both system variable arrays.

vitess

  • 443: Updating auth interfaces to pass connection Enables implementations to have access to the connection. Needed as part of mutual TLS auth work so that implementations can validate connection properties. Also matches the interface definitions in the official vitess repo.
  • 439: [#9887]: Fix empty executable comments and add BINLOG support and mariadb executable comments Fixes [#9887]
  • Add TypeName() to binlogEvent objects for error message creation on the frontend, i.e. go-mysql-server.
  • Add ERBase64DecodeError = 1575, ERNoFormatDescriptionEventBeforeBinlogStatement = 1609, and EROnlyFDAndRBREventsAllowedInBinlogStatement = 1730 for Binlog statements error handling.
  • Add Binlog statement parser support.
  • Add mariadb executable comment support and fix handling of empty comments, i.e. /*!*/ and /*M!*/.

Closed Issues

  • 10050: TEXT doesn't convert properly to JSON
  • 10053: docker sql-server automatic config file usage is busted
  • 10038: Inconsistent Behavior: COUNT Returns 1 but SELECT Returns Empty Set with Same LIKE Condition
  • 10015: Feature: cluster replication: When the server is in standby mode, the read_only system variable should always be true.
Source: README.md, updated 2025-11-11