Skip to content

Releases: smdn/Smdn.Fundamentals

Smdn.MSBuild.ProjectAssets.Library version 1.7.0

18 Dec 16:13
c4b0ca7
Compare
Choose a tag to compare

Released package

Release notes

The full release notes are available at gist.

Change log

Change log in this release:

Full changes

Full changes in this release:
diff --git a/src/Smdn.MSBuild.ProjectAssets.Library/Smdn.MSBuild.ProjectAssets.Library.csproj b/src/Smdn.MSBuild.ProjectAssets.Library/Smdn.MSBuild.ProjectAssets.Library.csproj
index 723c7798..b7237f67 100644
--- a/src/Smdn.MSBuild.ProjectAssets.Library/Smdn.MSBuild.ProjectAssets.Library.csproj
+++ b/src/Smdn.MSBuild.ProjectAssets.Library/Smdn.MSBuild.ProjectAssets.Library.csproj
@@ -6,7 +6,7 @@ SPDX-License-Identifier: MIT
   <Import Project="$(MSBuildThisFileDirectory)..\..\eng\ProjectSettings.NoAssembliesNoBuild.props" />
 
   <PropertyGroup>
-    <VersionPrefix>1.6.1</VersionPrefix>
+    <VersionPrefix>1.7.0</VersionPrefix>
     <VersionSuffix></VersionSuffix>
     <DevelopmentDependency>true</DevelopmentDependency>
   </PropertyGroup>
@@ -25,6 +25,7 @@ SPDX-License-Identifier: MIT
     <None Include="project\**" Pack="false" Visible="true" />
 
     <None Include="assets\src\include.editorconfig"       Pack="true" PackagePath="assets\src\.editorconfig" />
+    <None Include="assets\tests\include.editorconfig"     Pack="true" PackagePath="assets\tests\.editorconfig" />
     <None Include="project\*.props"                       Pack="true" PackagePath="project\" />
     <None Include="project\*.targets"                     Pack="true" PackagePath="project\" />
     <None Include="project\StyleCop.Analyzers.ruleset"    Pack="true" PackagePath="project\" />
diff --git a/src/Smdn.MSBuild.ProjectAssets.Library/assets/src/include.editorconfig b/src/Smdn.MSBuild.ProjectAssets.Library/assets/src/include.editorconfig
index 92d372db..9bd78ba8 100644
--- a/src/Smdn.MSBuild.ProjectAssets.Library/assets/src/include.editorconfig
+++ b/src/Smdn.MSBuild.ProjectAssets.Library/assets/src/include.editorconfig
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: 2022 smdn <smdn@smdn.jp>
+# SPDX-License-Identifier: MIT
+#
 # EditorConfig is awesome: https://EditorConfig.org
 #
 # code-analysis
@@ -21,63 +24,10 @@ dotnet_analyzer_diagnostic.category-Style.severity            = warning
 dotnet_analyzer_diagnostic.category-Usage.severity            = warning
 dotnet_analyzer_diagnostic.category-CodeQuality.severity      = warning
 
-# https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/pattern-matching-preferences
-dotnet_diagnostic.IDE0019.severity    = warning       # Use pattern matching to avoid 'as' followed by a 'null' check
-dotnet_diagnostic.IDE0020.severity    = warning       # Use pattern matching to avoid 'is' check followed by a cast
-dotnet_diagnostic.IDE0038.severity    = warning       # Use pattern matching to avoid 'is' check followed by a cast
-dotnet_diagnostic.IDE0083.severity    = suggestion    # Use pattern matching (not operator)
-
-# https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/modifier-preferences
-dotnet_diagnostic.IDE0062.severity    = warning       # Make local function static
-
-# https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/expression-level-preferences
-dotnet_diagnostic.IDE0010.severity    = suggestion    # Add missing cases to switch statement
-dotnet_diagnostic.IDE0018.severity    = suggestion    # Inline variable declaration
-dotnet_diagnostic.IDE0039.severity    = warning       # Use conditional expression for return
-dotnet_diagnostic.IDE0046.severity    = suggestion    # Use local function instead of lambda
-dotnet_diagnostic.IDE0056.severity    = suggestion    # Use index operator
-dotnet_diagnostic.IDE0057.severity    = suggestion    # Use range operator
-dotnet_diagnostic.IDE0070.severity    = suggestion    # Use 'System.HashCode.Combine'
-dotnet_diagnostic.IDE0072.severity    = suggestion    # Add missing cases to switch expression
-dotnet_diagnostic.IDE0090.severity    = suggestion    # Simplify new expression
-
-# https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/ide0160-ide0161
-dotnet_diagnostic.IDE0160.severity    = none          # Use block-scoped namespace
-dotnet_diagnostic.IDE0161.severity    = warning       # Use file-scoped namespace
-
-# https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/null-checking-preferences
-dotnet_diagnostic.IDE0041.severity    = warning       # Use 'is null' check
-
-# https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/ide0007-ide0008
-dotnet_diagnostic.IDE0007.severity    = suggestion    # Use `var` instead of explicit type
-dotnet_diagnostic.IDE0008.severity    = none          # Use explicit type instead of `var`
-
-# https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/expression-bodied-members
-dotnet_diagnostic.IDE0021.severity    = none          # Use expression body for constructors
-dotnet_diagnostic.IDE0022.severity    = suggestion    # Use expression body for methods
-
-# https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/code-block-preferences
-dotnet_diagnostic.IDE0063.severity    = suggestion    # Use simple 'using' statement
-
-# https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/ide0130
-dotnet_diagnostic.IDE0130.severity    = warning       # Match namespaces to folder structure
-
-# https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/unnecessary-code-rules
-dotnet_diagnostic.IDE0001.severity    = suggestion    # Simplify name
-dotnet_diagnostic.IDE0002.severity    = suggestion    # Simplify member access
-dotnet_diagnostic.IDE0003.severity    = suggestion    # Remove `this` or `Me` qualification
-dotnet_diagnostic.IDE0005.severity    = warning       # Remove unnecessary using directives
-dotnet_diagnostic.IDE0035.severity    = suggestion    # Remove unreachable code
-dotnet_diagnostic.IDE0051.severity    = warning       # Remove unused private member
-dotnet_diagnostic.IDE0052.severity    = warning       # Remove unread private member
-dotnet_diagnostic.IDE0058.severity    = suggestion    # Remove unnecessary expression value
-dotnet_diagnostic.IDE0059.severity    = warning       # Remove unnecessary value assignment
-dotnet_diagnostic.IDE0060.severity    = warning       # Remove unused parameter
-dotnet_diagnostic.IDE0079.severity    = warning       # Remove unnecessary suppression
-dotnet_diagnostic.IDE0080.severity    = warning       # Remove unnecessary suppression operator
-
-# https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/ide0055
-dotnet_diagnostic.IDE0055.severity    = silent        # Fix formatting
+#
+# Code quality rules
+# https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/quality-rules/
+#
 
 # https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/quality-rules/design-warnings
 dotnet_diagnostic.CA1000.severity     = warning       # Identifiers should not contain underscores
@@ -129,6 +79,11 @@ dotnet_diagnostic.CA1505.severity     = warning       # Avoid unmaintainable cod
 dotnet_diagnostic.CA1506.severity     = warning       # Avoid excessive class coupling
 dotnet_diagnostic.CA1507.severity     = warning       # Use nameof in place of string
 dotnet_diagnostic.CA1508.severity     = warning       # Avoid dead conditional code
+dotnet_diagnostic.CA1510.severity     = suggestion    # Use ArgumentNullException throw helper
+dotnet_diagnostic.CA1511.severity     = suggestion    # Use ArgumentException throw helper
+dotnet_diagnostic.CA1512.s...
Read more

Smdn.MSBuild.ProjectAssets.Common version 1.4.0

18 Dec 16:12
1574575
Compare
Choose a tag to compare

Released package

Release notes

The full release notes are available at gist.

Change log

Change log in this release:

Full changes

Full changes in this release:
diff --git a/src/Smdn.MSBuild.ProjectAssets.Common/Smdn.MSBuild.ProjectAssets.Common.csproj b/src/Smdn.MSBuild.ProjectAssets.Common/Smdn.MSBuild.ProjectAssets.Common.csproj
index d55c4724..45646932 100644
--- a/src/Smdn.MSBuild.ProjectAssets.Common/Smdn.MSBuild.ProjectAssets.Common.csproj
+++ b/src/Smdn.MSBuild.ProjectAssets.Common/Smdn.MSBuild.ProjectAssets.Common.csproj
@@ -6,7 +6,7 @@ SPDX-License-Identifier: MIT
   <Import Project="$(MSBuildThisFileDirectory)..\..\eng\ProjectSettings.NoAssembliesNoBuild.props" />
 
   <PropertyGroup>
-    <VersionPrefix>1.3.6</VersionPrefix>
+    <VersionPrefix>1.4.0</VersionPrefix>
     <VersionSuffix></VersionSuffix>
     <DevelopmentDependency>true</DevelopmentDependency>
     <NoWarn>NU5110;NU5111;$(NoWarn)</NoWarn>
diff --git a/src/Smdn.MSBuild.ProjectAssets.Common/assets/include.editorconfig b/src/Smdn.MSBuild.ProjectAssets.Common/assets/include.editorconfig
index 2a7ad862..2d0504aa 100644
--- a/src/Smdn.MSBuild.ProjectAssets.Common/assets/include.editorconfig
+++ b/src/Smdn.MSBuild.ProjectAssets.Common/assets/include.editorconfig
@@ -13,6 +13,9 @@ indent_size = 2
 end_of_line = lf
 insert_final_newline = true
 
+# /~https://github.com/editorconfig/editorconfig/wiki/EditorConfig-Properties#ideas-for-domain-specific-properties
+indent_brace_style = K&R
+
 [*.sln]
 charset = utf-8-bom
 end_of_line = crlf
@@ -32,47 +35,164 @@ indent_size = 2
 #   https://docs.microsoft.com/ja-jp/visualstudio/ide/editorconfig-code-style-settings-reference
 #   https://kent-boogaart.com/blog/editorconfig-reference-for-c-developers
 #
-[*.cs]
-dotnet_sort_system_directives_first = true
-dotnet_separate_import_directive_groups = true
 
-dotnet_style_namespace_match_folder = true:suggestion
+[*.cs]
+# enables .NET code analysis naming and style rules
+# https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/categories#naming-rules
+# https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/categories#style-rules
+dotnet_analyzer_diagnostic.category-Naming.severity = warning
+dotnet_analyzer_diagnostic.category-Style.severity = warning
 
+#
+# Example EditorConfig file
+# https://learn.microsoft.com/ja-jp/dotnet/fundamentals/code-analysis/code-style-rule-options
+#
+# Organize usings
+dotnet_sort_system_directives_first = true
+# this. preferences
 dotnet_style_qualification_for_field      = false:warning
 dotnet_style_qualification_for_property   = false:warning
 dotnet_style_qualification_for_method     = false:warning
 dotnet_style_qualification_for_event      = false:suggestion
-
+# Language keywords vs BCL types preferences
 dotnet_style_predefined_type_for_locals_parameters_members  = true:suggestion
 dotnet_style_predefined_type_for_member_access              = true:suggestion
-
-dotnet_style_coalesce_expression = true
-dotnet_style_collection_initializer = true
-dotnet_style_explicit_tuple_names = true:suggestion
-dotnet_style_null_propagation = true
-dotnet_style_object_initializer = true
-dotnet_style_require_accessibility_modifiers = for_non_interface_members
+# Parentheses preferences
+dotnet_style_parentheses_in_arithmetic_binary_operators   = always_for_clarity:warning
+dotnet_style_parentheses_in_relational_binary_operators   = always_for_clarity:warning
+dotnet_style_parentheses_in_other_binary_operators        = always_for_clarity:suggestion
+dotnet_style_parentheses_in_other_operators               = never_if_unnecessary:suggestion
+# Modifier preferences
+dotnet_style_require_accessibility_modifiers = for_non_interface_members:warning
 dotnet_style_readonly_field = true:warning
+# Expression-level preferences
+dotnet_style_object_initializer = true:suggestion
+dotnet_style_collection_initializer = true:suggestion
+dotnet_style_explicit_tuple_names = true:suggestion
+dotnet_style_null_propagation = true:suggestion
+dotnet_style_coalesce_expression = true:suggestion
+dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion
+dotnet_style_prefer_inferred_tuple_names = true:suggestion
+dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion
 dotnet_style_prefer_auto_properties = true:suggestion
 dotnet_style_prefer_conditional_expression_over_assignment = true:suggestion
 dotnet_style_prefer_conditional_expression_over_return = true:suggestion
-dotnet_style_prefer_inferred_tuple_names = true:suggestion
-dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion
-dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion
+
+#
+# Code-style naming rules
+# https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/naming-rules
+#
+
+# Static readonly fields must be PascalCase
+dotnet_naming_rule.static_readonly_fields_must_be_pascal_case.severity = warning
+dotnet_naming_rule.static_readonly_fields_must_be_pascal_case.symbols = static_readonly_fields
+dotnet_naming_rule.static_readonly_fields_must_be_pascal_case.style = static_readonly_field_style
+
+dotnet_naming_symbols.static_readonly_fields.applicable_kinds = field
+dotnet_naming_symbols.static_readonly_fields.applicable_accessibilities = *
+dotnet_naming_symbols.static_readonly_fields.required_modifiers = static, readonly
+
+dotnet_naming_style.static_readonly_field_style.capitalization = pascal_case
+
+# Non-private static fields must be PascalCase
+dotnet_naming_rule.non_private_static_fields_must_be_pascal_case.severity = warning
+dotnet_naming_rule.non_private_static_fields_must_be_pascal_case.symbols = non_private_static_fields
+dotnet_naming_rule.non_private_static_fields_must_be_pascal_case.style = non_private_static_field_style
+
+dotnet_naming_symbols.non_private_static_fields.applicable_kinds = field
+dotnet_naming_symbols.non_private_static_fields.applicable_accessibilities = public, protected, internal, protected_internal, private_protected
+dotnet_naming_symbols.non_private_static_fields.required_modifiers = static
+
+dotnet_naming_style.non_private_static_field_style.capitalization = pascal_case
+
+# Non-private readonly fields must be PascalCase
+dotnet_naming_rule.non_private_readonly_fields_must_be_pascal_case.severity = warning
+dotnet_naming_rule.non_private_readonly_fields_must_be_pascal_case.symbols = non_private_readonly_fields
+dotnet_naming_rule.non_private_readonly_fields_must_be_pascal_case.style = non_private_readonly_field_style
+
+dotnet_naming_symbols.non_private_readonly_fields.applicable_kinds = field
+dotnet_naming_symbols.non_private_readonly_fields.applicable_accessibilities = public, protected, internal, protected_internal, private_protected
+dotnet_naming_symbols.non_private_readonly_fields.required_modifiers = readonly
+
+dotnet_naming_style.non_private_readonly_field_style.capitalization = pascal_case
+
+# Non-private fields must be PascalCase
+dotnet_naming_rule.non_private_fields_must_be_pascal_case.severity = warning
+dotnet_naming_rule.non_private_fields_must_be_pascal_case.symbols = non_private_fields
+dotnet_naming_rule.non_private_fields_must_be_pascal_case.style = non_private_field_style
+
+dotnet_naming_symbols.non_private_fields.applicable_kinds = field
+dotnet_naming_symbols.non_private_fields.applicable_accessibilities = public, protected, internal, protected_internal, private_protected
+dotnet_naming_symbols.non_private_fields.required_modifiers =
+
+dotnet_naming_style.non_private_field_style.capitalization = pascal_case
+
+# Constants must be PascalCase
+dotnet_naming_rule.constants_must_be_pascal_case.severity = warning
+dotnet_naming_rule.constants_must_be_pascal_case.symbols = constants
+dotnet_naming_rule.constants_must_be_pascal_case.style = constant_style
+
+dotnet_naming_symbols.constants.applicable_kinds = field, local
+dotnet_naming_symbols.constants.required_modifiers = const
+
+dotnet_naming_style.constant_style.capitalization = pascal_case
+
+# Other static/instance fields must be camelCase and must not start with any prefix
+dotnet_naming_rule.other_fields_must_be_camel_case_without_prefix.severity = warning
+dotnet_naming_rule.other_fields_must_be_camel_case_without_prefix.symbols = other_fields
+dotnet_naming_rule.other_fields_must_be_camel_case_without_prefix.style = other_field_style
+
+dotnet_naming_symbols.other_fields.applicable_kinds = field
+
+dotnet_naming_style.other_field_style.capitalization = camel_case
+dotnet_naming_style.other_field_style.required_prefix =
+
+# Locals and parameters are camelCase
+dotnet_naming_rule.locals_should_be_camel_case.severity = suggestion
+dotnet_naming_rule.locals_should_be_camel_case.symbols = locals_and_parameters
+dotnet_naming_rule.locals_should_be_camel_case.style = local_and_parameter_style
+
+dotnet_naming_symbols.locals_and_parameters.applicable_kinds = parameter, local
+
+dotnet_naming_style.local_and_parameter_style.capitalization = camel_case
+
+# Local functions are PascalCase
+dotnet_naming_rule.local_functions_should_be_pascal_case.severity ...
Read more

Smdn.Test.NUnit.Utils version 4.0.0

14 Dec 15:10
28bf135
Compare
Choose a tag to compare

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.Test.NUnit.Utils/Smdn.Test.NUnit.Utils-net45.apilist.cs b/doc/api-list/Smdn.Test.NUnit.Utils/Smdn.Test.NUnit.Utils-net462.apilist.cs
similarity index 85%
rename from doc/api-list/Smdn.Test.NUnit.Utils/Smdn.Test.NUnit.Utils-net45.apilist.cs
rename to doc/api-list/Smdn.Test.NUnit.Utils/Smdn.Test.NUnit.Utils-net462.apilist.cs
index 1b85c407..3ee04000 100644
--- a/doc/api-list/Smdn.Test.NUnit.Utils/Smdn.Test.NUnit.Utils-net45.apilist.cs
+++ b/doc/api-list/Smdn.Test.NUnit.Utils/Smdn.Test.NUnit.Utils-net462.apilist.cs
@@ -1,56 +1,58 @@
-// Smdn.Test.NUnit.Utils.dll (Smdn.Test.NUnit.Utils-1.0.0)
+// Smdn.Test.NUnit.Utils.dll (Smdn.Test.NUnit.Utils-4.0.0)
 //   Name: Smdn.Test.NUnit.Utils
-//   AssemblyVersion: 1.0.0.0
-//   InformationalVersion: 1.0.0+7598ad3f6134b7fcb21ff256682be15e2cd04b61
-//   TargetFramework: .NETFramework,Version=v4.5
+//   AssemblyVersion: 4.0.0.0
+//   InformationalVersion: 4.0.0+280107daf772c089f4bf30b5bce3f2dded855766
+//   TargetFramework: .NETFramework,Version=v4.6.2
 //   Configuration: Release
 //   Referenced assemblies:
 //     System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
 //     System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
 //     mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-//     nunit.framework, Version=3.13.2.0, Culture=neutral, PublicKeyToken=2638cd05610744eb
+//     nunit.framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2638cd05610744eb
+//     nunit.framework.legacy, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2638cd05610744eb
 
 using System;
 using System.IO;
 using System.Runtime.Serialization;
 using System.Text;
 using System.Threading.Tasks;
 using NUnit.Framework;
+using NUnit.Framework.Legacy;
 
 namespace Smdn.Test.NUnit {
   public static class Encodings {
     public static Encoding EucJP { get; }
     public static Encoding Jis { get; }
     public static Encoding Latin1 { get; }
     public static Encoding ShiftJis { get; }
   }
 
   public static class IOUtils {
     public static void UsingCurrentDirectory(string path, Action action) {}
     public static async Task UsingCurrentDirectoryAsync(string path, Func<Task> action) {}
     public static void UsingDirectory(string path, Action<DirectoryInfo> action) {}
     public static void UsingDirectory(string path, bool ensureDirectoryCreated, Action<DirectoryInfo> action) {}
     public static Task UsingDirectoryAsync(string path, Func<DirectoryInfo, Task> action) {}
     public static async Task UsingDirectoryAsync(string path, bool ensureDirectoryCreated, Func<DirectoryInfo, Task> action) {}
     public static void UsingFile(string path, Action<FileInfo> action) {}
     public static async Task UsingFileAsync(string path, Func<FileInfo, Task> action) {}
   }
 }
 
 namespace Smdn.Test.NUnit.Assertion {
-  public class Assert : Assert {
+  public class Assert : ClassicAssert {
     public static void Elapses(TimeSpan expected, TestDelegate code, string message = null) {}
     public static void ElapsesAsync(TimeSpan expected, AsyncTestDelegate code, string message = null) {}
     public static void ElapsesInRange(TimeSpan expectedMin, TimeSpan expectedMax, TestDelegate code, string message = null) {}
     public static void ElapsesInRangeAsync(TimeSpan expectedMin, TimeSpan expectedMax, AsyncTestDelegate code, string message = null) {}
     public static void IsSerializable<TSerializable>(TSerializable obj, Action<TSerializable> testDeserializedObject = null) {}
     public static void IsSerializable<TSerializable>(TSerializable obj, IFormatter serializationFormatter, IFormatter deserializationFormatter, Action<TSerializable> testDeserializedObject = null) {}
     public static void NotElapse(TimeSpan expected, TestDelegate code, string message = null) {}
     public static void NotElapseAsync(TimeSpan expected, AsyncTestDelegate code, string message = null) {}
     public static TException ThrowsOrAggregates<TException>(TestDelegate code) where TException : Exception {}
 
     public Assert() {}
   }
 }
-// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.1.7.0.
+// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.3.0.0.
 // Smdn.Reflection.ReverseGenerating.ListApi.Core v1.2.0.0 (/~https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
diff --git a/doc/api-list/Smdn.Test.NUnit.Utils/Smdn.Test.NUnit.Utils-net472.apilist.cs b/doc/api-list/Smdn.Test.NUnit.Utils/Smdn.Test.NUnit.Utils-net472.apilist.cs
index 7a492dc7..0f3b5e5e 100644
--- a/doc/api-list/Smdn.Test.NUnit.Utils/Smdn.Test.NUnit.Utils-net472.apilist.cs
+++ b/doc/api-list/Smdn.Test.NUnit.Utils/Smdn.Test.NUnit.Utils-net472.apilist.cs
@@ -1,56 +1,58 @@
-// Smdn.Test.NUnit.Utils.dll (Smdn.Test.NUnit.Utils-1.0.0)
+// Smdn.Test.NUnit.Utils.dll (Smdn.Test.NUnit.Utils-4.0.0)
 //   Name: Smdn.Test.NUnit.Utils
-//   AssemblyVersion: 1.0.0.0
-//   InformationalVersion: 1.0.0+7598ad3f6134b7fcb21ff256682be15e2cd04b61
+//   AssemblyVersion: 4.0.0.0
+//   InformationalVersion: 4.0.0+280107daf772c089f4bf30b5bce3f2dded855766
 //   TargetFramework: .NETFramework,Version=v4.7.2
 //   Configuration: Release
 //   Referenced assemblies:
 //     System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
 //     System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
 //     mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-//     nunit.framework, Version=3.13.2.0, Culture=neutral, PublicKeyToken=2638cd05610744eb
+//     nunit.framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2638cd05610744eb
+//     nunit.framework.legacy, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2638cd05610744eb
 
 using System;
 using System.IO;
 using System.Runtime.Serialization;
 using System.Text;
 using System.Threading.Tasks;
 using NUnit.Framework;
+using NUnit.Framework.Legacy;
 
 namespace Smdn.Test.NUnit {
   public static class Encodings {
     public static Encoding EucJP { get; }
     public static Encoding Jis { get; }
     public static Encoding Latin1 { get; }
     public static Encoding ShiftJis { get; }
   }
 
   public static class IOUtils {
     public static void UsingCurrentDirectory(string path, Action action) {}
     public static async Task UsingCurrentDirectoryAsync(string path, Func<Task> action) {}
     public static void UsingDirectory(string path, Action<DirectoryInfo> action) {}
     public static void UsingDirectory(string path, bool ensureDirectoryCreated, Action<DirectoryInfo> action) {}
     public static Task UsingDirectoryAsync(string path, Func<DirectoryInfo, Task> action) {}
     public static async Task UsingDirectoryAsync(string path, bool ensureDirectoryCreated, Func<DirectoryInfo, Task> action) {}
     public static void UsingFile(string path, Action<FileInfo> action) {}
     public static async Task UsingFileAsync(string path, Func<FileInfo, Task> action) {}
   }
 }
 
 namespace Smdn.Test.NUnit.Assertion {
-  public class Assert : Assert {
+  public class Assert : ClassicAssert {
     public static void Elapses(TimeSpan expected, TestDelegate code, string message = null) {}
     public static void ElapsesAsync(TimeSpan expected, AsyncTestDelegate code, string message = null) {}
     public static void ElapsesInRange(TimeSpan expectedMin, TimeSpan expectedMax, TestDelegate code, string message = null) {}
     public static void ElapsesInRangeAsync(TimeSpan expectedMin, TimeSpan expectedMax, AsyncTestDelegate code, string message = null) {}
     public static void IsSerializable<TSerializable>(TSerializable obj, Action<TSerializable> testDeserializedObject = null) {}
     public static void IsSerializable<TSerializable>(TSerializable obj...
Read more

Smdn.Test.NUnit.Constraints version 4.0.0

14 Dec 15:12
c014380
Compare
Choose a tag to compare

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.Test.NUnit.Constraints/Smdn.Test.NUnit.Constraints-net45.apilist.cs b/doc/api-list/Smdn.Test.NUnit.Constraints/Smdn.Test.NUnit.Constraints-net462.apilist.cs
similarity index 91%
rename from doc/api-list/Smdn.Test.NUnit.Constraints/Smdn.Test.NUnit.Constraints-net45.apilist.cs
rename to doc/api-list/Smdn.Test.NUnit.Constraints/Smdn.Test.NUnit.Constraints-net462.apilist.cs
index fde4d1d7..a6d3b921 100644
--- a/doc/api-list/Smdn.Test.NUnit.Constraints/Smdn.Test.NUnit.Constraints-net45.apilist.cs
+++ b/doc/api-list/Smdn.Test.NUnit.Constraints/Smdn.Test.NUnit.Constraints-net462.apilist.cs
@@ -1,63 +1,63 @@
-// Smdn.Test.NUnit.Constraints.dll (Smdn.Test.NUnit.Constraints-1.0.1)
+// Smdn.Test.NUnit.Constraints.dll (Smdn.Test.NUnit.Constraints-4.0.0)
 //   Name: Smdn.Test.NUnit.Constraints
-//   AssemblyVersion: 1.0.1.0
-//   InformationalVersion: 1.0.1+22d13e8bac8188bdb5b18a03d0357887e371a50f
-//   TargetFramework: .NETFramework,Version=v4.5
+//   AssemblyVersion: 4.0.0.0
+//   InformationalVersion: 4.0.0+280107daf772c089f4bf30b5bce3f2dded855766
+//   TargetFramework: .NETFramework,Version=v4.6.2
 //   Configuration: Release
 //   Referenced assemblies:
 //     Smdn.Fundamental.ControlPicture, Version=3.0.0.0, Culture=neutral
 //     System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
 //     System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
 //     System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
 //     mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-//     nunit.framework, Version=3.13.0.0, Culture=neutral, PublicKeyToken=2638cd05610744eb
+//     nunit.framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2638cd05610744eb
 
 using System;
 using NUnit.Framework;
 using NUnit.Framework.Constraints;
 using Smdn.Test.NUnit.Constraints.Buffers;
 
 namespace Smdn.Test.NUnit.Constraints.Buffers {
   public class Is : Is {
     public static ReadOnlyByteMemoryEqualConstraint EqualTo(Memory<byte> expected) {}
     public static ReadOnlyByteMemoryEqualConstraint EqualTo(ReadOnlyMemory<byte> expected) {}
     public static ReadOnlyByteMemoryEqualConstraint EqualTo(byte[] expected) {}
     public static ReadOnlyMemoryEqualConstraint<T> EqualTo<T>(Memory<T> expected) where T : IEquatable<T> {}
     public static ReadOnlyMemoryEqualConstraint<T> EqualTo<T>(ReadOnlyMemory<T> expected) where T : IEquatable<T> {}
     public static ReadOnlyMemoryEqualConstraint<T> EqualTo<T>(T[] expected) where T : IEquatable<T> {}
 
     public Is() {}
   }
 
   public class ReadOnlyByteMemoryEqualConstraint : EqualConstraint {
     public ReadOnlyByteMemoryEqualConstraint(ReadOnlyMemory<byte> expected) {}
 
     public override string Description { get; }
     public ReadOnlyMemory<byte> Expected { get; }
 
     public override ConstraintResult ApplyTo<TActual>(TActual actual) {}
   }
 
   public class ReadOnlyByteMemoryEqualConstraintResult : EqualConstraintResult {
     public ReadOnlyByteMemoryEqualConstraintResult(ReadOnlyByteMemoryEqualConstraint constraint, object actual, bool hasSucceeded) {}
 
     public override void WriteMessageTo(MessageWriter writer) {}
   }
 
   public class ReadOnlyMemoryEqualConstraintResult<T> : EqualConstraintResult where T : IEquatable<T> {
     public ReadOnlyMemoryEqualConstraintResult(ReadOnlyMemoryEqualConstraint<T> constraint, object actual, bool hasSucceeded) {}
 
     public override void WriteMessageTo(MessageWriter writer) {}
   }
 
   public class ReadOnlyMemoryEqualConstraint<T> : EqualConstraint where T : IEquatable<T> {
     public ReadOnlyMemoryEqualConstraint(ReadOnlyMemory<T> expected) {}
 
     public override string Description { get; }
     public ReadOnlyMemory<T> Expected { get; }
 
     public override ConstraintResult ApplyTo<TActual>(TActual actual) {}
   }
 }
-// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.1.7.0.
+// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.3.0.0.
 // Smdn.Reflection.ReverseGenerating.ListApi.Core v1.2.0.0 (/~https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
diff --git a/doc/api-list/Smdn.Test.NUnit.Constraints/Smdn.Test.NUnit.Constraints-net6.0.apilist.cs b/doc/api-list/Smdn.Test.NUnit.Constraints/Smdn.Test.NUnit.Constraints-net6.0.apilist.cs
index a3d007d7..f170093a 100644
--- a/doc/api-list/Smdn.Test.NUnit.Constraints/Smdn.Test.NUnit.Constraints-net6.0.apilist.cs
+++ b/doc/api-list/Smdn.Test.NUnit.Constraints/Smdn.Test.NUnit.Constraints-net6.0.apilist.cs
@@ -1,62 +1,62 @@
-// Smdn.Test.NUnit.Constraints.dll (Smdn.Test.NUnit.Constraints-1.0.1)
+// Smdn.Test.NUnit.Constraints.dll (Smdn.Test.NUnit.Constraints-4.0.0)
 //   Name: Smdn.Test.NUnit.Constraints
-//   AssemblyVersion: 1.0.1.0
-//   InformationalVersion: 1.0.1+22d13e8bac8188bdb5b18a03d0357887e371a50f
+//   AssemblyVersion: 4.0.0.0
+//   InformationalVersion: 4.0.0+280107daf772c089f4bf30b5bce3f2dded855766
 //   TargetFramework: .NETCoreApp,Version=v6.0
 //   Configuration: Release
 //   Referenced assemblies:
 //     Smdn.Fundamental.ControlPicture, Version=3.0.0.0, Culture=neutral
 //     System.Linq, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 //     System.Memory, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
 //     System.Runtime, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-//     nunit.framework, Version=3.13.0.0, Culture=neutral, PublicKeyToken=2638cd05610744eb
+//     nunit.framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2638cd05610744eb
 
 using System;
 using NUnit.Framework;
 using NUnit.Framework.Constraints;
 using Smdn.Test.NUnit.Constraints.Buffers;
 
 namespace Smdn.Test.NUnit.Constraints.Buffers {
   public class Is : Is {
     public static ReadOnlyByteMemoryEqualConstraint EqualTo(Memory<byte> expected) {}
     public static ReadOnlyByteMemoryEqualConstraint EqualTo(ReadOnlyMemory<byte> expected) {}
     public static ReadOnlyByteMemoryEqualConstraint EqualTo(byte[] expected) {}
     public static ReadOnlyMemoryEqualConstraint<T> EqualTo<T>(Memory<T> expected) where T : IEquatable<T> {}
     public static ReadOnlyMemoryEqualConstraint<T> EqualTo<T>(ReadOnlyMemory<T> expected) where T : IEquatable<T> {}
     public static ReadOnlyMemoryEqualConstraint<T> EqualTo<T>(T[] expected) where T : IEquatable<T> {}
 
     public Is() {}
   }
 
   public class ReadOnlyByteMemoryEqualConstraint : EqualConstraint {
     public ReadOnlyByteMemoryEqualConstraint(ReadOnlyMemory<byte> expected) {}
 
     public override string Description { get; }
     public ReadOnlyMemory<byte> Expected { get; }
 
     public override ConstraintResult ApplyTo<TActual>(TActual actual) {}
   }
 
   public class ReadOnlyByteMemoryEqualConstraintResult : EqualConstraintResult {
     public ReadOnlyByteMemoryEqualConstraintResult(ReadOnlyByteMemoryEqualConstraint constraint, object actual, bool hasSucceeded) {}
 
     public override void WriteMessageTo(MessageWriter writer) {}
   }
 
   public class ReadOnlyMemoryEqualConstraintResult<T> : EqualConstraintResult where T : IEquatable<T> {
     public ReadOnlyMemoryEqualConstraintResult(ReadOnlyMemoryEqualConstraint<T> constraint, object actual, bool hasSucceeded) {}
 
     public override void WriteMessageTo(MessageWriter writer) {}
   }
 
   public class ReadOnlyMemoryEqualConstraint<T> : EqualConstraint where T : IEquatable<T> {
     public ReadOnlyMemoryEqualConstraint(ReadOnlyMemory<T> expected) {}
 
     public override string Description { get; }
     public ReadOnlyMemory<T> Expected { get; }
 
     public override ConstraintResult ApplyTo<TActual>(TActual actual) {}
   }
 }
-// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.1.7.0.
+// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.3.0.0.
 // Smdn.Reflection.ReverseGenerating.ListApi.Core v1.2.0.0 (/~https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
diff --git a/doc/api-list/Smdn.Test.NUnit.Constraints/Smdn.Test.NUnit.Constraints-netstandard2.0.apilist.cs b/doc/api-list/Smdn.Test.NUnit.Constraints/Smdn.Test.NUnit.Constraints-netstandard2.0.apilist.cs
deleted file mode 100644
index dae4edb9..00000000
--- a/doc/api-list/Smdn.Test.NUnit.Constraints/Smdn.Test.NUnit.Constraints-nets...
Read more

Smdn.MSBuild.ProjectAssets.Library version 1.6.1

12 Jun 14:28
048a8b1
Compare
Choose a tag to compare

Released package

Release notes

The full release notes are available at gist.

Change log

Change log in this release:

Full changes

Full changes in this release:
diff --git a/src/Smdn.MSBuild.ProjectAssets.Library/Smdn.MSBuild.ProjectAssets.Library.csproj b/src/Smdn.MSBuild.ProjectAssets.Library/Smdn.MSBuild.ProjectAssets.Library.csproj
index 2c1b8f23..723c7798 100644
--- a/src/Smdn.MSBuild.ProjectAssets.Library/Smdn.MSBuild.ProjectAssets.Library.csproj
+++ b/src/Smdn.MSBuild.ProjectAssets.Library/Smdn.MSBuild.ProjectAssets.Library.csproj
@@ -6,7 +6,7 @@ SPDX-License-Identifier: MIT
   <Import Project="$(MSBuildThisFileDirectory)..\..\eng\ProjectSettings.NoAssembliesNoBuild.props" />
 
   <PropertyGroup>
-    <VersionPrefix>1.6.0</VersionPrefix>
+    <VersionPrefix>1.6.1</VersionPrefix>
     <VersionSuffix></VersionSuffix>
     <DevelopmentDependency>true</DevelopmentDependency>
   </PropertyGroup>
diff --git a/src/Smdn.MSBuild.ProjectAssets.Library/project/TestReport.template.liquid.md b/src/Smdn.MSBuild.ProjectAssets.Library/project/TestReport.template.liquid.md
index 444c259a..f1460b5c 100644
--- a/src/Smdn.MSBuild.ProjectAssets.Library/project/TestReport.template.liquid.md
+++ b/src/Smdn.MSBuild.ProjectAssets.Library/project/TestReport.template.liquid.md
@@ -137,7 +137,7 @@ SPDX-License-Identifier: MIT
 {%-     endfor -%}</code></pre></dd>
 {%-   endif -%}
 {%-   if messages_warning.size != 0 -%}
-    <dt>⚠️ Warnings</summary>
+    <dt>⚠️ Warnings</dt>
     <dd><pre><code>{%- for msg in messages_warning -%}[{{ msg.level }}]{{ msg.message | escape }}
 {%-     endfor -%}</code></pre></dd>
 {%-   endif -%}
@@ -239,16 +239,34 @@ SPDX-License-Identifier: MIT
           {%-   else -%}
           {%-     assign result_has_error_stack_trace = false -%}
           {%-   endif -%}
-          {%-   if result_has_error_message or result_has_error_stack_trace -%}
+          {%-   if result.messages.size == 0 -%}
+          {%-     assign result_has_messages = false -%}
+          {%-   else -%}
+          {%-     assign result_has_messages = true -%}
+          {%-   endif -%}
+          {%-   if result_has_error_message or result_has_error_stack_trace or result_has_messages -%}
           <dl>
           {%-     if result_has_error_message -%}
-            <dt>Message:</dt>
+            <dt>Error message:</dt>
             <dd><pre><code>{{ result.error_message | escape }}</code></pre></dd>
           {%-     endif -%}
           {%-     if result_has_error_stack_trace -%}
             <dt>Stack trace:</dt>
             <dd><pre><code>{{ result.error_stack_trace | escape }}</code></pre></dd>
           {%-     endif -%}
+          {%-     if result_has_messages -%}
+          {%-       for message in result.messages -%}
+          {%-         if message.text != result.error_message -%}
+            <dt>Message <code>{{ message.category | escape }}</code>:</dt>
+            <dd>
+              <details{{ result_details_open_attr }}>
+                <summary>{{ message.category | escape }}</summary>
+                <pre><code>{{ message.text | escape }}</code></pre>
+              </details>
+            </dd>
+          {%-         endif -%}
+          {%-       endfor -%}
+          {%-     endif -%}
           {%-   endif -%}
           </dl>
           {%- endif -%}

Notes

Full Changelog: releases/Smdn.MSBuild.ProjectAssets.Library-1.6.0...releases/Smdn.MSBuild.ProjectAssets.Library-1.6.1

Smdn.MSBuild.DefineConstants.NETSdkApi version 1.3.14

06 Jun 12:52
d060041
Compare
Choose a tag to compare

Smdn.MSBuild.ProjectAssets.Common version 1.3.6

12 May 10:40
a22f7db
Compare
Choose a tag to compare

Released package

Release notes

The full release notes are available at gist.

Change log

Change log in this release:

Full changes

Full changes in this release:
diff --git a/src/Smdn.MSBuild.ProjectAssets.Common/Smdn.MSBuild.ProjectAssets.Common.csproj b/src/Smdn.MSBuild.ProjectAssets.Common/Smdn.MSBuild.ProjectAssets.Common.csproj
index e7432009..d55c4724 100644
--- a/src/Smdn.MSBuild.ProjectAssets.Common/Smdn.MSBuild.ProjectAssets.Common.csproj
+++ b/src/Smdn.MSBuild.ProjectAssets.Common/Smdn.MSBuild.ProjectAssets.Common.csproj
@@ -6,7 +6,7 @@ SPDX-License-Identifier: MIT
   <Import Project="$(MSBuildThisFileDirectory)..\..\eng\ProjectSettings.NoAssembliesNoBuild.props" />
 
   <PropertyGroup>
-    <VersionPrefix>1.3.5</VersionPrefix>
+    <VersionPrefix>1.3.6</VersionPrefix>
     <VersionSuffix></VersionSuffix>
     <DevelopmentDependency>true</DevelopmentDependency>
     <NoWarn>NU5110;NU5111;$(NoWarn)</NoWarn>
diff --git a/src/Smdn.MSBuild.ProjectAssets.Common/project/scripts/psmodules/NuGet.PackageContent/NuGet.PackageContent.psm1 b/src/Smdn.MSBuild.ProjectAssets.Common/project/scripts/psmodules/NuGet.PackageContent/NuGet.PackageContent.psm1
index cfaf19c0..d95c2b05 100644
--- a/src/Smdn.MSBuild.ProjectAssets.Common/project/scripts/psmodules/NuGet.PackageContent/NuGet.PackageContent.psm1
+++ b/src/Smdn.MSBuild.ProjectAssets.Common/project/scripts/psmodules/NuGet.PackageContent/NuGet.PackageContent.psm1
@@ -33,7 +33,7 @@ function Get-NuGetPackageVersions {
 }
 
 <#
-  Summary: Parses and gets the semantic version from the specified version sstring.
+  Summary: Parses and gets the semantic version from the specified version string.
 #>
 function Get-SemanticVersion {
   Param(
diff --git a/src/Smdn.MSBuild.ProjectAssets.Common/project/targets/NewRelease.targets b/src/Smdn.MSBuild.ProjectAssets.Common/project/targets/NewRelease.targets
index 95791faf..077f77ac 100644
--- a/src/Smdn.MSBuild.ProjectAssets.Common/project/targets/NewRelease.targets
+++ b/src/Smdn.MSBuild.ProjectAssets.Common/project/targets/NewRelease.targets
@@ -19,12 +19,25 @@ SPDX-License-Identifier: MIT
     </PropertyGroup>
 
     <!-- Rebuild and Pack to verify that the package can be created -->
-    <MSBuild
-      Projects="$(MSBuildProjectFullPath)"
-      Targets="Clean;Pack"
-      Properties="Configuration=Release"
+    <!-- Packing by the MSBuild task seems problematic, so use the dotnet command instead. -->
+    <Exec
+      Command="dotnet clean --nologo --verbosity minimal -c Release $(MSBuildProjectFullPath)"
+      ConsoleToMSBuild="false"
+      EchoOff="false"
+      StandardOutputImportance="High"
     />
+    <Exec
+      Command="dotnet pack --nologo --verbosity minimal -c Release $(MSBuildProjectFullPath)"
+      ConsoleToMSBuild="false"
+      EchoOff="false"
+      StandardOutputImportance="High"
+    >
+      <Output TaskParameter="ExitCode" PropertyName="_PackReleaseExitCode"/>
+    </Exec>
+
+    <Error Text="failed to pack $(MSBuildProjectName)" Condition=" '$(_PackReleaseExitCode)' != '0' " />
 
+    <!-- check whether the current version has already released -->
     <Exec
       Command="$(_InvokeProjectAssetsCommonPowerShellScript)QueryNuGetPackageReleased.ps1 -PackageId &quot;$(PackageId)&quot; -PackageVersion &quot;$(PackageVersion)&quot;"
       IgnoreExitCode="true"
@@ -44,6 +57,7 @@ SPDX-License-Identifier: MIT
       File="$(MSBuildProjectFullPath)"
     />
 
+    <!-- create release tag -->
     <Exec
       Command="git tag --message=&quot;new release target tag for $(_PackageIdWithVersion)&quot; $(_ReleaseTargetTagName) $(RepositoryCommit)"
       EchoOff="false"

Notes

Full Changelog: releases/Smdn.MSBuild.ProjectAssets.Common-1.3.5...releases/Smdn.MSBuild.ProjectAssets.Common-1.3.6

Smdn.Fundamental.Stream.BinaryReaderWriter version 3.0.3

12 May 11:36
b21a822
Compare
Choose a tag to compare

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.Fundamental.Stream.BinaryReaderWriter/Smdn.Fundamental.Stream.BinaryReaderWriter-net45.apilist.cs b/doc/api-list/Smdn.Fundamental.Stream.BinaryReaderWriter/Smdn.Fundamental.Stream.BinaryReaderWriter-net45.apilist.cs
index 60228a2a..7b411934 100644
--- a/doc/api-list/Smdn.Fundamental.Stream.BinaryReaderWriter/Smdn.Fundamental.Stream.BinaryReaderWriter-net45.apilist.cs
+++ b/doc/api-list/Smdn.Fundamental.Stream.BinaryReaderWriter/Smdn.Fundamental.Stream.BinaryReaderWriter-net45.apilist.cs
@@ -1,276 +1,276 @@
-// Smdn.Fundamental.Stream.BinaryReaderWriter.dll (Smdn.Fundamental.Stream.BinaryReaderWriter-3.0.2)
+// Smdn.Fundamental.Stream.BinaryReaderWriter.dll (Smdn.Fundamental.Stream.BinaryReaderWriter-3.0.3)
 //   Name: Smdn.Fundamental.Stream.BinaryReaderWriter
-//   AssemblyVersion: 3.0.2.0
-//   InformationalVersion: 3.0.2+86670cebb1ebcd6d7b8e86885a3b4d7b48858ade
+//   AssemblyVersion: 3.0.3.0
+//   InformationalVersion: 3.0.3+50cd3a5ddb6026e07a1bf790427b237a96c07bb8
 //   TargetFramework: .NETFramework,Version=v4.5
 //   Configuration: Release
 //   Referenced assemblies:
 //     Smdn.Fundamental.Exception, Version=3.0.3.0, Culture=neutral
 //     Smdn.Fundamental.FourCC, Version=3.0.3.0, Culture=neutral
 //     Smdn.Fundamental.Stream, Version=3.0.3.0, Culture=neutral
 //     Smdn.Fundamental.UInt24n, Version=3.0.4.0, Culture=neutral
 //     mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
 
 using System;
 using System.IO;
 using Smdn;
 using Smdn.IO.Binary;
 
 namespace Smdn.IO.Binary {
   [TypeForwardedFrom("Smdn, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null")]
   public class BigEndianBinaryReader : BinaryReader {
     protected BigEndianBinaryReader(Stream stream, bool leaveBaseStreamOpen, int storageSize) {}
     public BigEndianBinaryReader(Stream stream) {}
     public BigEndianBinaryReader(Stream stream, bool leaveBaseStreamOpen) {}
 
     public override short ReadInt16() {}
     public override int ReadInt32() {}
     public override long ReadInt64() {}
     public override ushort ReadUInt16() {}
     public override UInt24 ReadUInt24() {}
     public override uint ReadUInt32() {}
     public override UInt48 ReadUInt48() {}
     public override ulong ReadUInt64() {}
   }
 
   [TypeForwardedFrom("Smdn, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null")]
   public class BigEndianBinaryWriter : BinaryWriter {
     protected BigEndianBinaryWriter(Stream stream, bool leaveBaseStreamOpen, int storageSize) {}
     public BigEndianBinaryWriter(Stream stream) {}
     public BigEndianBinaryWriter(Stream stream, bool leaveBaseStreamOpen) {}
 
     public override void Write(UInt24 @value) {}
     public override void Write(UInt48 @value) {}
     public override void Write(int @value) {}
     public override void Write(long @value) {}
     public override void Write(short @value) {}
     public override void Write(uint @value) {}
     public override void Write(ulong @value) {}
     public override void Write(ushort @value) {}
   }
 
   [TypeForwardedFrom("Smdn, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null")]
   public static class BinaryConversion {
     public static int ByteSwap(int @value) {}
     public static long ByteSwap(long @value) {}
     public static short ByteSwap(short @value) {}
     public static uint ByteSwap(uint @value) {}
     public static ulong ByteSwap(ulong @value) {}
     public static ushort ByteSwap(ushort @value) {}
     public static byte[] GetBytes(UInt24 @value, bool asLittleEndian) {}
     public static byte[] GetBytes(UInt48 @value, bool asLittleEndian) {}
     public static byte[] GetBytes(int @value, bool asLittleEndian) {}
     public static byte[] GetBytes(long @value, bool asLittleEndian) {}
     public static byte[] GetBytes(short @value, bool asLittleEndian) {}
     public static byte[] GetBytes(uint @value, bool asLittleEndian) {}
     public static byte[] GetBytes(ulong @value, bool asLittleEndian) {}
     public static byte[] GetBytes(ushort @value, bool asLittleEndian) {}
     public static void GetBytes(UInt24 @value, bool asLittleEndian, byte[] bytes, int startIndex) {}
     public static void GetBytes(UInt48 @value, bool asLittleEndian, byte[] bytes, int startIndex) {}
     public static void GetBytes(int @value, bool asLittleEndian, byte[] bytes, int startIndex) {}
     public static void GetBytes(long @value, bool asLittleEndian, byte[] bytes, int startIndex) {}
     public static void GetBytes(short @value, bool asLittleEndian, byte[] bytes, int startIndex) {}
     public static void GetBytes(uint @value, bool asLittleEndian, byte[] bytes, int startIndex) {}
     public static void GetBytes(ulong @value, bool asLittleEndian, byte[] bytes, int startIndex) {}
     public static void GetBytes(ushort @value, bool asLittleEndian, byte[] bytes, int startIndex) {}
     public static byte[] GetBytesBE(UInt24 @value) {}
     public static byte[] GetBytesBE(UInt48 @value) {}
     public static byte[] GetBytesBE(int @value) {}
     public static byte[] GetBytesBE(long @value) {}
     public static byte[] GetBytesBE(short @value) {}
     public static byte[] GetBytesBE(uint @value) {}
     public static byte[] GetBytesBE(ulong @value) {}
     public static byte[] GetBytesBE(ushort @value) {}
     public static void GetBytesBE(UInt24 @value, byte[] bytes, int startIndex) {}
     public static void GetBytesBE(UInt48 @value, byte[] bytes, int startIndex) {}
     public static void GetBytesBE(int @value, byte[] bytes, int startIndex) {}
     public static void GetBytesBE(long @value, byte[] bytes, int startIndex) {}
     public static void GetBytesBE(short @value, byte[] bytes, int startIndex) {}
     public static void GetBytesBE(uint @value, byte[] bytes, int startIndex) {}
     public static void GetBytesBE(ulong @value, byte[] bytes, int startIndex) {}
     public static void GetBytesBE(ushort @value, byte[] bytes, int startIndex) {}
     public static byte[] GetBytesLE(UInt24 @value) {}
     public static byte[] GetBytesLE(UInt48 @value) {}
     public static byte[] GetBytesLE(int @value) {}
     public static byte[] GetBytesLE(long @value) {}
     public static byte[] GetBytesLE(short @value) {}
     public static byte[] GetBytesLE(uint @value) {}
     public static byte[] GetBytesLE(ulong @value) {}
     public static byte[] GetBytesLE(ushort @value) {}
     public static void GetBytesLE(UInt24 @value, byte[] bytes, int startIndex) {}
     public static void GetBytesLE(UInt48 @value, byte[] bytes, int startIndex) {}
     public static void GetBytesLE(int @value, byte[] bytes, int startIndex) {}
     public static void GetBytesLE(long @value, byte[] bytes, int startIndex) {}
     public static void GetBytesLE(short @value, byte[] bytes, int startIndex) {}
     public static void GetBytesLE(uint @value, byte[] bytes, int startIndex) {}
     public static void GetBytesLE(ulong @value, byte[] bytes, int startIndex) {}
     public static void GetBytesLE(ushort @value, byte[] bytes, int startIndex) {}
     public static short ToInt16(byte[] @value, int startIndex, bool asLittleEndian) {}
     public static short ToInt16BE(byte[] @value, int startIndex) {}
     public static short ToInt16LE(byte[] @value, int startIndex) {}
     public static int ToInt32(byte[] @value, int startIndex, bool asLittleEndian) {}
     public static int ToInt32BE(byte[] @value, int startIndex) {}
     public static int ToInt32LE(byte[] @value, int startIndex) {}
     public static long ToInt64(byte[] @value, int startIndex, bool asLittleEndian) {}
     public static long ToInt64BE(byte[] @value, int startIndex) {}
     public static long ToInt64LE(byte[] @value, int startIndex) {}
     public static ushort ToUInt16(byte[] @value, int startIndex, bool asLittleEndian) {}
     public static ushort ToUInt16BE(byte[] @value, int startIndex) {}
     public static ushort ToUInt16LE(byte[] @value, int startIndex) {}
     public static UInt24 ToUInt24(byte[] @value, int startIndex, bool asLittleEndian) {}
     public static UInt24 ToUInt24BE(byte[] @value, int startIndex) {}
     public static UInt24 ToUInt24LE(byte[] @value, int startIndex) {}
     public static uint ToUInt32(byte[] @value, int startIndex, bool asLittleEndian) {}
     public static uint ToUInt32BE(byte[] @value, int startIndex) {}
     public static uint ToUInt32LE(byte[] @value, int startIndex) {}
     public static UInt48 ToUInt48(byte[] @value, int startIndex, bool asLittleEndian) {}
     public static UInt48 ToUInt48BE(byte[] @value, int startIndex) {}
     public static UInt48 ToUInt48LE(byte[] @value, int startIndex) {}
     public static ulong ToUInt64(byte[] @value, int startIndex, bool asLittleEndian) {}
     public static ulong ToUInt64BE(byte[] @va...
Read more

Smdn.Fundamental.Stream version 3.0.4

12 May 11:17
90e5954
Compare
Choose a tag to compare

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.Fundamental.Stream/Smdn.Fundamental.Stream-net45.apilist.cs b/doc/api-list/Smdn.Fundamental.Stream/Smdn.Fundamental.Stream-net45.apilist.cs
index fc096f30..82b7a2bd 100644
--- a/doc/api-list/Smdn.Fundamental.Stream/Smdn.Fundamental.Stream-net45.apilist.cs
+++ b/doc/api-list/Smdn.Fundamental.Stream/Smdn.Fundamental.Stream-net45.apilist.cs
@@ -1,137 +1,137 @@
-// Smdn.Fundamental.Stream.dll (Smdn.Fundamental.Stream-3.0.3)
+// Smdn.Fundamental.Stream.dll (Smdn.Fundamental.Stream-3.0.4)
 //   Name: Smdn.Fundamental.Stream
-//   AssemblyVersion: 3.0.3.0
-//   InformationalVersion: 3.0.3+e21051dca94564f87fa26449ca8be59194f51ead
+//   AssemblyVersion: 3.0.4.0
+//   InformationalVersion: 3.0.4+50cd3a5ddb6026e07a1bf790427b237a96c07bb8
 //   TargetFramework: .NETFramework,Version=v4.5
 //   Configuration: Release
 //   Referenced assemblies:
 //     Smdn.Fundamental.Exception, Version=3.0.3.0, Culture=neutral
 //     System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
 //     mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
 
 using System;
 using System.Buffers;
 using System.IO;
 using System.Threading;
 using System.Threading.Tasks;
 using Smdn.IO.Streams;
 
 namespace Smdn.IO {
   [TypeForwardedFrom("Smdn, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null")]
   public static class StreamExtensions {
     public static void CopyTo(this Stream stream, BinaryWriter writer, int bufferSize = 10240) {}
     public static Task CopyToAsync(this Stream stream, BinaryWriter writer, int bufferSize = 10240, CancellationToken cancellationToken = default) {}
     public static byte[] ReadToEnd(this Stream stream, int readBufferSize = 4096, int initialCapacity = 4096) {}
     public static Task<byte[]> ReadToEndAsync(this Stream stream, int readBufferSize = 4096, int initialCapacity = 4096, CancellationToken cancellationToken = default) {}
     public static void Write(this Stream stream, ArraySegment<byte> segment) {}
     public static void Write(this Stream stream, ReadOnlySequence<byte> sequence) {}
     public static Task WriteAsync(this Stream stream, ReadOnlySequence<byte> sequence, CancellationToken cancellationToken = default) {}
   }
 }
 
 namespace Smdn.IO.Streams {
   [TypeForwardedFrom("Smdn, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null")]
   public sealed class ChunkedMemoryStream : Stream {
     public delegate ChunkedMemoryStream.Chunk Allocator(int chunkSize);
 
     public abstract class Chunk : IDisposable {
       public byte[] Data;
 
       protected Chunk() {}
 
       public abstract void Dispose();
     }
 
     public static readonly int DefaultChunkSize = 40960;
 
     public ChunkedMemoryStream() {}
     public ChunkedMemoryStream(ChunkedMemoryStream.Allocator allocator) {}
     public ChunkedMemoryStream(int chunkSize) {}
     public ChunkedMemoryStream(int chunkSize, ChunkedMemoryStream.Allocator allocator) {}
 
     public override bool CanRead { get; }
     public override bool CanSeek { get; }
     public override bool CanTimeout { get; }
     public override bool CanWrite { get; }
     public int ChunkSize { get; }
     public override long Length { get; }
     public override long Position { get; set; }
 
     public override void Close() {}
     public override void Flush() {}
     public override int Read(byte[] buffer, int offset, int count) {}
     public override int ReadByte() {}
     public override long Seek(long offset, SeekOrigin origin) {}
     public override void SetLength(long @value) {}
     public byte[] ToArray() {}
     public override void Write(byte[] buffer, int offset, int count) {}
     public override void WriteByte(byte @value) {}
   }
 
   [TypeForwardedFrom("Smdn, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null")]
   public class NonClosingStream : Stream {
     public NonClosingStream(Stream innerStream) {}
     public NonClosingStream(Stream innerStream, bool writable) {}
 
     public override bool CanRead { get; }
     public override bool CanSeek { get; }
     public override bool CanTimeout { get; }
     public override bool CanWrite { get; }
     public Stream InnerStream { get; }
     public override long Length { get; }
     public override long Position { get; set; }
 
     public override void Close() {}
     public override void Flush() {}
     public override int Read(byte[] buffer, int offset, int count) {}
     public override Task<int> ReadAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken) {}
     public override long Seek(long offset, SeekOrigin origin) {}
     public override void SetLength(long @value) {}
     public override void Write(byte[] buffer, int offset, int count) {}
     public override Task WriteAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken) {}
   }
 
   [TypeForwardedFrom("Smdn, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null")]
   public class PartialStream :
     Stream,
     ICloneable
   {
     public static PartialStream CreateNonNested(Stream innerOrPartialStream, long length) {}
     public static PartialStream CreateNonNested(Stream innerOrPartialStream, long length, bool seekToBegin) {}
     public static PartialStream CreateNonNested(Stream innerOrPartialStream, long offset, long length) {}
     public static PartialStream CreateNonNested(Stream innerOrPartialStream, long offset, long length, bool seekToBegin) {}
 
     public PartialStream(Stream innerStream, long offset) {}
     public PartialStream(Stream innerStream, long offset, bool @readonly, bool leaveInnerStreamOpen) {}
     public PartialStream(Stream innerStream, long offset, bool @readonly, bool leaveInnerStreamOpen, bool seekToBegin) {}
     public PartialStream(Stream innerStream, long offset, bool leaveInnerStreamOpen) {}
     public PartialStream(Stream innerStream, long offset, long length) {}
     public PartialStream(Stream innerStream, long offset, long length, bool @readonly, bool leaveInnerStreamOpen) {}
     public PartialStream(Stream innerStream, long offset, long length, bool @readonly, bool leaveInnerStreamOpen, bool seekToBegin) {}
     public PartialStream(Stream innerStream, long offset, long length, bool leaveInnerStreamOpen) {}
 
     public override bool CanRead { get; }
     public override bool CanSeek { get; }
     public override bool CanTimeout { get; }
     public override bool CanWrite { get; }
     public Stream InnerStream { get; }
     public bool LeaveInnerStreamOpen { get; }
     public override long Length { get; }
     public override long Position { get; set; }
 
     public PartialStream Clone() {}
     public override void Close() {}
     public override void Flush() {}
     protected long GetRemainderLength() {}
     public override int Read(byte[] buffer, int offset, int count) {}
     public override Task<int> ReadAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken) {}
     public override int ReadByte() {}
     public override long Seek(long offset, SeekOrigin origin) {}
     public override void SetLength(long @value) {}
     object ICloneable.Clone() {}
     public override void Write(byte[] buffer, int offset, int count) {}
     public override Task WriteAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken = default) {}
   }
 }
-// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.1.7.0.
+// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.2.1.0.
 // Smdn.Reflection.ReverseGenerating.ListApi.Core v1.2.0.0 (/~https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
diff --git a/doc/api-list/Smdn.Fundamental.Stream/Smdn.Fundamental.Stream-net46.apilist.cs b/doc/api-list/Smdn.Fundamental.Stream/Smdn.Fundamental.Stream-net46.apilist.cs
index 6f122166..2b806700 100644
--- a/doc/api-list/Smdn.Fundamental.Stream/Smdn.Fundamental.Stream-net46.apilist.cs
+++ b/doc/api-list/Smd...
Read more

Smdn.Fundamental.RuntimeInformation version 3.0.3

12 May 11:20
f01b623
Compare
Choose a tag to compare

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.Fundamental.RuntimeInformation/Smdn.Fundamental.RuntimeInformation-net45.apilist.cs b/doc/api-list/Smdn.Fundamental.RuntimeInformation/Smdn.Fundamental.RuntimeInformation-net45.apilist.cs
index 2e4ff50d..cb0d7658 100644
--- a/doc/api-list/Smdn.Fundamental.RuntimeInformation/Smdn.Fundamental.RuntimeInformation-net45.apilist.cs
+++ b/doc/api-list/Smdn.Fundamental.RuntimeInformation/Smdn.Fundamental.RuntimeInformation-net45.apilist.cs
@@ -1,49 +1,49 @@
-// Smdn.Fundamental.RuntimeInformation.dll (Smdn.Fundamental.RuntimeInformation-3.0.2)
+// Smdn.Fundamental.RuntimeInformation.dll (Smdn.Fundamental.RuntimeInformation-3.0.3)
 //   Name: Smdn.Fundamental.RuntimeInformation
-//   AssemblyVersion: 3.0.2.0
-//   InformationalVersion: 3.0.2+2b7169e01e02e90474ecf7f27e6d37aaa0a385f9
+//   AssemblyVersion: 3.0.3.0
+//   InformationalVersion: 3.0.3+50cd3a5ddb6026e07a1bf790427b237a96c07bb8
 //   TargetFramework: .NETFramework,Version=v4.5
 //   Configuration: Release
 //   Referenced assemblies:
 //     System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
 //     System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
 //     System.Runtime.InteropServices.RuntimeInformation, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 //     mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
 #nullable enable annotations
 
 using System;
 using System.Runtime.Versioning;
 using Smdn;
 
 namespace Smdn {
   public enum RuntimeEnvironment : int {
     Mono = 2,
     NetCore = 3,
     NetFx = 1,
     Unknown = 0,
   }
 
   public static class FrameworkNameUtils {
     public static bool TryGetMoniker(FrameworkName? frameworkName, out string? frameworkMoniker) {}
     public static bool TryGetMoniker(string? frameworkName, out string? frameworkMoniker) {}
   }
 
   [TypeForwardedFrom("Smdn, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null")]
   public static class Runtime {
     public static bool IsRunningOnDotNet5OrOver { get; }
     public static bool IsRunningOnMono { get; }
     public static bool IsRunningOnNetCore { get; }
     public static bool IsRunningOnNetFx { get; }
     [Obsolete("use Smdn.Platform.IsRunningOnUnix")]
     public static bool IsRunningOnUnix { get; }
     [Obsolete("use Smdn.Platform.IsRunningOnWindows")]
     public static bool IsRunningOnWindows { get; }
     public static string Name { get; }
     public static RuntimeEnvironment RuntimeEnvironment { get; }
     public static bool SupportsIanaTimeZoneName { get; }
     public static Version? Version { get; }
     public static string VersionString { get; }
   }
 }
-// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.1.7.0.
+// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.2.1.0.
 // Smdn.Reflection.ReverseGenerating.ListApi.Core v1.2.0.0 (/~https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
diff --git a/doc/api-list/Smdn.Fundamental.RuntimeInformation/Smdn.Fundamental.RuntimeInformation-net47.apilist.cs b/doc/api-list/Smdn.Fundamental.RuntimeInformation/Smdn.Fundamental.RuntimeInformation-net47.apilist.cs
index e78de301..a892b23d 100644
--- a/doc/api-list/Smdn.Fundamental.RuntimeInformation/Smdn.Fundamental.RuntimeInformation-net47.apilist.cs
+++ b/doc/api-list/Smdn.Fundamental.RuntimeInformation/Smdn.Fundamental.RuntimeInformation-net47.apilist.cs
@@ -1,49 +1,49 @@
-// Smdn.Fundamental.RuntimeInformation.dll (Smdn.Fundamental.RuntimeInformation-3.0.2)
+// Smdn.Fundamental.RuntimeInformation.dll (Smdn.Fundamental.RuntimeInformation-3.0.3)
 //   Name: Smdn.Fundamental.RuntimeInformation
-//   AssemblyVersion: 3.0.2.0
-//   InformationalVersion: 3.0.2+2b7169e01e02e90474ecf7f27e6d37aaa0a385f9
+//   AssemblyVersion: 3.0.3.0
+//   InformationalVersion: 3.0.3+50cd3a5ddb6026e07a1bf790427b237a96c07bb8
 //   TargetFramework: .NETFramework,Version=v4.7
 //   Configuration: Release
 //   Referenced assemblies:
 //     System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
 //     System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
 //     System.Runtime.InteropServices.RuntimeInformation, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 //     mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
 #nullable enable annotations
 
 using System;
 using System.Runtime.Versioning;
 using Smdn;
 
 namespace Smdn {
   public enum RuntimeEnvironment : int {
     Mono = 2,
     NetCore = 3,
     NetFx = 1,
     Unknown = 0,
   }
 
   public static class FrameworkNameUtils {
     public static bool TryGetMoniker(FrameworkName? frameworkName, out string? frameworkMoniker) {}
     public static bool TryGetMoniker(string? frameworkName, out string? frameworkMoniker) {}
   }
 
   [TypeForwardedFrom("Smdn, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null")]
   public static class Runtime {
     public static bool IsRunningOnDotNet5OrOver { get; }
     public static bool IsRunningOnMono { get; }
     public static bool IsRunningOnNetCore { get; }
     public static bool IsRunningOnNetFx { get; }
     [Obsolete("use Smdn.Platform.IsRunningOnUnix")]
     public static bool IsRunningOnUnix { get; }
     [Obsolete("use Smdn.Platform.IsRunningOnWindows")]
     public static bool IsRunningOnWindows { get; }
     public static string Name { get; }
     public static RuntimeEnvironment RuntimeEnvironment { get; }
     public static bool SupportsIanaTimeZoneName { get; }
     public static Version? Version { get; }
     public static string VersionString { get; }
   }
 }
-// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.1.7.0.
+// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.2.1.0.
 // Smdn.Reflection.ReverseGenerating.ListApi.Core v1.2.0.0 (/~https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
diff --git a/doc/api-list/Smdn.Fundamental.RuntimeInformation/Smdn.Fundamental.RuntimeInformation-net6.0.apilist.cs b/doc/api-list/Smdn.Fundamental.RuntimeInformation/Smdn.Fundamental.RuntimeInformation-net6.0.apilist.cs
index 694f7a82..7bba3007 100644
--- a/doc/api-list/Smdn.Fundamental.RuntimeInformation/Smdn.Fundamental.RuntimeInformation-net6.0.apilist.cs
+++ b/doc/api-list/Smdn.Fundamental.RuntimeInformation/Smdn.Fundamental.RuntimeInformation-net6.0.apilist.cs
@@ -1,49 +1,49 @@
-// Smdn.Fundamental.RuntimeInformation.dll (Smdn.Fundamental.RuntimeInformation-3.0.2)
+// Smdn.Fundamental.RuntimeInformation.dll (Smdn.Fundamental.RuntimeInformation-3.0.3)
 //   Name: Smdn.Fundamental.RuntimeInformation
-//   AssemblyVersion: 3.0.2.0
-//   InformationalVersion: 3.0.2+2b7169e01e02e90474ecf7f27e6d37aaa0a385f9
+//   AssemblyVersion: 3.0.3.0
+//   InformationalVersion: 3.0.3+50cd3a5ddb6026e07a1bf790427b237a96c07bb8
 //   TargetFramework: .NETCoreApp,Version=v6.0
 //   Configuration: Release
 //   Referenced assemblies:
 //     System.Linq, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 //     System.Runtime, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 //     System.Runtime.InteropServices.RuntimeInformation, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 #nullable enable annotations
 
 using System;
 using System.Diagnostics.CodeAnalysis;
 using System.Runtime.Versioning;
 using Smdn;
 
 namespace Smdn {
   public enum RuntimeEnvironment : int {
     Mono = 2,
     NetCore = 3,
     NetFx = 1,
     Unknown = 0,
   }
 
   public static class FrameworkNameUtils {
     public static bool TryGetMoniker(FrameworkName? frameworkName, [NotNullWhen(true)] out string? frameworkMoniker) {}
     public static bool TryGetMoniker(string? frameworkName, [NotNullWhen(true)] out string? frameworkMoniker) {}
   }
 
   [TypeForwardedFrom("Smdn, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null")]
   public static class Runtime {
     public static bool IsRunningOnDotNet5OrOver { get; }
     public static bool IsRunningOnMono { get; }
     public static bool IsRunningOnNetCore { get; }
     public static bool IsRunningOnNetFx { get; }
     [Obsolete("use Smdn.Platform.IsRunningOnUnix")]
     public static bool IsRunningOnUnix { get; }
     [Obsolete("use Smdn.Platform.IsRunningOnWindows")]
     public static bool IsRunningOnWindows { get; }
     public static string Name { get; }
     public static RuntimeEnvironment RuntimeEnvironment { get; }
     public static bool SupportsIanaTimeZoneName { get; }
     public static Version? Version...
Read more