Changelog History
Page 1
-
v1.4.6 Changes
November 23, 2020- 🐛 Bug fix: The
skeema lint
andskeema format
commands no longer panic if no host is defined for the current dir's configuration. (#141, #142, 2b64cea) - 📚 Help text: several documentation improvements have been added to the
--help
text, including grouping options by category for better readability, as well as linking to Skeema's new online command reference. (d6662fa, 6393249) - 🚀 Developer internals: The "master" branch, deprecated since Skeema v1.4.4, has now been dropped to avoid confusion. The default branch for this project is "main". Additionally, compiling Skeema from source now requires Golang v1.14+. Skeema tracks Golang's official policy of supporting the two most recent Go releases. (b578d01)
📚 Installation instructions and full documentation are available on skeema.io.
- 🐛 Bug fix: The
-
v1.4.5 Changes
July 27, 2020- 👕 Compression linter : New linter rule lint-compression checks the compression settings of InnoDB tables, ensuring that each table's compression setting is found in companion list option allow-compression. These options can be used to restrict which types/sizes of compression are permitted, or require all tables to be compressed, or require that no tables are compressed. Thank you to Etsy for generously sponsoring the development of this feature! (1ed3163)
- MariaDB 10.5 is now fully supported in Skeema. This includes proper handling of the new
inet6
column type (which can be safely converted to/frombinary(16)
), and detection of the newBINLOG ADMIN
privilege (which affects temp-schema-binlog=auto). (a4cceec) - Tables using column compression in MariaDB 10.3+ are now fully supported for diff operations. (b393191)
🍎 Note for macOS Catalina users: to allow execution of the Skeema binary, remove the quarantine bit (
xattr -d com.apple.quarantine skeema
) or right-click open via Finder once. Alternatively, build Skeema from source. -
v1.4.4 Changes
June 24, 2020- 🐛 Bug fix: unexpected fatal errors when using non-root users with certain privilege combinations (5eeb835)
- 👍 Allow (and prefer) use of SSL/TLS for encrypted database connections by default, if server supports them (8c83c18)
- 👌 Improve support/detection of schema names used in *.sql files, such as
USE
statements orCREATE dbname.tablename
statements (921084c, dfb65d9, c6bfb73, 76edc20) - 🌲
skeema pull
: minor changes to error handling and logging, to be more likeskeema format
(618c2ef) - 🚀 Skeema's test suite and release pipeline are now run via GitHub Actions instead of Travis CI. Additionally, this repo's default branch has been renamed main.
-
v1.4.3 Changes
May 01, 2020- 🆕 New partitioning-related options for
skeema init
,skeema pull
,skeema format
, andskeema lint
(4f90ec4) - 📜 Diff support for WITH PARSER clause of FULLTEXT index, allowing use of alternative parsers (e8b3ad4)
- The
ngram
parser is now supported on Skeema.io CI for MySQL 5.7+ and Percona Server 5.7+, as this parser is preinstalled in these database versions.
- The
- 👌 Improve safety check that prevents inadvertent manipulation of system schemas (0ca6b8f)
🍎 Note for macOS Catalina users: to allow execution of the Skeema binary, remove the quarantine bit (
xattr -d com.apple.quarantine skeema
) or right-click open via Finder once. Alternatively, build Skeema from source. - 🆕 New partitioning-related options for
-
v1.4.2 Changes
February 14, 2020- 👍 Diff support for tables using InnoDB transparent page compression, a feature available in MySQL 5.7+, Percona Server 5.7+, MariaDB 10.2+ (5e3a1e1)
- 👍 Diff support for tables using column compression, a feature available in Percona Server 5.6.33+ (e7ad0a3)
- 🛠 Fixes for new edge cases in MySQL 8.0.19 (533d073, c7ee397)
👕 These improvements have also been deployed to Skeema.io CI, which provides automatic linting on commits and pull requests. If you store your schemas in a github.com private repo, try it soon before the free beta period closes!
🍎 Note for macOS Catalina users: to allow execution of the Skeema binary, remove the quarantine bit (
xattr -d com.apple.quarantine skeema
) or right-click open via Finder once. Alternatively, build Skeema from source. -
v1.4.1 Changes
January 10, 2020🚀 This release adds diff support for tables using some relatively new MySQL and MariaDB features:
- MySQL 8 invisible indexes, including generation of
ALTER TABLE ... ALTER INDEX ... {INVISIBLE | VISIBLE}
clauses to change index visibility - MySQL 8 index expressions
- MySQL 8 descending index parts
- MariaDB 10.3+ invisible columns
🍎 Note for macOS Catalina users: to allow execution of the Skeema binary, remove the quarantine bit (
xattr -d com.apple.quarantine skeema
) or right-click open via Finder once. Alternatively, build Skeema from source. - MySQL 8 invisible indexes, including generation of
-
v1.4.0 Changes
November 22, 2019🚀 For a complete description of new functionality, please see the release blog post.
- Support for diffing/altering partitioned tables. Thank you to Etsy for generously sponsoring the development of this functionality! (#57)
- Support for diffing/altering tables with generated columns (stored or virtual). (#49)
- Sharding enhancement: the schema option now permits use of regular expressions to match existing sharded schemas that follow a common naming convention. (d73a82c)
- 🆕 New linter check : lint-has-float (d44bea3)
- 🆕 New option: temp-schema-threads (b22daf5)
- 🆕 New option: temp-schema-binlog (d385890)
- 👌 Improvements to query timeout behavior (35c1797, b123469)
- 🗄 Option reuse-temp-schema is now deprecated; two edge case bugs in the option have been fixed. (e98d730)
- 🐛 Bug fix: lint and diff logic incorrectly viewed FULLTEXT indexes as equivalent/redundant to a BTREE index covering the same columns. (#110)
- 🐛 Bug fix: ignore LF vs CRLF differences in proc/func param lists. (ce8e022)
🍎 Note for macOS Catalina users: to allow execution of the Skeema binary, you must first either remove the quarantine bit (
xattr -d com.apple.quarantine skeema
) or right-click open via Finder once. Alternatively, build Skeema from source. -
v1.3.1 Changes
October 11, 2019🚀 This release fixes two bugs, which only affected MySQL 8.0 and Percona Server 8.0:
- When a majority of tables in a schema contained foreign keys, deadlock errors could occur randomly, fatally interrupting Skeema's operation. (#105)
- Skeema could panic upon introspecting tables containing a FULLTEXT index if at least one other secondary index was also present. (#106)
🚀 These fixes have also been deployed to the SaaS Skeema CI system.
Thank you to all users who submitted issues recently!
-
v1.3.0 Changes
September 06, 2019🚀 This release includes substantial enhancements to Skeema's linter functionality, permitting users to easily configure what database features to allow or prohibit in their environment. For a more complete description of new functionality, please see the release blog post.
- 👕 7 additional configurable linter checks have been added. Detect duplicate indexes, identify overly-small auto_increment columns, flag unusual int display widths, limit allowed definers for procs/funcs, restrict usage of several MySQL features, and more.
- 👕
skeema diff
andskeema push
now automatically lint any new or modified objects. - 👕 Linter configuration has changed. Each linter check now has its own option, rather than being configured through the combined errors and warnings options.
- 👕 All new linter functionality is also now available in the SaaS Skeema CI system. Add it to your GitHub schema repo and get instant linting and diffing on all pull requests!
- Now supported: MariaDB 10.4
- Now supported: FULLTEXT indexes
- 🆕 New command:
skeema format
reformats CREATE statements without otherwise linting - 🐛 Bug fix: empty single-line comments inside the body of a proc/func were previously causing parse errors (#96)
-
v1.2.6 Changes
August 19, 2019🚀 This release contains bug fixes for several edge cases:
- MySQL 8.0 and Percona Server 8.0: tables with multiple create options (e.g. ROW_FORMAT, STATS_AUTO_RECALC, etc) were sometimes erroneously marked as unsupported for diff. (#88)
- 📜 Procs/funcs could not be parsed if their param list formatting contained embedded newlines, and Skeema was being run as a non-root user. (#95)
- 🐳 workspace=docker was overly cautious around image verification between runs. (f896e48)
- 📜 Sharding options involving shelling out to an external script (host-wrapper, backtick-wrapped schema) could confusingly mis-parse the delimiter used in the script's output if any trailing newline/whitespace was present. (314163d)
Thank you to all users who submitted issues recently!