aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Jellyfin.Server/CoreAppHost.cs10
-rw-r--r--MediaBrowser.Model/Configuration/BaseApplicationConfiguration.cs21
2 files changed, 31 insertions, 0 deletions
diff --git a/Jellyfin.Server/CoreAppHost.cs b/Jellyfin.Server/CoreAppHost.cs
index 8b4b61e29..59285a510 100644
--- a/Jellyfin.Server/CoreAppHost.cs
+++ b/Jellyfin.Server/CoreAppHost.cs
@@ -41,6 +41,16 @@ namespace Jellyfin.Server
networkManager,
configuration)
{
+ var previousVersion = ConfigurationManager.CommonConfiguration.PreviousVersion;
+ if (ApplicationVersion.CompareTo(previousVersion) > 0)
+ {
+ Logger.LogWarning("Version check shows Jellyfin was updated: previous version={0}, current version={1}", previousVersion, ApplicationVersion);
+
+ // TODO: run update routines
+
+ ConfigurationManager.CommonConfiguration.PreviousVersion = ApplicationVersion;
+ ConfigurationManager.SaveConfiguration();
+ }
}
/// <inheritdoc />
diff --git a/MediaBrowser.Model/Configuration/BaseApplicationConfiguration.cs b/MediaBrowser.Model/Configuration/BaseApplicationConfiguration.cs
index 6a1a0f090..cc2541f74 100644
--- a/MediaBrowser.Model/Configuration/BaseApplicationConfiguration.cs
+++ b/MediaBrowser.Model/Configuration/BaseApplicationConfiguration.cs
@@ -1,3 +1,6 @@
+using System;
+using System.Xml.Serialization;
+
namespace MediaBrowser.Model.Configuration
{
/// <summary>
@@ -26,6 +29,24 @@ namespace MediaBrowser.Model.Configuration
public string CachePath { get; set; }
/// <summary>
+ /// Last known version that was ran using the configuration.
+ /// </summary>
+ /// <value>The version from previous run.</value>
+ [XmlIgnore]
+ public Version PreviousVersion { get; set; }
+
+ /// <summary>
+ /// Stringified PreviousVersion to be stored/loaded,
+ /// because System.Version itself isn't xml-serializable
+ /// </summary>
+ /// <value>String value of PreviousVersion</value>
+ public string PreviousVersionStr
+ {
+ get => PreviousVersion?.ToString();
+ set => PreviousVersion = Version.Parse(value);
+ }
+
+ /// <summary>
/// Initializes a new instance of the <see cref="BaseApplicationConfiguration" /> class.
/// </summary>
public BaseApplicationConfiguration()