Changelog
All notable changes to the viktor SDK will be documented in this file, categorized by version number.
The changes can be categorized further in the following headers:
- Action Required: when a backwards incompatible change is made, which requires actions in the application code. This header will only be present in major releases, on Beta features, or when a Python version is dropped.
- Added: when a functionality is added, without breaking compatibility with older versions.
- Deprecated: when an existing functionality will be removed in upcoming releases. You will find a reference to the upgrade instructions in this change.
- Docs: when the change involves SDK documentation, docstring, and/or type hinting.
- Fixed: when the change fixes a bug/error.
- Security: when a vulnerability is fixed.
Each change consists of a tag to annotate which VIKTOR module is involved. If the change encompasses multiple modules,
the viktor
tag is used.
v14
v14.16.2 - 30/10/2024
Added
external
Serialized SCIA model is compressed to allow for large input models
v14.16.1 - 15/10/2024
Fixed
api_v1
Fixed several Entity methods that did not work when using a Personal Access Token
v14.16.0 - 08/10/2024
Action Required
viktor
Removed support for Python 3.8
Added
viktor
Support for Python 3.13
Deprecated
viktor
Support for Python 3.9 will be removed (#U91)
Docs
viktor
Fixed that public classes/functions not in all were excluded from the docs
v14.15.2 - 04/09/2024
Fixed
views
Fixed TableView from pandas Styler object crashing on unsupported formatviktor
Requests now use the user's system certificates to solve SSL cert verification errors
v14.15.1 - 26/08/2024
Fixed
viktor
Lazy import of theexternal
modules which fixes a potential ImportError and improves import speedviews
Lazy import of pandas to improve import speed of theviews
module
v14.15.0 - 22/08/2024
Added
viktor
Support for single import (e.g.import viktor as vkt; vkt.NumberField(...)
)core
Make 'label' on ViktorController optionalviews
Make 'duration_guess' on all Views optional
Fixed
views
Fix bug with usingTableView
withpandas
showing data incorrectly in certain casesviews
Fix small typo inSummaryItem
suffix docstringexternal
Fix error mapping for spreadsheet calculation (SpreadsheetCalculation) so more error information is shownexternal
Fix error mapping for spreadsheet renderer (SpreadsheetTemplate / render_spreadsheet) so more error information is showncore
External services (e.g.convert_word_to_pdf
,render_jinja_template
, etc.) now show more error information
v14.14.0 - 07/08/2024
Added
utils
render_jinja_template
now validates identifiers before filling templateexternal
render_word_file
andWordFileTemplate.render()
now validate identifiers before filling templateexternal
Addedfile
property toSpreadsheetCalculation
andSpreadsheetResult
Fixed
parametrization
Removed distracting warning when Controller contains an empty parametrizationcore
Delete temp file from disk after closing aFile.from_url
v14.13.0 - 10/07/2024
Added
views
AddedTableView
for easy creation of output tables
v14.12.0 - 01/07/2024
Added
api_v1
Addedentity_compute
method for doing computations via the API
Fixed
external
Updated polling interval of external integrations to make short duration external computations more responsive
v14.11.0 - 18/06/2024
Added
api_v1
Added retries in relevant API callsparametrization
Added support for disabling aStep
v14.10.1 - 17/06/2024
Fixed
viktor
Mark numpy v2 as incompatible with viktor
v14.10.0 - 15/05/2024
Added
parametrization
Added GeometrySelectField and GeometryMultiSelectFieldgeometry
Addedidentifier
to geometrical objects
Fixed
viktor
Fix command to also function forapp.py
v14.9.0 - 04/04/2024
Added
api_v1
AddedAPI().get_workspace
andAPI().get_workspaces
api_v1
Support to use the API module from outside of a VIKTOR app
v14.8.0 - 28/02/2024
Added
parametrization
Define dynamic option lists per dynamic array rowviews
GeometryView
x_axis_to_right
setting to set the initial x-axis orientationexternal
GrasshopperAnalysis
Deprecated
views
GeometryView
initial x-axis orientation will be to the right by default (#U90)
Fixed
parametrization
Fix incorrect or failing serialization when using non-native objects (e.g. Color, GeoPoint, etc.) in DynamicArray default
v14.7.1 - 06/02/2024
Added
parametrization
Addedworkspace_id
in signature of controller methods and callback functions
v14.7.0 - 10/01/2024
Added
viktor
Support for Python 3.12parametrization
Support for (dynamic) visibility onPage
,Tab
, andSection
parametrization
Support to specifywidth
on a Page and Step to adjust the width-ratio between input and output of an editorexternal
SCIA binding: general cross-sections (polygon + openings only)
Deprecated
parametrization
Removedalways_available
from buttons (#U88)viktor
Support for Python 3.8 will be removed (#U89)
Fixed
viktor
Upgrade vendored trimesh to resolve numpy deprecation
v14.6.1 - 16/10/2023
Added
views
Added the possibility to use a FileResource as input for the IFCResult and IFCAndDAtaResult
Fixed
external
Dynamoconvert_geometry_to_glb
crashes due to incorrect parsing of line strips
v14.6.0 - 03/10/2023
Added
external
IDEA binding: added support to set name of design memberexternal
IDEA binding: added support to set description of extremeexternal
IDEA binding: added support to set project data propertiesviews
IFCView and IFCAndDataView
Fixed
geo
Fixed error caused by deprecated matplotlib style 'seaborn-whitegrid'viktor
Removed upper bounds of VIKTOR dependencies ('pandas' and 'munch')
v14.5.0 - 05/09/2023
Added
geometry
Metalness and roughness of defaultMaterial
updated to 0.5 and 1.0 respectivelygeometry
Material
properties can now be set on the instance (e.g.mat.opacity = 0.3
)views
Support marker size of aMapPoint
by specifying thesize
argument
Deprecated
geometry
Threejs properties renamed / removed fromMaterial
(#U87)
v14.4.0 - 25/07/2023
Added
views
Addgeometry_type
toGeometryResult
andGeometryAndDataResult
to support alternative geometry file formats (e.g. 3DM)
v14.3.0 - 11/07/2023
Added
external
SCIA binding: create averaging strips (POINT type only)parametrization
Image
field that can be used to display a static image
v14.2.1 - 15/06/2023
Fixed
api_v1
Regression inlen(entity.revisions())
causing an error
v14.2.0 - 13/06/2023
Added
parametrization
ChildEntityManager
field that can be used to manage child entities
v14.1.0 - 23/05/2023
Added
external
SCIA binding: create selections
v14.0.0 - 12/04/2023
Action Required
viktor
Upgrade instructions U76 - U86 have been applied
Added
parametrization
ColorField
which allow users to select from a color palettecore
Non-breaking user messages usingUserMessage
testing
Allow forParametrization
class inmock_params
Docs
testing
SimplifiedMockedEntity
example
Fixed
viktor
Fixedmatplotlib
dependency range set too strict
v13
v13.8.0 - 16/02/2023
Added
viktor
Support for Python 3.11
v13.7.2 - 08/02/2023
Docs
views
Added info about "id" attribute for interaction to docstring of GeoJSONResultresult
Fixed example inOptimizationResult
docstring
Fixed
external
Dynamoconvert_geometry_to_glb
now correctly implements transparencygeometry
Fixed rotation bug in Cone geometry when oriented in (0, -1, 0) direction
v13.7.1 - 16/01/2023
Fixed
errors
FixedUserError
to accept multiple messages of any type, in line withUserException
v13.7.0 - 16/12/2022
Added
result
Support 'Munch' type in aSetParamsResult
views
NewImageView
andImageAndDataView
that accept 'svg', 'jpeg', 'png', 'gif' filesparametrization
Validation of aStep
using theon_next
callback functionerrors
UserError
to show an error to the user and mark fields invalid in the interfacecore
Show/hide top-level entities on the dashboard withInitialEntity
show_on_dashboard
argument
Deprecated
views
SVGView
,JPGView
,PNGView
are replaced byImageView
(#U82)views
SVGResult
,JPGResult
,PNGResult
are replaced byImageResult
(#U82)views
SVGAndDataView
,JPGAndDataView
,PNGAndDataView
are replaced byImageAndDataView
(#U82)views
SVGAndDataResult
,JPGAndDataResult
,PNGAndDataResult
are replaced byImageAndDataResult
(#U82)parametrization
Violated field constraints will block actions (#U83)viktor
UserException
will be replaced byUserError
(#U84)
v13.6.2 - 05/12/2022
Fixed
geometry
Regression inCircularExtrusion
causing incorrect positioning
v13.6.1 - 17/11/2022
Fixed
views
Regression in SVGAndDataResult causing StringIO image to crash with UnicodeEncodeError in certain cases (e.g. matplotlib)
v13.6.0 - 7/11/2022
Added
viktor
Show progress messages in terminalgeometry
Specifyshell_thickness
on aCircularExtrusion
to create a hollow extrusion
Deprecated
geometry
Removeopen_ends
fromCircularExtrusion
(#U81)
Fixed
codemod
Fixed codemods failing on f-string with unparenthesized tuplesviktor
Ignore errors in sending progress messagesviews
Regression in SVGResult causing StringIO image to crash with UnicodeEncodeError in certain cases (e.g. matplotlib)
v13.5.1 - 18/10/2022
Fixed
external
Dynamoconvert_geometry_to_glb
fix colors
v13.5.0 - 11/10/2022
Added
external
Added repr function to spreadsheet input classesexternal
Various analysis classes and functions now accept aFile
object, or return aFile
object if as_file=Trueviews
All image results (PNGResult
, etc...) allow for image of typeFile
geo
gef_visualization
returnsFile
object if as_file=Trueviews
WebResult
allows forhtml
of typeFile
andstr
geometry
Support visualization ofArc
,Line
, andPolyline
in aGeometryView
testing
Variousmock_*Analysis
classes to facilitate easier testing of analysis classes
Deprecated
geometry
Removehex_to_rgb
andrgb_to_hex
from geometry module (#U79)parametrization
Removemin_message
andmax_message
fromNumberField
/IntegerField
(#U80)
v13.4.0 - 12/09/2022
Added
external
Upload inputs ofrender_word_file
andWordFileTemplate.render
to s3 to prevent payload errorsexternal
Added torsion and interaction results toRcsOutputFileParser
Fixed
codemod
U77 incorrectly includes yaml-comments in welcome_textexternal
Dynamoconvert_geometry_to_glb
now generates double-sided facescodemod
U78 unintentionally removes comments from viktor.config.toml
v13.3.1 - 24/08/2022
Fixed
api_v1
Incorrectly settinglast_saved_params
equal to None for old entity revisionsexternal
Fix type-error in fill-spreadsheet helpergeometry
get_lowest_or_highest_profile_x
sometimes returns the incorrect profileparametrization
Raise a warning when using anOptionField
with anint
value in aTable
v13.3.0 - 10/08/2022
Added
parametrization
Increased character limit onText
element from 500 to 1800testing
mock_API
decorator to mock theAPI
class in teststesting
mock_params
function to convert a JSON/dict to the (deserialized) paramstesting
mock_View
decorator to mockView
decorators in teststesting
mock_SciaAnalysis
to mockSciaAnalysis.execute
and analysis returns in testsapi_v1
CompareEntityType
s orUser
s with "=="geometry
CompareGeoPoint
s,GeoPolyline
s, orGeoPolygon
s with "=="
Deprecated
viktor
app_type
entry should be defined in viktor.config.toml (#U78)
v13.2.1 - 27/06/2022
Fixed
codemod
U77 incorrectly fixing thewelcome_text
path
v13.2.0 - 15/06/2022
Added
geometry
Construct an extruded polygon usingPolygon.extrude()
geometry
ComparePoint
s andLine
s with "==" (e.g.Point(1, 1) == Point(1, 1)
-> True)geometry
Allow for indexing/iterating ofVector
,Point
andLine
objectsgeometry
Line
methodsproject_point
anddistance_to_point
codemod
Apply all fixes of current major when using theviktor-cli fix
command without --upgrade flagparametrization
Select interaction on Map/GeoJSONView
Deprecated
viktor
Removal of manifest (#U77)
Fixed
geometry
bug inpoints_are_coplanar
geometry
point_is_on_bounded_line
now correctly calculates for 3D
v13.1.0 - 06/05/2022
Added
external
SCIA binding:description
on (nonlinear) load combinationexternal
SCIA binding: (general) solver settingsexternal
SCIA binding: library cross-sectionsexternal
SCIA binding: basic project dataexternal
SCIA binding: cross-links
Fixed
viktor
Set timeouts on addons requests to 60 seconds to prevent timeout errorsexternal
SCIA binding: applying a line load on a circular plane edge no longer raises an error
v13.0.0 - 13/04/2022
Action Required
viktor
Upgrade instructions U61 - U75 have been applied
Added
core
Storage
class to permanently store files which can be retrieved at any timeparametrization
FileField
andMultiFileField
which allow users to upload one or multiple filesparametrization
EntityOptionField
andEntityMultiSelectField
for generic selection of entitiesparametrization
ViktorParametrization
as alias ofParametrization
Deprecated
codemod
Cleanup previously set flags which were necessary to migrate to v13 (#U76)
v12
v12.12.2 - 23/08/2022
Fixed
api_v1
Incorrectly settinglast_saved_params
equal to None for old entity revisions
v12.12.1 - 11/04/2022
Docs
external
Fixed example in Dynamo docstring
Fixed
parametrization
Fixed U74 warning not being logged in case of dynamic options
v12.12.0 - 06/04/2022
Added
views
up_axis
setting to GeometryView and GeometryAndDataViewviews
GeometryResult
accepts a GLBFile
views
Fix the font size of aMapLabel
regardless of zoom level by setting thefixed_size
flagexternal
Helper functions for updating Dynamo input files and processing output files (results + geometry)external
GenericAnalysis.get_output_file
returns File object if as_file=Trueparametrization
Support setting avalue
and alabel
of anOptionField
option within a tableparametrization
Addedentity_name
in signature of controller methods and callback functions
Deprecated
views
GeometryResult
argumentvisualization_group
renamed togeometry
(#U73)parametrization
Setting both avalue
and alabel
of anOptionField
option within a table will no longer be ignored (#U74)viktor
Removedname
andfilename
from the params (#U75)
Fixed
codemod
U68 fixed for the case of having multiple 'import as' aliasesgeometry
Torus
andArcRevolve
showing wrong face normals and ignoring rotation angle
v12.11.0 - 09/03/2022
Added
viktor
Create a views-only entity type by omitting theparametrization
attribute on the correspondingController
classviews
Select a custom map marker using theicon
attribute onMapPoint
Deprecated
viktor
Thebackground_image
of a workspace is customizable through the admin panel instead of the manifest (#U71)api
The completeviktor.api
module and all of its classes and functions (#U72)
Docs
views
Fixed example in PlotlyView docstring
v12.10.0 - 08/02/2022
Added
views
PlotlyView and PlotlyAndDataViewapi_v1
Various missing functionalities (e.g. to create, delete and modify entities)views
GeometryResult
accepts a (sequence of)TransformableObject
(s)testing
mock_ParamsFromFile
to mock theParamsFromFile
class in tests
Deprecated
parametrization
Automatic selection of a single option in anOptionField
will no longer be the standard behavior (#U69)geometry
Removed methodPolyline.from_dict
(#U70)
Fixed
external
D-Foundations parser:IsKsi3Used
incorrectly returnsTrue
v12.9.0 - 11/01/2022
Added
parametrization
Step
which can be used to have pages within a predefined order, browsable through a previous and next buttonparametrization
row_label
attribute onDynamicArray
which can be used to prefix the row index
Deprecated
viktor
GEOLIB is now publicly available; hosting by VIKTOR will be terminated (#U67)parametrization
Input argumentrequire_all_fields
will be removed from buttons (#U68)
v12.8.0 - 1/12/2021
Added
external
Removed [BETA] status from the Robot integrationparametrization
Radio variant ofOptionField
(vertical + horizontal)
Deprecated
parametrization
Entity selection fields return anEntity
object in the params instead of an integer (#U65)parametrization
NumberField variant attribute of typestr
('slider') replaces typeEnum
(NumberField.Variant.SLIDER
) (#U66)
Fixed
external
D-Foundations and D-Settlement input file generation timeout increased to 30 seconds
v12.7.0 - 3/11/2021
Added
views
Anupdate_label
can be used to change the label of the update button of a Viewparametrization
Adescription
can now be added on action buttons, to provide more information to the user through a tooltipexternal
IDEA-RCS RcsOutputFileParser: decision method added to fatigue resultsexternal
IDEA-RCS RcsOutputFileParser: obtain combined results per extreme usingsection.extremes()
external
IDEA binding:Member.create_bar_layer()
andReinforcedCrossSection.create_bar_layer()
to create multiple bars positioned on a lineexternal
IDEA binding:theta
,theta_min
,theta_max
, andn_cycles_fatigue
can be set in theCodeSettings
external
IDEA binding:relative_humidity
can be set in the design member dataexternal
IDEA binding: a general cross-section can be added to a model, defined by a set of coordinatesparametrization
Text
field that can be used to display a static text
Docs
parametrization
Parameter NumberField.step added to docstringparametrization
Fixed example in ParamsFromFile docstring
Fixed
external
Scia input file generation timeout increased to 30 seconds
v12.6.0 - 29/09/2021
Action Required
external
[BETA] Robot binding:requested_results
format has changed; specify per category which components are to be returned
Added
external
SCIA binding: Model.create_numerical_cross_sectionexternal
SCIA binding: Model.create_point_load_nodeexternal
SCIA binding: addedangle
argument to Model.create_point_loadcore
Controller attributesummary
is no longer required to be definedcore
Controller attributes (label
,summary
,parametrization
, etc.) visible in stubs and docs
Deprecated
api_v1
PrivilegedAPI
has been replaced by explicitprivileged
flag on the individual API calls (#U64)
Docs
geometry
Fixed code-block inRDWGSConverter.from_wgs_to_rd()
viktor
Link to upgrade instruction webpage in deprecation warnings
Fixed
external
Word file rendering timeout increased to 60 secondsparametrization
Naming a table column 'name' does no longer cause a warning in the IDE about not being able to set the 'name' property
v12.5.0 - 24/08/2021
Added
parametrization
Page which can be used to construct a combination of inputs (e.g. tabs / sections) and outputs (views)core
Improved upload performance when no data is returned during post processingapi_v1
Multiple API requests within the same job are now faster due to session sharingcore
Improved error messages when a Summary is wrongly defined (e.g. non-existing SummaryItem 'source')geo
SoilLayout.filter_layers_on_thickness merges adjacent layers with equal property values of type 'str', and raises a more explicit error otherwiseexternal
IDEA-RCSRcsOutputFileParser
which is an improved version ofOutputFileParser
(allowing large files)geometry
Improved performance of TriangleAssembly and Polygon visualization. Additionally askip_duplicate_vertices_check
flag can be set to boost performance further.parametrization
The width-ratio between input and output of an editor can be adjusted through awidth
argument on Parametrizationparametrization
Adescription
can now be added on a Field / Tab / Section / Page, to provide more information to the user through a tooltipviews
Adescription
can now be added on a View, to provide more information to the user through a tooltip
Deprecated
geo
RenamedSoilLayout2D.threejs_visualisation()
toSoilLayout2D.visualize_geometry()
andSoilLayer2D.threejs_visualisation()
toSoilLayer2D.visualize_geometry()
(#U62)parametrization
Input argumentsprefix
andsuffix
on a DateField will be removed (#U63)
Docs
viktor
Regular docs maintenance
Fixed
geometry
Small triangles return NaN when calling the area
v12.4.0 - 14/07/2021
Added
external
SCIA binding: NonLinearLoadCombination can be used inModel.create_result_class()
Docs
viktor
Added description of publish commands to cli guide
Fixed
external
Timeout issue when using large files inrender_spreadsheet()
andSpreadsheetCalculation.evaluate()
v12.3.1 - 25/06/2021
Fixed
parametrization
Issue where clicking "Add new row" on a Table does not work
v12.3.0 - 25/06/2021
Added
external
IDEA-RCS binding: fatigue loading can be applied on an extremeexternal
IDEA-RCS OutputFileParser: fatigue results can be parsedviews
'points' and 'holes' properties added on MapPolygonexternal
Log when external analysis job has been completed successfullyparametrization
Simple options can be used in OptionField, AutocompleteField, MultiSelectField (e.g.options=['A', 'B', 'C']
)
Deprecated
core
Entity-type information (label
,children
, andshow_children_as
) is moved from the manifest to the Controller (#U61)
Fixed
utils
Memoized functions called on app-load breaks in production
v12.2.0 - 26/05/2021
Added
parametrization
GeoPointField, GeoPolylineField, and GeoPolygonField can now be used in a DynamicArrayexternal
[BETA] RobotAnalysis
Docs
viktor
Regular docs maintenance
v12.1.0 - 18/05/2021
Added
parametrization
Parametrization can consist of 1 layer (Field) or 2 layers (Tab + Field, Section + Field)external
Improved error handling in execution of RFEMAnalysisgeometry
Cone objectapi_v1
Allow negative indexing on EntityListparametrization
More consistent naming for many fields (old names will be deprecated in future)result
Allow for multiple files to be downloaded (as zip-file) in DownloadResult
Docs
viktor
Regular docs maintenance
Fixed
parametrization
Setting fieldname
argument using dot-notation within TableInput/DynamicArray was mistakenly allowed