Skip to content

Smdn.Net.EchonetLite.RouteB.Primitives version 2.2.0

Choose a tag to compare

@smdn smdn released this 23 Dec 13:45
· 13 commits to main since this release
Immutable release. Only release title and notes can be modified.
9093b92

Released package

Release notes

The full release notes are available at gist.

Change log

Change log in this release:

API changes

API changes in this release:
diff --git a/doc/api-list/Smdn.Net.EchonetLite.RouteB.Primitives/Smdn.Net.EchonetLite.RouteB.Primitives-net10.0.apilist.cs b/doc/api-list/Smdn.Net.EchonetLite.RouteB.Primitives/Smdn.Net.EchonetLite.RouteB.Primitives-net10.0.apilist.cs
new file mode 100644
index 0000000..27f28b6
--- /dev/null
+++ b/doc/api-list/Smdn.Net.EchonetLite.RouteB.Primitives/Smdn.Net.EchonetLite.RouteB.Primitives-net10.0.apilist.cs
@@ -0,0 +1,85 @@
+// Smdn.Net.EchonetLite.RouteB.Primitives.dll (Smdn.Net.EchonetLite.RouteB.Primitives-2.2.0)
+//   Name: Smdn.Net.EchonetLite.RouteB.Primitives
+//   AssemblyVersion: 2.2.0.0
+//   InformationalVersion: 2.2.0+eceaa1ab8c33ec84da009bb0a40f14181fd5e97b
+//   TargetFramework: .NETCoreApp,Version=v10.0
+//   Configuration: Release
+//   Metadata: IsTrimmable=True
+//   Metadata: RepositoryUrl=https://github.com/smdn/Smdn.Net.EchonetLite
+//   Metadata: RepositoryBranch=main
+//   Metadata: RepositoryCommit=eceaa1ab8c33ec84da009bb0a40f14181fd5e97b
+//   Referenced assemblies:
+//     Microsoft.Extensions.DependencyInjection.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
+//     Microsoft.Extensions.Logging.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
+//     Smdn.Net.EchonetLite.Primitives, Version=2.0.0.0, Culture=neutral
+//     System.ComponentModel, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+//     System.Memory, Version=10.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
+//     System.Net.Primitives, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+//     System.Runtime, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+#nullable enable annotations
+
+using System;
+using System.Buffers;
+using System.Net;
+using System.Threading;
+using System.Threading.Tasks;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Logging;
+using Smdn.Net.EchonetLite.RouteB.Credentials;
+using Smdn.Net.EchonetLite.RouteB.Transport;
+using Smdn.Net.EchonetLite.Transport;
+
+namespace Smdn.Net.EchonetLite.RouteB.Credentials {
+  public interface IRouteBCredential : IDisposable {
+    void WriteIdTo(IBufferWriter<byte> buffer);
+    void WritePasswordTo(IBufferWriter<byte> buffer);
+  }
+
+  public interface IRouteBCredentialIdentity {
+  }
+
+  public interface IRouteBCredentialProvider {
+    IRouteBCredential GetCredential(IRouteBCredentialIdentity identity);
+  }
+
+  public static class RouteBCredentials {
+    public const int AuthenticationIdLength = 32;
+    public const int PasswordLength = 12;
+  }
+}
+
+namespace Smdn.Net.EchonetLite.RouteB.DependencyInjection {
+  public interface IRouteBServiceBuilder<TServiceKey> {
+    Func<TServiceKey, string?>? OptionsNameSelector { get; }
+    TServiceKey ServiceKey { get; }
+    IServiceCollection Services { get; }
+  }
+
+  public static class IRouteBServiceBuilderExtensions {
+    public static string? GetOptionsName<TServiceKey>(this IRouteBServiceBuilder<TServiceKey> builder) {}
+  }
+}
+
+namespace Smdn.Net.EchonetLite.RouteB.Transport {
+  [Obsolete("Use IRouteBServiceBuilder instead.")]
+  public interface IRouteBEchonetLiteHandlerBuilder {
+    IServiceCollection Services { get; }
+  }
+
+  public interface IRouteBEchonetLiteHandlerFactory {
+    ValueTask<RouteBEchonetLiteHandler> CreateAsync(CancellationToken cancellationToken);
+  }
+
+  public abstract class RouteBEchonetLiteHandler : EchonetLiteHandler {
+    protected RouteBEchonetLiteHandler(ILogger? logger, IServiceProvider? serviceProvider) {}
+
+    public abstract IPAddress? PeerAddress { get; }
+
+    public ValueTask ConnectAsync(IRouteBCredential credential, CancellationToken cancellationToken = default) {}
+    protected abstract ValueTask ConnectAsyncCore(IRouteBCredential credential, CancellationToken cancellationToken);
+    public ValueTask DisconnectAsync(CancellationToken cancellationToken = default) {}
+    protected abstract ValueTask DisconnectAsyncCore(CancellationToken cancellationToken);
+  }
+}
+// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.7.1.0.
+// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.5.0.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
diff --git a/doc/api-list/Smdn.Net.EchonetLite.RouteB.Primitives/Smdn.Net.EchonetLite.RouteB.Primitives-net8.0.apilist.cs b/doc/api-list/Smdn.Net.EchonetLite.RouteB.Primitives/Smdn.Net.EchonetLite.RouteB.Primitives-net8.0.apilist.cs
index aeefe55..a69e48e 100644
--- a/doc/api-list/Smdn.Net.EchonetLite.RouteB.Primitives/Smdn.Net.EchonetLite.RouteB.Primitives-net8.0.apilist.cs
+++ b/doc/api-list/Smdn.Net.EchonetLite.RouteB.Primitives/Smdn.Net.EchonetLite.RouteB.Primitives-net8.0.apilist.cs
@@ -1,81 +1,85 @@
-// Smdn.Net.EchonetLite.RouteB.Primitives.dll (Smdn.Net.EchonetLite.RouteB.Primitives-2.1.0)
+// Smdn.Net.EchonetLite.RouteB.Primitives.dll (Smdn.Net.EchonetLite.RouteB.Primitives-2.2.0)
 //   Name: Smdn.Net.EchonetLite.RouteB.Primitives
-//   AssemblyVersion: 2.1.0.0
-//   InformationalVersion: 2.1.0+8350a1992a3cc375c86febf128c7a1ab32401211
+//   AssemblyVersion: 2.2.0.0
+//   InformationalVersion: 2.2.0+eceaa1ab8c33ec84da009bb0a40f14181fd5e97b
 //   TargetFramework: .NETCoreApp,Version=v8.0
 //   Configuration: Release
+//   Metadata: IsTrimmable=True
+//   Metadata: RepositoryUrl=https://github.com/smdn/Smdn.Net.EchonetLite
+//   Metadata: RepositoryBranch=main
+//   Metadata: RepositoryCommit=eceaa1ab8c33ec84da009bb0a40f14181fd5e97b
 //   Referenced assemblies:
 //     Microsoft.Extensions.DependencyInjection.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
 //     Microsoft.Extensions.Logging.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
 //     Smdn.Net.EchonetLite.Primitives, Version=2.0.0.0, Culture=neutral
 //     System.ComponentModel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 //     System.Memory, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
 //     System.Net.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 //     System.Runtime, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 #nullable enable annotations
 
 using System;
 using System.Buffers;
 using System.Net;
 using System.Threading;
 using System.Threading.Tasks;
 using Microsoft.Extensions.DependencyInjection;
 using Microsoft.Extensions.Logging;
 using Smdn.Net.EchonetLite.RouteB.Credentials;
 using Smdn.Net.EchonetLite.RouteB.Transport;
 using Smdn.Net.EchonetLite.Transport;
 
 namespace Smdn.Net.EchonetLite.RouteB.Credentials {
   public interface IRouteBCredential : IDisposable {
     void WriteIdTo(IBufferWriter<byte> buffer);
     void WritePasswordTo(IBufferWriter<byte> buffer);
   }
 
   public interface IRouteBCredentialIdentity {
   }
 
   public interface IRouteBCredentialProvider {
     IRouteBCredential GetCredential(IRouteBCredentialIdentity identity);
   }
 
   public static class RouteBCredentials {
     public const int AuthenticationIdLength = 32;
     public const int PasswordLength = 12;
   }
 }
 
 namespace Smdn.Net.EchonetLite.RouteB.DependencyInjection {
   public interface IRouteBServiceBuilder<TServiceKey> {
     Func<TServiceKey, string?>? OptionsNameSelector { get; }
     TServiceKey ServiceKey { get; }
     IServiceCollection Services { get; }
   }
 
   public static class IRouteBServiceBuilderExtensions {
     public static string? GetOptionsName<TServiceKey>(this IRouteBServiceBuilder<TServiceKey> builder) {}
   }
 }
 
 namespace Smdn.Net.EchonetLite.RouteB.Transport {
   [Obsolete("Use IRouteBServiceBuilder instead.")]
   public interface IRouteBEchonetLiteHandlerBuilder {
     IServiceCollection Services { get; }
   }
 
   public interface IRouteBEchonetLiteHandlerFactory {
     ValueTask<RouteBEchonetLiteHandler> CreateAsync(CancellationToken cancellationToken);
   }
 
   public abstract class RouteBEchonetLiteHandler : EchonetLiteHandler {
     protected RouteBEchonetLiteHandler(ILogger? logger, IServiceProvider? serviceProvider) {}
 
     public abstract IPAddress? PeerAddress { get; }
 
     public ValueTask ConnectAsync(IRouteBCredential credential, CancellationToken cancellationToken = default) {}
     protected abstract ValueTask ConnectAsyncCore(IRouteBCredential credential, CancellationToken cancellationToken);
     public ValueTask DisconnectAsync(CancellationToken cancellationToken = default) {}
     protected abstract ValueTask DisconnectAsyncCore(CancellationToken cancellationToken);
   }
 }
-// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.6.0.0.
-// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.4.0.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
+// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.7.1.0.
+// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.5.0.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
diff --git a/doc/api-list/Smdn.Net.EchonetLite.RouteB.Primitives/Smdn.Net.EchonetLite.RouteB.Primitives-netstandard2.1.apilist.cs b/doc/api-list/Smdn.Net.EchonetLite.RouteB.Primitives/Smdn.Net.EchonetLite.RouteB.Primitives-netstandard2.1.apilist.cs
index 1f8619f..aab2873 100644
--- a/doc/api-list/Smdn.Net.EchonetLite.RouteB.Primitives/Smdn.Net.EchonetLite.RouteB.Primitives-netstandard2.1.apilist.cs
+++ b/doc/api-list/Smdn.Net.EchonetLite.RouteB.Primitives/Smdn.Net.EchonetLite.RouteB.Primitives-netstandard2.1.apilist.cs
@@ -1,78 +1,81 @@
-// Smdn.Net.EchonetLite.RouteB.Primitives.dll (Smdn.Net.EchonetLite.RouteB.Primitives-2.1.0)
+// Smdn.Net.EchonetLite.RouteB.Primitives.dll (Smdn.Net.EchonetLite.RouteB.Primitives-2.2.0)
 //   Name: Smdn.Net.EchonetLite.RouteB.Primitives
-//   AssemblyVersion: 2.1.0.0
-//   InformationalVersion: 2.1.0+8350a1992a3cc375c86febf128c7a1ab32401211
+//   AssemblyVersion: 2.2.0.0
+//   InformationalVersion: 2.2.0+eceaa1ab8c33ec84da009bb0a40f14181fd5e97b
 //   TargetFramework: .NETStandard,Version=v2.1
 //   Configuration: Release
+//   Metadata: RepositoryUrl=https://github.com/smdn/Smdn.Net.EchonetLite
+//   Metadata: RepositoryBranch=main
+//   Metadata: RepositoryCommit=eceaa1ab8c33ec84da009bb0a40f14181fd5e97b
 //   Referenced assemblies:
 //     Microsoft.Extensions.DependencyInjection.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
 //     Microsoft.Extensions.Logging.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
 //     Smdn.Net.EchonetLite.Primitives, Version=2.0.0.0, Culture=neutral
 //     netstandard, Version=2.1.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
 #nullable enable annotations
 
 using System;
 using System.Buffers;
 using System.Net;
 using System.Threading;
 using System.Threading.Tasks;
 using Microsoft.Extensions.DependencyInjection;
 using Microsoft.Extensions.Logging;
 using Smdn.Net.EchonetLite.RouteB.Credentials;
 using Smdn.Net.EchonetLite.RouteB.Transport;
 using Smdn.Net.EchonetLite.Transport;
 
 namespace Smdn.Net.EchonetLite.RouteB.Credentials {
   public interface IRouteBCredential : IDisposable {
     void WriteIdTo(IBufferWriter<byte> buffer);
     void WritePasswordTo(IBufferWriter<byte> buffer);
   }
 
   public interface IRouteBCredentialIdentity {
   }
 
   public interface IRouteBCredentialProvider {
     IRouteBCredential GetCredential(IRouteBCredentialIdentity identity);
   }
 
   public static class RouteBCredentials {
     public const int AuthenticationIdLength = 32;
     public const int PasswordLength = 12;
   }
 }
 
 namespace Smdn.Net.EchonetLite.RouteB.DependencyInjection {
   public interface IRouteBServiceBuilder<TServiceKey> {
     Func<TServiceKey, string?>? OptionsNameSelector { get; }
     TServiceKey ServiceKey { get; }
     IServiceCollection Services { get; }
   }
 
   public static class IRouteBServiceBuilderExtensions {
     public static string? GetOptionsName<TServiceKey>(this IRouteBServiceBuilder<TServiceKey> builder) {}
   }
 }
 
 namespace Smdn.Net.EchonetLite.RouteB.Transport {
   [Obsolete("Use IRouteBServiceBuilder instead.")]
   public interface IRouteBEchonetLiteHandlerBuilder {
     IServiceCollection Services { get; }
   }
 
   public interface IRouteBEchonetLiteHandlerFactory {
     ValueTask<RouteBEchonetLiteHandler> CreateAsync(CancellationToken cancellationToken);
   }
 
   public abstract class RouteBEchonetLiteHandler : EchonetLiteHandler {
     protected RouteBEchonetLiteHandler(ILogger? logger, IServiceProvider? serviceProvider) {}
 
     public abstract IPAddress? PeerAddress { get; }
 
     public ValueTask ConnectAsync(IRouteBCredential credential, CancellationToken cancellationToken = default) {}
     protected abstract ValueTask ConnectAsyncCore(IRouteBCredential credential, CancellationToken cancellationToken);
     public ValueTask DisconnectAsync(CancellationToken cancellationToken = default) {}
     protected abstract ValueTask DisconnectAsyncCore(CancellationToken cancellationToken);
   }
 }
-// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.6.0.0.
-// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.4.0.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
+// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.7.1.0.
+// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.5.0.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)

Full changes

Full changes in this release:
diff --git a/src/Smdn.Net.EchonetLite.RouteB.Primitives/Smdn.Net.EchonetLite.RouteB.Credentials/IRouteBCredentialIdentity.cs b/src/Smdn.Net.EchonetLite.RouteB.Primitives/Smdn.Net.EchonetLite.RouteB.Credentials/IRouteBCredentialIdentity.cs
index 22acb97..1c8ef87 100644
--- a/src/Smdn.Net.EchonetLite.RouteB.Primitives/Smdn.Net.EchonetLite.RouteB.Credentials/IRouteBCredentialIdentity.cs
+++ b/src/Smdn.Net.EchonetLite.RouteB.Primitives/Smdn.Net.EchonetLite.RouteB.Credentials/IRouteBCredentialIdentity.cs
@@ -5,4 +5,5 @@ namespace Smdn.Net.EchonetLite.RouteB.Credentials;
 /// <summary>
 /// Provides a mechanism for abstracting identities corresponding to credentials used for the route B authentication.
 /// </summary>
+#pragma warning disable CA1040
 public interface IRouteBCredentialIdentity { }
diff --git a/src/Smdn.Net.EchonetLite.RouteB.Primitives/Smdn.Net.EchonetLite.RouteB.Primitives.csproj b/src/Smdn.Net.EchonetLite.RouteB.Primitives/Smdn.Net.EchonetLite.RouteB.Primitives.csproj
index 8116f89..6ddd4f6 100644
--- a/src/Smdn.Net.EchonetLite.RouteB.Primitives/Smdn.Net.EchonetLite.RouteB.Primitives.csproj
+++ b/src/Smdn.Net.EchonetLite.RouteB.Primitives/Smdn.Net.EchonetLite.RouteB.Primitives.csproj
@@ -5,12 +5,10 @@ SPDX-License-Identifier: MIT
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFrameworks>netstandard2.1;net8.0</TargetFrameworks>
-    <VersionPrefix>2.1.0</VersionPrefix>
+    <TargetFrameworks>netstandard2.1;net8.0;net10.0</TargetFrameworks>
+    <VersionPrefix>2.2.0</VersionPrefix>
     <VersionSuffix></VersionSuffix>
     <PackageValidationBaselineVersion>2.0.0</PackageValidationBaselineVersion>
-    <Nullable>enable</Nullable>
-    <RootNamespace/> <!-- empty the root namespace so that the namespace is determined only by the directory name, for code style rule IDE0130 -->
     <NoWarn>CS1591;$(NoWarn)</NoWarn> <!-- CS1591: Missing XML comment for publicly visible type or member 'Type_or_Member' -->
   </PropertyGroup>
 
diff --git a/src/Smdn.Net.EchonetLite.RouteB.Primitives/Smdn.Net.EchonetLite.RouteB.Transport/IRouteBEchonetLiteHandlerBuilder.cs b/src/Smdn.Net.EchonetLite.RouteB.Primitives/Smdn.Net.EchonetLite.RouteB.Transport/IRouteBEchonetLiteHandlerBuilder.cs
index 2eb4e8b..3b528ca 100644
--- a/src/Smdn.Net.EchonetLite.RouteB.Primitives/Smdn.Net.EchonetLite.RouteB.Transport/IRouteBEchonetLiteHandlerBuilder.cs
+++ b/src/Smdn.Net.EchonetLite.RouteB.Primitives/Smdn.Net.EchonetLite.RouteB.Transport/IRouteBEchonetLiteHandlerBuilder.cs
@@ -11,7 +11,7 @@ namespace Smdn.Net.EchonetLite.RouteB.Transport;
 /// <summary>
 /// An interface for configuring <see cref="RouteBEchonetLiteHandler"/> providers.
 /// </summary>
-[Obsolete($"Use {nameof(IRouteBServiceBuilder<object>)} instead.")] // TODO: use nameof with open generic type
+[Obsolete($"Use {nameof(IRouteBServiceBuilder<>)} instead.")]
 public interface IRouteBEchonetLiteHandlerBuilder {
   /// <summary>
   /// Gets the <see cref="IServiceCollection"/> where <see cref="RouteBEchonetLiteHandler"/> services are configured.

Notes

What's Changed

Dependencies

  • Bump smdn/Smdn.Fundamentals/.github/workflows/test.yml@workflows/test/v1.4.1 from 1.4.1 to 1.4.2 by @dependabot[bot] in #18
  • Bump smdn/Smdn.Fundamentals/.github/workflows/generate-release-target.yml@workflows/release-target/v1.10.2 from 1.10.2 to 1.10.3 by @dependabot[bot] in #19
  • Bump smdn/Smdn.Fundamentals/.github/workflows/publish-release-target.yml@workflows/release-target/v1.10.2 from 1.10.2 to 1.10.3 by @dependabot[bot] in #20
  • Bump actions/checkout from 4.2.2 to 5.0.0 by @dependabot[bot] in #22
  • Bump github/codeql-action from 3 to 4 by @dependabot[bot] in #23
  • Bump actions/checkout from 5.0.0 to 5.0.1 in the github-actions-workflows group by @dependabot[bot] in #24

New Contributors

Full Changelog: releases/Smdn.Net.EchonetLite.RouteB.Primitives-2.1.0...releases/Smdn.Net.EchonetLite.RouteB.Primitives-2.2.0