Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 1.12.0 #168

Merged
merged 229 commits into from
Dec 17, 2024
Merged

Release 1.12.0 #168

merged 229 commits into from
Dec 17, 2024

Conversation

DennisDyallo
Copy link
Collaborator

@DennisDyallo DennisDyallo commented Dec 17, 2024

Was then later merged again (properly) in merge/release/1.12-2

1.12.0

Features:

  • Security Domain application and Secure Channel Protocol (SCP) (#164):

    • SCP11a/b/c is now supported for the PIV, OATH, OTP, and YubiHSM applications.
    • SCP03 support has been extended to the OATH, OTP, and YubiHSM applications (previously PIV only).
    • The Yubico.YubiKey.Scp namespace now provides all SCP and Security Domain functionality. This namepace replaces functionality in the Yubico.YubiKey.Scp03 namespace, which has been deprecated.
    • The new SecurityDomainSession class provides an interface for managing the Security Domain application of a YubiKey. This includes SCP configuration (managing SCP03 key sets and SCP11 asymmetric keys and certificates) and creation of an encrypted communication channel with other YubiKey applications.
    • New key parameter classes have been added: ScpKeyParameters, Scp03KeyParameters, Scp11KeyParameters, ECKeyParameters, ECPrivateKeyParameters, ECPublicKeyParameters.
  • YubiKeyDeviceListener has been reconfigured to run the listeners in the background instead of the main thread. In addition, the listeners can now be stopped when needed to reclaim resources. Once stopped, the listeners can be restarted. (#89)

  • Microsoft.Extensions.Logging.Console is now the default logger. To enable logging from a dependent project (e.g. unit tests, integration tests, an app), you can either add an appsettings.json to your project or use the ConfigureLoggerFactory. (#139)

  • The SDK now uses inferred variable types (var) instead of explicit types in all projects except Yubico.Core. This change aims to improve code readability, reduce verbosity, and enhance developer productivity while maintaining type safety. (#141)

Bug Fixes:

  • The PivSession.ChangeManagementKey method was incorrectly assuming Triple-DES was the default management key algorithm for FIPS keys. The SDK now verifies the management key alorithm based on key type and firmware version. (#162, #167)
  • The SDK now correctly sets the IYubiKeyDeviceInfo property IsSkySeries to True for YubiKey Security Key Series Enterprise Edition keys. (#158)
  • Exceptions are now caught when running PivSession.Dispose. This fixes an issue where the Dispose method could not close the Connection in the event of a disconnected YubiKey. (#104)
  • A dynamic DLL resolution based on process architecture (x86/x64) has been implemented for NativeShims.dll. This fixes a reported issue with the NativeShims.dll location for 32-bit processes. (#154)

Miscellaneous:

  • Users are now able to verify that the NuGet package has been generated from our repository using Github Attestations (#169) like this:

    > gh attestation verify .\Yubico.Core.1.12.0.nupkg --repo Yubico/Yubico.NET.SDK

Deprecations:

  • Yubico.YubiKey/Scp03 namespace.
  • All Yubico.Yubikey.StaticKeys endpoints.

Migration Notes:

  • Use the SecurityDomainSession for Security Domain operations.
  • Review your logging configuration if using custom logging.
  • Align with Android/Python SDK naming conventions.

Copy link

Test Results: Windows

    2 files      2 suites   4s ⏱️
3 741 tests 3 741 ✅ 0 💤 0 ❌
3 743 runs  3 743 ✅ 0 💤 0 ❌

Results for commit c21f48c.

Copy link

Test Results: Ubuntu

    2 files      2 suites   10s ⏱️
3 733 tests 3 733 ✅ 0 💤 0 ❌
3 735 runs  3 735 ✅ 0 💤 0 ❌

Results for commit c21f48c.

Copy link

Code Coverage

Package Line Rate Branch Rate Complexity Health
Yubico.Core 44% 32% 4311
Yubico.YubiKey 49% 46% 19671
Summary 48% (32918 / 68499) 43% (8245 / 18990) 23982

Minimum allowed line rate is 40%

Copy link

Test Results: MacOS

    2 files      2 suites   4s ⏱️
3 733 tests 3 733 ✅ 0 💤 0 ❌
3 735 runs  3 735 ✅ 0 💤 0 ❌

Results for commit c21f48c.

@DennisDyallo DennisDyallo merged commit 0c6ed40 into main Dec 17, 2024
12 checks passed
@DennisDyallo DennisDyallo deleted the merge/release/1.12 branch December 17, 2024 15:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment