diff --git a/docs/8.0/ayanova/docs/changelog.md b/docs/8.0/ayanova/docs/changelog.md index 948c0e20..2ae5be03 100644 --- a/docs/8.0/ayanova/docs/changelog.md +++ b/docs/8.0/ayanova/docs/changelog.md @@ -12,6 +12,28 @@ See the [upgrade instructions](ops-upgrade.md) section of this manual for detail IN PROGRESS +**WARNING:** this release contains changes that will require a **pre upgrade step** on all Windows and Linux network platforms from the normal upgrade process you may be accustomed to. Be sure to follow our [upgrade instructions](ops-upgrade.md) and the **pre upgrade step** for your platform for this particular upgrade from version 8.2.4 (or older) to version 8.3.0 (or newer). + +**Changed** + +- Server: updated to use .NET 10.x LTS from previously used .NET 8.x LTS. .NET 8.x reaches end of support in November 2026. With this update to .NET 10.x come performance and security gains. +- Server: all 3rd party components used by the AyaNova server have been upgraded to their most recent release versions to use with .NET 10.x. This improves performance, stability and security for each component used. +- Server: the report rendering system now uses the smaller and faster "Chrome headless shell" browser instead of the full Chrome browser. It is downloaded into a `report-browser` folder under the AyaNova data folder instead of the program folder, so it is no longer removed by an upgrade. There will be a longer than normal delay the _first time_ a report is rendered after upgrading while AyaNova automatically downloads the new report rendering browser. Any old `Chrome` and `ChromeHeadlessShell` folders in the AyaNova program folder are no longer used and can be removed. +- Server: the automatic internal backup now runs the database backup utility directly instead of through a command shell, so the database password can contain any characters, and a failed backup is now reported as an error instead of appearing to succeed. See [backup](ops-form-backup.md). +- Server: log files are now named with an increasing number when they are archived; the [server log](ops-log.md) form lists them newest first. +- Server: removed an unused internal performance profiling component. +- Linux: Ubuntu 24.04 and 26.04 are now tested and supported. On Ubuntu 24.04 and newer the .NET runtime is installed from Ubuntu's own package archive. +- Docs: updated the [Linux server](ops-install-linux-server.md), [Linux desktop](ops-install-linux-desktop.md), [Windows local network](ops-install-windows-lan.md) and [Windows IIS](ops-install-windows-iis.md) installation and upgrade instructions for .NET 10 and Ubuntu 24.04 / 26.04. +- Docs: updated the database password guidance in the installation and [backup](ops-form-backup.md) documentation. + +**Fixed** + +- Server: hardened data table filter handling of number and role filter values. +- Server: data table date filters for "greater than or equal", "less than" and "not equal" could include or exclude records on the boundary of the selected date. +- Server: the database connection used for administrative operations is now built correctly when the database name also appears elsewhere in the connection setting. +- Server: erasing the database with AYANOVA_PERMANENTLY_ERASE_DATABASE now checks that the database user has the rights to re-create the database before dropping it. +- Server: if the report rendering browser cannot be downloaded or started, a specific error is now shown and logged instead of a generic job failure. + ## 2025 diff --git a/docs/8.0/ayanova/docs/ops-config-db.md b/docs/8.0/ayanova/docs/ops-config-db.md index 28e69506..e392e8e3 100644 --- a/docs/8.0/ayanova/docs/ops-config-db.md +++ b/docs/8.0/ayanova/docs/ops-config-db.md @@ -43,7 +43,7 @@ If no default database is specified AyaNova will use the default value: "AyaNova ## Special characters could cause backup to fail -Be careful about using special characters for your Postgres connection string, particularly the password and database name, we've encountered issues with the automatic internal backup failing due to a @ or $ symbol in the password. On some platforms when AyaNova attempts to run the backup utility it may fail if that operating system does not support certain special characters found in the password as they may interfere with the "shell" command called to perform the backup. +From AyaNova 8.3.0 the automatic internal backup passes the database password to the backup utility directly, without a command shell, so any characters can be used in the PostgreSQL password and database name. Versions older than 8.3.0 could fail to back up if the password contained characters such as `@`, `$`, `:`, `/`, `?`, `#`, `%` or spaces; if you are on an older version, upgrade or avoid those characters. ## Optional connection string parameters diff --git a/docs/8.0/ayanova/docs/ops-form-backup.md b/docs/8.0/ayanova/docs/ops-form-backup.md index 6e38b6fa..5e575c66 100644 --- a/docs/8.0/ayanova/docs/ops-form-backup.md +++ b/docs/8.0/ayanova/docs/ops-form-backup.md @@ -72,7 +72,7 @@ Other indications of a failed backup are unsually small backup files or errors i The only **certain** way to know if a backup is good is to test restore it from time to time and we recommend doing so on a regularly scheduled basis to be certain the backup is good if you need it. -**Warning**: Be careful about using special characters for your Postgres connection string, particularly the password and database name, we've encountered issues with the automatic internal backup failing due to a @ or $ symbol in the password. On some platforms when AyaNova attempts to run the backup utility it may fail if that operating system does not support certain special characters found in the password as they may interfere with the "shell" command called to perform the backup. +**Note**: From AyaNova 8.3.0 the automatic internal backup passes the database password to the backup utility directly, without a command shell, so any characters can be used in the PostgreSQL password and database name. Versions older than 8.3.0 could fail to back up if the password contained characters such as `@`, `$`, `:`, `/`, `?`, `#`, `%` or spaces; if you are on an older version, upgrade or avoid those characters. ## Best practices for disaster recovery diff --git a/docs/8.0/ayanova/docs/ops-install-linux-desktop.md b/docs/8.0/ayanova/docs/ops-install-linux-desktop.md index 57a2c6b0..55944571 100644 --- a/docs/8.0/ayanova/docs/ops-install-linux-desktop.md +++ b/docs/8.0/ayanova/docs/ops-install-linux-desktop.md @@ -6,7 +6,7 @@ The "desktop" installation is appropriate for a single user of AyaNova on a Linu ## Linux distributions -These instructions were compiled and tested on an Ubuntu 22.04 Desktop OS however any Linux x64 distribution should work provided the ASP.NET Core framework can be installed to it. +These instructions were originally compiled and tested on an Ubuntu 22.04 Desktop OS however any Linux x64 distribution should work provided the ASP.NET Core 10 runtime can be installed to it. You may need to "translate" these instructions into your Linux distribution's package manager and shell equivalent to the Apt package manager and Bash shell script commands shown here. @@ -24,13 +24,18 @@ You may need to "translate" these instructions into your Linux distribution's pa ### 1\. ASP.NET Core runtime -AyaNova requires the ASP.NET Core runtime version 8.X.x and Microsoft provides a step by step guide to install it properly on each version of Linux. +AyaNova requires the ASP.NET Core runtime version 10.x (AyaNova 8.3.0 and newer; earlier versions used 8.x). -Install the **"ASP.NET CORE RUNTIME" (NOT SDK VERSION)** using this guide for your specific OS version [https://docs.microsoft.com/en-us/dotnet/core/install/linux](https://docs.microsoft.com/en-us/dotnet/core/install/linux) +On Ubuntu 24.04 and 26.04 it is in Ubuntu's own package archive: -There are different procedures for different versions of Linux so be sure to read through the instructions carefully. +```bash +sudo apt-get update && \ +sudo apt-get install -y aspnetcore-runtime-10.0 +``` -There are three different versions of .net core listed, be sure you select the "ASP.NET Core Runtime" version. +On Ubuntu 22.04 it is not in Ubuntu's archive; add the Ubuntu .NET backports package repository first (`sudo add-apt-repository ppa:dotnet/backports`) then run the commands above. + +For other Linux distributions Microsoft provides a step by step guide; install the **"ASP.NET CORE RUNTIME" (NOT SDK VERSION)** using this guide for your specific OS version [https://docs.microsoft.com/en-us/dotnet/core/install/linux](https://docs.microsoft.com/en-us/dotnet/core/install/linux) Confirm ASP.NET Core runtime is installed and available before proceeding to the next step: @@ -38,14 +43,14 @@ Confirm ASP.NET Core runtime is installed and available before proceeding to the dotnet --list-runtimes ``` -The AspNetCore runtime should be displayed with version 8.x.x, for example: +The AspNetCore runtime should be displayed with version 10.x.x, for example: ``` -Microsoft.AspNetCore.App 8.0.3 [/usr/lib/dotnet/shared/Microsoft.AspNetCore.App] -Microsoft.NETCore.App 8.0.3 [/usr/lib/dotnet/shared/Microsoft.NETCore.App] +Microsoft.AspNetCore.App 10.0.13 [/usr/lib/dotnet/shared/Microsoft.AspNetCore.App] +Microsoft.NETCore.App 10.0.13 [/usr/lib/dotnet/shared/Microsoft.NETCore.App] ``` -If you do not see '8' as the first major version digit (the rest may vary) go through the installation steps above again. +If you do not see '10' as the first number of the version (the rest may vary) go through the installation steps above again. ### 2\. PostgreSQL server @@ -71,7 +76,7 @@ ALTER USER postgres PASSWORD 'YOUR_PASSWORD_HERE'; If successful psql will display "ALTER ROLE" in response and you can close the psql console by typing `\q` to quit. -**Warning**: Be careful about using special characters for your Postgres connection string, particularly the password and database name, we've encountered issues with the automatic internal backup failing due to a @ or $ symbol in the password. On some platforms when AyaNova attempts to run the backup utility it may fail if that operating system does not support certain special characters found in the password as they may interfere with the "shell" command called to perform the backup. +**Note**: From AyaNova 8.3.0 the automatic internal backup passes the database password to the backup utility directly, without a command shell, so any characters can be used in the PostgreSQL password and database name. Versions older than 8.3.0 could fail to back up if the password contained characters such as `@`, `$`, `:`, `/`, `?`, `#`, `%` or spaces; if you are on an older version, upgrade or avoid those characters. ### 4\. Create directorys for AyaNova diff --git a/docs/8.0/ayanova/docs/ops-install-linux-server.md b/docs/8.0/ayanova/docs/ops-install-linux-server.md index bbf085b4..936fa562 100644 --- a/docs/8.0/ayanova/docs/ops-install-linux-server.md +++ b/docs/8.0/ayanova/docs/ops-install-linux-server.md @@ -14,7 +14,7 @@ These instructions are targeted towards getting a new Linux server installation ## Linux distributions -These instructions were compiled and tested on an Ubuntu 22.04 and 24.04 lts server OS however any Linux x64 distribution should work provided the ASP.NET Core framework can be installed to it. +These instructions were compiled and tested on Ubuntu 24.04 and 26.04 LTS server OS however any Linux x64 distribution should work provided the ASP.NET Core 10 runtime can be installed to it. We strongly recommend using an LTS long term support release of Linux in order to minimize business disruption of the non lts versions that need to be upgraded more frequently. ## Hosted linux @@ -33,7 +33,7 @@ An up to date modern web browser (not Internet Explorer) with Javascript enabled ## System requirements -- OS : Linux x64 operating system [supported by ASP.NET Core 8.x](https://docs.microsoft.com/en-us/dotnet/core/install/linux) +- OS : Linux x64 operating system [supported by ASP.NET Core 10.x](https://docs.microsoft.com/en-us/dotnet/core/install/linux) - Internet connection : required to install license and to automatically download the Chrome report rendering engine - Disk space: minimum 2GB of free disk space - RAM : 1GB (minimum), 2+ GB (recommended) @@ -61,29 +61,34 @@ We recommend double the size of ram allocated to swap space so if you have 1GB o ### 2\. Install ASP.NET Core runtime -AyaNova requires the ASP.NET Core runtime version 8.x and Microsoft provides a step by step guide to install it properly on each version of Linux. +AyaNova requires the ASP.NET Core runtime version 10.x (AyaNova 8.3.0 and newer; earlier versions used 8.x). -Install the **"ASP.NET CORE RUNTIME" (NOT SDK VERSION)** using this guide for your specific OS +On Ubuntu 24.04 and 26.04 it is in Ubuntu's own package archive: + +```bash +sudo apt-get update && \ +sudo apt-get install -y aspnetcore-runtime-10.0 +``` + +On Ubuntu 22.04 it is not in Ubuntu's archive; add the Ubuntu .NET backports package repository first (`sudo add-apt-repository ppa:dotnet/backports`) then run the commands above. + +For other Linux distributions Microsoft provides a step by step guide; install the **"ASP.NET CORE RUNTIME" (NOT SDK VERSION)** using this guide for your specific OS [https://docs.microsoft.com/en-us/dotnet/core/install/linux](https://docs.microsoft.com/en-us/dotnet/core/install/linux) -There are three different versions of .net core listed, be sure you select the "ASP.NET Core Runtime" version. - -There are different procedures for different versions of Linux and there may be a step **before** the actual installation to add the microsoft package repository so be sure to read through the instructions carefully. - Confirm ASP.NET Core runtime is installed and available before proceeding to the next step: ```bash dotnet --list-runtimes ``` -The AspNetCore runtime should be displayed with version 8.x.x, for example: +The AspNetCore runtime should be displayed with version 10.x.x, for example: ``` -Microsoft.AspNetCore.App 8.0.3 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App] -Microsoft.NETCore.App 8.0.3 [/usr/share/dotnet/shared/Microsoft.NETCore.App] +Microsoft.AspNetCore.App 10.0.13 [/usr/lib/dotnet/shared/Microsoft.AspNetCore.App] +Microsoft.NETCore.App 10.0.13 [/usr/lib/dotnet/shared/Microsoft.NETCore.App] ``` -If you do not see an '8' as the first digit of the version number (the rest may vary) go through the installation steps above again. +If you do not see '10' as the first number of the version (the rest may vary) go through the installation steps above again. ### 3\. Install PostgreSQL server @@ -112,7 +117,7 @@ ALTER USER postgres PASSWORD 'YOUR_PASSWORD_HERE'; If successful psql will display "ALTER ROLE" in response and you can close the psql console by typing `\q` to quit. -**Warning**: Be careful about using special characters for your Postgres connection string, particularly the password and database name, we've encountered issues with the automatic internal backup failing due to a @ or $ symbol in the password. On some platforms when AyaNova attempts to run the backup utility it may fail if that operating system does not support certain special characters found in the password as they may interfere with the "shell" command called to perform the backup. +**Note**: From AyaNova 8.3.0 the automatic internal backup passes the database password to the backup utility directly, without a command shell, so any characters can be used in the PostgreSQL password and database name. Versions older than 8.3.0 could fail to back up if the password contained characters such as `@`, `$`, `:`, `/`, `?`, `#`, `%` or spaces; if you are on an older version, upgrade or avoid those characters. ### 5\. Install Chrome browser support libraries @@ -120,27 +125,27 @@ AyaNova uses a "headless" Chrome browser to render report templates. Server vers These examples below are tested with Ubuntu LTS releases; your distro may require different files or the requirements may change for Chrome over time. If in doubt, run a report and if you see an error check the [server log](ops-log.md) and if a library is missing causing Chrome to fail the error in the log will show the missing library file that will need to be installed if that is the issue. +#### Ubuntu 24.04 and 26.04 Chrome support libraries + +```bash +sudo apt-get update && \ +sudo apt-get install -y libatk1.0-0t64 libc6 libcairo2 libdbus-1-3 libexpat1 libfontconfig1 libgcc-s1 libgdk-pixbuf-2.0-0 libglib2.0-0t64 libgtk-3-0t64 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libnss3 lsb-release libgbm-dev xdg-utils && \ +sudo apt-get install -y libatk-bridge2.0-0t64 libcups2t64 libxcomposite1 libxdamage1 libpangocairo-1.0-0 libxfixes3 libxrandr2 libgbm1 libcairo2 libpango-1.0-0 libasound2t64 wget +``` + #### Ubuntu 22.04 Chrome support libraries ```bash sudo apt-get install -y libatk1.0-0 libatk-bridge2.0-0 libcups2 libxcomposite1 libxdamage1 libxfixes3 libxrandr2 libgbm1 libxkbcommon0 libpango-1.0-0 libcairo2 libasound2 fonts-liberation ``` -#### Ubuntu 24.04 Chrome support libraries - -```bash -sudo apt-get install -y libatk1.0-0t64 libc6 libcairo2 libdbus-1-3 libexpat1 libfontconfig1 libgcc-s1 libgdk-pixbuf2.0-0 libglib2.0-0t64 libgtk-3-0t64 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libnss3 lsb-release libgbm-dev xdg-utils \ -sudo apt-get update \ -sudo apt-get install -y libatk-bridge2.0-0t64 libcups2t64 libxcomposite1 libxdamage1 libpangocairo-1.0-0 libxfixes3 libxrandr2 libgbm1 libcairo2 libpango-1.0-0 libasound2t64 wget -``` - #### Fonts / layout All stock reports included with AyaNova are designed to layout correctly as long as the specified fonts are available. If you find the layouts are broken on the stock reports or don't align properly be sure that the `fonts-liberation` package is installed to your server. ### 6\. Create directories for AyaNova -AyaNova requires several directories to be created: the AyaNova binary and other server and web application files, AyaNova data and the folders to contain a local copy of the Chrome browser for report rendering. +AyaNova requires two directories to be created: one for the AyaNova binary and other server and web application files and one for AyaNova data (which also holds the downloaded Chrome browser for report rendering). Create the AyaNova binary files directory. We recommend `/var/ayanova`: diff --git a/docs/8.0/ayanova/docs/ops-install-windows-iis.md b/docs/8.0/ayanova/docs/ops-install-windows-iis.md index d272e17d..b3d961a2 100644 --- a/docs/8.0/ayanova/docs/ops-install-windows-iis.md +++ b/docs/8.0/ayanova/docs/ops-install-windows-iis.md @@ -101,7 +101,7 @@ Note: we have seen cases during testing where the PostgreSQL installer will show If you are installing PostgreSQL you will be prompted to provide a password to access it. Be sure to make a note of this password as AyaNova will need it to be specified later in the `AYANOVA_DB_CONNECTION` [configuration setting](ops-config-environment-variables.md) after installing the AyaNova server. -**Warning**: Be careful about using special characters for your Postgres connection string, particularly the password and database name, we've encountered issues with the automatic internal backup failing due to a @ or $ symbol in the password. On some platforms when AyaNova attempts to run the backup utility it may fail if that operating system does not support certain special characters found in the password as they may interfere with the "shell" command called to perform the backup. +**Note**: From AyaNova 8.3.0 the automatic internal backup passes the database password to the backup utility directly, without a command shell, so any characters can be used in the PostgreSQL password and database name. Versions older than 8.3.0 could fail to back up if the password contained characters such as `@`, `$`, `:`, `/`, `?`, `#`, `%` or spaces; if you are on an older version, upgrade or avoid those characters. ### 3\. ASP.NET Core Runtime @@ -111,11 +111,11 @@ If IIS is not already enabled and running do not proceed until it is. The ASP.NET Core runtime will see IIS and install appropriate components but only if IIS is present during the ASP.NET Core runtime installation. -AyaNova is built upon the ASP.NET Core runtime version 8.x.x and it should be present **before** AyaNova is installed. +AyaNova is built upon the ASP.NET Core runtime version 10.x.x (AyaNova 8.3.0 and newer) and it should be present **before** AyaNova is installed. **Warning** Microsoft provides several different links to "asp.net core runtime" downloads; the one required by AyaNova is the link labelled "Hosting bundle" and it is in the runtimes section under Windows. -Download the ASP.NET Core **Hosting bundle** runtime here [https://dotnet.microsoft.com/en-us/download/dotnet/8.0](https://dotnet.microsoft.com/en-us/download/dotnet/8.0). +Download the ASP.NET Core **Hosting bundle** runtime here [https://dotnet.microsoft.com/en-us/download/dotnet/10.0](https://dotnet.microsoft.com/en-us/download/dotnet/10.0). Run the installer and take the defaults. @@ -125,11 +125,11 @@ Confirm your ASP.NET Core runtime is installed and running by opening a DOS comm dotnet --list-runtimes ``` -The AspNetCore runtime should be displayed with version 8.x.x, for example: +The AspNetCore runtime should be displayed with version 10.x.x, for example: ``` -Microsoft.AspNetCore.App 8.0.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] -Microsoft.NETCore.App 8.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] +Microsoft.AspNetCore.App 10.0.13 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] +Microsoft.NETCore.App 10.0.13 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] ``` (your version may be newer) diff --git a/docs/8.0/ayanova/docs/ops-install-windows-lan.md b/docs/8.0/ayanova/docs/ops-install-windows-lan.md index 94486fae..6c1b2dbd 100644 --- a/docs/8.0/ayanova/docs/ops-install-windows-lan.md +++ b/docs/8.0/ayanova/docs/ops-install-windows-lan.md @@ -43,15 +43,15 @@ Note: we have seen cases during testing where the PostgreSQL installer will show If you are installing PostgreSQL you will be prompted to provide a password to access it. Be sure to make a note of this password as AyaNova will need it to be specified later in the `AYANOVA_DB_CONNECTION` [configuration setting](ops-config-environment-variables.md) after installing the AyaNova server. -**Warning**: Be careful about using special characters for your Postgres connection string, particularly the password and database name, we've encountered issues with the automatic internal backup failing due to a @ or $ symbol in the password. On some platforms when AyaNova attempts to run the backup utility it may fail if that operating system does not support certain special characters found in the password as they may interfere with the "shell" command called to perform the backup. +**Note**: From AyaNova 8.3.0 the automatic internal backup passes the database password to the backup utility directly, without a command shell, so any characters can be used in the PostgreSQL password and database name. Versions older than 8.3.0 could fail to back up if the password contained characters such as `@`, `$`, `:`, `/`, `?`, `#`, `%` or spaces; if you are on an older version, upgrade or avoid those characters. ### 2\. Install ASP.NET Core Runtime -AyaNova is built upon the ASP.NET Core runtime version 8.x.x and it should be present **before** AyaNova is installed. +AyaNova is built upon the ASP.NET Core runtime version 10.x.x (AyaNova 8.3.0 and newer) and it should be present **before** AyaNova is installed. **Warning** Microsoft provides several different links to "asp.net core runtime" downloads; the one required by AyaNova is the link labelled "Hosting bundle". -Download the ASP.NET Core **Hosting bundle** runtime here [https://dotnet.microsoft.com/en-us/download/dotnet/8.0](https://dotnet.microsoft.com/en-us/download/dotnet/8.0). +Download the ASP.NET Core **Hosting bundle** runtime here [https://dotnet.microsoft.com/en-us/download/dotnet/10.0](https://dotnet.microsoft.com/en-us/download/dotnet/10.0). Run the installer and take the defaults. @@ -61,11 +61,11 @@ Confirm your ASP.NET Core runtime is installed and running by opening a DOS comm dotnet --list-runtimes ``` -The AspNetCore runtime should be displayed with version 8.x.x, for example: +The AspNetCore runtime should be displayed with version 10.x.x, for example: ``` -Microsoft.AspNetCore.App 8.0.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] -Microsoft.NETCore.App 8.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] +Microsoft.AspNetCore.App 10.0.13 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] +Microsoft.NETCore.App 10.0.13 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] ``` (your version may be newer) diff --git a/docs/8.0/ayanova/docs/ops-upgrade-linux-desktop.md b/docs/8.0/ayanova/docs/ops-upgrade-linux-desktop.md index e982f3c5..805778ee 100644 --- a/docs/8.0/ayanova/docs/ops-upgrade-linux-desktop.md +++ b/docs/8.0/ayanova/docs/ops-upgrade-linux-desktop.md @@ -22,19 +22,19 @@ Alternatively you can hard shut down AyaNova using the ctrl-c key combination in ### 2.5\. Pre-upgrade step -**Only if** your current AyaNova version is older than 8.2.0 there is an extra step before the normal upgrade process. +**Only if** your current AyaNova version is older than 8.3.0 there is an extra step before the normal upgrade process. -8.2.0 switched to .NET 8 LTS from the prior used .NET 6 LTS and also switched to using Chrome instead of Chromium for the report rendering headless browser so this script accomodates these changes. +8.3.0 switched to .NET 10 LTS from the prior used .NET 8 LTS (8.2.0 to 8.2.4), so the .NET 10 runtime must be installed first. From a terminal window run the following commands: ```bash -sudo apt-get update && apt-get upgrade && \ -sudo apt-get install -y aspnetcore-runtime-8.0 && \ -sudo chown -vR :www-data /var/ayanova && \ -sudo chmod g+rw /var/ayanova/ +sudo apt-get update && sudo apt-get upgrade && \ +sudo apt-get install -y aspnetcore-runtime-10.0 ``` +On Ubuntu 24.04 and 26.04 the .NET 10 runtime comes from Ubuntu's own package archive. On Ubuntu 22.04 first add the Ubuntu .NET backports package repository with `sudo add-apt-repository ppa:dotnet/backports`. + If there is an issue or error break apart the commands and execute each one individually to find the error. After this step has completed you can continue with the normal upgrade process in the next step. diff --git a/docs/8.0/ayanova/docs/ops-upgrade-linux-server.md b/docs/8.0/ayanova/docs/ops-upgrade-linux-server.md index 308a557e..10d5b672 100644 --- a/docs/8.0/ayanova/docs/ops-upgrade-linux-server.md +++ b/docs/8.0/ayanova/docs/ops-upgrade-linux-server.md @@ -16,19 +16,23 @@ If you do not have a fresh backup there will be no way to recover from potential ### 1.5\. Pre-upgrade step -**Only if** your current AyaNova version is older than 8.2.0 there is an extra step before the normal upgrade process. +**Only if** your current AyaNova version is older than 8.3.0 there is an extra step before the normal upgrade process. -8.2.0 switched to .NET 8 LTS from the prior used .NET 6 LTS and also switched to using Chrome instead of Chromium for the report rendering headless browser so this script accomodates these changes. +8.3.0 switched to .NET 10 LTS from the prior used .NET 8 LTS (8.2.0 to 8.2.4), so the .NET 10 runtime must be installed first. If you are upgrading from a version older than 8.2.0 this script also accommodates that release's changes to folder ownership and permissions. From a terminal window run the following commands: ```bash -sudo apt-get update && apt-get upgrade && \ -sudo apt-get install -y aspnetcore-runtime-8.0 && \ +sudo apt-get update && sudo apt-get upgrade && \ +sudo apt-get install -y aspnetcore-runtime-10.0 && \ sudo chown -vR :www-data /var/ayanova && \ sudo chmod g+rw /var/ayanova/ ``` +On Ubuntu 24.04 and 26.04 the .NET 10 runtime comes from Ubuntu's own package archive. On Ubuntu 22.04 first add the Ubuntu .NET backports package repository with `sudo add-apt-repository ppa:dotnet/backports`. + +Installing the .NET 10 runtime replaces the shared `dotnet` command, the .NET 8 runtime stays installed and can be removed later if nothing else on the server uses it. + If there is an issue or error break apart the commands and execute each one individually to find the error. After this step has completed you can continue with the normal upgrade process in the next step. diff --git a/docs/8.0/ayanova/docs/ops-upgrade-windows-iis.md b/docs/8.0/ayanova/docs/ops-upgrade-windows-iis.md index adb59e6b..1b025e27 100644 --- a/docs/8.0/ayanova/docs/ops-upgrade-windows-iis.md +++ b/docs/8.0/ayanova/docs/ops-upgrade-windows-iis.md @@ -26,17 +26,17 @@ Stop the AyaNova site in the IIS manager: ### 3.5\. Pre-upgrade step -If your current AyaNova version is older than 8.2.0 there is an extra step before the normal upgrade script process below. +If your current AyaNova version is older than 8.3.0 (8.2.4 or older) there is an extra step before the normal upgrade script process below. -AyaNova 8.2.0 switched to .NET 8 LTS from the prior used .NET 6 LTS and it must be installed **BEFORE** continuing to the next step. +AyaNova 8.3.0 switched to .NET 10 LTS from the prior used .NET 8 LTS and it must be installed **BEFORE** continuing to the next step. -Install ASP.NET Core 8.x Runtime Hosting Bundle +Install ASP.NET Core 10.x Runtime Hosting Bundle **Warning** Microsoft provides several different links to "asp.net core runtime" downloads; the one required by AyaNova is the link labelled "Hosting bundle". -Download the ASP.NET Core **Hosting bundle** runtime here [https://dotnet.microsoft.com/en-us/download/dotnet/8.0](https://dotnet.microsoft.com/en-us/download/dotnet/8.0). +Download the ASP.NET Core **Hosting bundle** runtime here [https://dotnet.microsoft.com/en-us/download/dotnet/10.0](https://dotnet.microsoft.com/en-us/download/dotnet/10.0). -Run the installer and take the defaults to conclusion then proceed to the next step. +Run the installer and take the defaults to conclusion, then restart IIS so it picks up the new runtime (run `iisreset` from an administrator command prompt) and proceed to the next step. ### 4\. Setup diff --git a/docs/8.0/ayanova/docs/ops-upgrade-windows-lan.md b/docs/8.0/ayanova/docs/ops-upgrade-windows-lan.md index 784ea5e6..9b18eaf4 100644 --- a/docs/8.0/ayanova/docs/ops-upgrade-windows-lan.md +++ b/docs/8.0/ayanova/docs/ops-upgrade-windows-lan.md @@ -26,15 +26,15 @@ Alternatively you can force close AyaNova using the ctrl-c key combination in th ### 3.5\. Pre-upgrade step -If your current AyaNova version is older than 8.2.0 (8.1.5 or older) there is an extra step before the normal upgrade script process below. +If your current AyaNova version is older than 8.3.0 (8.2.4 or older) there is an extra step before the normal upgrade script process below. -AyaNova 8.2.0 switched to .NET 8 LTS from the prior used .NET 6 LTS and it must be installed **BEFORE** continuing to the next step. +AyaNova 8.3.0 switched to .NET 10 LTS from the prior used .NET 8 LTS and it must be installed **BEFORE** continuing to the next step. -Install ASP.NET Core 8.x Runtime Hosting Bundle +Install ASP.NET Core 10.x Runtime Hosting Bundle **Warning** Microsoft provides several different links to "asp.net core runtime" downloads; the one required by AyaNova is the link labelled "Hosting bundle". -Download the ASP.NET Core **Hosting bundle** runtime here [https://dotnet.microsoft.com/en-us/download/dotnet/8.0](https://dotnet.microsoft.com/en-us/download/dotnet/8.0). +Download the ASP.NET Core **Hosting bundle** runtime here [https://dotnet.microsoft.com/en-us/download/dotnet/10.0](https://dotnet.microsoft.com/en-us/download/dotnet/10.0). Run the installer and take the defaults to conclusion then proceed to the next step.