diff --git a/AcceptanceTest/AcceptanceTest.csproj b/AcceptanceTest/AcceptanceTest.csproj
index ac8364b9e..531eb05e2 100644
--- a/AcceptanceTest/AcceptanceTest.csproj
+++ b/AcceptanceTest/AcceptanceTest.csproj
@@ -1,7 +1,7 @@
- net6.0
+ net8.0
false
true
enable
diff --git a/DDTool/DDTool/DDTool.csproj b/DDTool/DDTool/DDTool.csproj
index 41f1d5ad4..a269962b5 100644
--- a/DDTool/DDTool/DDTool.csproj
+++ b/DDTool/DDTool/DDTool.csproj
@@ -2,7 +2,7 @@
Exe
- net6.0
+ net8.0
diff --git a/DDTool/UnitTests/UnitTests.csproj b/DDTool/UnitTests/UnitTests.csproj
index 25911b7dd..8a4783231 100644
--- a/DDTool/UnitTests/UnitTests.csproj
+++ b/DDTool/UnitTests/UnitTests.csproj
@@ -1,7 +1,7 @@
- net6.0
+ net8.0
false
diff --git a/Examples/Executor/Examples.Executor.csproj b/Examples/Executor/Examples.Executor.csproj
index 920387f58..43e1aa2d5 100644
--- a/Examples/Executor/Examples.Executor.csproj
+++ b/Examples/Executor/Examples.Executor.csproj
@@ -2,7 +2,7 @@
Exe
- net6.0
+ net8.0
Executor
Executor
Copyright © Connamara Systems, LLC 2011
diff --git a/Examples/FixToJson/Examples.FixToJson.csproj b/Examples/FixToJson/Examples.FixToJson.csproj
index f5a698af4..dbc19d65d 100644
--- a/Examples/FixToJson/Examples.FixToJson.csproj
+++ b/Examples/FixToJson/Examples.FixToJson.csproj
@@ -2,7 +2,7 @@
Exe
- net6.0
+ net8.0
enable
Copyright © Connamara Systems, LLC 2022
Connamara Systems, LLC
diff --git a/Examples/JsonToFix/Examples.JsonToFix.csproj b/Examples/JsonToFix/Examples.JsonToFix.csproj
index f5a698af4..dbc19d65d 100644
--- a/Examples/JsonToFix/Examples.JsonToFix.csproj
+++ b/Examples/JsonToFix/Examples.JsonToFix.csproj
@@ -2,7 +2,7 @@
Exe
- net6.0
+ net8.0
enable
Copyright © Connamara Systems, LLC 2022
Connamara Systems, LLC
diff --git a/Examples/SimpleAcceptor/Examples.SimpleAcceptor.csproj b/Examples/SimpleAcceptor/Examples.SimpleAcceptor.csproj
index b1df00be5..4e8e6b64e 100644
--- a/Examples/SimpleAcceptor/Examples.SimpleAcceptor.csproj
+++ b/Examples/SimpleAcceptor/Examples.SimpleAcceptor.csproj
@@ -2,7 +2,7 @@
Exe
- net6.0
+ net8.0
SimpleAcceptor
SimpleAcceptor
Copyright © Connamara Systems, LLC 2011
diff --git a/Examples/Standalone/SerilogLog/SerilogLog.csproj b/Examples/Standalone/SerilogLog/SerilogLog.csproj
index 8e03b5169..b174430ef 100644
--- a/Examples/Standalone/SerilogLog/SerilogLog.csproj
+++ b/Examples/Standalone/SerilogLog/SerilogLog.csproj
@@ -1,7 +1,7 @@
- net6.0
+ net8.0
diff --git a/Examples/Standalone/SerilogLog/UnitTests/UnitTests.csproj b/Examples/Standalone/SerilogLog/UnitTests/UnitTests.csproj
index 9b23f968b..7c9470191 100644
--- a/Examples/Standalone/SerilogLog/UnitTests/UnitTests.csproj
+++ b/Examples/Standalone/SerilogLog/UnitTests/UnitTests.csproj
@@ -1,7 +1,7 @@
- net6.0
+ net8.0
false
diff --git a/Examples/TradeClient/Examples.TradeClient.csproj b/Examples/TradeClient/Examples.TradeClient.csproj
index 353b2aa14..d5b28cc94 100644
--- a/Examples/TradeClient/Examples.TradeClient.csproj
+++ b/Examples/TradeClient/Examples.TradeClient.csproj
@@ -2,7 +2,7 @@
Exe
- net6.0
+ net8.0
TradeClient
TradeClient
Copyright © Connamara Systems, LLC 2011
diff --git a/Messages/FIX40/QuickFix.FIX40.csproj b/Messages/FIX40/QuickFix.FIX40.csproj
index 9780b4aa0..2ff27cee1 100644
--- a/Messages/FIX40/QuickFix.FIX40.csproj
+++ b/Messages/FIX40/QuickFix.FIX40.csproj
@@ -1,7 +1,7 @@
- net6.0
+ net8.0
true
QuickFIX/n FIX4.0 Messages
QuickFIXn.FIX4.0
diff --git a/Messages/FIX41/QuickFix.FIX41.csproj b/Messages/FIX41/QuickFix.FIX41.csproj
index 66201538e..54864055f 100644
--- a/Messages/FIX41/QuickFix.FIX41.csproj
+++ b/Messages/FIX41/QuickFix.FIX41.csproj
@@ -1,7 +1,7 @@
- net6.0
+ net8.0
true
QuickFIX/n FIX4.1 Messages
QuickFIXn.FIX4.1
diff --git a/Messages/FIX42/QuickFix.FIX42.csproj b/Messages/FIX42/QuickFix.FIX42.csproj
index 9afb58178..cd225723d 100644
--- a/Messages/FIX42/QuickFix.FIX42.csproj
+++ b/Messages/FIX42/QuickFix.FIX42.csproj
@@ -1,7 +1,7 @@
- net6.0
+ net8.0
true
QuickFIX/n FIX4.2 Messages
QuickFIXn.FIX4.2
diff --git a/Messages/FIX43/QuickFix.FIX43.csproj b/Messages/FIX43/QuickFix.FIX43.csproj
index 960cd31eb..70a4707f1 100644
--- a/Messages/FIX43/QuickFix.FIX43.csproj
+++ b/Messages/FIX43/QuickFix.FIX43.csproj
@@ -1,7 +1,7 @@
- net6.0
+ net8.0
true
QuickFIX/n FIX4.3 Messages
QuickFIXn.FIX4.3
diff --git a/Messages/FIX44/QuickFix.FIX44.csproj b/Messages/FIX44/QuickFix.FIX44.csproj
index 21d37611e..1942848a1 100644
--- a/Messages/FIX44/QuickFix.FIX44.csproj
+++ b/Messages/FIX44/QuickFix.FIX44.csproj
@@ -1,7 +1,7 @@
- net6.0
+ net8.0
true
QuickFIX/n FIX4.4 Messages
QuickFIXn.FIX4.4
diff --git a/Messages/FIX50/QuickFix.FIX50.csproj b/Messages/FIX50/QuickFix.FIX50.csproj
index ad0e1cf79..4e9fe2bbd 100644
--- a/Messages/FIX50/QuickFix.FIX50.csproj
+++ b/Messages/FIX50/QuickFix.FIX50.csproj
@@ -1,7 +1,7 @@
- net6.0
+ net8.0
true
QuickFIX/n FIX5.0 Messages
QuickFIXn.FIX5.0
diff --git a/Messages/FIX50SP1/QuickFix.FIX50SP1.csproj b/Messages/FIX50SP1/QuickFix.FIX50SP1.csproj
index 360e739f9..fd9c8ecd9 100644
--- a/Messages/FIX50SP1/QuickFix.FIX50SP1.csproj
+++ b/Messages/FIX50SP1/QuickFix.FIX50SP1.csproj
@@ -1,7 +1,7 @@
- net6.0
+ net8.0
true
QuickFIX/n FIX5.0 SP1 Messages
QuickFIXn.FIX5.0SP1
diff --git a/Messages/FIX50SP2/QuickFix.FIX50SP2.csproj b/Messages/FIX50SP2/QuickFix.FIX50SP2.csproj
index ab9f8774a..dd893616c 100644
--- a/Messages/FIX50SP2/QuickFix.FIX50SP2.csproj
+++ b/Messages/FIX50SP2/QuickFix.FIX50SP2.csproj
@@ -1,7 +1,7 @@
- net6.0
+ net8.0
true
QuickFIX/n FIX5.0 SP2 Messages
QuickFIXn.FIX5.0SP2
diff --git a/Messages/FIXT11/QuickFix.FIXT11.csproj b/Messages/FIXT11/QuickFix.FIXT11.csproj
index 7c82242f5..61c9b7db4 100644
--- a/Messages/FIXT11/QuickFix.FIXT11.csproj
+++ b/Messages/FIXT11/QuickFix.FIXT11.csproj
@@ -1,7 +1,7 @@
- net6.0
+ net8.0
true
QuickFIX/n FIXT1.1 Messages
QuickFIXn.FIXT1.1
diff --git a/QuickFIXn/DataDictionary/DictionaryParseException.cs b/QuickFIXn/DataDictionary/DictionaryParseException.cs
index cdb3eac79..4c74c757c 100644
--- a/QuickFIXn/DataDictionary/DictionaryParseException.cs
+++ b/QuickFIXn/DataDictionary/DictionaryParseException.cs
@@ -1,7 +1,4 @@
using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
namespace QuickFix
{
@@ -12,9 +9,5 @@ public DictionaryParseException(string message)
: base(message) { }
public DictionaryParseException(string message, System.Exception inner)
: base(message, inner) { }
- protected DictionaryParseException(
- System.Runtime.Serialization.SerializationInfo info,
- System.Runtime.Serialization.StreamingContext context)
- : base(info, context) { }
}
}
diff --git a/QuickFIXn/DataDictionary/InvalidMessageTypeException.cs b/QuickFIXn/DataDictionary/InvalidMessageTypeException.cs
index bbfb0e01f..4c9587531 100644
--- a/QuickFIXn/DataDictionary/InvalidMessageTypeException.cs
+++ b/QuickFIXn/DataDictionary/InvalidMessageTypeException.cs
@@ -1,20 +1,19 @@
using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
namespace QuickFix
{
+ [Obsolete("This class will be removed in a future release (because it's unused)")]
public class InvalidMessageTypeException : ApplicationException
{
+ [Obsolete("This class will be removed in a future release (because it's unused)")]
public InvalidMessageTypeException() { }
+
+ [Obsolete("This class will be removed in a future release (because it's unused)")]
public InvalidMessageTypeException(string message)
: base(message) { }
+
+ [Obsolete("This class will be removed in a future release (because it's unused)")]
public InvalidMessageTypeException(string message, System.Exception inner)
: base(message, inner) { }
- protected InvalidMessageTypeException(
- System.Runtime.Serialization.SerializationInfo info,
- System.Runtime.Serialization.StreamingContext context)
- : base(info, context) { }
}
}
diff --git a/QuickFIXn/DataDictionary/MissingRequiredFieldException.cs b/QuickFIXn/DataDictionary/MissingRequiredFieldException.cs
index 7e3c1038d..ffc1e4bee 100644
--- a/QuickFIXn/DataDictionary/MissingRequiredFieldException.cs
+++ b/QuickFIXn/DataDictionary/MissingRequiredFieldException.cs
@@ -7,18 +7,22 @@
namespace QuickFix
{
+ [Obsolete("This class will be removed in a future release (because it's unused)")]
public sealed class MissingRequiredFieldException : ApplicationException
{
+ [Obsolete("This class will be removed in a future release (because it's unused)")]
public MissingRequiredFieldException() { }
+
+ [Obsolete("This class will be removed in a future release (because it's unused)")]
public MissingRequiredFieldException(int field)
: base("Missing required field: " + field.ToString()) { }
+
+ [Obsolete("This class will be removed in a future release (because it's unused)")]
public MissingRequiredFieldException(string message)
: base(message) { }
+
+ [Obsolete("This class will be removed in a future release (because it's unused)")]
public MissingRequiredFieldException(string message, System.Exception inner)
: base(message, inner) { }
- protected MissingRequiredFieldException(
- System.Runtime.Serialization.SerializationInfo info,
- System.Runtime.Serialization.StreamingContext context)
- : base(info, context) { }
}
}
diff --git a/QuickFIXn/Exceptions.cs b/QuickFIXn/Exceptions.cs
index 418c45f8b..1ef0881f0 100755
--- a/QuickFIXn/Exceptions.cs
+++ b/QuickFIXn/Exceptions.cs
@@ -1,5 +1,4 @@
-
-using System;
+using System;
namespace QuickFix
{
@@ -16,10 +15,6 @@ public QuickFIXException(string msg)
public QuickFIXException(string msg, System.Exception innerException)
: base(msg, innerException)
{ }
-
- public QuickFIXException(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context)
- : base(info, context)
- { }
}
///
@@ -109,10 +104,6 @@ public InvalidMessage(string msg)
public InvalidMessage(string msg, System.Exception innerException)
: base("Invalid message: " + msg, innerException)
{ }
-
- public InvalidMessage(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context)
- : base(info, context)
- { }
}
///
diff --git a/QuickFIXn/Message/FieldNotFoundException.cs b/QuickFIXn/Message/FieldNotFoundException.cs
index da8f86c0a..5e653654c 100644
--- a/QuickFIXn/Message/FieldNotFoundException.cs
+++ b/QuickFIXn/Message/FieldNotFoundException.cs
@@ -24,11 +24,5 @@ public FieldNotFoundException(string message)
public FieldNotFoundException(string message, System.Exception inner)
: base(message, inner)
{ Field = -1; }
-
- protected FieldNotFoundException(
- System.Runtime.Serialization.SerializationInfo info,
- System.Runtime.Serialization.StreamingContext context)
- : base(info, context)
- { }
}
}
diff --git a/QuickFIXn/QuickFix.csproj b/QuickFIXn/QuickFix.csproj
index 18bde12c8..225d010ff 100644
--- a/QuickFIXn/QuickFix.csproj
+++ b/QuickFIXn/QuickFix.csproj
@@ -1,7 +1,7 @@
- net6.0
+ net8.0
QuickFIX/n
true
true
diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md
index cb3f9f114..921d5cab0 100644
--- a/RELEASE_NOTES.md
+++ b/RELEASE_NOTES.md
@@ -9,13 +9,16 @@ What's New
----------
**CAUTION:**
+* **1.13.0 has moved to .NET 8 (as Microsoft is ending .NET 6 support on Nov 12, 2024)
+* **There are breaking changes between 1.12 and 1.13! Please review the 1.12.0 notes below.**
* **There are breaking changes between 1.11 and 1.12! Please review the 1.12.0 notes below.**
* **There are breaking changes between 1.10 and 1.11! Please review the 1.11.0 notes below.**
-### (next release)
+### upcoming v1.13.0
**Breaking changes**
+* #883 - Moved to .NET 8
* #878 - corrections to tag 45 "Side" in various DDs (gbirchmeier) - most people won't notice, easy fix if they do
* fix typo in FIX50 and FIX50SP1: `CROSS_SHORT_EXXMPT` fixed to `CROSS_SHORT_EXEMPT`
* correction in FIX41 and FIX42: `D` to `UNDISCLOSED`
diff --git a/UnitTests/SessionScheduleTests.cs b/UnitTests/SessionScheduleTests.cs
index fd1d52441..953b1b320 100755
--- a/UnitTests/SessionScheduleTests.cs
+++ b/UnitTests/SessionScheduleTests.cs
@@ -19,7 +19,7 @@ private static string EasternStandardTimeZoneId
{
return TimeZoneInfo.GetSystemTimeZones().Any(x => x.Id == "Eastern Standard Time")
? "Eastern Standard Time"
- : "US/Eastern";
+ : "America/New_York";
}
}
@@ -33,7 +33,7 @@ private static string PacificStandardTimeZoneId
{
return TimeZoneInfo.GetSystemTimeZones().Any(x => x.Id == "Pacific Standard Time")
? "Pacific Standard Time"
- : "US/Pacific";
+ : "America/Los_Angeles";
}
}
#endregion
@@ -75,7 +75,8 @@ public void TestCtor_WeeklongSession()
}
[Test]
- public void TestCtor_WeekdaysSession() {
+ public void TestCtor_WeekdaysSession()
+ {
SettingsDictionary settings = new SettingsDictionary();
settings.SetString(SessionSettings.WEEKDAYS, "Sun,Tue,Fri");
@@ -92,7 +93,8 @@ public void TestCtor_WeekdaysSession() {
}
[Test]
- public void TestCtor_NonStopSession() {
+ public void TestCtor_NonStopSession()
+ {
SettingsDictionary settings = new SettingsDictionary();
settings.SetBool(SessionSettings.NON_STOP_SESSION, true);
Assert.DoesNotThrow(delegate { new SessionSchedule(settings); });
@@ -133,7 +135,7 @@ public void TestWeeklySessionSameDayAllWeek()
settings.SetDay(SessionSettings.START_DAY, DayOfWeek.Monday);
settings.SetDay(SessionSettings.END_DAY, DayOfWeek.Monday);
SessionSchedule sched = new SessionSchedule(settings);
-
+
//a sunday
Assert.IsTrue(sched.IsSessionTime(new DateTime(2011, 10, 16, 9, 43, 0, DateTimeKind.Utc)));
Assert.IsTrue(sched.IsSessionTime(new DateTime(2011, 10, 16, 23, 59, 59, DateTimeKind.Utc)));
@@ -159,7 +161,7 @@ public void TestWeeklySessionSameDayMostWeek()
settings.SetDay(SessionSettings.START_DAY, DayOfWeek.Monday);
settings.SetDay(SessionSettings.END_DAY, DayOfWeek.Monday);
SessionSchedule sched = new SessionSchedule(settings);
-
+
//a sunday
Assert.IsTrue(sched.IsSessionTime(new DateTime(2011, 10, 16, 23, 59, 59, DateTimeKind.Utc)));
Assert.IsTrue(sched.IsSessionTime(new DateTime(2011, 10, 16, 0, 0, 0, DateTimeKind.Utc)));
@@ -184,7 +186,7 @@ public void TestWeeklySessionSameDayOneDay()
settings.SetDay(SessionSettings.START_DAY, DayOfWeek.Monday);
settings.SetDay(SessionSettings.END_DAY, DayOfWeek.Monday);
SessionSchedule sched = new SessionSchedule(settings);
-
+
//a sunday
Assert.IsFalse(sched.IsSessionTime(new DateTime(2011, 10, 16, 23, 59, 59, DateTimeKind.Utc)));
Assert.IsFalse(sched.IsSessionTime(new DateTime(2011, 10, 16, 0, 0, 0, DateTimeKind.Utc)));
@@ -310,7 +312,7 @@ public void TestWeeklySessionMultiDayHoursOverlap()
Assert.IsFalse(sched.IsSessionTime(new DateTime(2011, 10, 22, 7, 00, 1, DateTimeKind.Utc)));
Assert.IsFalse(sched.IsSessionTime(new DateTime(2011, 10, 22, 15, 30, 0, DateTimeKind.Utc)));
}
-
+
[Test]
public void TestDailyIsSessionTime()
@@ -355,7 +357,7 @@ public void TestInvalidTimeZone()
settings.SetString(SessionSettings.END_TIME, "00:12:00");
settings.SetString(SessionSettings.TIME_ZONE, "Doh");
- Assert.Throws(typeof (TimeZoneNotFoundException), delegate { new SessionSchedule(settings); });
+ Assert.Throws(typeof(TimeZoneNotFoundException), delegate { new SessionSchedule(settings); });
}
[Test]
@@ -368,7 +370,7 @@ public void TestLocalTimeTimeZoneConflict()
settings.SetString(SessionSettings.USE_LOCAL_TIME, "Y");
settings.SetString(SessionSettings.TIME_ZONE, EasternStandardTimeZoneId);
- Assert.Throws(typeof (ConfigError), delegate { new SessionSchedule(settings); });
+ Assert.Throws(typeof(ConfigError), delegate { new SessionSchedule(settings); });
}
[Test]
diff --git a/UnitTests/UnitTests.csproj b/UnitTests/UnitTests.csproj
index aac123fba..4a8333010 100644
--- a/UnitTests/UnitTests.csproj
+++ b/UnitTests/UnitTests.csproj
@@ -1,7 +1,7 @@
- net6.0
+ net8.0
true
AnyCPU;x64
false
diff --git a/scripts/Build-Zip-Release.ps1 b/scripts/Build-Zip-Release.ps1
index 9fd83af82..7d0d7ef05 100644
--- a/scripts/Build-Zip-Release.ps1
+++ b/scripts/Build-Zip-Release.ps1
@@ -14,6 +14,8 @@ Param (
)
$ErrorActionPreference = "Stop"
+$dotNetVer = 'net8.0'
+
$rootPath = Join-Path $PSScriptRoot '..' | Resolve-Path
$zipContentPath = Join-Path $rootPath 'tmp' 'zip' "quickfixn-$NewVersion"
$zipOutPath = Join-Path $rootPath 'tmp' 'zip' "quickfixn-$NewVersion.zip"
@@ -37,7 +39,7 @@ if (Test-Path $zipContentPath) {
@(
"bin"
- "bin\net6.0"
+ "bin\$dotNetVer"
"spec"
"spec\fix"
"config"
@@ -47,18 +49,18 @@ if (Test-Path $zipContentPath) {
}
@(
- 'QuickFIXn\bin\Release\net6.0\QuickFix.dll',
- 'Messages\FIXT11\bin\Release\net6.0\QuickFix.FIXT11.dll',
- 'Messages\FIX40\bin\Release\net6.0\QuickFix.FIX40.dll',
- 'Messages\FIX41\bin\Release\net6.0\QuickFix.FIX41.dll',
- 'Messages\FIX42\bin\Release\net6.0\QuickFix.FIX42.dll',
- 'Messages\FIX43\bin\Release\net6.0\QuickFix.FIX43.dll',
- 'Messages\FIX44\bin\Release\net6.0\QuickFix.FIX44.dll',
- 'Messages\FIX50\bin\Release\net6.0\QuickFix.FIX50.dll',
- 'Messages\FIX50SP1\bin\Release\net6.0\QuickFix.FIX50SP1.dll',
- 'Messages\FIX50SP2\bin\Release\net6.0\QuickFix.FIX50SP2.dll'
+ "QuickFIXn\bin\Release\$dotNetVer\QuickFix.dll",
+ "Messages\FIXT11\bin\Release\$dotNetVer\QuickFix.FIXT11.dll",
+ "Messages\FIX40\bin\Release\$dotNetVer\QuickFix.FIX40.dll",
+ "Messages\FIX41\bin\Release\$dotNetVer\QuickFix.FIX41.dll",
+ "Messages\FIX42\bin\Release\$dotNetVer\QuickFix.FIX42.dll",
+ "Messages\FIX43\bin\Release\$dotNetVer\QuickFix.FIX43.dll",
+ "Messages\FIX44\bin\Release\$dotNetVer\QuickFix.FIX44.dll",
+ "Messages\FIX50\bin\Release\$dotNetVer\QuickFix.FIX50.dll",
+ "Messages\FIX50SP1\bin\Release\$dotNetVer\QuickFix.FIX50SP1.dll",
+ "Messages\FIX50SP2\bin\Release\$dotNetVer\QuickFix.FIX50SP2.dll"
) | ForEach-Object {
- $toPath = Join-Path $zipContentPath 'bin' 'net6.0'
+ $toPath = Join-Path $zipContentPath 'bin' $dotNetVer
$dllPath = Join-Path $rootPath $_ | Resolve-Path
Copy-Item $_ -Destination $toPath