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. You will find a reference to the upgrade instructions in this change. This header will only be present in major releases or on Beta Features.
- 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.
v13
Beta Features
Changes denoted with [BETA] are experimental (beta) features. This means that the API might change without major version increment. Features currently in [BETA] are:
None
v13.8.0 - 16/02/2023
Added
viktorSupport for Python 3.11
v13.7.2 - 08/02/2023
Docs
viewsAdded info about "id" attribute for interaction to docstring of GeoJSONResultresultFixed example inOptimizationResultdocstring
Fixed
externalDynamoconvert_geometry_to_glbnow correctly implements transparencygeometryFixed rotation bug in Cone geometry when oriented in (0, -1, 0) direction
v13.7.1 - 16/01/2023
Fixed
errorsFixedUserErrorto accept multiple messages of any type, in line withUserException
v13.7.0 - 16/12/2022
Added
resultSupport 'Munch' type in aSetParamsResultviewsNewImageViewandImageAndDataViewthat accept 'svg', 'jpeg', 'png', 'gif' filesparametrizationValidation of aStepusing theon_nextcallback functionerrorsUserErrorto show an error to the user and mark fields invalid in the interfacecoreShow/hide top-level entities on the dashboard withInitialEntityshow_on_dashboardargument
Deprecated
viewsSVGView,JPGView,PNGVieware replaced byImageView(U82)viewsSVGResult,JPGResult,PNGResultare replaced byImageResult(U82)viewsSVGAndDataView,JPGAndDataView,PNGAndDataVieware replaced byImageAndDataView(U82)viewsSVGAndDataResult,JPGAndDataResult,PNGAndDataResultare replaced byImageAndDataResult(U82)parametrizationViolated field constraints will block actions (U83)viktorUserExceptionwill be replaced byUserError(U84)
v13.6.2 - 05/12/2022
Fixed
geometryRegression inCircularExtrusioncausing incorrect positioning
v13.6.1 - 17/11/2022
Fixed
viewsRegression in SVGAndDataResult causing StringIO image to crash with UnicodeEncodeError in certain cases (e.g. matplotlib)
v13.6.0 - 7/11/2022
Added
viktorShow progress messages in terminalgeometrySpecifyshell_thicknesson aCircularExtrusionto create a hollow extrusion
Deprecated
geometryRemoveopen_endsfromCircularExtrusion(U81)
Fixed
codemodFixed codemods failing on f-string with unparenthesized tuplesviktorIgnore errors in sending progress messagesviewsRegression in SVGResult causing StringIO image to crash with UnicodeEncodeError in certain cases (e.g. matplotlib)
v13.5.1 - 18/10/2022
Fixed
externalDynamoconvert_geometry_to_glbfix colors
v13.5.0 - 11/10/2022
Added
externalAdded repr function to spreadsheet input classesexternalVarious analysis classes and functions now accept aFileobject, or return aFileobject if as_file=TrueviewsAll image results (PNGResult, etc...) allow for image of typeFilegeogef_visualizationreturnsFileobject if as_file=TrueviewsWebResultallows forhtmlof typeFileandstrgeometrySupport visualization ofArc,Line, andPolylinein aGeometryViewtestingVariousmock_*Analysisclasses to facilitate easier testing of analysis classes
Deprecated
geometryRemovehex_to_rgbandrgb_to_hexfrom geometry module (U79)parametrizationRemovemin_messageandmax_messagefromNumberField/IntegerField(U80)
v13.4.0 - 12/09/2022
Added
externalUpload inputs ofrender_word_fileandWordFileTemplate.renderto s3 to prevent payload errorsexternalAdded torsion and interaction results toRcsOutputFileParser
Fixed
codemodU77 incorrectly includes yaml-comments in welcome_textexternalDynamoconvert_geometry_to_glbnow generates double-sided facescodemodU78 unintentionally removes comments from viktor.config.toml
v13.3.1 - 24/08/2022
Fixed
api_v1Incorrectly settinglast_saved_paramsequal to None for old entity revisionsexternalFix type-error in fill-spreadsheet helpergeometryget_lowest_or_highest_profile_xsometimes returns the incorrect profileparametrizationRaise a warning when using anOptionFieldwith anintvalue in aTable
v13.3.0 - 10/08/2022
Added
parametrizationIncreased character limit onTextelement from 500 to 1800testingmock_APIdecorator to mock theAPIclass in teststestingmock_paramsfunction to convert a JSON/dict to the (deserialized) paramstestingmock_Viewdecorator to mockViewdecorators in teststestingmock_SciaAnalysisto mockSciaAnalysis.executeand analysis returns in testsapi_v1CompareEntityTypes orUsers with "=="geometryCompareGeoPoints,GeoPolylines, orGeoPolygons with "=="
Deprecated
viktorapp_typeentry should be defined in viktor.config.toml (U78)
v13.2.1 - 27/06/2022
Fixed
codemodU77 incorrectly fixing thewelcome_textpath
v13.2.0 - 15/06/2022
Added
geometryConstruct an extruded polygon usingPolygon.extrude()geometryComparePoints andLines with "==" (e.g.Point(1, 1) == Point(1, 1)-> True)geometryAllow for indexing/iterating ofVector,PointandLineobjectsgeometryLinemethodsproject_pointanddistance_to_pointcodemodApply all fixes of current major when using theviktor-cli fixcommand without --upgrade flagparametrizationSelect interaction on Map/GeoJSONView
Deprecated
viktorRemoval of manifest (U77)
Fixed
geometrybug inpoints_are_coplanargeometrypoint_is_on_bounded_linenow correctly calculates for 3D
v13.1.0 - 06/05/2022
Added
externalSCIA binding:descriptionon (nonlinear) load combinationexternalSCIA binding: (general) solver settingsexternalSCIA binding: library cross-sectionsexternalSCIA binding: basic project dataexternalSCIA binding: cross-links
Fixed
viktorSet timeouts on addons requests to 60 seconds to prevent timeout errorsexternalSCIA binding: applying a line load on a circular plane edge no longer raises an error
v13.0.0 - 13/04/2022
Action Required
viktorUpgrade instructions U61 - U75 have been applied
Added
coreStorageclass to permanently store files which can be retrieved at any timeparametrizationFileFieldandMultiFileFieldwhich allow users to upload one or multiple filesparametrizationEntityOptionFieldandEntityMultiSelectFieldfor generic selection of entitiesparametrizationViktorParametrizationas alias ofParametrization
Deprecated
codemodCleanup previously set flags which were necessary to migrate to v13 (U76)
v12
v12.12.2 - 23/08/2022
Fixed
api_v1Incorrectly settinglast_saved_paramsequal to None for old entity revisions
v12.12.1 - 11/04/2022
Docs
externalFixed example in Dynamo docstring
Fixed
parametrizationFixed U74 warning not being logged in case of dynamic options
v12.12.0 - 06/04/2022
Added
viewsup_axissetting to GeometryView and GeometryAndDataViewviewsGeometryResultaccepts a GLBFileviewsFix the font size of aMapLabelregardless of zoom level by setting thefixed_sizeflagexternalHelper functions for updating Dynamo input files and processing output files (results + geometry)externalGenericAnalysis.get_output_filereturns File object if as_file=TrueparametrizationSupport setting avalueand alabelof anOptionFieldoption within a tableparametrizationAddedentity_namein signature of controller methods and callback functions
Deprecated
viewsGeometryResultargumentvisualization_grouprenamed togeometry(U73)parametrizationSetting both avalueand alabelof anOptionFieldoption within a table will no longer be ignored (U74)viktorRemovednameandfilenamefrom the params (U75)
Fixed
codemodU68 fixed for the case of having multiple 'import as' aliasesgeometryTorusandArcRevolveshowing wrong face normals and ignoring rotation angle
v12.11.0 - 09/03/2022
Added
viktorCreate a views-only entity type by omitting theparametrizationattribute on the correspondingControllerclassviewsSelect a custom map marker using theiconattribute onMapPoint
Deprecated
viktorThebackground_imageof a workspace is customizable through the admin panel instead of the manifest (U71)apiThe completeviktor.apimodule and all of its classes and functions (U72)
Docs
viewsFixed example in PlotlyView docstring
v12.10.0 - 08/02/2022
Added
viewsPlotlyView and PlotlyAndDataViewapi_v1Various missing functionalities (e.g. to create, delete and modify entities)viewsGeometryResultaccepts a (sequence of)TransformableObject(s)testingmock_ParamsFromFileto mock theParamsFromFileclass in tests
Deprecated
parametrizationAutomatic selection of a single option in anOptionFieldwill no longer be the standard behavior (U69)geometryRemoved methodPolyline.from_dict(U70)
Fixed
externalD-Foundations parser:IsKsi3Usedincorrectly returnsTrue
v12.9.0 - 11/01/2022
Added
parametrizationStepwhich can be used to have pages within a predefined order, browsable through a previous and next buttonparametrizationrow_labelattribute onDynamicArraywhich can be used to prefix the row index
Deprecated
viktorGEOLIB is now publicly available; hosting by VIKTOR will be terminated (U67)parametrizationInput argumentrequire_all_fieldswill be removed from buttons (U68)
v12.8.0 - 1/12/2021
Added
externalRemoved [BETA] status from the Robot integrationparametrizationRadio variant ofOptionField(vertical + horizontal)
Deprecated
parametrizationEntity selection fields return anEntityobject in the params instead of an integer (U65)parametrizationNumberField variant attribute of typestr('slider') replaces typeEnum(NumberField.Variant.SLIDER) (U66)
Fixed
externalD-Foundations and D-Settlement input file generation timeout increased to 30 seconds
v12.7.0 - 3/11/2021
Added
viewsAnupdate_labelcan be used to change the label of the update button of a ViewparametrizationAdescriptioncan now be added on action buttons, to provide more information to the user through a tooltipexternalIDEA-RCS RcsOutputFileParser: decision method added to fatigue resultsexternalIDEA-RCS RcsOutputFileParser: obtain combined results per extreme usingsection.extremes()externalIDEA binding:Member.create_bar_layer()andReinforcedCrossSection.create_bar_layer()to create multiple bars positioned on a lineexternalIDEA binding:theta,theta_min,theta_max, andn_cycles_fatiguecan be set in theCodeSettingsexternalIDEA binding:relative_humiditycan be set in the design member dataexternalIDEA binding: a general cross-section can be added to a model, defined by a set of coordinatesparametrizationTextfield that can be used to display a static text
Docs
parametrizationParameter NumberField.step added to docstringparametrizationFixed example in ParamsFromFile docstring
Fixed
externalScia input file generation timeout increased to 30 seconds
v12.6.0 - 29/09/2021
Action Required
external[BETA] Robot binding:requested_resultsformat has changed; specify per category which components are to be returned
Added
externalSCIA binding: Model.create_numerical_cross_sectionexternalSCIA binding: Model.create_point_load_nodeexternalSCIA binding: addedangleargument to Model.create_point_loadcoreController attributesummaryis no longer required to be definedcoreController attributes (label,summary,parametrization, etc.) visible in stubs and docs
Deprecated
api_v1PrivilegedAPIhas been replaced by explicitprivilegedflag on the individual API calls (U64)
Docs
geometryFixed code-block inRDWGSConverter.from_wgs_to_rd()viktorLink to upgrade instruction webpage in deprecation warnings
Fixed
externalWord file rendering timeout increased to 60 secondsparametrizationNaming 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
parametrizationPage which can be used to construct a combination of inputs (e.g. tabs / sections) and outputs (views)coreImproved upload performance when no data is returned during post processingapi_v1Multiple API requests within the same job are now faster due to session sharingcoreImproved error messages when a Summary is wrongly defined (e.g. non-existing SummaryItem 'source')geoSoilLayout.filter_layers_on_thickness merges adjacent layers with equal property values of type 'str', and raises a more explicit error otherwiseexternalIDEA-RCSRcsOutputFileParserwhich is an improved version ofOutputFileParser(allowing large files)geometryImproved performance of TriangleAssembly and Polygon visualization. Additionally askip_duplicate_vertices_checkflag can be set to boost performance further.parametrizationThe width-ratio between input and output of an editor can be adjusted through awidthargument on ParametrizationparametrizationAdescriptioncan now be added on a Field / Tab / Section / Page, to provide more information to the user through a tooltipviewsAdescriptioncan now be added on a View, to provide more information to the user through a tooltip
Deprecated
geoRenamedSoilLayout2D.threejs_visualisation()toSoilLayout2D.visualize_geometry()andSoilLayer2D.threejs_visualisation()toSoilLayer2D.visualize_geometry()(U62)parametrizationInput argumentsprefixandsuffixon a DateField will be removed (U63)
Docs
viktorRegular docs maintenance
Fixed
geometrySmall triangles return NaN when calling the area
v12.4.0 - 14/07/2021
Added
externalSCIA binding: NonLinearLoadCombination can be used inModel.create_result_class()
Docs
viktorAdded description of publish commands to cli guide
Fixed
externalTimeout issue when using large files inrender_spreadsheet()andSpreadsheetCalculation.evaluate()
v12.3.1 - 25/06/2021
Fixed
parametrizationIssue where clicking "Add new row" on a Table does not work
v12.3.0 - 25/06/2021
Added
externalIDEA-RCS binding: fatigue loading can be applied on an extremeexternalIDEA-RCS OutputFileParser: fatigue results can be parsedviews'points' and 'holes' properties added on MapPolygonexternalLog when external analysis job has been completed successfullyparametrizationSimple options can be used in OptionField, AutocompleteField, MultiSelectField (e.g.options=['A', 'B', 'C'])
Deprecated
coreEntity-type information (label,children, andshow_children_as) is moved from the manifest to the Controller (U61)
Fixed
utilsMemoized functions called on app-load breaks in production
v12.2.0 - 26/05/2021
Added
parametrizationGeoPointField, GeoPolylineField, and GeoPolygonField can now be used in a DynamicArrayexternal[BETA] RobotAnalysis
Docs
viktorRegular docs maintenance
v12.1.0 - 18/05/2021
Added
parametrizationParametrization can consist of 1 layer (Field) or 2 layers (Tab + Field, Section + Field)externalImproved error handling in execution of RFEMAnalysisgeometryCone objectapi_v1Allow negative indexing on EntityListparametrizationMore consistent naming for many fields (old names will be deprecated in future)resultAllow for multiple files to be downloaded (as zip-file) in DownloadResult
Docs
viktorRegular docs maintenance
Fixed
parametrizationSetting fieldnameargument using dot-notation within TableInput/DynamicArray was mistakenly allowed