Skip to main content

Compatibility and contract versions

Every YTCC version knows the versions of the formats and databases it can work with. These numbers are called contract versions. When a project, a database or a backup comes from another YTCC version, YTCC compares its version with its own and either uses it, upgrades it or refuses it. For where YTCC shows its own version, see Which version you are reading.

Where to read the versions​

  • Settings › About on the home page lists Product version, Installation and the contract versions: Control API, Configuration schema, Project registry schema, History schema, Project format, Page format, Driver API and Messaging API. When the components of the installation report different versions, it shows Component versions do not match and the names of the versions concerned. The same About window opens in the screen editor, on the runtime screen and in the configuration editor; it also lists the versions of the components and has Copy information (see Application settings).
  • scada-manager version prints the product version, the installation, the control API and the contract versions.
  • scada-manager version --json prints the same as JSON, with the fields product_version, install_id, control_api, install_dir, contracts and projects. install_id and install_dir are null for a standalone installation. projects lists each project with slug, db_name and hist_db_name.

Contract versions​

The values are those of the version these docs describe.

ContractIn AboutValueWhat it versions
config_schemaConfiguration schema77The project database: drivers, devices, signals, alarms, areas and zones
registry_schemaProject registry schema7The registry database that lists the projects of an installation
hist_schemaHistory schema1.0The history database of a project
project_formatProject format1The project file with the pages, symbols, popups and layouts
page_formatPage format1Each page in the project file
format_version—1Project backups and project packages
control_apiControl API1The control interface of scada-manager
driver_apiDriver API1The interface between YTCC and its drivers
nats_apiMessaging API1The messages between the YTCC services

Which version opens what​

Project database and registry​

The programs and the database must have the same schema version. Connecting never upgrades a database.

The database isWhat happensWhat to do
Older than the programsThe configuration editor shows Project database is incompatible with this version with the command to run; the project's drivers do not start.The setup program upgrades the databases when it upgrades YTCC. Otherwise stop the project and use Upgrade… on the home page, or run scada-manager migrate <project>, or scada-manager migrate --registry for the registry. See Databases and schema upgrade.
Newer than the programsThe same message, with update all YTCC programs together.Use the YTCC version that upgraded the database.

After migrate, older YTCC versions can no longer use the database. Take a backup before you upgrade; see Upgrade to a new version and roll back.

History database​

The history database isWhat happens
Same major version, older minor versionThe history writer upgrades it itself.
Same major version, newer minor versionThe history writer keeps writing; the columns that the newer version added stay empty.
Different major versionThe history writer does not start, does not change the database and is not restarted. Use the YTCC version that wrote this history.

migrate does not change history databases.

Project and page files​

The file isWhat happens
Older, or without a format versionIt opens normally. On the first save, YTCC keeps a copy of the old project file in the project's backup folder and then saves it in the current format.
Newer, but marked as readable by this versionIt opens, but saving is refused: This project was saved with a newer YTCC version; update to save it.
Newer and not readable by this versionIt does not open: This project was saved with a newer YTCC version; update to open it.
A page in a newer page formatThe page opens read-only: This page was saved with a newer YTCC version and is read-only here. Update YTCC to edit it. When the whole project is saved, the page is written back unchanged.

Backups and project packages​

This applies to scada-manager import and to the Import project window of the home page.

The backup or package isWhat happens
Made by the same or an older versionIt is imported. An older database inside it is restored and then upgraded to the current schema; the Import project window shows upgraded to {0} on import.
Made by a newer versionThe Import project window shows newer than this server and The package was made with a newer YTCC version than this server; update YTCC first, and the import is refused.
Of a newer format_version, or with a newer database schemaThe import is refused. Update YTCC first.

See Backup and restore.

One project, one version​

A project runs in one YTCC version at a time. Starting it in a second version opens Project is running in another version; see Start, stop and restart a project.