Skip to main content
Version: 13

Migrate (v13 to v14)

This guide has been written for developers with existing VIKTOR application(s) on v13 who want to upgrade to v14. It provides a general overview of the necessary actions and links to relevant documents for more information.

Breaking changes

VIKTOR uses semantic versioning, which means that a major version upgrade (such as v13 -> v14) contains backwards incompatible (breaking) changes: you might need to make changes in your app code to ensure that it functions as expected after the upgrade.

Under Removed in v14 we have listed all the changes:

  • a description of the change
  • reason for the change
  • necessary steps to update your code

For some upgrades we provide an automated code fix which helps you in applying the necessary steps, e.g.:

viktor-cli fix -u ID

or apply all available upgrades by using:

viktor-cli fix

Upgrade steps

Steps to upgrade:

  1. Upgrade to the latest v13 version. This is backwards compatible, so you can change the version number and run your app without any changes needed.
  2. Check the upgrade list below and update your app code accordingly.
  3. As a check: run your code + run your tests. It should not emit any deprecation warnings introduced by the SDK.
  4. Change the version to 14.0.0. This is backwards incompatible, but you have already implemented the necessary changes, so you're ready to go.
caution

The absence of deprecation warnings when running your app does not mean that all updates have been applied correctly, so make sure to check the list. You might not cover all your code when testing (warning is not triggered) and sometimes we cannot raise the warning at all

On average, we expect this upgrade to take less than 1 hour per app. It depends on the size of the app and how many open updates need to be applied. In case you are experiencing difficulties upgrading, either manually or using the provided fix command, please contact VIKTOR.

The table below shows an overview of the upgrades introduced in v13 and the estimated duration to fix:

IDDeprecationUpgrade durationdeprecated sincecodemod available
86Remove support for Python 3.7?CLI v0.29.2no
85Remove leading hashtag for viktor dependency5 minutesCLI v0.29.0yes
84UserException replaced by UserError5 minutesSDK v13.7.0yes
83Violated field constraints block actions15 minutesSDK v13.7.0partly
82Specific image views replaced by ImageView5 minutesSDK v13.7.0yes
81Removed open_ends from CircularExtrusion5 minutesSDK v13.6.0yes
80Removed min_messages and max_message from NumberField/IntegerField5 minutesSDK v13.5.0yes
79Remove hex_to_rgb and rgb_to_hex from geometry module5 minutesSDK v13.5.0yes
78viktor.config.toml requires app_type entry5 minutesSDK v13.3.0yes
77Removal of the manifest5 minutesSDK v13.2.0yes