All Versions
16
Latest Version
Avg Release Cycle
42 days
Latest Release
1247 days ago

Changelog History
Page 1

  • v1.4.6 Changes

    November 23, 2020
    • 🐛 Bug fix: The skeema lint and skeema 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.

  • 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/from binary(16)), and detection of the new BINLOG 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 or CREATE dbname.tablename statements (921084c, dfb65d9, c6bfb73, 76edc20)
    • 🌲 skeema pull: minor changes to error handling and logging, to be more like skeema 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, and skeema 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.
    • 👌 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.

  • 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.

  • 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 and skeema 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!