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:
- 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.
- Check the upgrade list below and update your app code accordingly.
- As a check: run your code + run your tests. It should not emit any deprecation warnings introduced by the SDK.
- 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.
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:
ID | Deprecation | Upgrade duration | deprecated since | codemod available |
---|---|---|---|---|
86 | Remove support for Python 3.7 | ? | CLI v0.29.2 | no |
85 | Remove leading hashtag for viktor dependency | 5 minutes | CLI v0.29.0 | yes |
84 | UserException replaced by UserError | 5 minutes | SDK v13.7.0 | yes |
83 | Violated field constraints block actions | 15 minutes | SDK v13.7.0 | partly |
82 | Specific image views replaced by ImageView | 5 minutes | SDK v13.7.0 | yes |
81 | Removed open_ends from CircularExtrusion | 5 minutes | SDK v13.6.0 | yes |
80 | Removed min_messages and max_message from NumberField /IntegerField | 5 minutes | SDK v13.5.0 | yes |
79 | Remove hex_to_rgb and rgb_to_hex from geometry module | 5 minutes | SDK v13.5.0 | yes |
78 | viktor.config.toml requires app_type entry | 5 minutes | SDK v13.3.0 | yes |
77 | Removal of the manifest | 5 minutes | SDK v13.2.0 | yes |