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

skeema 1.11.0 #146244

Merged
merged 2 commits into from
Sep 27, 2023
Merged

skeema 1.11.0 #146244

merged 2 commits into from
Sep 27, 2023

Conversation

Porkepix
Copy link
Contributor

Created by brew bump


Created with brew bump-formula-pr.

release notes
See the [**Skeema v1.11 release announcement blog post**](https://www.skeema.io/blog/2023/09/26/v1110-released/) for a summary of the most important changes in this release.
  • Spatial indexes and SRID column attributes are now fully supported for diff operations. (#97, 77ab3de, 5e357db)
  • MySQL 8.1 is now supported. (23520ea, f4e480f)
  • MariaDB 11.1 is now supported. (865aa62)
  • Premium edition improvement for triggers: whenever skeema push needs to perform multiple trigger manipulations in the same schema, the corresponding parent tables are now briefly write-locked, to prevent data inconsistencies from writes which occur in the middle of the push operation.
    • Even though MySQL lacks CREATE OR REPLACE syntax to atomically modify a trigger, this improvement now makes it safe to modify existing triggers, so allow-unsafe is no longer necessary in this situation.
  • The workspace=docker option now shells out to an external Docker CLI binary, instead of bundling a Golang Docker client library inside of Skeema. This change reduces the size of the skeema binary by 25-40%, and avoids spurious false-positive security warnings related to dependencies of the Docker client library. (#186, 2a2d8e3, 233c73e)
  • New option lax-column-order provides a way to ignore differences in column ordering in skeema diff and skeema push. (#178, c6de431)
  • New option lax-comments provides a way to ignore COMMENT clause differences in skeema diff and skeema push. (76a7323)
  • When skeema diff or skeema push detects multiple unsafe changes, all such unsafe changes are now logged, instead of just the first one. Additionally, linting still occurs if unsafe changes are present, allowing the user to see all problematic unsafe statements and linter violations at the same time. (01a93d5)
  • Several additional column modification edge cases are now considered unsafe by skeema diff and skeema push. (905ee14)
    • Changing the collation of a column that appears in a uniqueness constraint
    • Adding, removing, or changing the SRID of a spatial column in MySQL 8+
    • Converting the column type between TIME and TIMESTAMP
  • Several small improvements when modifying existing routines when using skeema diff or skeema push
    • Changes to the parameters or return type of a routine are now considered unsafe, requiring allow-unsafe to proceed even in MariaDB (where atomic CREATE OR REPLACE syntax normally makes other types of routine modifications safe). (a3ecc18)
    • When modifying a routine's characteristics (COMMENT clause, SECURITY characteristic, SQL DATA characteristic) and no other properties of the routine, Skeema now emits ALTER PROCEDURE / ALTER FUNCTION, which is safe and atomic even in MySQL. (6fab6d8)
    • In the output for skeema diff and skeema push, if the last statement for a schema required use of a nonstandard DELIMITER, the output will now also include a DELIMITER ; line before moving on to the next schema. This is beneficial for users who pipe skeema diff STDOUT to another program and then add additional SQL statements afterwards. (605b735)
  • Linter annotation messages now backtick-wrap the name of the problematic table, routine, view, or trigger. (2dd1fb6)
  • Premium edition improvement for Windows build: when Skeema needs to invoke external commands with PowerShell, its -EncodedCommand option is now used in order to prevent problems with tricky nested escaping of quoted parameters.
  • Premium edition Aurora bug fix: the latest release of Aurora for MySQL 5.7 (Aurora v2.12.0, from 2023-07-25) was not properly detected as flavor=aurora. This version of Aurora self-reports its MySQL server version as 5.7.40, whereas all previous Aurora v2 versions reported it as MySQL 5.7.12. Skeema's Aurora detection logic has now been adjusted to allow for dynamic 5.7 versions, similar to how the logic for Aurora v3 (MySQL 8.0.x) already worked.
  • Premium edition bug fix: when using Skeema Premium's ssh tunnel functionality on a server with an IPv6 address, if the SSH configuration specifies StrictHostKeyChecking=no or StrictHostKeyChecking=ask, Skeema could previously write the knownhosts entry incorrectly, in part due to an upstream Golang bug. Workarounds are now in place, thanks to community contributions to our open source knownhosts wrapper package. (Fix WriteKnownHost for IPv6 #1 skeema/knownhosts#2, Omit the IPv6 zone ID if it contains spaces skeema/knownhosts#4)

Upgrade notice for users of Skeema's workspace=docker option:

  • Skeema v1.11+ no longer bundles a built-in Docker client. A docker command-line client binary must be available in your $PATH to use workspace=docker. If you use this setting while also running skeema inside of a container, you must ensure that skeema's container has a working docker binary prior to upgrading. See #186 for more information.

An installation guide and full documentation are available on our website skeema.io.

@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 Sep 27, 2023
@github-actions
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 Sep 27, 2023
@BrewTestBot BrewTestBot added this pull request to the merge queue Sep 27, 2023
Merged via the queue into Homebrew:master with commit bc90d0f Sep 27, 2023
12 checks passed
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.

3 participants