Final release candidate 8.0.1 - holy shit commit!

This commit is contained in:
2022-08-05 23:55:49 +00:00
parent d95510cf48
commit ad61269560
8 changed files with 31 additions and 42 deletions

View File

@@ -6,14 +6,14 @@ If any packages have been changed in the release do a thorough security scan and
### Bump version numbers:
Search and replace 8.0.0
webapp,server,launcher, v8migrate
Search and replace 8.0.1
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,
Server end ayanova-version.cs
The TWO windows installers are versioned
Server end ayanova-version.cs AND AyaNova.csproj
The TWO windows installers are versioned (LAN.ISS and STANDALONE.ISS)
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\standalone.iss

View File

@@ -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
@@ -28,8 +17,8 @@ todo: RELEASE FINAL RELEASE
test carefully once done reversion everything to 8.0.1 for official release
Post in /next download folder for testing before posting fully
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
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 front end administrative UI for viewing and controlling integrated applications and their logs

View File

@@ -1,7 +1,7 @@
; LAN install for internal network use only
#define MyAppName "AyaNova server"
#define MyAppVersion "8.0.0"
#define MyAppVersion "8.0.1"
#define MyAppPublisher "Ground Zero Tech-Works, Inc."
#define MyAppURL "https://ayanova.com/"
#define MyAppLauncherExeName "ayanova-launcher.exe"

View File

@@ -3,7 +3,7 @@
; external to lan requires different config
#define MyAppName "AyaNova"
#define MyAppVersion "8.0.0"
#define MyAppVersion "8.0.1"
#define MyAppPublisher "Ground Zero Tech-Works, Inc."
#define MyAppURL "https://ayanova.com/"
#define MyAppLauncherExeName "ayanova-launcher.exe"

View File

@@ -4,8 +4,8 @@
</PropertyGroup>
<PropertyGroup>
<GenerateFullPaths>true</GenerateFullPaths>
<Version>8.0.0</Version>
<FileVersion>8.0.0.0</FileVersion>
<Version>8.0.1</Version>
<FileVersion>8.0.1.0</FileVersion>
<ApplicationIcon>ayanova.ico</ApplicationIcon>
<DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
<noWarn>1591</noWarn>

View File

@@ -209,8 +209,7 @@ namespace AyaNova
#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
//log configuration

View File

@@ -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
//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
var tempSchema = dbContext.SchemaVersion.AsNoTracking().SingleOrDefault();
var tempLicense = dbContext.License.AsNoTracking().SingleOrDefault();
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
try
//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
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();
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
//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");
}
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
_newLog.LogDebug("DB schema check");
AySchema.CheckAndUpdateAsync(dbContext, _newLog).Wait();

View File

@@ -5,7 +5,7 @@ namespace AyaNova.Util
/// </summary>
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 CurrentApiVersion="v8";
}//eoc