diff --git a/build/Version.props b/build/Version.props
index 8d1bf5b98a..4a41529110 100644
--- a/build/Version.props
+++ b/build/Version.props
@@ -7,7 +7,8 @@
2.2.0
8.3.0
9.1.2
- 5.3.0
+ 6.0.0
+ 5.3.0
1.1.0
1.2.0
diff --git a/src/DMAPI/tgs.dm b/src/DMAPI/tgs.dm
index 7ef3268322..26704ef57f 100644
--- a/src/DMAPI/tgs.dm
+++ b/src/DMAPI/tgs.dm
@@ -1,6 +1,6 @@
// tgstation-server DMAPI
-#define TGS_DMAPI_VERSION "5.3.0"
+#define TGS_DMAPI_VERSION "6.0.0"
// All functions and datums outside this document are subject to change with any version and should not be relied on.
@@ -144,7 +144,7 @@
#define TGS_TOPIC var/tgs_topic_return = TgsTopic(args[1]); if(tgs_topic_return) return tgs_topic_return
/**
- * Call this at the beginning of [world/proc/Reboot].
+ * Call this as late as possible in [world/proc/Reboot].
*/
/world/proc/TgsReboot()
return
@@ -156,7 +156,7 @@
/datum/tgs_revision_information
/// Full SHA of the commit.
var/commit
- /// ISO8601 timestamp of the commit
+ /// ISO 8601 timestamp of when the commit was created
var/timestamp
/// Full sha of last known remote commit. This may be null if the TGS repository is not currently tracking a remote branch.
var/origin_commit
@@ -207,9 +207,7 @@
/// An http URL to the test merge source.
var/url
/// The SHA of the test merge when that was merged.
- var/pull_request_commit
- /// ISO 8601 timestamp of when the test merge was created on TGS.
- var/time_merged
+ var/head_commit
/// Optional comment left by the TGS user who initiated the merge.
var/comment
diff --git a/src/DMAPI/tgs/v4/api.dm b/src/DMAPI/tgs/v4/api.dm
index 081543828e..4eb8e67d92 100644
--- a/src/DMAPI/tgs/v4/api.dm
+++ b/src/DMAPI/tgs/v4/api.dm
@@ -92,7 +92,7 @@
var/list/json = cached_json["testMerges"]
for(var/entry in json)
var/datum/tgs_revision_information/test_merge/tm = new
- tm.time_merged = text2num(entry["timeMerged"])
+ tm.timestamp = text2num(entry["timeMerged"])
var/list/revInfo = entry["revision"]
if(revInfo)
@@ -104,7 +104,7 @@
tm.url = entry["url"]
tm.author = entry["author"]
tm.number = entry["number"]
- tm.pull_request_commit = entry["pullRequestRevision"]
+ tm.head_commit = entry["pullRequestRevision"]
tm.comment = entry["comment"]
cached_test_merges += tm
diff --git a/src/DMAPI/tgs/v5/api.dm b/src/DMAPI/tgs/v5/api.dm
index c5b5257fb5..65bc231e21 100644
--- a/src/DMAPI/tgs/v5/api.dm
+++ b/src/DMAPI/tgs/v5/api.dm
@@ -18,7 +18,9 @@
var/initialized = FALSE
/datum/tgs_api/v5/ApiVersion()
- return new /datum/tgs_version(TGS_DMAPI_VERSION)
+ return new /datum/tgs_version(
+ #include "interop_version.dm"
+ )
/datum/tgs_api/v5/OnWorldNew(minimum_required_security_level)
server_port = world.params[DMAPI5_PARAM_SERVER_PORT]
@@ -63,12 +65,11 @@
var/list/revInfo = entry[DMAPI5_TEST_MERGE_REVISION]
if(revInfo)
tm.commit = revisionData[DMAPI5_REVISION_INFORMATION_COMMIT_SHA]
- tm.timestamp = revisionData[DMAPI5_REVISION_INFORMATION_TIMESTAMP]
tm.origin_commit = revisionData[DMAPI5_REVISION_INFORMATION_ORIGIN_COMMIT_SHA]
else
TGS_WARNING_LOG("Failed to decode [DMAPI5_TEST_MERGE_REVISION] from test merge #[tm.number]!")
- tm.time_merged = text2num(entry[DMAPI5_TEST_MERGE_TIME_MERGED])
+ tm.timestamp = entry[DMAPI5_TEST_MERGE_TIME_MERGED]
tm.title = entry[DMAPI5_TEST_MERGE_TITLE_AT_MERGE]
tm.body = entry[DMAPI5_TEST_MERGE_BODY_AT_MERGE]
tm.url = entry[DMAPI5_TEST_MERGE_URL]
diff --git a/src/DMAPI/tgs/v5/interop_version.dm b/src/DMAPI/tgs/v5/interop_version.dm
new file mode 100644
index 0000000000..c7bf62ecae
--- /dev/null
+++ b/src/DMAPI/tgs/v5/interop_version.dm
@@ -0,0 +1 @@
+"5.3.0"
diff --git a/src/Tgstation.Server.Api/Models/ServerInformation.cs b/src/Tgstation.Server.Api/Models/ServerInformation.cs
index 16b7ea0732..ed0509d76b 100644
--- a/src/Tgstation.Server.Api/Models/ServerInformation.cs
+++ b/src/Tgstation.Server.Api/Models/ServerInformation.cs
@@ -19,7 +19,7 @@ namespace Tgstation.Server.Api.Models
public Version? ApiVersion { get; set; }
///
- /// The DMAPI version of the host.
+ /// The DMAPI interop version the server uses.
///
public Version? DMApiVersion { get; set; }
diff --git a/src/Tgstation.Server.Host/Components/Interop/DMApiConstants.cs b/src/Tgstation.Server.Host/Components/Interop/DMApiConstants.cs
index c910a8a1e2..b4697d8952 100644
--- a/src/Tgstation.Server.Host/Components/Interop/DMApiConstants.cs
+++ b/src/Tgstation.Server.Host/Components/Interop/DMApiConstants.cs
@@ -32,9 +32,9 @@ namespace Tgstation.Server.Host.Components.Interop
public const string TopicData = "tgs_data";
///
- /// The DMAPI being used.
+ /// The DMAPI being used.
///
- public static readonly Version Version = Version.Parse(MasterVersionsAttribute.Instance.RawDMApiVersion);
+ public static readonly Version InteropVersion = Version.Parse(MasterVersionsAttribute.Instance.RawInteropVersion);
///
/// for use when communicating with the DMAPI.
diff --git a/src/Tgstation.Server.Host/Components/Session/SessionController.cs b/src/Tgstation.Server.Host/Components/Session/SessionController.cs
index 1462b6cd50..0de14b9df4 100644
--- a/src/Tgstation.Server.Host/Components/Session/SessionController.cs
+++ b/src/Tgstation.Server.Host/Components/Session/SessionController.cs
@@ -66,7 +66,7 @@ namespace Tgstation.Server.Host.Components.Session
public Task OnPrime => primeTcs.Task;
///
- public bool DMApiAvailable => reattachInformation.Dmb.CompileJob.DMApiVersion?.Major == DMApiConstants.Version.Major;
+ public bool DMApiAvailable => reattachInformation.Dmb.CompileJob.DMApiVersion?.Major == DMApiConstants.InteropVersion.Major;
///
/// The up to date
@@ -431,7 +431,7 @@ namespace Tgstation.Server.Host.Components.Session
return Error("Missing dmApiVersion field!");
DMApiVersion = parameters.Version;
- if (DMApiVersion.Major != DMApiConstants.Version.Major)
+ if (DMApiVersion.Major != DMApiConstants.InteropVersion.Major)
{
apiValidationStatus = ApiValidationStatus.Incompatible;
return Error("Incompatible dmApiVersion!");
diff --git a/src/Tgstation.Server.Host/Components/Session/SessionControllerFactory.cs b/src/Tgstation.Server.Host/Components/Session/SessionControllerFactory.cs
index 698510757b..41a6616835 100644
--- a/src/Tgstation.Server.Host/Components/Session/SessionControllerFactory.cs
+++ b/src/Tgstation.Server.Host/Components/Session/SessionControllerFactory.cs
@@ -229,7 +229,7 @@ namespace Tgstation.Server.Host.Components.Session
// set command line options
// more sanitization here cause it uses the same scheme
- var parameters = $"{DMApiConstants.ParamApiVersion}={byondTopicSender.SanitizeString(DMApiConstants.Version.Semver().ToString())}&{byondTopicSender.SanitizeString(DMApiConstants.ParamServerPort)}={serverPortProvider.HttpApiPort}&{byondTopicSender.SanitizeString(DMApiConstants.ParamAccessIdentifier)}={byondTopicSender.SanitizeString(accessIdentifier)}";
+ var parameters = $"{DMApiConstants.ParamApiVersion}={byondTopicSender.SanitizeString(DMApiConstants.InteropVersion.Semver().ToString())}&{byondTopicSender.SanitizeString(DMApiConstants.ParamServerPort)}={serverPortProvider.HttpApiPort}&{byondTopicSender.SanitizeString(DMApiConstants.ParamAccessIdentifier)}={byondTopicSender.SanitizeString(accessIdentifier)}";
if (!String.IsNullOrEmpty(launchParameters.AdditionalParameters))
parameters = $"{parameters}&{launchParameters.AdditionalParameters}";
diff --git a/src/Tgstation.Server.Host/Controllers/HomeController.cs b/src/Tgstation.Server.Host/Controllers/HomeController.cs
index 4dcad917d2..e8302baa4b 100644
--- a/src/Tgstation.Server.Host/Controllers/HomeController.cs
+++ b/src/Tgstation.Server.Host/Controllers/HomeController.cs
@@ -198,7 +198,7 @@ namespace Tgstation.Server.Host.Controllers
{
Version = assemblyInformationProvider.Version,
ApiVersion = ApiHeaders.Version,
- DMApiVersion = DMApiConstants.Version,
+ DMApiVersion = DMApiConstants.InteropVersion,
MinimumPasswordLength = generalConfiguration.MinimumPasswordLength,
InstanceLimit = generalConfiguration.InstanceLimit,
UserLimit = generalConfiguration.UserLimit,
diff --git a/src/Tgstation.Server.Host/Core/Application.cs b/src/Tgstation.Server.Host/Core/Application.cs
index 8d0a203961..f16e31fe9c 100644
--- a/src/Tgstation.Server.Host/Core/Application.cs
+++ b/src/Tgstation.Server.Host/Core/Application.cs
@@ -492,7 +492,7 @@ namespace Tgstation.Server.Host.Core
// End of request pipeline setup
var masterVersionsAttribute = MasterVersionsAttribute.Instance;
logger.LogTrace("Configuration version: {0}", masterVersionsAttribute.RawConfigurationVersion);
- logger.LogTrace("DMAPI version: {0}", masterVersionsAttribute.RawDMApiVersion);
+ logger.LogTrace("DMAPI Interop version: {0}", masterVersionsAttribute.RawInteropVersion);
logger.LogTrace("Web control panel version: {0}", masterVersionsAttribute.RawControlPanelVersion);
logger.LogDebug("Starting hosting on port {0}...", serverPortProvider.HttpApiPort);
diff --git a/src/Tgstation.Server.Host/Properties/MasterVersionsAttribute.cs b/src/Tgstation.Server.Host/Properties/MasterVersionsAttribute.cs
index 20cc04786c..62875303b3 100644
--- a/src/Tgstation.Server.Host/Properties/MasterVersionsAttribute.cs
+++ b/src/Tgstation.Server.Host/Properties/MasterVersionsAttribute.cs
@@ -22,9 +22,9 @@ namespace Tgstation.Server.Host.Properties
public string RawConfigurationVersion { get; }
///
- /// The of the DMAPI version built.
+ /// The of the DMAPI interop version used.
///
- public string RawDMApiVersion { get; }
+ public string RawInteropVersion { get; }
///
/// The of the control panel version built.
@@ -35,15 +35,15 @@ namespace Tgstation.Server.Host.Properties
/// Initializes a new instance of the .
///
/// The value of .
- /// The value of .
+ /// The value of .
/// The value of .
public MasterVersionsAttribute(
string rawConfigurationVersion,
- string rawDMApiVersion,
+ string rawInteropVersion,
string rawControlPanelVersion)
{
RawConfigurationVersion = rawConfigurationVersion ?? throw new ArgumentNullException(nameof(rawConfigurationVersion));
- RawDMApiVersion = rawDMApiVersion ?? throw new ArgumentNullException(nameof(rawDMApiVersion));
+ RawInteropVersion = rawInteropVersion ?? throw new ArgumentNullException(nameof(rawInteropVersion));
RawControlPanelVersion = rawControlPanelVersion ?? throw new ArgumentNullException(nameof(rawControlPanelVersion));
}
}
diff --git a/src/Tgstation.Server.Host/Tgstation.Server.Host.csproj b/src/Tgstation.Server.Host/Tgstation.Server.Host.csproj
index 3951c10411..7533898170 100644
--- a/src/Tgstation.Server.Host/Tgstation.Server.Host.csproj
+++ b/src/Tgstation.Server.Host/Tgstation.Server.Host.csproj
@@ -49,7 +49,7 @@
<_Parameter1>$(TgsConfigVersion)
- <_Parameter2>$(TgsDmapiVersion)
+ <_Parameter2>$(TgsInteropVersion)
<_Parameter3>$(TgsControlPanelVersion)
diff --git a/tests/DMAPI/BasicOperation/basic_operation_test.dme b/tests/DMAPI/BasicOperation/basic_operation_test.dme
index 92781c7e16..9f50643e42 100644
--- a/tests/DMAPI/BasicOperation/basic_operation_test.dme
+++ b/tests/DMAPI/BasicOperation/basic_operation_test.dme
@@ -12,6 +12,6 @@
// BEGIN_INCLUDE
#include "Config.dm"
-#include "..\tgs_include.dm"
#include "Test.dm"
+#include "S:\Documents\Actual Documents\DA Git\tgstation-server\tests\DMAPI\tgs_include.dm"
// END_INCLUDE
diff --git a/tests/Tgstation.Server.Tests/Instance/RepositoryTest.cs b/tests/Tgstation.Server.Tests/Instance/RepositoryTest.cs
index 52918f5e76..f83c916ad6 100644
--- a/tests/Tgstation.Server.Tests/Instance/RepositoryTest.cs
+++ b/tests/Tgstation.Server.Tests/Instance/RepositoryTest.cs
@@ -64,7 +64,7 @@ namespace Tgstation.Server.Tests.Instance
clone = await repositoryClient.Clone(initalRepo, cancellationToken).ConfigureAwait(false);
- await WaitForJob(clone.ActiveJob, 900, false, null, cancellationToken).ConfigureAwait(false);
+ await WaitForJob(clone.ActiveJob, 9000, false, null, cancellationToken).ConfigureAwait(false);
var readAfterClone = await repositoryClient.Read(cancellationToken);
Assert.AreEqual(initalRepo.Origin, readAfterClone.Origin);
diff --git a/tests/Tgstation.Server.Tests/Instance/WatchdogTest.cs b/tests/Tgstation.Server.Tests/Instance/WatchdogTest.cs
index 7203d1c646..5cd9871d7b 100644
--- a/tests/Tgstation.Server.Tests/Instance/WatchdogTest.cs
+++ b/tests/Tgstation.Server.Tests/Instance/WatchdogTest.cs
@@ -144,7 +144,7 @@ namespace Tgstation.Server.Tests.Instance
Assert.IsNotNull(newerCompileJob);
Assert.AreNotEqual(initialCompileJob.Id, newerCompileJob.Id);
Assert.AreEqual(DreamDaemonSecurity.Safe, newerCompileJob.MinimumSecurityLevel);
- Assert.AreEqual(DMApiConstants.Version, daemonStatus.StagedCompileJob.DMApiVersion);
+ Assert.AreEqual(DMApiConstants.InteropVersion, daemonStatus.StagedCompileJob.DMApiVersion);
await instanceClient.DreamDaemon.Shutdown(cancellationToken);
}
@@ -162,7 +162,7 @@ namespace Tgstation.Server.Tests.Instance
Assert.AreEqual(WatchdogStatus.Offline, daemonStatus.Status.Value);
Assert.IsNotNull(daemonStatus.ActiveCompileJob);
Assert.IsNull(daemonStatus.StagedCompileJob);
- Assert.AreEqual(DMApiConstants.Version, daemonStatus.ActiveCompileJob.DMApiVersion);
+ Assert.AreEqual(DMApiConstants.InteropVersion, daemonStatus.ActiveCompileJob.DMApiVersion);
Assert.AreEqual(DreamDaemonSecurity.Safe, daemonStatus.ActiveCompileJob.MinimumSecurityLevel);
Job startJob;
@@ -307,7 +307,7 @@ namespace Tgstation.Server.Tests.Instance
Assert.AreEqual(WatchdogStatus.Offline, daemonStatus.Status.Value);
Assert.IsNotNull(daemonStatus.ActiveCompileJob);
Assert.IsNull(daemonStatus.StagedCompileJob);
- Assert.AreEqual(DMApiConstants.Version, daemonStatus.ActiveCompileJob.DMApiVersion);
+ Assert.AreEqual(DMApiConstants.InteropVersion, daemonStatus.ActiveCompileJob.DMApiVersion);
Assert.AreEqual(DreamDaemonSecurity.Ultrasafe, daemonStatus.ActiveCompileJob.MinimumSecurityLevel);
var startJob = await StartDD(cancellationToken).ConfigureAwait(false);
@@ -347,7 +347,7 @@ namespace Tgstation.Server.Tests.Instance
Assert.AreEqual(WatchdogStatus.Offline, daemonStatus.Status.Value);
Assert.IsNotNull(daemonStatus.ActiveCompileJob);
Assert.IsNull(daemonStatus.StagedCompileJob);
- Assert.AreEqual(DMApiConstants.Version, daemonStatus.ActiveCompileJob.DMApiVersion);
+ Assert.AreEqual(DMApiConstants.InteropVersion, daemonStatus.ActiveCompileJob.DMApiVersion);
Assert.AreEqual(DreamDaemonSecurity.Ultrasafe, daemonStatus.ActiveCompileJob.MinimumSecurityLevel);
var startJob = await StartDD(cancellationToken).ConfigureAwait(false);
diff --git a/tests/Tgstation.Server.Tests/VersionsTest.cs b/tests/Tgstation.Server.Tests/VersionsTest.cs
index 1a1cf908da..6c3a0efa4f 100644
--- a/tests/Tgstation.Server.Tests/VersionsTest.cs
+++ b/tests/Tgstation.Server.Tests/VersionsTest.cs
@@ -99,7 +99,14 @@ namespace Tgstation.Server.Tests
Assert.IsTrue(Version.TryParse(versionLine, out var actual));
Assert.AreEqual(expected, actual);
- Assert.AreEqual(expected, DMApiConstants.Version);
+ }
+
+ public void TestInteropVersion()
+ {
+ var versionString = versionsPropertyGroup.Element(xmlNamespace + "TgsInteropVersion").Value;
+ Assert.IsNotNull(versionString);
+ Assert.IsTrue(Version.TryParse(versionString, out var expected));
+ Assert.AreEqual(expected, DMApiConstants.InteropVersion);
}
[TestMethod]
diff --git a/tgstation-server.sln b/tgstation-server.sln
index 32dabe36ba..6ff1e7bb44 100644
--- a/tgstation-server.sln
+++ b/tgstation-server.sln
@@ -135,6 +135,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "v5", "v5", "{FAEAD3B5-2EAB-
src\DMAPI\tgs\v5\_defines.dm = src\DMAPI\tgs\v5\_defines.dm
src\DMAPI\tgs\v5\api.dm = src\DMAPI\tgs\v5\api.dm
src\DMAPI\tgs\v5\commands.dm = src\DMAPI\tgs\v5\commands.dm
+ src\DMAPI\tgs\v5\interop_version.dm = src\DMAPI\tgs\v5\interop_version.dm
src\DMAPI\tgs\v5\README.md = src\DMAPI\tgs\v5\README.md
src\DMAPI\tgs\v5\undefs.dm = src\DMAPI\tgs\v5\undefs.dm
EndProjectSection
diff --git a/tools/ReleaseNotes/Program.cs b/tools/ReleaseNotes/Program.cs
index 7477895cdf..8522b4066b 100644
--- a/tools/ReleaseNotes/Program.cs
+++ b/tools/ReleaseNotes/Program.cs
@@ -256,13 +256,14 @@ namespace ReleaseNotes
var apiVersion = Version.Parse(versionsPropertyGroup.Element(xmlNamespace + "TgsApiVersion").Value);
var configVersion = Version.Parse(versionsPropertyGroup.Element(xmlNamespace + "TgsConfigVersion").Value);
var dmApiVersion = Version.Parse(versionsPropertyGroup.Element(xmlNamespace + "TgsDmapiVersion").Value);
+ var interopVersion = Version.Parse(versionsPropertyGroup.Element(xmlNamespace + "TgsInteropVersion").Value);
var webControlVersion = Version.Parse(controlPanelVersionsPropertyGroup.Element(controlPanelXmlNamespace + "TgsControlPanelVersion").Value);
var hostWatchdogVersion = Version.Parse(versionsPropertyGroup.Element(xmlNamespace + "TgsHostWatchdogVersion").Value);
if (webControlVersion.Major == 0)
postControlPanelMessage = true;
- prefix = $"Please refer to the [README](https://github.com/tgstation/tgstation-server#setup) for setup instructions.{Environment.NewLine}{Environment.NewLine}#### Component Versions\nCore: {coreVersion}\nConfiguration: {configVersion}\nHTTP API: {apiVersion}\nDreamMaker API: {dmApiVersion}\n[Web Control Panel](https://github.com/tgstation/tgstation-server-control-panel): {webControlVersion}\nHost Watchdog: {hostWatchdogVersion}";
+ prefix = $"Please refer to the [README](https://github.com/tgstation/tgstation-server#setup) for setup instructions.{Environment.NewLine}{Environment.NewLine}#### Component Versions\nCore: {coreVersion}\nConfiguration: {configVersion}\nHTTP API: {apiVersion}\nDreamMaker API: {dmApiVersion} (Interop: {interopVersion})\n[Web Control Panel](https://github.com/tgstation/tgstation-server-control-panel): {webControlVersion}\nHost Watchdog: {hostWatchdogVersion}";
break;
case 3:
prefix = "The /tg/station server suite";