Skip to content
English
  • There are no suggestions because the search field is empty.

Upgrading Timebase

Overview

Upgrading Timebase is straightforward. On Windows you stop the services and run the new installer. On Docker you pull updated images. Configuration files are preserved across upgrades. This article covers both paths and lists any version-specific steps you need to take.

How to upgrade

Before you start — back up your configuration

Configuration files are not modified by the installer, but it is good practice to take a copy before upgrading. Back up the following before proceeding:

Windows:

  • C:\ProgramData\Flow Software\Timebase\ — back up the entire Config and Settings folder for each component (Historian, Collector, Explorer, Pulse, Service Starter)
  • C:\Program Files\Flow Software\Timebase\ — back up the appsettings.json file for each component

Docker:

  • Back up the folder your Config Docker Volume references, or run a Volume backup using the tar method described in the Disaster Recovery article

Upgrade on Windows

  1. Open the Timebase Services Starter (localhost:4510) and stop all running components by clicking the Stop icon for the Timebase Stack.
  2. Download the latest Windows Installer from the Software Releases page.
  3. Run Timebase.msi and follow the installation steps. The installer detects and upgrades existing components.
  4. After installation completes, the Services Starter opens automatically. Start all components using the Play icon.
  5. Apply any version-specific configuration changes listed in the Version-Specific Notes section below.

Upgrade on Docker

  1. Pull the latest images:
    docker compose -f docker-compose.yml pull
  2. Restart the containers with the updated images:
    docker compose -f docker-compose.yml up --detach
  3. Confirm all containers are running:
    docker ps
  4. Apply any version-specific configuration changes listed in the Version-Specific Notes section below.

Your Docker Volumes persist all data, settings, and configuration across upgrades. You do not need to recreate Volumes when upgrading images.

Version-specific notes

Upgrading to 1.3.4

Collector Serilog namespace change — The logging namespace for the Collector changed from Timebase.Historian.Collector to Timebase.Collector. If you have a Collector settings.config with the old namespace, update it or you will see no log output from the Collector after upgrading.

Update the Serilog.MinimumLevel.Override section in each Collector's settings.config:

From:
"Override": {
"Timebase.Historian.Collector": "Information"
}

To:
"Override": {
"Timebase.Collector": "Information"
}

Upgrading to 1.3.2

Automatic TLS certificate management — 1.3.2 introduces Pulse as a Root CA with automatic certificate generation and distribution. This is opt-in.

  • If you want to enable automatic TLS, set "Cert": { "Enabled": true } in each component's settings.config and add a Kestrel HTTPS endpoint. See the Automatic TLS Certificate Management article.
  • If you are already running with manually configured TLS certificates, you do not need to change anything. Manual certificates continue to work.
  • All component-to-Pulse connections now use TLS by default (Pulse:UseTls: true). If you are connecting components to Pulse over HTTP, update your settings.config to either enable TLS on Pulse or explicitly set UseTls: false in the component's Pulse connection settings.

Upgrading to 1.3.0

Late Data Tolerance — Datasets now have a configurable "Late Data Tolerance" setting (in milliseconds). Review this setting for your datasets after upgrading if you have data sources that send out-of-order data. See the Late Data Handling article.

Upgrading to 1.1

Settings file location change — From 1.1 onwards, component settings moved from appsettings.json in the install directory to a separate settings.config file in the ProgramData path. If you have configuration in the old appsettings.json, copy it to the new settings.config location. See the Component Settings article for the correct paths.

Troubleshooting

Symptom Likely cause What to do
A component does not start after upgrading — Services Starter shows it as stopped A configuration change required by the new version was not applied, or a port conflict appeared after the upgrade Click the component in the Services Starter to see its log output. Check the Version-Specific Notes above for any required configuration changes for the version you upgraded to
Collector produces no log output after upgrading to 1.3.4 The Serilog namespace changed from Timebase.Historian.Collector to Timebase.Collector Update the Serilog.MinimumLevel.Override section in the Collector's settings.config as described in the 1.3.4 version notes above
Components cannot connect to Pulse after upgrading to 1.3.2 Components-to-Pulse connections now default to TLS (UseTls: true) but Pulse may not have TLS configured yet Either enable TLS on Pulse by adding a Kestrel HTTPS endpoint and enabling certificate management, or explicitly set "UseTls": false in each component's Pulse connection settings until you are ready to enable TLS
Data files or configuration are missing after a Docker upgrade The Docker Volumes were not attached when the new containers started, or the Compose file was not used Confirm you are using docker compose up with the same docker-compose.yml file that defines the named Volumes. Do not use docker run without bind mounts — this creates containers without persistent storage
Windows installer shows components as already installed but does not upgrade them The previous version was not stopped before running the installer Stop all Timebase services using the Services Starter before running the installer. The installer cannot replace files that are in use by running processes