Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dolt 1.46.0 #204372

Merged
merged 2 commits into from
Jan 15, 2025
Merged

dolt 1.46.0 #204372

merged 2 commits into from
Jan 15, 2025

Conversation

BrewTestBot
Copy link
Member

Created by brew bump


Created with brew bump-formula-pr.

release notes
# Merged PRs

dolt

  • 8746: Allow dolt sql to always log in as the root superuser
    From the command line, when a sql-server is not running, dolt sql implicitly uses the root account to log, but if the root account exists with a password, dolt sql will fail to log in. Since the user has access to the host and the database data directory, we should allow dolt sql to log into the SQL shell, even if the root user has a password set. This change also makes this behavior match when a sql-server is running, and we allow superuser login through the __dolt_local_user__ account (which only exists while a sql-server is running).
  • 8745: Add --prune option to dolt_pull procedure
    Expose in CLI and test too.
    See: Can't delete remote branch refs that no longer exist in origin dolthub/dolt#8734
  • 8742: Don't panic when attempting to update workspace table
    Previously a panic was very likely if any update to dolt_workspace_* involved a schema change. This change restricts the updates to the workspace tables only in cases where the schemas have not changed.
  • 8740: /go/libraries/doltcore/sql/dsess: parallelize sql.NewDatabase work
  • 8690: Initialize persisted root superuser on SQL server startup
    Previously, Dolt would only create a root superuser on sql-server startup when no other user accounts had been created. This resulted in a behavior where users would run dolt sql-server, create user accounts, then the next time they restart the sql-server, the root account would no longer be present. This behavior has surprised several customers (see Dolt's disappearing root user is confusing dolthub/dolt#5759) and is different from MySQL's behavior, which creates a persistent root superuser as part of initialization.
    This change modifies this behavior so that a root superuser is created, and persisted, the first time a SQL server is started for a database, unless the --skip-root-user-initialization flag is specified, or if an ephemeral super user is requested with the --user option. Subsequent runs of dolt sql-server do not automatically create the root superuser – only the first time dolt sql-server is started when there is no privileges database yet, will trigger the root user to be created and the privileges database to be initialized
    Internally, this is implemented by detecting the presence of any user account and privilege data stored to disk (by default, in the .doltcfg/privileges.db file). When no user account and privilege data exists, the root superuser initialization logic will run. This means the privileges.db data is now always created on the first run of dolt sql-server, even if the data is empty.
    As part of this change, the root superuser is now scoped to localhost, instead of % (i.e. any host). This improves the default security posture of a Dolt sql-server and better aligns with MySQL's behavior. Customers who rely on using the root account to connect from non-localhost hosts, will need to either log in and alter the root account to allow connections from the hosts they need, or they can specify the DOLT_ROOT_HOST and/or DOLT_ROOT_PASSWORD environment variables to override the default host (localhost) and password ("") for the root account when it is initialized the first time a sql-server is launched.
    One side effect of this change is that dolt sql -u <user> may work differently for some uses. Previously, if there was no user account and privilege data persisted to disk yet (i.e. the .doltcfg/privileges.db file), then users could specify any username and password to dolt sql (e.g. dolt sql -u doesnotexist) and they would still be logged in – user authentication was ignored since no user account and privilege data existed. Now that the user account and privilege data is always initialized when running dolt sql-server, customers may no longer use dolt sql --user <user> to log in with unknown user accounts. The workaround for this is to simply run dolt sql without the --user option, and Dolt will use the default local account.
    Fixes: Dolt's disappearing root user is confusing dolthub/dolt#5759
    Depends on: Persist and load superusers dolthub/go-mysql-server#2797
    Related to: Implementing new methods from servercfg.DoltgresConfig dolthub/doltgresql#1113
    Documentation updates: Adjust Docker docs with info on DOLT_ROOT_HOST and DOLT_ROOT_PASSWORD dolthub/docs#2460

go-mysql-server

vitess

Closed Issues

  • 5759: Dolt's disappearing root user is confusing
  • 8744: Parser support for adding/removing partition

@github-actions github-actions bot added go Go use is a significant feature of the PR or issue bump-formula-pr PR was created using `brew bump-formula-pr` labels Jan 15, 2025
Copy link
Contributor

🤖 An automated task has requested bottles to be published to this PR.

@github-actions github-actions bot added the CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch. label Jan 15, 2025
@BrewTestBot BrewTestBot enabled auto-merge January 15, 2025 20:34
@BrewTestBot BrewTestBot added this pull request to the merge queue Jan 15, 2025
Merged via the queue into master with commit 0bbc046 Jan 15, 2025
15 checks passed
@BrewTestBot BrewTestBot deleted the bump-dolt-1.46.0 branch January 15, 2025 20:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bump-formula-pr PR was created using `brew bump-formula-pr` CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch. go Go use is a significant feature of the PR or issue
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants