Click or drag to resize

Release Notes

This topic presents a summary of requirements, key features, and updates, as well as some known issues to be addressed in a future update.

Important note Important

Nimbus no longer uses serial numbers to validate usage of the product. Instead, you will be asked for your login credentials to validate your entitlement to use the product. Please have your Pacific MindWorks account username and password handy when using Nimbus on a machine for the first time.

Nimbus 6 Releases
Earlier Releases
Nimbus Prerequisites
  • Windows 7 or newer (32-bit or 64-bit)

  • Microsoft .NET Framework 4.8 (or newer)

  • Microsoft .NET Framework 3.5

    Tip Tip

    The Microsoft .NET Framework 3.5 is not installed by default on Windows 10 systems. It can be installed via Control Panel -> Programs -> Programs and Features -> Turn Windows features on or off. There, check the box labeled .NET Framework 3.5 (includes .NET 2.0 and 3.0).

  • Microsoft .NET Core SDK 2.2 (or newer)

  • Visual Studio 2017, 2019, or 2022

    Any of Community, Professional, or Enterprise editions are supported.

    Important note Important

    It is highly recommended that the latest version of Visual Studio 2017 and/or 2019 are installed when running Nimbus. Microsoft frequently makes important updates within major Visual Studio releases and Nimbus is updated in turn to track these changes. Running earlier versions of Visual Studio can lead to faulty behavior and/or performance issues.

    Note Note

    The exact set of Visual Studio components and workloads required is presented in the Visual Studio Extension Manager and automatically installed when the Nimbus package is installed.

    For Visual Studio 2017, version 15.9 or later is required.

    For Visual Studio 2019, version 16.10 or later is required.

    For Visual Studio 2022, any currently released version is supported.

  • IVI Shared Componenents 3.0.0 (or newer)

  • IVI.NET Shared Componenents 2.0.0 (or newer)

Known Issues
  • Before converting a driver from an earlier Nimbus version, the .vs folder or the .suo file should be deleted. This is due to .suo file corruption issues with Visual Studio.

    Pacific MindWorks is working with the Visual Studio team to find a resolution to this issue.

  • When creating a new driver project, the option to Create a directory for solution must always be chosen. Attempting to manage a Nimbus driver solution with the .sln file inside the driver project folder (or any other Nimbus project folder) could lead to unpredictable results.

    In Visual Studio 2019 and greater, the option is expressed as Place solution and project in the same directory. This option should not be checked.

  • When a driver solution is opened, there are a variety of asynchronous operations that Visual Studio performs. One important operation is NuGet restore, which populates the project with all of the critical binaries and targets it needs to operate. If Driver Designer operations are attempted before the NuGet restore completes, then strange errors such as Undefined type Int32 could result.

    In practice, this is rarely an issue, as the NuGet restore typically completes within the first few seconds of opening a solution. You can see the status of the NuGet restore in the Output Window.

  • IVI-COM and IVI-C help and setup projects show "broken reference" annotations (yellow warning triangles) on the icon for their project references to the driver project. These references are required for these projects to operate, and the references are indeed intact, but MSBuild currently has a bug that manifests when any custom SDK-style project references a native (C++) project. The same driver project references appear normal in IVI.NET help and setup projects.

    These warning annotations are benign and can safely be ignored. Pacific MindWorks is working with Microsoft on mitigations for this MSBuild issue.

  • Merging of IVI.NET repeated capabilities is not currently supported in this release. All other aspects of IVI.NET repeated capabilities are fully implemented in this release.

Nimbus 6.0.6

Issues fixed in Nimbus 6.0.6

  • Implement multiple techniques for improving the performance of designer operations.

Nimbus 6.0.5

Issues fixed in Nimbus 6.0.5

  • Fix a crash that could occur when roundtripping C# unit tests for repeated capability properties when ranges were used to specify repeated capability instance names.

  • Remove usage of the std::binary_function from NRT since it is deprecated in newer versions of C++.

  • Update the NRT DriverSession::Initialize method so that it is not templatized and can thus be made virtual.

Nimbus 6.0.4

Issues fixed in Nimbus 6.0.4

  • Fix a crash that could occur in the Driver Designer item editors for IVI-COM drivers.

  • Ensure Driver Designer item editor text boxes are properly enabled/disabled and made read-only based on selection and other driver state.

  • Display the correct version number in the Visual Studio About Dialog.

Nimbus 6.0.3

Issues fixed in Nimbus 6.0.3

  • Ensure the user name text box is enabled in the user login dialog.

Nimbus 6.0.2

Issues fixed in Nimbus 6.0.2

  • Fix a deadlock when editing IVI-COM drivers with IVI-C wrappers in Visual Studio 17.2 or higher.

  • Update textbox styling to accommodate changes in Visual Studio 17.2 which would sometimes make the text unreadable in disabled text boxes.

Nimbus 6.0.1

Issues fixed in Nimbus 6.0.1

  • Fix a bug in the 4.2.5707 converter where the AssemblyInfo.cs attributes would not always get migrated to MSBuild project properties in VS2022.

  • Fix code navigation in C++ where some drivers might not navigate precisely in the embedded editors or the navigation commands.

  • Update prerequisites to include web extensions needed for hosting the HTML editor.

  • Fix some file locations in the IVI.NET and IVI-C help file templates.

  • Fix a WiX condition injected by the 5.2.0 setup project converter that produced build errors in converted setup projects.

  • Fix a bug whereby the repcap collection interface base interfaces were not always being handled properly resulting in some repcap add/remove operations failing.

Nimbus 6.0.0

What's new in Nimbus 6.0.0

  • Nimbus 6 brings support for 64-bit Visual Studio 2022.

  • IVI.NET drivers are built on the new IVI.NET Configuration Server, instead of the IVI-COM Configuration Server. This has several advantages:

    • The IVI.NET driver avoids having to use native code via COM interop.

    • Initialization of the IVI.NET driver is much faster, as the well-known performance issues with loading the Config Store via COM are avoided entirely.

    • The IVI-COM Configuration Server has a memory leak when used in certain scenarios and this is avoided entirely by use of the IVI.NET Configuration Server.

    Important note Important

    Because the IVI.NET Configuration Server first shipped with IVI.NET Shared Components 2.0.0, all IVI.NET drivers built with Nimbus 6 or greater will require IVI.NET Shared Components 2.0.0 or greater to be installed on the end user system for the driver to operate.

Issues fixed in Nimbus 6.0.0

  • Don't include the Windows SDK as a prerequisite. This requires specifying a particular version of the SDK, which would force users to potentially have multiple SDK versions on their machines.

  • Update the C++ project templates to use the latest version of the Windows SDK when building.

  • Fix a bug where conversions warnings would not be displayed.

  • Sort IVI.NET type member tree nodes by label in the Driver Designer, just as IVI-COM and IVI-C.

  • Fix a bug where moving IVI.NET repcaps would inappropriately rename the repcap and repcap collection interfaces.

    In some scenarios where the repcap or repcap collection interfaces were children of interfaces being moved, the IVI.NET editor would rename the repcap and repcap collection interfaces (and their children) such that the new names included parent interface names. Repcap interface names and repcap collection interface names should NOT include parent interface names, irrespective of where they are in the hierarchy.

  • Don't rename IVI.NET repcap collection interfaces when a parent reference property is renamed.

    The repcap interface and repcap collection interface names should be kept in sync with the repcap name. The repcap and repcap collection interfaces are only renamed when the repcap itself is renamed. This is also consistent with how IVI-COM already works.

  • Fix a bug in the IVI-COM 2.1.10 converter where help custom fields would not get migrated property and an invalid XML element would be created.

  • Fix a bug in the Driver Designer where output array parameters in the IVI.NET method would not produce array parameters at all in the IVI-C function.

  • Fix a bug in IVI.NET drivers with quoted values in simulation data.

  • Fix an issue in the IVI-COM driver converter where we needed to adjust the name of parent repcaps in instrument commands.

  • Fix a bug whereby properties were getting set in a platform/configuration-dependent manner when they should be set independent of configuration.

  • Allow editing of simulation, range-check, and state-caching data for class-compliant properties.

  • Fix a bug in the IVI-C Enums.h generator where excluded IVI-C enum members were still getting generated in the file.

  • Fix a bug where IVI-C enum member commands were not editable.

  • Allow renaming of IVI-C functions when only the casing changes.

  • Fix a bad return type in for the IVI-C PULSE_MODULATION_EXTERNAL_POLARITY attribute.

  • Fix a bad return type in for the IVI-C PULSE_MODULATION_SOURCE attribute.

  • Don't create unit tests for IVI-C attribute getters and setters. This makes the size of the unit test HUGE and adds no real value.

  • Fix a small bug in the IVI.NET options page where the option for creating an IVI-C C++ console app was wired to the option to create an IVI-C wrapper.

  • Fix a bug in the IVI.NET project wizard where the wizard attempted to use the IVI-C driver project to determine the target framework version when creating the IVI-C unit test project.

  • Fix a warning in NRT.h regarding integer size.

  • Update the project template files for setup to use the English language ID (1033) in the FileSearch element that checks for the IVI and IVI.NET and VISA.NET installations.

    If the language in the search doesn't match, then the search won't match. Previously, this was "working" because the file version for the IviSharedComponent.dll (and others) always had a non-zero value for the 4th digit of the version number. Our MininumIviSharedComponentVersion would only include 3 digits. So, that min version was always strictly less than the actual file version. In such a case, MSI has a strange (though spec'd) behavior where specifying a value of "0" for the language in the FileSearch would match any language if the comparison was strictly less than. It would not match if the comparison was equal, unless the language also matched. With the release of IVI Shared Components 3, the 4th digit of the file version number is zero, so our comparison of our 3-digit minimum version needs to work in the case of an exact version match. That only works if the language also matches.

  • Update the IVI.NET driver Setup.wxs so that the driver does not appear twice in the Add References Dialog on 64-bit machines.

  • Fix "Unlink IVI-C Driver" operation in the IVI.NET driver editor.

  • Don't add an interface prefix to IVi.NET member labels on interfaces in the Driver Designer.

    Only types that implement interfaces should prefix the implemented interface member with the interface name. Interfaces only show their direct members, not members from base interfaces, so there's never any need to prefix interface member labels.

  • Fix several bugs associated with editing methods and properties on free-standing IVI-COM interfaces.

  • Fix a bug in changing the IVI-C prefix for IVI-C drivers linked to IVI.NET as well as IVI-C wrappers on IVI-COM drivers.

See Also

Other Resources

Download a complete CHM version of this documentation here.