Skip to main content
Version: 14

Migrate (v12 to v13)

This guide has been written for developers with existing VIKTOR application(s) on v12 who want to upgrade to v13. 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 v12 -> v13) 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 v13 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

Upgrade steps

Steps to upgrade:

  1. Upgrade to the latest v12 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 13.0.0. This is backwards incompatible, but you have already implemented the necessary changes, so you're ready to go.
  5. Flags that were added to resolve v12 deprecations can automatically be removed by using viktor-cli fix -u 76

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 2 hours 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 v12 and the estimated duration to fix:

IDDeprecationUpgrade durationdeprecated sincecodemod available
75Remove name and filename from params15 minutesSDK v12.12.0partly
74Store table OptionField value in params15 minutesSDK v12.12.0partly
73GeometryResult visualization_group renamed to geometry5 minutesSDK v12.12.0yes
72Removed viktor.api module30-60 minutesSDK v12.11.0no
71Workspace background image moved from manifest to interface5 minutesConnector v5.11.1yes
70Removed Polyline.from_dict()5 minutesSDK v12.10.0no
69Autoselect single option in OptionField5 minutesSDK v12.10.0yes
68Remove require_all_fields on buttons5 minutesSDK v12.9.0yes
67GEOLIB hosting by VIKTOR will be terminated5 minutesConnector v5.9.2yes
66NumberField.Variant replaced with str-type5 minutesSDK v12.8.0yes
65Entity selection fields return Entity object15 minutesSDK v12.8.0partly
64Replace PrivilegedAPI by explicit privileged flag15 minutesSDK v12.6.0no
63Remove prefix and suffix on DateField5 minutesSDK v12.5.0no
62Renamed threejs_visualisation() to visualize_geometry()5 minutesSDK v12.5.0yes
61Move entity-type information from manifest to Controller5 minutesSDK v12.3.0yes