Releases: erikbra/grate
1.8.0
Time for another grate release. A couple of small new features, and some bugfixes. Thanks for all the feedback! A special thanks to first-time contributors @ArveSystad, @XelgoSett (PR not merged, but good input, thanks!), and @Delich, for reporting a missing update in the documentation.
New features
- Task #504: Add --isuptodate feature by @erikbra in #529
- Add reassuring info message when running in baseline mode by @ArveSystad in #542
Bugs fixed
- Bug #557: Fixed new (similar) bug if grate schemas/tables exist with different casing for PostgreSQL by @erikbra in #560
- Bug #536: Run After Create Database scripts are run even if database isn't created from scratch by grate by @erikbra in #565
- Bug #524: Scripts in internal Grate migration tables are always registered as "run" by @erikbra in #566
- Bug #553: Baseline creates orphan version_id in ScriptsRun by @erikbra in #567
List of everything that's changed (including chores)
- build(deps): bump Microsoft.NET.Test.Sdk from 17.9.0 to 17.10.0 by @dependabot in #525
- build(deps): bump xunit.runner.visualstudio from 2.8.0 to 2.8.1 by @dependabot in #528
- build(deps): bump xunit from 2.8.0 to 2.8.1 by @dependabot in #527
- Task #504: Add --isuptodate feature by @erikbra in #529
- build(deps): bump docker/login-action from 3.1.0 to 3.2.0 by @dependabot in #531
- build(deps): bump Microsoft.Data.Sqlite from 8.0.5 to 8.0.6 by @dependabot in #530
- build(deps): bump Microsoft.Data.SqlClient from 5.2.0 to 5.2.1 by @dependabot in #535
- build(deps): bump MartinCostello.Logging.XUnit from 0.3.0 to 0.4.0 by @dependabot in #534
- build(deps): bump docker/build-push-action from 5.3.0 to 5.4.0 by @dependabot in #537
- build(deps): bump docker/build-push-action from 5.4.0 to 6.0.1 by @dependabot in #543
- build(deps): bump docker/build-push-action from 6.0.1 to 6.0.2 by @dependabot in #545
- build(deps): bump docker/build-push-action from 6.0.2 to 6.1.0 by @dependabot in #547
- Add reassuring info message when running in baseline mode by @ArveSystad in #542
- Update TestContainers to 3.9.0 by @erikbra in #548
- build(deps): bump docker/build-push-action from 6.1.0 to 6.2.0 by @dependabot in #552
- build(deps): bump gittools/actions from 1.1.1 to 1.2.0 by @dependabot in #556
- build(deps): bump docker/build-push-action from 6.2.0 to 6.4.0 by @dependabot in #558
- build(deps): bump docker/build-push-action from 6.4.0 to 6.4.1 by @dependabot in #559
- Bug #557: Fixed new (similar) bug if grate schemas/tables exist with different casing for PostgreSQL by @erikbra in #560
- Bug #536: Run After Create Database scripts are run even if database isn't created from scratch by grate by @erikbra in #565
- build(deps): bump gittools/actions from 1.2.0 to 2.0.1 by @dependabot in #563
- build(deps): bump docker/build-push-action from 6.4.1 to 6.5.0 by @dependabot in #561
- build(deps): bump docker/login-action from 3.2.0 to 3.3.0 by @dependabot in #562
- Bug #524: Scripts in internal Grate migration tables are always registered as "run" by @erikbra in #566
- Bug #553: Baseline creates orphan version_id in ScriptsRun by @erikbra in #567
New Contributors
- @ArveSystad made their first contribution in #542
Full Changelog: 1.7.4...1.8.0
1.7.4
Fixes to "don't log the internal migrations, and confuse all the users"
Thanks a lot for fixing this bug, @JaDuyve :)
What's Changed
- Create logger after instantiating DbMigrator to make sure the new con… by @JaDuyve in #520
- build(deps): bump Xunit.DependencyInjection from 9.2.1 to 9.3.0 by @dependabot in #522
- build(deps): bump Microsoft.Data.Sqlite from 8.0.4 to 8.0.5 by @dependabot in #523
- Chore: Fixed SqLite docker tests by @erikbra in #521
Full Changelog: 1.7.3...1.7.4
1.7.3
Third bugfix release after 1.7.0.
What's Changed
- build(deps): bump Npgsql from 8.0.2 to 8.0.3 by @dependabot in #516 CVE-2024-32655
- Chore: Set verbosity to very low (Warning) on running internal migrations by @erikbra in #517
Full Changelog: 1.7.2...1.7.3
1.6.3
Backport fix of [CVE-2024-32655] for 1.6 branch, since some people (potentially) have problems with the 1.7 branch (we are investigating)
What's Changed
Full Changelog: 1.7.3...1.6.3
1.7.2
1.7.1
First bugfix release after rather big internal rewrites in 1.7.0 (#482), and a documentation fix. Thanks, @salticus, for your contribution!
What's Changed
- Fix documentation typo: gratesettings => grate_settings by @salticus in #511
- Bug #509: Migration fails if default output folder ("output" in current directory) is not writable by @erikbra in #510
New Contributors
Full Changelog: 1.7.0...1.7.1
1.7.0
Release 1.7.0
A couple of new features, so we deserve a version bump (according to semantic versioning).
Thanks a lot to @kitroed for making their first contribution!!
And, as always, bug/issue reports are always welcome, PRs are even more welcome 😉 - if you are able to. The PR doesn't have to be huge. Find something in the docs that is difficult to understand, if you have a question you don't find the answer to easily, or something else. Open source projects are a community effort, and the more each and every one of you contributes, the better grate gets 😄
New features
- Implement repository path command line argument (#454) by @kitroed in #481
- Dog-fooding: Use grate to version grate tables by @erikbra in #482 (maybe not a feature per se, but quite a big change, so it earns its place on the "new features" list 😄 )
- Task #485: Add factory IFoldersConfiguration builder 'Folders' for convenience by @erikbra in #490
- Issue #492: Add support for multiple simultaneous environments by @erikbra in #495
Old bugs that suddenly can be fixed
PR #482 made it much easier to evolve the grate table structure itself, and made fixing the following issues much easier.
- Bug #440: Replaced "TableName" with [TableName] for SQL Server by @erikbra in #500
- Bug 432: Allow for non-ASCII characters in scripts by @erikbra in #501
What's Changed
- build(deps): bump Microsoft.Data.Sqlite from 8.0.2 to 8.0.3 by @dependabot in #471
- build(deps): bump coverlet.collector from 6.0.1 to 6.0.2 by @dependabot in #472
- build(deps): bump gittools/actions from 0.13.4 to 1.1.1 by @dependabot in #473
- build(deps): bump azure/login from 1 to 2 by @dependabot in #474
- build(deps): bump docker/build-push-action from 5.2.0 to 5.3.0 by @dependabot in #476
- build(deps): bump MySqlConnector from 2.3.5 to 2.3.6 by @dependabot in #484
- build(deps): bump docker/login-action from 3.0.0 to 3.1.0 by @dependabot in #475
- build(deps): bump Xunit.DependencyInjection from 8.9.1 to 9.0.1 by @dependabot in #479
- build(deps): bump Testcontainers from 3.7.0 to 3.8.0 by @dependabot in #483
- build(deps): bump Xunit.DependencyInjection.Logging from 8.1.0 to 9.0.0 by @dependabot in #480
- Dog-fooding: Use grate to version grate tables by @erikbra in #482
- build(deps): bump Testcontainers.PostgreSql from 3.7.0 to 3.8.0 by @dependabot in #488
- build(deps): bump Testcontainers.MsSql from 3.7.0 to 3.8.0 by @dependabot in #489
- build(deps): bump Testcontainers.MariaDb from 3.7.0 to 3.8.0 by @dependabot in #486
- build(deps): bump Testcontainers.Oracle from 3.7.0 to 3.8.0 by @dependabot in #487
- Implement repository path command line argument (#454) by @kitroed in #481
- Task #485: Add factory IFoldersConfiguration builder 'Folders' for convenience by @erikbra in #490
- build(deps): bump Xunit.DependencyInjection from 9.0.1 to 9.1.0 by @dependabot in #491
- build(deps): bump Microsoft.Data.Sqlite from 8.0.3 to 8.0.4 by @dependabot in #494
- Chore/more integration tests by @erikbra in #493
- build(deps): bump xunit from 2.7.0 to 2.7.1 by @dependabot in #498
- build(deps): bump Oracle.ManagedDataAccess.Core from 3.21.130 to 3.21.140 by @dependabot in #499
- Issue #492: Add support for multiple simultaneous environments by @erikbra in #495
- build(deps): bump xunit.runner.visualstudio from 2.5.7 to 2.5.8 by @dependabot in #497
- Bug #440: Replaced "TableName" with [TableName] for SQL Server by @erikbra in #500
- Bug 432: Allow for non-ASCII characters in scripts by @erikbra in #501
- build(deps): bump MySqlConnector from 2.3.6 to 2.3.7 by @dependabot in #502
- Fix integration tests by @erikbra in #496
- build(deps): bump Xunit.DependencyInjection from 9.1.0 to 9.2.1 by @dependabot in #505
- build(deps): bump xunit.runner.visualstudio from 2.5.8 to 2.8.0 by @dependabot in #507
- build(deps): bump xunit from 2.7.1 to 2.8.0 by @dependabot in #506
New Contributors
Full Changelog: 1.6.2...1.7.0
1.6.2 - Tests all the way, improvements and bugfixes
Bugfixes, improvements, bug fixes
Thanks to all that have contributed, both with filing issues, and fixing things, creating PRs. All contributions are welcome, and collaboration is key to being able to keep grate great!
Automated integration tests
I've made an effort to get an automated integration test pipeline up and running, which runs against external database. This makes the way for being able to test in GitHub actions on other platforms than Linux, as running Docker containers in build pipelines is only supported on Linux in GitHub actions. We are also able to perform proper end-to-end testing of cloud-hosted databases, with all sorts of types of auth, etc. Please create an issue or a PR if there is a configuration you would like to add to the test suite!
Thanks to @hoangthanh28 who again made an excellent contribution, and a special thanks to @JaDuyve and @pascalberger who made their first contribution, both on documentation, and code PRs.
What's Changed
- Fix grate always create Version record when no script to run. by @hoangthanh28 in #425
- Issue #431: Improved error messages and -output on errors running SQL scripts by @erikbra in #448
- Chore: Make timeout tests more reliable by @erikbra in #449
- Bug #450: Re-enable using connection pooling by default for SQL server by @erikbra in #451
- Add tests on the build, trimmed, self-contained command-line binaries by @erikbra in #456
- Fix typos by @pascalberger in #452
- Chore: Remove 'CommandLine.' prefix from command-line tests to improve readibility of step names in GitHub actions by @erikbra in #458
- Upgrade both upload-artifact and download-artifact to v4 (they work in concert) by @erikbra in #459
- Fix Azure Devops pipeline and Github actions example to use latest grate in the pipelines by @erikbra in #461
- Add DropDatabase and CreateDatabase step to GettingStarted documentation page by @JaDuyve in #463
- First step to running integration tests against external databases by @erikbra in #468
- Add support for overriding default folder location of CreateDatabase by @JaDuyve in https://github.com/erikbra/grate/pull/467d
- build(deps): bump coverlet.collector from 6.0.0 to 6.0.1 by @dependabot in #447
- build(deps): bump gittools/actions from 0.11.0 to 0.12.0 by @dependabot in #455
- build(deps): bump Microsoft.Data.SqlClient from 5.1.5 to 5.2.0 by @dependabot in #453
- build(deps): bump gittools/actions from 0.12.0 to 0.13.2 by @dependabot in #460
- build(deps): bump Dapper from 2.1.28 to 2.1.35 by @dependabot in #466
- build(deps): bump gittools/actions from 0.13.2 to 0.13.4 by @dependabot in #465
- build(deps): bump docker/build-push-action from 5.1.0 to 5.2.0 by @dependabot in #469
- build(deps): bump gittools/actions from 0.13.4 to 0.13.6 by @dependabot in #470
New Contributors
- @pascalberger made their first contribution in #452
- @JaDuyve made their first contribution in #463
Full Changelog: 1.6.1...1.6.2
1.6.1 - I have no master
What's Changed
- Bug #441: Don't use master DB unnecessarily on SQL Server by @erikbra in #442
- build(deps): bump Microsoft.Data.Sqlite from 8.0.1 to 8.0.2 by @dependabot in #443
- build(deps): bump xunit from 2.6.6 to 2.7.0 by @dependabot in #445
- build(deps): bump xunit.runner.visualstudio from 2.5.6 to 2.5.7 by @dependabot in #444
Full Changelog: 1.6.0...1.6.1
1.6.0 - grate in a box (package)
Nuget packages!!
A much requested feature (people's use cases vary a lot, and I hadn't anticipated this to be a common use case, but I was wrong :) ) is to make grate available as Nuget packages.
Thanks a lot to @hoangthanh28 for taking the effort to implement this in the lovaly #417 PR! Also, thank you for the initiative to modernize the Docker integration using test containers, making the DevX much better (PR #405), and for modernizing the package management and upgrading to .net 8 in #400
Main features
- Able to run grate programmatically by @hoangthanh28 in #417
- Features/thanh/net 8 by @hoangthanh28 in #400
- Unit test with testcontainers by @hoangthanh28 in #405
Nuget packages
Available here:
Database | NuGet package |
---|---|
grate.core | |
Microsoft SQL server (sqlserver) | |
PostgreSQL (postgresql) | |
MariaDB/MySQL (mariadb) | |
Sqlite (sqlite) | |
Oracle (oracle) |
Command-line installers
Available on your favourite package manager.
Windows
winget install grate
macOS
brew install grate
macOS is a bit strict on running unsigned packages, so you need to run the binary manually using Finder first, get a message that the app cannot be opened, go into security settings, say that you want to open it anyway. Then you can use it normally from the command-line onwards.
Linux
dpkg -i https://github.com/erikbra/grate/releases/download/1.6.0/grate_1.6.0-1_amd64.deb
(or *arm64.deb, if you are on an arm64 box)
Manually
Download your preferred zip file below, and put the grate (grate.exe) binary anywhere you like, and run it :). No dependencies. No .NET required to be installed :)
All that's changed
- build(deps): update Dapper requirement from 2.0.* to 2.1.* by @dependabot in #382
- build(deps): bump docker/metadata-action from 5.0.0 to 5.3.0 by @dependabot in #402
- build(deps): bump actions/setup-dotnet from 3 to 4 by @dependabot in #401
- build(deps): bump docker/build-push-action from 5.0.0 to 5.1.0 by @dependabot in #395
- Add DevContainer to be able to work in-the-browser by @erikbra in #404
- build(deps): bump github/codeql-action from 2 to 3 by @dependabot in #406
- Unit test with testcontainers by @hoangthanh28 in #405
- Some fixes after PR 405 by @erikbra in #409
- Use amd64 on all tests on all sqlserver stuff by @erikbra in #410
- build(deps): bump xunit.runner.visualstudio from 2.5.3 to 2.5.5 by @dependabot in #411
- build(deps): bump xunit from 2.5.3 to 2.6.3 by @dependabot in #412
- build(deps): bump docker/metadata-action from 5.3.0 to 5.5.0 by @dependabot in #418
- build(deps): bump xunit from 2.6.3 to 2.6.5 by @dependabot in #419
- Update nuget dependencies by @erikbra in #422
- Able to run grate programmatically by @hoangthanh28 in #417
- build(deps): bump docker/metadata-action from 5.5.0 to 5.5.1 by @dependabot in #430
- build(deps): bump Microsoft.Data.SqlClient from 5.1.4 to 5.1.5 by @dependabot in #429
- build(deps): bump MySqlConnector from 2.3.3 to 2.3.5 by @dependabot in #428
- build(deps): bump xunit from 2.6.5 to 2.6.6 by @dependabot in #426
- Chore: Use dependency injection more actively in unit tests by @erikbra in #423
- Chore: Making the public API interface of grate more maintainable beore exposing as a nuget package by @erikbra in #437
- build(deps): bump XunitXml.TestLogger from 3.1.17 to 3.1.20 by @dependabot in #436
- build(deps): bump Npgsql from 8.0.1 to 8.0.2 by @dependabot in #435
- build(deps): bump gittools/actions from 0.10.2 to 0.11.0 by @dependabot in #434
- build(deps): bump Microsoft.NET.Test.Sdk from 17.8.0 to 17.9.0 by @dependabot in #433
- build(deps): bump Microsoft.Data.SqlClient from 5.1.2 to 5.1.3 in /examples/k8s/initcontainer/sample-service by @dependabot in #439
- Build nuget package of grate.core too by @erikbra in #438
New Contributors
- @hoangthanh28 made their first contribution in #400
Full Changelog: 1.5.4...1.6.0