Final release candidate 8.0.1 - holy shit commit!
This commit is contained in:
@@ -6,14 +6,14 @@ If any packages have been changed in the release do a thorough security scan and
|
|||||||
|
|
||||||
### Bump version numbers:
|
### Bump version numbers:
|
||||||
|
|
||||||
Search and replace 8.0.0
|
Search and replace 8.0.1
|
||||||
webapp,server,launcher, v8migrate
|
webapp,server,launcher, v8migrate (don't change v8migrate unless it has it's own code changes, it's version should be it's own thing other than major release changes etc)
|
||||||
|
|
||||||
Client end ayanova-version.js,
|
Client end ayanova-version.js,
|
||||||
Server end ayanova-version.cs
|
Server end ayanova-version.cs AND AyaNova.csproj
|
||||||
The TWO windows installers are versioned
|
The TWO windows installers are versioned (LAN.ISS and STANDALONE.ISS)
|
||||||
RavenLauncher "single" Launcher is also versioned and needs to be changed individually
|
RavenLauncher "single" Launcher is also versioned and needs to be changed individually
|
||||||
Docs index.md file is also versioned
|
Docs are not versioned but dated in mkdocs.yml copyright property so if that needs to change be sure it's udpated
|
||||||
|
|
||||||
#MyAppVersion in C:\data\code\raven\dist\install\windows\x64\lan.iss
|
#MyAppVersion in C:\data\code\raven\dist\install\windows\x64\lan.iss
|
||||||
#MyAppVersion in C:\data\code\raven\dist\install\windows\x64\standalone.iss
|
#MyAppVersion in C:\data\code\raven\dist\install\windows\x64\standalone.iss
|
||||||
|
|||||||
@@ -7,17 +7,6 @@ LICENSE STUFF
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Updates:
|
|
||||||
Test that can't upgrade to newer release if support and updates not current!!!!
|
|
||||||
it should also have some license route fetch prevention i.e. license has updates end date so server won't send if expired? Or something along those lines??
|
|
||||||
Or maybe that would be bad if they downgrade and want to put back in the license they paid for (restore from backup?)
|
|
||||||
|
|
||||||
Update scenarios to handle
|
|
||||||
boot with newer version than licensed and no db at all
|
|
||||||
in this case it's ok to do the schema update and install the fresh empty db then fetch the license
|
|
||||||
LICENSE FETCH SHOULD COMPARE DATES BEFORE INSTALLING A FETCHED LICENSE AND BALK IF MISMATCH
|
|
||||||
Boot with newer version and have existing db with outdated schema
|
|
||||||
TODO: it should check the license version *before* the schema update in order to not break anything
|
|
||||||
|
|
||||||
|
|
||||||
todo: RELEASE FINAL RELEASE
|
todo: RELEASE FINAL RELEASE
|
||||||
@@ -28,8 +17,8 @@ todo: RELEASE FINAL RELEASE
|
|||||||
test carefully once done reversion everything to 8.0.1 for official release
|
test carefully once done reversion everything to 8.0.1 for official release
|
||||||
Post in /next download folder for testing before posting fully
|
Post in /next download folder for testing before posting fully
|
||||||
Re-run the smoke tests and e2e tests before posting 8.0.1 officially
|
Re-run the smoke tests and e2e tests before posting 8.0.1 officially
|
||||||
todo: test on every platform every installer and be certain they work as advertised, yes this is a pain but it's necessary
|
*** todo: test on every platform every installer and be certain they work as advertised, yes this is a pain but it's necessary
|
||||||
|
Once all platforms pass all tests then and only then move to regular download folder and post about it on forum post
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1148,7 +1137,7 @@ https://www.ayanova.com/download/next/ayanova-linux-x64-server.zip
|
|||||||
https://www.ayanova.com/download/next/ayanova-windows-x64-lan-setup.exe
|
https://www.ayanova.com/download/next/ayanova-windows-x64-lan-setup.exe
|
||||||
Current v8 docs home: https://www.ayanova.com/docs/next
|
Current v8 docs home: https://www.ayanova.com/docs/next
|
||||||
|
|
||||||
BUILD 8.0.0 rc2 CHANGES OF NOTE
|
BUILD 8.0.1 rc2 CHANGES OF NOTE
|
||||||
|
|
||||||
Added integration back end feature for integration of external applications with AyaNova 8
|
Added integration back end feature for integration of external applications with AyaNova 8
|
||||||
Added front end administrative UI for viewing and controlling integrated applications and their logs
|
Added front end administrative UI for viewing and controlling integrated applications and their logs
|
||||||
|
|||||||
2
dist/install/windows/x64/lan.iss
vendored
2
dist/install/windows/x64/lan.iss
vendored
@@ -1,7 +1,7 @@
|
|||||||
; LAN install for internal network use only
|
; LAN install for internal network use only
|
||||||
|
|
||||||
#define MyAppName "AyaNova server"
|
#define MyAppName "AyaNova server"
|
||||||
#define MyAppVersion "8.0.0"
|
#define MyAppVersion "8.0.1"
|
||||||
#define MyAppPublisher "Ground Zero Tech-Works, Inc."
|
#define MyAppPublisher "Ground Zero Tech-Works, Inc."
|
||||||
#define MyAppURL "https://ayanova.com/"
|
#define MyAppURL "https://ayanova.com/"
|
||||||
#define MyAppLauncherExeName "ayanova-launcher.exe"
|
#define MyAppLauncherExeName "ayanova-launcher.exe"
|
||||||
|
|||||||
2
dist/install/windows/x64/standalone.iss
vendored
2
dist/install/windows/x64/standalone.iss
vendored
@@ -3,7 +3,7 @@
|
|||||||
; external to lan requires different config
|
; external to lan requires different config
|
||||||
|
|
||||||
#define MyAppName "AyaNova"
|
#define MyAppName "AyaNova"
|
||||||
#define MyAppVersion "8.0.0"
|
#define MyAppVersion "8.0.1"
|
||||||
#define MyAppPublisher "Ground Zero Tech-Works, Inc."
|
#define MyAppPublisher "Ground Zero Tech-Works, Inc."
|
||||||
#define MyAppURL "https://ayanova.com/"
|
#define MyAppURL "https://ayanova.com/"
|
||||||
#define MyAppLauncherExeName "ayanova-launcher.exe"
|
#define MyAppLauncherExeName "ayanova-launcher.exe"
|
||||||
|
|||||||
@@ -4,8 +4,8 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<GenerateFullPaths>true</GenerateFullPaths>
|
<GenerateFullPaths>true</GenerateFullPaths>
|
||||||
<Version>8.0.0</Version>
|
<Version>8.0.1</Version>
|
||||||
<FileVersion>8.0.0.0</FileVersion>
|
<FileVersion>8.0.1.0</FileVersion>
|
||||||
<ApplicationIcon>ayanova.ico</ApplicationIcon>
|
<ApplicationIcon>ayanova.ico</ApplicationIcon>
|
||||||
<DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
|
<DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
|
||||||
<noWarn>1591</noWarn>
|
<noWarn>1591</noWarn>
|
||||||
|
|||||||
@@ -209,8 +209,7 @@ namespace AyaNova
|
|||||||
|
|
||||||
|
|
||||||
#if (DEBUG)
|
#if (DEBUG)
|
||||||
logger.Info($"### Linker timestamp is {Util.FileUtil.GetLinkerTimestampUtc(System.Reflection.Assembly.GetExecutingAssembly())}");
|
logger.Info($"### DEBUG ONLY - Linker timestamp is {Util.FileUtil.GetLinkerTimestampUtc(System.Reflection.Assembly.GetExecutingAssembly())}");
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//log configuration
|
//log configuration
|
||||||
|
|||||||
@@ -599,32 +599,33 @@ namespace AyaNova
|
|||||||
//if there is a build date issue or a license issue it will fail with an exception, log to log file, log to console and not go beyond the license check preserving the db
|
//if there is a build date issue or a license issue it will fail with an exception, log to log file, log to console and not go beyond the license check preserving the db
|
||||||
//Note: case 4160 is to build an external license fetcher utility to allow a user to upgrade without uninstalling the newer version by purchasing a new sub and installing the key out of AyaNova
|
//Note: case 4160 is to build an external license fetcher utility to allow a user to upgrade without uninstalling the newer version by purchasing a new sub and installing the key out of AyaNova
|
||||||
//If they don't want to purchase then they must downgrade
|
//If they don't want to purchase then they must downgrade
|
||||||
var tempSchema = dbContext.SchemaVersion.AsNoTracking().SingleOrDefault();
|
|
||||||
var tempLicense = dbContext.License.AsNoTracking().SingleOrDefault();
|
|
||||||
bool licenseChecked = false;
|
bool licenseChecked = false;
|
||||||
if (tempSchema != null && tempLicense != null && !string.IsNullOrWhiteSpace(tempSchema.Id))
|
try
|
||||||
{
|
{
|
||||||
//we have a schema and a license, check it now thus triggering build date vs maintenance expiry check
|
//NOTE: a completely missing db will trigger an exception on this line, we expect that and will be fine as the schema check will run below and create the tables required
|
||||||
try
|
var tempSchema = dbContext.SchemaVersion.AsNoTracking().SingleOrDefault();
|
||||||
|
var tempLicense = dbContext.License.AsNoTracking().SingleOrDefault();
|
||||||
|
|
||||||
|
if (tempSchema != null && tempLicense != null && !string.IsNullOrWhiteSpace(tempSchema.Id))
|
||||||
{
|
{
|
||||||
|
//we have a schema and a license, check it now thus triggering build date vs maintenance expiry check
|
||||||
|
|
||||||
AyaNova.Core.License.InitializeAsync(apiServerState, dbContext, _newLog).Wait();
|
AyaNova.Core.License.InitializeAsync(apiServerState, dbContext, _newLog).Wait();
|
||||||
licenseChecked = true;
|
licenseChecked = true;
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
//Only re-throw if it's a 1020 error with the text VERSION-TOO-NEW included, any other error allow it to keep doing it's thing below before the second license init
|
||||||
|
//our exception is buried inside multiple inner exceptions but it's the innermost so drill down into it
|
||||||
|
while (ex.InnerException != null)
|
||||||
|
ex = ex.InnerException;
|
||||||
|
if (ex.Message.Contains("1020") && ex.Message.Contains("VERSION-TOO-NEW "))
|
||||||
{
|
{
|
||||||
//Only re-throw if it's a 1020 error with the text VERSION-TOO-NEW included, any other error allow it to keep doing it's thing below before the second license init
|
throw new Exception("AyaNova did not start to protect the integrity of your data, see the console and / or error log for details");
|
||||||
//our exception is buried inside multiple inner exceptions but it's the innermost so drill down into it
|
|
||||||
while (ex.InnerException != null)
|
|
||||||
ex = ex.InnerException;
|
|
||||||
if (ex.Message.Contains("1020") && ex.Message.Contains("VERSION-TOO-NEW "))
|
|
||||||
{
|
|
||||||
throw new Exception("AyaNova did not start to protect the integrity of your data, see the console and / or error log for details");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//Check schema
|
//Check schema
|
||||||
_newLog.LogDebug("DB schema check");
|
_newLog.LogDebug("DB schema check");
|
||||||
AySchema.CheckAndUpdateAsync(dbContext, _newLog).Wait();
|
AySchema.CheckAndUpdateAsync(dbContext, _newLog).Wait();
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ namespace AyaNova.Util
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
internal static class AyaNovaVersion
|
internal static class AyaNovaVersion
|
||||||
{
|
{
|
||||||
public const string VersionString = "8.0.0";
|
public const string VersionString = "8.0.1";
|
||||||
public const string FullNameAndVersion = "AyaNova server " + VersionString;
|
public const string FullNameAndVersion = "AyaNova server " + VersionString;
|
||||||
public const string CurrentApiVersion="v8";
|
public const string CurrentApiVersion="v8";
|
||||||
}//eoc
|
}//eoc
|
||||||
|
|||||||
Reference in New Issue
Block a user