diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 18198a1..26798d9 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -2,77 +2,12 @@ name: CI
 
 on:
   push:
+    branches:
+      - '**' # Ignores pushes of tags
   pull_request:
   workflow_dispatch:
 
 jobs:
   build:
-    runs-on: windows-latest  # Use Ubuntu in v5.0
-
-    env:
-      DOTNET_NOLOGO: true
-      DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true # Avoid pre-populating the NuGet package cache
-
-    steps:
-      - uses: actions/checkout@v3
-        with:
-          fetch-depth: 0 # all
-
-      - name: Setup .NET 2.0 # Remove in v5.0
-        uses: actions/setup-dotnet@v1
-        with:
-          dotnet-version: 2.0.x
-
-      - name: Setup .NET 8.0
-        uses: actions/setup-dotnet@v1
-        with:
-          dotnet-version: 8.0.x
-
-      - name: Install GitVersion
-        uses: gittools/actions/gitversion/setup@v0
-        with:
-          versionSpec: '5.x'
-
-      - name: Run GitVersion
-        id: gitversion
-        uses: gittools/actions/gitversion/execute@v0
-
-      - name: Display SemVer
-        run: |
-            echo "SemVer: $env:GitVersion_SemVer"
-          
-      - name: Add DbUp NuGet Source
-        run: dotnet nuget add source --name DbUp --username DbUp --password ${{ secrets.GITHUB_TOKEN }} --store-password-in-clear-text https://nuget.pkg.github.com/DbUp/index.json
-        
-      - name: Restore
-        run: dotnet restore
-        working-directory: src
-
-      - name: Build
-        run: dotnet build -c Release --no-restore /p:Version=$env:GitVersion_SemVer
-        working-directory: src
-
-      - name: Test
-        run: dotnet test --no-build -c Release --logger trx --logger "console;verbosity=detailed" --results-directory ../artifacts
-        working-directory: src
-
-      - name: Pack
-        run: dotnet pack --no-build -c Release -o ../artifacts /p:Version=$env:GitVersion_SemVer
-        working-directory: src
-
-      - name: Push NuGet packages to GitHub Packages ⬆️
-        working-directory: artifacts
-        run: dotnet nuget push *.nupkg --api-key ${{ secrets.GITHUB_TOKEN }} --source "https://nuget.pkg.github.com/DbUp/index.json"
-
-      - name: Push NuGet packages to NuGet ⬆️
-        if: ${{ steps.gitversion.outputs.preReleaseLabel == '' }}
-        working-directory: artifacts
-        run: dotnet nuget push *.nupkg --api-key ${{ secrets.NUGET_APIKEY }} --source https://api.nuget.org/v3/index.json
-        
-      - name: Test Report 🧪
-        uses: dorny/test-reporter@v1
-        if: ${{ always() }}
-        with:
-          name: Tests
-          path: artifacts/*.trx
-          reporter: dotnet-trx
+    name: Build
+    uses: DbUp/Universe/.github/workflows/build.yml@main
diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml
new file mode 100644
index 0000000..eb5e03f
--- /dev/null
+++ b/.github/workflows/publish-release.yml
@@ -0,0 +1,12 @@
+name: Publish DbUp Packages to NuGet
+
+on:
+  release:
+    types: [ published ]
+  workflow_dispatch:
+
+jobs:
+  publish:
+    name: Publish Package
+    uses: DbUp/Universe/.github/workflows/publish-release.yml@main
+    secrets: inherit
diff --git a/.github/workflows/test-report.yml b/.github/workflows/test-report.yml
new file mode 100644
index 0000000..e8c9f8f
--- /dev/null
+++ b/.github/workflows/test-report.yml
@@ -0,0 +1,12 @@
+name: Test Report
+run-name: Generate Test Report for run `${{ github.event.workflow_run.run_number }}` branch `${{ github.event.workflow_run.head_branch }}`
+
+on:
+  workflow_run:
+    workflows: ["CI", "build"]
+    types: [completed]
+
+jobs:
+  report:
+    name: Test Report 🧪
+    uses: DbUp/Universe/.github/workflows/test-report.yml@main
\ No newline at end of file
diff --git a/src/Directory.Build.props b/src/Directory.Build.props
index 070fc1e..35884bc 100644
--- a/src/Directory.Build.props
+++ b/src/Directory.Build.props
@@ -10,18 +10,4 @@
     <LangVersion>latest</LangVersion>
     <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
   </PropertyGroup>
-
-  <PropertyGroup Condition="'$(TF_BUILD)' == 'true' Or '$(CI)' == 'true'">
-
-    <!-- Perform a deterministic build, so our binaries aren't impacted by build server environmental factors (e.g. file paths). -->
-    <ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
-
-    <!-- Embed source files that are not tracked by the source control manager in the PDB -->
-    <EmbedUntrackedSources>true</EmbedUntrackedSources>
-
-    <!-- Recommended: Embed symbols containing Source Link in the main file (exe/dll) -->
-    <DebugType>embedded</DebugType>
-
-  </PropertyGroup>
-
 </Project>
diff --git a/src/Sample/Sample.csproj b/src/Sample/Sample.csproj
index 3809095..7793a6a 100644
--- a/src/Sample/Sample.csproj
+++ b/src/Sample/Sample.csproj
@@ -1,13 +1,13 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <TargetFramework>net7.0</TargetFramework>
+    <TargetFramework>net8.0</TargetFramework>
     <OutputType>Exe</OutputType>
     <IsPackable>false</IsPackable>
   </PropertyGroup>
 
   <ItemGroup>
     <ProjectReference Include="..\dbup-firebird\dbup-firebird.csproj"/>
-    <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="7.0.0"/>
+    <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="9.0.0" />
   </ItemGroup>
 
   <ItemGroup>
diff --git a/src/Tests/ApprovalFiles/DatabaseSupportTests.VerifyBasicSupport.verified.txt b/src/Tests/ApprovalFiles/DatabaseSupportTests.VerifyBasicSupport.approved.txt
similarity index 94%
rename from src/Tests/ApprovalFiles/DatabaseSupportTests.VerifyBasicSupport.verified.txt
rename to src/Tests/ApprovalFiles/DatabaseSupportTests.VerifyBasicSupport.approved.txt
index dc21488..a7762ce 100644
--- a/src/Tests/ApprovalFiles/DatabaseSupportTests.VerifyBasicSupport.verified.txt
+++ b/src/Tests/ApprovalFiles/DatabaseSupportTests.VerifyBasicSupport.approved.txt
@@ -1,11 +1,11 @@
 DB Operation: Open connection
 Info:         Beginning database upgrade
-Info:         Checking whether journal table exists..
+Info:         Checking whether journal table exists
 DB Operation: Execute scalar command: select 1 from RDB$RELATIONS where RDB$SYSTEM_FLAG = 0 and RDB$RELATION_NAME = 'schemaversions'
 DB Operation: Dispose command
 Info:         Journal table does not exist
 Info:         Executing Database Server script 'Script0001.sql'
-Info:         Checking whether journal table exists..
+Info:         Checking whether journal table exists
 DB Operation: Execute scalar command: select 1 from RDB$RELATIONS where RDB$SYSTEM_FLAG = 0 and RDB$RELATION_NAME = 'schemaversions'
 DB Operation: Dispose command
 Info:         Creating the "schemaversions" table
diff --git a/src/Tests/ApprovalFiles/DatabaseSupportTests.VerifyJournalCreationIfNameChanged.verified.txt b/src/Tests/ApprovalFiles/DatabaseSupportTests.VerifyJournalCreationIfNameChanged.approved.txt
similarity index 94%
rename from src/Tests/ApprovalFiles/DatabaseSupportTests.VerifyJournalCreationIfNameChanged.verified.txt
rename to src/Tests/ApprovalFiles/DatabaseSupportTests.VerifyJournalCreationIfNameChanged.approved.txt
index c0696bf..d4bec87 100644
--- a/src/Tests/ApprovalFiles/DatabaseSupportTests.VerifyJournalCreationIfNameChanged.verified.txt
+++ b/src/Tests/ApprovalFiles/DatabaseSupportTests.VerifyJournalCreationIfNameChanged.approved.txt
@@ -1,11 +1,11 @@
 DB Operation: Open connection
 Info:         Beginning database upgrade
-Info:         Checking whether journal table exists..
+Info:         Checking whether journal table exists
 DB Operation: Execute scalar command: select 1 from RDB$RELATIONS where RDB$SYSTEM_FLAG = 0 and RDB$RELATION_NAME = 'TestSchemaVersions'
 DB Operation: Dispose command
 Info:         Journal table does not exist
 Info:         Executing Database Server script 'Script0001.sql'
-Info:         Checking whether journal table exists..
+Info:         Checking whether journal table exists
 DB Operation: Execute scalar command: select 1 from RDB$RELATIONS where RDB$SYSTEM_FLAG = 0 and RDB$RELATION_NAME = 'TestSchemaVersions'
 DB Operation: Dispose command
 Info:         Creating the "TestSchemaVersions" table
diff --git a/src/Tests/ApprovalFiles/DatabaseSupportTests.VerifyVariableSubstitutions.verified.txt b/src/Tests/ApprovalFiles/DatabaseSupportTests.VerifyVariableSubstitutions.approved.txt
similarity index 94%
rename from src/Tests/ApprovalFiles/DatabaseSupportTests.VerifyVariableSubstitutions.verified.txt
rename to src/Tests/ApprovalFiles/DatabaseSupportTests.VerifyVariableSubstitutions.approved.txt
index 1cbac5a..31f2661 100644
--- a/src/Tests/ApprovalFiles/DatabaseSupportTests.VerifyVariableSubstitutions.verified.txt
+++ b/src/Tests/ApprovalFiles/DatabaseSupportTests.VerifyVariableSubstitutions.approved.txt
@@ -1,11 +1,11 @@
 DB Operation: Open connection
 Info:         Beginning database upgrade
-Info:         Checking whether journal table exists..
+Info:         Checking whether journal table exists
 DB Operation: Execute scalar command: select 1 from RDB$RELATIONS where RDB$SYSTEM_FLAG = 0 and RDB$RELATION_NAME = 'schemaversions'
 DB Operation: Dispose command
 Info:         Journal table does not exist
 Info:         Executing Database Server script 'Script0001.sql'
-Info:         Checking whether journal table exists..
+Info:         Checking whether journal table exists
 DB Operation: Execute scalar command: select 1 from RDB$RELATIONS where RDB$SYSTEM_FLAG = 0 and RDB$RELATION_NAME = 'schemaversions'
 DB Operation: Dispose command
 Info:         Creating the "schemaversions" table
diff --git a/src/Tests/ApprovalFiles/NoPublicApiChanges.Run.Net.verified.cs b/src/Tests/ApprovalFiles/NoPublicApiChanges.Run.Net.verified.cs
deleted file mode 100644
index d9d6dfa..0000000
--- a/src/Tests/ApprovalFiles/NoPublicApiChanges.Run.Net.verified.cs
+++ /dev/null
@@ -1,45 +0,0 @@
-[assembly: System.CLSCompliantAttribute(true)]
-[assembly: System.Runtime.InteropServices.ComVisibleAttribute(false)]
-
-public static class FirebirdExtensions
-{
-    public static DbUp.Builder.UpgradeEngineBuilder FirebirdDatabase(DbUp.Engine.Transactions.IConnectionManager connectionManager) { }
-    public static DbUp.Builder.UpgradeEngineBuilder FirebirdDatabase(this DbUp.Builder.SupportedDatabases supported, string connectionString) { }
-    public static DbUp.Builder.UpgradeEngineBuilder FirebirdDatabase(this DbUp.Builder.SupportedDatabases supported, DbUp.Engine.Transactions.IConnectionManager connectionManager) { }
-    public static void FirebirdDatabase(this DbUp.SupportedDatabasesForEnsureDatabase supported, string connectionString, DbUp.Engine.Output.IUpgradeLog logger = null) { }
-    public static void FirebirdDatabase(this DbUp.SupportedDatabasesForDropDatabase supported, string connectionString, DbUp.Engine.Output.IUpgradeLog logger = null) { }
-}
-namespace DbUp.Firebird
-{
-    public class FirebirdConnectionManager : DbUp.Engine.Transactions.DatabaseConnectionManager, DbUp.Engine.Transactions.IConnectionManager
-    {
-        public FirebirdConnectionManager(string connectionString) { }
-        protected override DbUp.Engine.Transactions.AllowedTransactionMode AllowedTransactionModes { get; }
-        public override System.Collections.Generic.IEnumerable<string> SplitScriptIntoCommands(string scriptContents) { }
-    }
-    public class FirebirdObjectParser : DbUp.Support.SqlObjectParser, DbUp.Engine.ISqlObjectParser
-    {
-        public FirebirdObjectParser() { }
-    }
-    public class FirebirdPreprocessor : DbUp.Engine.IScriptPreprocessor
-    {
-        public FirebirdPreprocessor() { }
-        public string Process(string contents) { }
-    }
-    public class FirebirdScriptExecutor : DbUp.Support.ScriptExecutor, DbUp.Engine.IScriptExecutor
-    {
-        public FirebirdScriptExecutor(System.Func<DbUp.Engine.Transactions.IConnectionManager> connectionManagerFactory, System.Func<DbUp.Engine.Output.IUpgradeLog> log, string schema, System.Func<bool> variablesEnabled, System.Collections.Generic.IEnumerable<DbUp.Engine.IScriptPreprocessor> scriptPreprocessors, System.Func<DbUp.Engine.IJournal> journal) { }
-        protected override bool UseTheSameTransactionForJournalTableAndScripts { get; }
-        protected override void ExecuteCommandsWithinExceptionHandler(int index, DbUp.Engine.SqlScript script, System.Action executeCommand) { }
-        protected override string GetVerifySchemaSql(string schema) { }
-    }
-    public class FirebirdTableJournal : DbUp.Support.TableJournal, DbUp.Engine.IJournal
-    {
-        public FirebirdTableJournal(System.Func<DbUp.Engine.Transactions.IConnectionManager> connectionManager, System.Func<DbUp.Engine.Output.IUpgradeLog> logger, string tableName) { }
-        protected override string CreateSchemaTableSql(string quotedPrimaryKeyName) { }
-        protected override string DoesTableExistSql() { }
-        protected override string GetInsertJournalEntrySql(string scriptName, string applied) { }
-        protected override string GetJournalEntriesSql() { }
-        protected override void OnTableCreated(System.Func<System.Data.IDbCommand> dbCommandFactory) { }
-    }
-}
diff --git a/src/Tests/ApprovalFiles/NoPublicApiChanges.Run.DotNet.verified.cs b/src/Tests/ApprovalFiles/NoPublicApiChanges.Run.approved.cs
similarity index 100%
rename from src/Tests/ApprovalFiles/NoPublicApiChanges.Run.DotNet.verified.cs
rename to src/Tests/ApprovalFiles/NoPublicApiChanges.Run.approved.cs
diff --git a/src/Tests/DatabaseSupportTests.cs b/src/Tests/DatabaseSupportTests.cs
index e6a40ef..a0e5857 100644
--- a/src/Tests/DatabaseSupportTests.cs
+++ b/src/Tests/DatabaseSupportTests.cs
@@ -1,5 +1,4 @@
-#if !NETCORE
-using DbUp.Builder;
+using DbUp.Builder;
 using DbUp.Firebird;
 using DbUp.Tests.Common;
 
@@ -20,4 +19,3 @@ protected override UpgradeEngineBuilder AddCustomNamedJournalToBuilder(UpgradeEn
                 => new FirebirdTableJournal(connectionManagerFactory, logFactory, tableName)
         );
 }
-#endif
diff --git a/src/Tests/NoPublicApiChanges.cs b/src/Tests/NoPublicApiChanges.cs
index 3f3da54..dabb880 100644
--- a/src/Tests/NoPublicApiChanges.cs
+++ b/src/Tests/NoPublicApiChanges.cs
@@ -1,5 +1,4 @@
-#if !NETCORE
-using DbUp.Tests.Common;
+using DbUp.Tests.Common;
 
 namespace DbUp.Tests.Providers.Firebird;
 
@@ -10,4 +9,3 @@ public NoPublicApiChanges()
     {
     }
 }
-#endif
diff --git a/src/Tests/Tests.csproj b/src/Tests/Tests.csproj
index ddb89dc..cb06322 100644
--- a/src/Tests/Tests.csproj
+++ b/src/Tests/Tests.csproj
@@ -1,19 +1,19 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
     <PropertyGroup>
-        <TargetFrameworks>net462;net8</TargetFrameworks>
+        <TargetFramework>net8</TargetFramework>
         <AssemblyName>Tests</AssemblyName>
         <RootNamespace>DbUp.Firebird.Tests</RootNamespace>
-        <!--    <ImplicitUsings>enable</ImplicitUsings> Can't use implict usings with net46 -->
+        <ImplicitUsings>enable</ImplicitUsings>
         <Nullable>enable</Nullable>
     </PropertyGroup>
 
     <ItemGroup>
         <ProjectReference Include="..\dbup-firebird\dbup-firebird.csproj"/>
-        <PackageReference Include="DbUp.Tests.Common" Version="5.0.37"/>
-        <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0"/>
-        <PackageReference Include="xunit" Version="2.6.6"/>
-        <PackageReference Include="xunit.runner.visualstudio" Version="2.5.6">
+        <PackageReference Include="DbUp.Tests.Common" Version="6.0.4" />
+        <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
+        <PackageReference Include="xunit" Version="2.9.2" />
+        <PackageReference Include="xunit.runner.visualstudio" Version="3.0.0">
             <PrivateAssets>all</PrivateAssets>
             <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
         </PackageReference>
diff --git a/src/dbup-firebird.sln.DotSettings b/src/dbup-firebird.sln.DotSettings
index 2c78c0a..d3334fb 100644
--- a/src/dbup-firebird.sln.DotSettings
+++ b/src/dbup-firebird.sln.DotSettings
@@ -5,5 +5,8 @@
 	<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=SQ/@EntryIndexedValue">SQ</s:String>
 	<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=PrivateInstanceFields/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /&gt;</s:String>
 	<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=PrivateStaticFields/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /&gt;</s:String>
+	<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/UserRules/=4a98fdf6_002D7d98_002D4f5a_002Dafeb_002Dea44ad98c70c/@EntryIndexedValue">&lt;Policy&gt;&lt;Descriptor Staticness="Instance" AccessRightKinds="Private" Description="Instance fields (private)"&gt;&lt;ElementKinds&gt;&lt;Kind Name="FIELD" /&gt;&lt;Kind Name="READONLY_FIELD" /&gt;&lt;/ElementKinds&gt;&lt;/Descriptor&gt;&lt;Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /&gt;&lt;/Policy&gt;</s:String>
+	<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/UserRules/=f9fce829_002De6f4_002D4cb2_002D80f1_002D5497c44f51df/@EntryIndexedValue">&lt;Policy&gt;&lt;Descriptor Staticness="Static" AccessRightKinds="Private" Description="Static fields (private)"&gt;&lt;ElementKinds&gt;&lt;Kind Name="FIELD" /&gt;&lt;/ElementKinds&gt;&lt;/Descriptor&gt;&lt;Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /&gt;&lt;/Policy&gt;</s:String>
+	<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EPredefinedNamingRulesToUserRulesUpgrade/@EntryIndexedValue">True</s:Boolean>
 	<s:String x:Key="/Default/FilterSettingsManager/CoverageFilterXml/@EntryValue">&lt;data&gt;&lt;IncludeFilters /&gt;&lt;ExcludeFilters /&gt;&lt;/data&gt;</s:String>
 	<s:String x:Key="/Default/FilterSettingsManager/AttributeFilterXml/@EntryValue">&lt;data /&gt;</s:String></wpf:ResourceDictionary>
\ No newline at end of file
diff --git a/src/dbup-firebird/FirebirdExtensions.cs b/src/dbup-firebird/FirebirdExtensions.cs
index 35be25e..62d301c 100644
--- a/src/dbup-firebird/FirebirdExtensions.cs
+++ b/src/dbup-firebird/FirebirdExtensions.cs
@@ -82,11 +82,11 @@ public static void FirebirdDatabase(this SupportedDatabasesForEnsureDatabase sup
             if (!File.Exists(builder.Database))
             {
                 FbConnection.CreateDatabase(builder.ToString());
-                logger.WriteInformation("Created database {0}", builder.Database);
+                logger.LogInformation("Created database {0}", builder.Database);
             }
             else
             {
-                logger.WriteInformation("Database {0} already exists", builder.Database);
+                logger.LogInformation("Database {0} already exists", builder.Database);
             }
         }
         else
@@ -96,26 +96,26 @@ public static void FirebirdDatabase(this SupportedDatabasesForEnsureDatabase sup
             {
                 conn.Open();
                 conn.Close();
-                logger.WriteInformation("Database {0} already exists", builder.Database);
+                logger.LogInformation("Database {0} already exists", builder.Database);
             }
             catch (FbException ex) when (ex.ErrorCode == FbIoError)
             {
                 FbConnection.CreateDatabase(builder.ToString());
-                logger.WriteInformation("Created database {0}", builder.Database);
+                logger.LogInformation("Created database {0}", builder.Database);
             }
             catch (FbException ex) when (ex.ErrorCode == FbNetworkError)
             {
-                logger.WriteError("Could not access server. The server: {0} is probably not started.", builder.DataSource);
+                logger.LogError("Could not access server. The server: {0} is probably not started.", builder.DataSource);
                 throw;
             }
             catch (FbException)
             {
-                logger.WriteError("Ensure Database: Unknown firebird error when trying to access the server: {0}.", builder.DataSource);
+                logger.LogError("Ensure Database: Unknown firebird error when trying to access the server: {0}.", builder.DataSource);
                 throw;
             }
             catch (Exception)
             {
-                logger.WriteError("Ensure Database: Unknown error when trying to access the server: {0}.", builder.DataSource);
+                logger.LogError("Ensure Database: Unknown error when trying to access the server: {0}.", builder.DataSource);
                 throw;
             }
         }
@@ -140,7 +140,7 @@ public static void FirebirdDatabase(this SupportedDatabasesForDropDatabase suppo
             if (File.Exists(builder.Database))
             {
                 FbConnection.DropDatabase(builder.ToString());
-                logger.WriteInformation("Dropped database {0}", builder.Database);
+                logger.LogInformation("Dropped database {0}", builder.Database);
             }
         }
         else
@@ -150,25 +150,25 @@ public static void FirebirdDatabase(this SupportedDatabasesForDropDatabase suppo
                 //There seems to be an error in the FirebirdClient when trying to drop a database that does not exist.
                 //It gives a NullRefException instead of the expected FbException.
                 FbConnection.DropDatabase(builder.ToString());
-                logger.WriteInformation("Dropped database {0}", builder.Database);
+                logger.LogInformation("Dropped database {0}", builder.Database);
             }
             catch (FbException ex) when (ex.ErrorCode == FbIoError)
             {
-                logger.WriteWarning("Nothing to Drop. No database found.");
+                logger.LogWarning("Nothing to Drop. No database found.");
             }
             catch (FbException ex) when (ex.ErrorCode == FbLockTimeout)
             {
-                logger.WriteError("Can't drop database. Are there still an active connection?");
+                logger.LogError("Can't drop database. Are there still an active connection?");
                 throw;
             }
             catch (FbException)
             {
-                logger.WriteError("Drop Database: Unknown firebird error when trying to access the server: {0}.", builder.DataSource);
+                logger.LogError("Drop Database: Unknown firebird error when trying to access the server: {0}.", builder.DataSource);
                 throw;
             }
             catch (Exception)
             {
-                logger.WriteError("Drop Database: Unknown error when trying to access the server: {0}.", builder.DataSource);
+                logger.LogError("Drop Database: Unknown error when trying to access the server: {0}.", builder.DataSource);
                 throw;
             }
         }
diff --git a/src/dbup-firebird/FirebirdScriptExecutor.cs b/src/dbup-firebird/FirebirdScriptExecutor.cs
index b336e7d..f8c01d3 100644
--- a/src/dbup-firebird/FirebirdScriptExecutor.cs
+++ b/src/dbup-firebird/FirebirdScriptExecutor.cs
@@ -47,9 +47,9 @@ protected override void ExecuteCommandsWithinExceptionHandler(int index, SqlScri
             }
             catch (FbException fbException)
             {
-                Log().WriteInformation("Firebird exception has occured in script: '{0}'", script.Name);
-                Log().WriteError("Script block number: {0}; Firebird error code: {1}; SQLSTATE {2}; Message: {3}", index, fbException.ErrorCode, fbException.SQLSTATE, fbException.Message);
-                Log().WriteError(fbException.ToString());
+                Log().LogInformation("Firebird exception has occured in script: '{0}'", script.Name);
+                Log().LogError("Script block number: {0}; Firebird error code: {1}; SQLSTATE {2}; Message: {3}", index, fbException.ErrorCode, fbException.SQLSTATE, fbException.Message);
+                Log().LogError(fbException.ToString());
                 throw;
             }
         }
diff --git a/src/dbup-firebird/FirebirdTableJournal.cs b/src/dbup-firebird/FirebirdTableJournal.cs
index 9bcb5e2..8172e26 100644
--- a/src/dbup-firebird/FirebirdTableJournal.cs
+++ b/src/dbup-firebird/FirebirdTableJournal.cs
@@ -55,9 +55,9 @@ protected override void OnTableCreated(Func<IDbCommand> dbCommandFactory)
         {
             var unquotedTableName = UnquoteSqlObjectName(FqSchemaTableName);
             ExecuteCommand(dbCommandFactory, CreateGeneratorSql(unquotedTableName));
-            Log().WriteInformation($"The {GeneratorName(unquotedTableName)} generator has been created");
+            Log().LogInformation($"The {GeneratorName(unquotedTableName)} generator has been created");
             ExecuteCommand(dbCommandFactory, CreateTriggerSql(unquotedTableName));
-            Log().WriteInformation($"The {TriggerName(unquotedTableName)} trigger has been created");
+            Log().LogInformation($"The {TriggerName(unquotedTableName)} trigger has been created");
         }
 
         protected override string DoesTableExistSql()
diff --git a/src/dbup-firebird/dbup-firebird.csproj b/src/dbup-firebird/dbup-firebird.csproj
index f83dc8c..4c4c46c 100644
--- a/src/dbup-firebird/dbup-firebird.csproj
+++ b/src/dbup-firebird/dbup-firebird.csproj
@@ -6,7 +6,7 @@
     <Company>DbUp Contributors</Company>
     <Product>DbUp</Product>
     <Copyright>Copyright © DbUp Contributors 2015</Copyright>
-    <TargetFrameworks>net462;netstandard2.0</TargetFrameworks>
+    <TargetFramework>netstandard2.0</TargetFramework>
     <AssemblyName>dbup-firebird</AssemblyName>
     <RootNamespace>DbUp.Firebird</RootNamespace>
     <PackageId>dbup-firebird</PackageId>
@@ -17,9 +17,15 @@
     <PublicSign Condition=" '$(OS)' != 'Windows_NT' ">true</PublicSign>
   </PropertyGroup>
 
+  <PropertyGroup Condition="'$(CI)' == 'true'">
+    <ContinuousIntegrationBuild>true</ContinuousIntegrationBuild> <!-- Perform a deterministic build, so our binaries aren't impacted by build server environmental factors (e.g. file paths). -->
+    <EmbedUntrackedSources>true</EmbedUntrackedSources> <!-- Embed source files that are not tracked by the source control manager in the PDB -->
+    <DebugType>embedded</DebugType> <!-- Recommended: Embed symbols containing Source Link in the main file (exe/dll) -->
+  </PropertyGroup>
+
   <ItemGroup>
-    <PackageReference Include="dbup-core" Version="5.0.37"/>
-    <PackageReference Include="FirebirdSql.Data.FirebirdClient" Version="9.1.1"/>
+    <PackageReference Include="dbup-core" Version="6.0.4" />
+    <PackageReference Include="FirebirdSql.Data.FirebirdClient" Version="10.3.2" />
   </ItemGroup>
 
   <ItemGroup>