Version 5.0.0
What's Changed
Announcements
- Everything marked as deprecated in this release will be permanently removed in 6.0.0. Plan accordingly.
Breaking Changes
- Maintenance Migrations that are untagged are now included by default. See: #1689, which addresses various bug reports that would confuse quite a few users of FluentMigrator 3.x. The behavior is now consistent with regular Migrations.
IDeleteExpressionRoot
interface methodIInSchemaSyntax Table(string tableName)
is nowIIfExistsOrInSchemaSyntax Table(string tableName)
. The consequence of this is that it is not possible to run 3.x migrations against the 5.0 runner if you reference a Delete expression, with the exception error messageMethod not found: 'FluentMigrator.Builders.IInSchemaSyntax FluentMigrator.Builders.Delete.IDeleteExpressionRoot.Table(System.String)'
(see commit b758e9cbbc8d2e625cf470d7d604ce57236b4e30 for technical details).
In general, we can't provide a backwards compatible interface for this, since C# does not support return type covariance.
In general, we can't provide a backwards compatible interface for this, since C# does not support return type covariance.
End Of Life Support
- SQL Server Compact Edition has been dropped.
- SQL Anywhere has been dropped.
- Drop support for .NET 5 due to Microsoft End Of Life Support. by @jzabroski in 5c003e629d81a7c546e8090b7cc98c8bdaed6574
Big New Features
FluentMigrator now supports .NET 8!
FluentMigrator now supports Snowflake, thanks to Ellis Kenyo in the following commit 7f12600 and merged in via 734aa5c588e28717695c0b7045a44ef86dc6db7d
Add categories for all tests #671 by @eloekset
Other Changes
- Enhance FormatSystemMethods quoter with new DB2, Firebird, MySql features #1156 by @jzabroski in 00f76dd9064851130ca44c0f79480a8e5b636d5d
Add IColumnTypeSyntax.AsType(DbType type) method for columns. Fixes #1085 by @jzabroski in a624ae08b423041a5b5dafd1101995dee78bf023 - SQLite Processor: Query column without loading whole
table_info
by @mattbrailsford in #1580 - Limit SQLite type mappings to the 4 core data types by @mattbrailsford in #1581
- Fixes SQLite FormatIdentity bug 1456 by @mattbrailsford in #1583
- Bump MySql.Data from 8.0.11 to 8.0.28 by @dependabot in #1558
- Add missing features to SQLite runner by @mattbrailsford in #1585
- Adding additional description properties using additional list by @azerios in #1553
- Fixes #1592 by @jzabroski in #1593
- Fixes #1590 by @jzabroski in #1594
- Bump NUnit3TestAdapter from 3.17.0 to 4.2.1 by @dependabot in #1586
- Bump Shouldly from 3.0.2 to 4.0.3 by @dependabot in #1469
- Bump System.ValueTuple from 4.4.0 to 4.5.0 by @dependabot in #1467
- Bump McMaster.Extensions.CommandLineUtils from 2.3.4 to 4.0.1 by @dependabot in #1559
- Bump FSharp.Core from 4.6.2 to 6.0.3 by @dependabot in #1596
- Add support for NullsDistinct() / NullsNotDistinct() for Postgres by @lillo42 in #1603
- Move all FluentMigration.Runner code to FluentMigrator.Runner.Core by @mattbrailsford in #1600
- Make Postgres 10 & 11 processors public by @rvdginste in #1615
- Add JetBrains.Annotations.MeansImplicitUse to MigrationAttribute by @sirduke in #1620
- feat: add dotnet 6.0 support for cli tool by @johannessorheim in #1650
- Correct help for preview switch by @ToddRopog in #1658
- feat: add dotnet 7.0 support for cli tool by @PauloDaniel1993 in #1656
- Use PackageLicenseExpression by @georg-jung in #1653
- Fix a typo in a couple of error messages by @adrianbanks in #1654
- Replace MySql.Data to MySqlConnector by @lillo42 in #1678
- Add Support to MySQL 8 and add MySql extensions by @lillo42 in #1680
- Bump JetBrains.Annotations from 11.1.0 to 2023.3.0 by @dependabot in #1691
- Bump MySqlConnector from 2.2.7 to 2.3.1 by @dependabot in #1692
- Bump Snowflake.Data from 2.1.3 to 2.1.4 by @dependabot in #1697
- Bump Npgsql from 8.0.0 to 8.0.1 by @dependabot in #1696
- Bump Moq from 4.20.69 to 4.20.70 by @dependabot in #1693
- Fixes #1545: Postgres10_0 / Postgress11_0: When altering column, migrator ignores collation by @jzabroski in e6cbe629e3568286b95d61c455e24f8b6fc68bdc
- Fixes #1672 ConnectionlessProcessor NotImplementedException should state method name not supported. by @jzabroski in 1283d05dccc3a5e262e766e105b132912412949c, 25b6c20ef2832376635d3ef08bcfd94fb70b1137, & 06d82918255b2b66483053dddc5c13bda934bdc8
- Postgres quoter now supports SystemMethods.CurrentDateTimeOffset. by @fubar-coder in 0cf25c8b505c8315657eca3e5144c3f52e9249ec
- Postgres dependency injection tests. by @fubar-coder in aea546b6ea2f0585b0cbac4617ff38559a81d827
New Contributors
- @mattbrailsford made their first contribution in #1580
- @dependabot made their first contribution in #1558
- @azerios made their first contribution in #1553
- @rvdginste made their first contribution in #1615
- @sirduke made their first contribution in #1620
- @johannessorheim made their first contribution in #1650
- @ToddRopog made their first contribution in #1658
- @PauloDaniel1993 made their first contribution in #1656
- @georg-jung made their first contribution in #1653
- @adrianbanks made their first contribution in #1654
Full Changelog: v3.3.2...v5.0.0