This article describes new features, improvements and fixes included in this release of SystemWeaver. When upgrading, we recommend that all client and server applications be upgraded as some bug fixes and/or enhancements require this.
These release notes are also available as a MS Word document, as well as a SystemWeaver XML file. Both are attached below. You can also print out this article as a PDF using the Print option.
Note: Special attention should be given to the items highlighted in yellow as they will require additional planning/steps for your organization pre and/or post-upgrade if the view/tool affected is being used in your installation. |
Administrators
Name | Description | Type | Issue ID |
swAdmin2: View login license assignment for Logged on | The Logged on page now includes the login license assignment for users who are currently connected. In addition, a License drop-down list displays at the top right when more than one license key is used for login purposes, and enables you to filter the Logged on list by License. | Improvement | 17090 |
swAdmin2: Login status added to Users list | There are two new features on the Users page. A new column called Login status indicates if a user account is currently logged in (✔). In addition, a Refresh button has been added for refreshing the content as needed. | Improvement | 17090 |
swAdmin2: Last activation date added to Users list | Each time a deactivated account is activated, a new Last activation date column will display the time stamp for the most recent time the account was activated. Note: A value will not display for a new account that is created and activated simultaneously. | Improvement | 17243 |
swAdmin2: Improved login time and new system requirement | The login time for the swAdmin2 client has been optimized. As part of this change, swAdmin2 users must have .NET 6 installed on their computer. This is a breaking change. If your computer does not already have it installed, the client will prompt you to download it, and redirect you to the Microsoft download page for that purpose. | 17317 | |
swAdmin2: LoggedOn page exception when logged in to mirror | This fixes an error message when logging in to a mirror server using the swAdmin2 client. Note: It is not possible to view login status when logged in to a mirror server. Administrators must log in to the main server to view this information in the swAdmin2 client. | 17482 |
API/Rest API/Extensions API Users
Name | Description | Type | Issue ID |
API: Upgrade from 1.53.3 to 1.54.0 | The SystemWeaver API has been upgraded from version 1.53.3 to version 1.54.0. This will require that all users receive and utilize the Olskroken (R43) version of the client applications (swExplorer, swAdmin2, swArchitect). In addition, this requires that any API applications developed in-house be recompiled with the newer version SystemWeaverClientAPI.dll. This is a breaking change. | Improvement | 17496 |
Extensions API: Version upgrade | The SystemWeaver Extensions API has been updated. This affects extensions placed in the swExplorerExtensions directory. Extension views must be recompiled against the updated SystemWeaverExtensionsAPI.dll. This is a breaking change. | Improvement | |
Extensions API: Duplicate parts on single multiplicity part | This fixes an issue where duplicate parts were appearing in clients when another client used an extension view to create a part with multiplicity Single. | Bug fix | 17013 |
Extensions API: Improvements to IswItemCommand2 | It is now possible to include a tooltip/hint and an image icon on itemCommand2 buttons. public string GetHint() { return "My hint"; }
public int GetImageIndex() { return -1; } } This is a breaking change. You must implement those two methods on your view or your code will no longer compile. You can download the updated itemCommand2 Visual Studio template from the bottom of Getting Started With swExplorer Extensions. | Improvement | 17097 |
Rest API: Fix for root element is missing exception | This fixes a case where XmlException "Root element is missing" was thrown when using SWCompression.ZDecompressToString with attributes with an undefined value. | Bug fix | 17226 |
Architects
Name | Description | Type | Issue ID |
Export configurations: Mismatch of exported configuration file content | This fixes an issue with some of the exported configuration XMLs had the wrong content. | Bug fix | 17232 |
Grids: Support for part multiplicity single in occurrence column | The OccurrenceColumn in a configurable Grid now supports part multiplicity Single: Note: With part multiplicity Single, only 1 item is allowed to be included in each column, as oppose to the case of part multiplicity Multi where no such limitations exist: This functionality offers an approach for performing allocation/distribution of data to single parts by using parameters (filtering out a local context, but doing global allocation/distribution). | Improvement | 17134 |
Occurrence Matrix: Support for part multiplicity single | The Occurrence Matrix config item view now supports part multiplicity Single: Note: With part multiplicity Single, only 1 item is allowed to be included in each column, as oppose to the case of part multiplicity Multi where no such limitations exist: | Improvement | 17133 |
XML import: Node attribute changes not recognized in roundtrip | This fixes an issue where changes to node attributes, e.g., test results, upon a roundtrip, were not being recognized. | Bug fix | 16991 |
IT Administrators
Name | Description | Type | Issue ID |
Database: Upgrade of database version | The database version identifies the version of the internal database schema used by SystemWeaver. With Olskroken (R43), the version has been upgraded from 1.44 to 1.45. This is a breaking change. System Administrators use the swDatabaseManager to update the database version. See Updating the Database Version.
Example upgrade from 1.44 (R39-R42): | Improvement | 17181 |
Server: Entry for long read calls in process | When a long (>60 seconds) call is made, it can potentially affect other system users. To identify such read calls while they are still in process, we have added a "Long call in process" message to the TcpSubServer log that provides the user xID of the account running the long call. Administrators can then investigate and provide suggestions for refining the search. Time is reported in seconds. | Improvement | 17191 |
Server: Time limit on Q_GetItems searches | For improved user experience, there is now a 3-minute time limit on QGetItems searches. QGetItems searches are General searches (done against the entire database, as opposed to in a specific item structure or view). It is very rare to come even close to the 3-minute time limit, unless the database is very large (30+ GB), and the search is, for example, for a specific value across ALL attributes in the database. e.g.: <Filter><AttributesContains value="61898"/><Not><HasNextVersion/></Not></Filter> This is almost always not the user's intended/needed search. In addition, these searches affect other users' ability to log in and to work. Should one of these searches reach the new time limit, the user will receive the following message: The user can then refine their search by adding additional criteria, e.g., Item Type: <Filter><ItemTypeEquals sid="RRQ"/><Or><AttributesContains value="61898"/></Or></Filter> Server administrators can find instances of this in the swServer.log if they wish to investigate such searches. 2023-04-27 07:30:20,105 [5212] INFO sws2 - Terminating search, filter: <Filter><Or><AttributesContains value="1"/></Or><Not><HasNextVersion/></Not></Filter> 2023-04-27 07:30:20,105 [5212] INFO sws2 - Exception: Your search exceeds the maximum allowed search time of 3 minutes, and has been terminated to avoid affecting other users. Please refine your search further. | Improvement | 17227 |
Server: Fix for deadlock | This fix handles cases of deadlock on the server. | Bug fix | 17160 |
Server: Windows linking case sensitive | Given the case handling of usernames by Windows, our server has been updated to better handle casing as it relates to usage of network authentication in SystemWeaver. | Bug fix | 17252 |
Users
Name | Description | Type | Issue ID |
Attachments: Addition of Refresh button | The Attachments view now includes a Refresh button. This is useful when you are making changes to attachment files, as it will show you if a file has been changed locally on your computer, but has not been committed yet to the database. | Improvement | 17487 |
Component Graph: Server call removed | A server call has been removed from the ComponentGraph extension view which will have an overall positive affect on performance for customers using the view. | Improvement | 17345 |
DataTypeEditor: Inconsistent values in view/xml | This fixes an issue with the reg expression in the built-in DataType Editor view which resulted in not correctly displaying a scientific notation. | Bug fix | 17126 |
Document view: Incorrect failure message | This fixes an error message thrown when a Document's Report XML Definition's Definition attribute is empty. The error will now inform correctly: <Document generation failed> Invalid definition: nothing to generate A Report view with an empty Definition will now inform: Invalid definition: nothing to generate | Bug fix | 17022 |
GenerateGraph: Insufficient memory for graph image | This resolves an out of memory problem during document/report generation when the cause is a large graph generated in the content. In this case, a “Not enough memory for temporary image” was thrown during generation. Now, instead of simply failing the document/report generation altogether, the graph will be replaced with a placeholder text as shown below so that report generation can complete successfully. | Improvement | 17068 |
Grids: Select columns menu option | A new Select columns feature is now available in the structure tree and in grid-like views throughout the client. Using the dialog, columns can be hidden from view for the current usage. This is especially helpful when a grid contains many columns, and you would like to view only a few specific ones. The dialog can be opened by right-clicking anywhere on a grid header row and selecting Select column.... Columns selected and highlighted in yellow will display. | New | 17254 |
ItemHasAttribute: Returns no hits for Array of external reference | This fixes an issue where searches for items with values in attributes of type Array of external reference were not returning results. | Bug fix | 17162 |
Jira: Handling of description references | This fixes an issue that occurred when an item had a description reference in its Description. The item did not display information in Jira Server. The problem occurred in Jira Server and Data Center; not in Jira Cloud. | Bug fix | 17127 |
Login: Fix for longer login time | This fixes a connection issue that resulted in a longer login time using the client application and SystemWeaver ClientAPI in the Bagaregården (R42) release. This was particularly noticable when latency was high. Connection time is now as it should be. | Bug fix | 17385 |
Occurrence Matrix: Introduction of filtering | Using the new Select columns dialog, it is now possible to filter in the Occurrence matrix view. This is useful, for example, in very large matrices when you are only interested in a few columns. | Improvement | 17254 |
Projects: Introduction of Request to change status | This release introduces a new, optional approval process that can be added to Issue workflows. The new feature, called Request to change status, is configured within issue type workflows and can be used when an issue's transition from one status to another must first be approved. Among other things, one can configure the following using SystemWeaver Path expressions:
<Status name="Ready for test"> <NextStatuses> <NextStatus name="Done"/> </NextStatuses> <Request> <Users select="@TEST"/> </Request> </Status>
<Status name="In progress"> <NextStatuses> <NextStatus name="Ready for test"/> </NextStatuses> <Restrictions> <Restriction field="EditAssignee" test="CurrentUser = AssignedTo"/> <Restriction field="RequestDueDate" test="CurrentUser.Name = 'john.doe'"/> <Restriction field="RequestResolution" test="CurrentUser.Name = 'john.doe'"/> </Restrictions> </Status> Example workflow: Example Request to change status from "In progress" to "Ready for test": The approval process involves adding Assignee(s) to the status change request, and allows them to approve or reject the request. A comment can be included with the approval/rejection. A Due date option is also available for the request. When the issue is approved and/or completed, it will move to the "target" status. For each operation in the request process, a note is added to the issue: | New | 17167 |
Projects: Introduction of My Requests dashboard | As part of the new Request to change status feature, the new My Requests dashboard can be used to view and act on a status change request, just as you can do with an individual request in the issue editor. The dashboard displays all requests currently assigned to you. A comment can be included with the approval/rejection. | ||
Projects: Introduction of roles | It is now possible to create and use Roles in a Project. The functionality is the same as Groups. Roles can be used in Issue Workflow configuration. <Restriction field="EditAssignee" test="CurrentUser.HasRole('ADM')"/> See the application Help for more details. | New | 17166 |
Projects: Introduction of auto-assignment of issues | This release includes the first version of auto-assign for issues transitioning between statuses in a workflow. Issues can be automatically assigned to a user upon transition from one status to another. The feature is configured in the workflow using a new <AssignedTo> tag placed within the "target" status. Example: ... <Workflow initialStatus="To do"> <Status name="To do"> <NextStatuses> <NextStatus name="In progress"/> </NextStatuses> </Status>
<Status name="In progress"> <NextStatuses> <NextStatus name="Test"/> </NextStatuses> <AssignedTo user="@DEVE"/> </Status>
<Status name="Test"> <NextStatuses> <NextStatus name="Done"/> </NextStatuses> <AssignedTo user="CreatedBy" test="@TSTA = 'Not OK'"/> <AssignedTo user="@WRIT" test="@TSTA = 'OK'"/> </Status> ... In the above example, an issue moving from "To do" to "In progress" will get assigned to the user entered in the User type attribute with SID=DEVE in the issue. And, when it moves from "In progress" to "Test", if the enumeration attribute with SID=TSTA on the issue is set to "Not ok", it will get assigned to the user who created the issue. If the attribute is set to "OK", then it will get assigned to the user found in the User type attribute with SID=WRIT. Note: The auto-assignment is upon transition. Auto-assignment is not available within a given status. | New | 13265 |
Projects: Improved Notes UI | The Notes section of the Issue Editor has been updated and now includes a timeline with dots to visualize current status and status changes. | Improvement | 17076 |
References: Confirm remove part(s) | When removing part(s) using the References view, users will now get a Confirm dialog to confirm their remove part(s) operation, in the same way as in the structure tree. | Improvement | 17284 |
Replace to any version: EOSError A call to an OS function failed | This fixes an error message thrown when doing Replace to any version in the structure tree when there is very large text content in the Description. | Bug fix | 15011 |
Select user: Filtering not working when first entry has null value | This fixes an issue with filtering when the first entry in the Select user dialog did not have a Name value. | Bug fix | 17290 |
Status view: Improvements to resolution | Improvements have been made to scaling of this view when using higher resolutions. | Improvement | 17495 |
Status: Renamed columns in Current occurrences table | Changes to column headers in the Current occurrences table have been made in the Status view. This makes them more consistent with naming conventions in other areas of the client. In addition, minor adjustments were made to a few button captions for clarity. | Improvement | 17495 |
Structure tree: Optimized loading of structural parts | The loading of structure trees consisting of structural parts, e.g., a test suite, design signals, etc., has been optimized. The initial loading is faster as a result of only reading the item structure and not the corresponding node structure. If, at some point, the tree needs to read a node when you select an item, it will do it then, as opposed to upfront. Example: Test Suite containing 17,011 test cases Loading times R42: 55.4 seconds R43: 2.9 seconds As a result of this optimization, users no longer need to prefix Items with "Item.", e.g., in the structure tree grid and in view configurations. For example, "Item.SID" should now be written as only "SID". This is a breaking change. Example: Adding Field codes to the tree grid Note: Because the structure tree is now only loading the item structure, node field codes no longer work in the context of the structure tree. Example: In report configuration: <Report> <Log>#{Name}, #{SID}, #{Version}</Log> </Report> Note: "Item.Name", "Item.SID", etc. still work in the context of a node. <Report> <TopNode> <ForEachSubNode type="ISSP"> <ForEachSubNode type="ITEC"> <Text>#{Item.Name} Test Case status: #{Attribute:PTCS}</Text> </ForEachSubNode> </ForEachSubNode> </TopNode> </Report> | Improvement | 17161 |
Structure tree: Optimization when adding part | The updating of a large structure tree that occurs as a result of inserting a new part at the top of the tree is now optimized. This optimization will benefit both the user doing the operation, as well as other active system users. | Improvement | 17396 |
Variability Matrix: Support new version and replace of AND/OR when removing/adding feature | The built-in Variability matrix view now supports automatic new version and replace/removal of AND/OR when adding/removing a Feature via the view. In other words, you no longer have to modify the status of AND/OR items via the structure tree. | Improvement | 17188 |
Workflow config: Preconditions for External reference array attribute not working | This fixes an issue with a Precondition not working as expected when its condition included attribute type Array of External reference. | Bug fix | 17148 |
Workflow: XML validation | When working with Workflow configuration, the XML editor will now display a message at the bottom left of the dialog for most syntax problems. When a problem is identified, it will not be possible to save until it is resolved. | Improvement | 17520 |
Save image to file repository (beta) | Content added to a Description must stay within the important Description size limit. Had there not been this important size limitation, loading times for item structures and views would increase substantially, as would the size of exported Documents and Reports, the amount of storage space needed on the server, etc. There has been an interest in being able to include larger images in Description that normally would not fit within the current limitation. The Move image to file repository tool is a beta version of a new concept that saves the image to the File repository and uses an image pointer to display the image. Supported image file formats .jpg/jpeg, .png, and .bmp with a maximum size of 1 MB. Important things to consider:
| Beta version | 17389 |