Skip to content

Releases: erikbra/grate

1.8.0

25 Jul 07:09
Compare
Choose a tag to compare

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

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

Full Changelog: 1.7.4...1.8.0

1.7.4

16 May 06:45
5f69746
Compare
Choose a tag to compare

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

11 May 19:49
1313227
Compare
Choose a tag to compare

Third bugfix release after 1.7.0.

What's Changed

Full Changelog: 1.7.2...1.7.3

1.6.3

11 May 20:06
50f2387
Compare
Choose a tag to compare

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

  • build(deps): bump Npgsql from 8.0.2 to 8.0.3 by @erikbra in #518

Full Changelog: 1.7.3...1.6.3

1.7.2

08 May 06:11
dae0b17
Compare
Choose a tag to compare

Second quick bugfix release after 1.7.0

What's Changed

  • Bug #512: Grate internal scripts fail when using CreateDatabase scripts by @erikbra in #514
  • Bug #513: Changed to MySQL compatible syntax on 'ADD COLUMN IF NOT EXISTS' in internal grate tables by @erikbra in #515

Full Changelog: 1.7.1...1.7.2

1.7.1

07 May 06:24
fcb9cfb
Compare
Choose a tag to compare

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

29 Apr 14:51
a5d3212
Compare
Choose a tag to compare

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

13 Mar 06:41
ffa2eb4
Compare
Choose a tag to compare

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

Full Changelog: 1.6.1...1.6.2

1.6.1 - I have no master

16 Feb 06:51
bde33b0
Compare
Choose a tag to compare

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)

12 Feb 20:04
db60f7f
Compare
Choose a tag to compare

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

Nuget packages

Available here:

Database NuGet package
grate.core NuGet
Microsoft SQL server (sqlserver) NuGet
PostgreSQL (postgresql) NuGet
MariaDB/MySQL (mariadb) NuGet
Sqlite (sqlite) NuGet
Oracle (oracle) NuGet

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

Full Changelog: 1.5.4...1.6.0