Show / Hide Table of Contents

# Release Notes

## Version 4.2.1

- Released on March 7, 2025
- Fixed errors in color conversion functions in `ColorUtils`.
  - CIEXYZ to CIELUV
  - CIELUV to CIEXYZ

## Version 4.2.0

- Released on February 21, 2025
- Nix Universal SDK functions must now be enabled with a license key using the `LicenseManager`. For further details, refer to Activating the SDK License.
- Existing `enum` types have added cases related to `LicenseManager` errors. Refer to the API documentation linked below for additional details.
  - CommandStatus.ErrorLicense
  - DeviceScannerState.ErrorLicense
  - DeviceStatus.ErrorLicense
- `ISpectralData.ToDensityData()` can now return `null`.
  - The result is `null` when LicenseFeature.DensityData is not provided by the active license.
- Compatibility: targeted Windows framework version has been lowered for .NET Core 6 and above
  - `NixUniversalSDK` now targets Windows 10 version 1809 (10.0.17763) instead of Windows 11 version 22H2 (10.0.22621)
  - Minimum supported Windows version remains as Windows 10 version 1703 (10.0.15063)
- Removed a dependency on `Microsoft.WindowsAppSDK`
- Updated dependency versions
  - `System.IO.Ports` to `8.0.0` from `7.0.0`
  - `System.Text.Json` to `8.0.5` from `7.0.0`
- The `NixUniversalSDK.Wrapper` project has been re-structured to use NativeAOT.
  - A single self-contained native binary will be created when building the wrapper for C/C++ usage.
  - ARM64 builds are now supported by the `NixUniversalSDK.Wrapper`

## Version 4.1.4

- Internal development version
- Handled an exception that could occur when listing USB connected devices due to a serial port conflict

## Version 4.1.3

- Released on May 31, 2024
- Fixed a NuGet packaging issue that could prevent .NET Core 6.0+ applications from building.

## Version 4.1.2

- Released on September 7, 2023
- Handled a exception that could occur during `IDeviceScanner` initialization when running 32-bit application builds on 64-bit architecture.
- Added Bluetooth compatibility notes related to computer architecture.

## Version 4.1.1

- Released on July 28, 2023
- Fixed a bug that could cause `ConnectAsync` to crash or hang when connecting to Bluetooth devices on Windows 10

## Version 4.1.0

- Internal development version
- Added support for Nix Spectro L devices
- Added `FieldCalibrationMaxDelta` property
  - Allows override of the maximum Delta E threshold used when performing in-field calibration
  - Review the API reference linked above for additional details
- Updated field calibration routine for Nix Spectro 2 devices
  - API calls to `RunFieldCalibrationAsync` function are unchanged
  - Additional diagnostics are performed during the white tile scan on Spectro 2 type devices. As a result, the calibration command can now take 5 - 10 seconds to complete
  - The operation can now fail with status `ErrorScanDelta` if the tile measurement delta exceeds the allowable threshold
- Added `InvalidateFieldCalibrationAsync` function
  - This function forces the field calibration record to expire on QC and Spectro 2 type devices
  - Review the API reference linked above for additional details
- Events from `IDeviceScanner` and `IDeviceCompat` instances are now invoked on the same thread that called the initiating function
  - Previously, these events could be invoked from a background thread
  - Events that are impacted are defined in `IDeviceScannerEvents` and `IDeviceCompatEvents`

## Version 4.0.3

- Released on June 7, 2023
- Added `NixUniversalSDK.Wrapper` project.
- Changed `System.Text.Json` dependency from `7.0.2` to `7.0.0` to resolve a compatibility issue with the wrapper project.

## Version 4.0.2

- Internal development version
- Fixed MAC address parsing to accept upper or lower case HEX digits.
- `SearchForIdAsync` is now case insensitive.
- `SearchForIdAsync` now only runs BLE search if a valid MAC address is provided.

## Version 4.0.0

- Released on April 3, 2023
- Initial release for `NixUniversalSDK`, replacing the older `NixLibrary` project.