Releases: smdn/Smdn.Fundamentals
Smdn.Fundamental.Uuid version 3.2.0
Released package
Release notes
The full release notes are available at gist.
Change log
Change log in this release:
- 2023-12-30 update assembly version
- 2023-12-30 enable nullable
- 2023-12-30 improved UUID to GUID conversion to not mediate strings
- 2023-12-30 follow the changes of IComparisonOperators
- 2023-12-24 use symbols defined by Smdn.MSBuild.DefineConstants.NETSdkApi instead
- 2023-12-19 enable the 'generic math' feature on .NET 8.0 or over
- 2023-12-19 fix warning IDE1006: Naming rule violation
- 2023-12-19 disable warning CS1591
- 2023-05-11 simplify
- 2023-05-11 suppress code analysis warnings
- 2023-05-11 compliant IDE0030; empty the root namespace so that the namespace is determined only by the directory name
- 2023-05-10 remove unnecessary null conditional operators
API changes
API changes in this release:
diff --git a/doc/api-list/Smdn.Fundamental.Uuid/Smdn.Fundamental.Uuid-net45.apilist.cs b/doc/api-list/Smdn.Fundamental.Uuid/Smdn.Fundamental.Uuid-net45.apilist.cs
index 2bef5a69..57c4dd58 100644
--- a/doc/api-list/Smdn.Fundamental.Uuid/Smdn.Fundamental.Uuid-net45.apilist.cs
+++ b/doc/api-list/Smdn.Fundamental.Uuid/Smdn.Fundamental.Uuid-net45.apilist.cs
@@ -1,210 +1,211 @@
-// Smdn.Fundamental.Uuid.dll (Smdn.Fundamental.Uuid-3.1.1)
+// Smdn.Fundamental.Uuid.dll (Smdn.Fundamental.Uuid-3.2.0)
// Name: Smdn.Fundamental.Uuid
-// AssemblyVersion: 3.1.1.0
-// InformationalVersion: 3.1.1+b57b4cba29f01d9537ede2ca39db9abb783b20da
+// AssemblyVersion: 3.2.0.0
+// InformationalVersion: 3.2.0+7357848de1363dbe011b04607e6d6f97dd2b4e57
// TargetFramework: .NETFramework,Version=v4.5
// Configuration: Release
// Referenced assemblies:
// Smdn.Fundamental.Exception, Version=3.0.3.0, Culture=neutral
// Smdn.Fundamental.Shim, Version=3.1.4.0, Culture=neutral
// System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
// System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
// System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
// System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
// mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+#nullable enable annotations
using System;
using System.Net.NetworkInformation;
using System.Security.Cryptography;
using Smdn;
using Smdn.Formats.UniversallyUniqueIdentifiers;
namespace Smdn {
[TypeForwardedFrom("Smdn, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null")]
public enum UuidVersion : byte {
NameBasedMD5Hash = 3,
NameBasedSHA1Hash = 5,
None = 0,
RandomNumber = 4,
TimeBased = 1,
Version1 = 1,
Version2 = 2,
Version3 = 3,
Version4 = 4,
Version5 = 5,
}
[TypeForwardedFrom("Smdn, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null")]
[StructLayout(LayoutKind.Explicit, Pack = 1)]
public readonly struct Uuid :
IComparable,
IComparable<Guid>,
IComparable<Uuid>,
IEquatable<Guid>,
IEquatable<Uuid>,
IFormattable
{
public enum Namespace : int {
RFC4122Dns = 1806153744,
RFC4122IsoOid = 1806153746,
RFC4122Url = 1806153745,
RFC4122X500 = 1806153748,
}
public enum Variant : byte {
MicrosoftReserved = 192,
NCSReserved = 0,
RFC4122 = 128,
Reserved = 224,
}
public static readonly Uuid Nil; // = "00000000-0000-0000-0000-000000000000"
public static readonly Uuid RFC4122NamespaceDns; // = "6ba7b810-9dad-11d1-80b4-00c04fd430c8"
public static readonly Uuid RFC4122NamespaceIsoOid; // = "6ba7b812-9dad-11d1-80b4-00c04fd430c8"
public static readonly Uuid RFC4122NamespaceUrl; // = "6ba7b811-9dad-11d1-80b4-00c04fd430c8"
public static readonly Uuid RFC4122NamespaceX500; // = "6ba7b814-9dad-11d1-80b4-00c04fd430c8"
public static Uuid CreateFromRandomNumber() {}
public static Uuid CreateFromRandomNumber(RandomNumberGenerator rng) {}
public static Uuid CreateFromRandomNumber(ReadOnlySpan<byte> randomNumber) {}
public static Uuid CreateFromRandomNumber(byte[] randomNumber) {}
public static Uuid CreateNameBased(ReadOnlySpan<byte> name, Uuid namespaceId, UuidVersion version) {}
public static Uuid CreateNameBased(ReadOnlySpan<byte> name, Uuid.Namespace ns, UuidVersion version) {}
public static Uuid CreateNameBased(Uri url, UuidVersion version) {}
public static Uuid CreateNameBased(byte[] name, Uuid namespaceId, UuidVersion version) {}
public static Uuid CreateNameBased(byte[] name, Uuid.Namespace ns, UuidVersion version) {}
public static Uuid CreateNameBased(string name, Uuid namespaceId, UuidVersion version) {}
public static Uuid CreateNameBased(string name, Uuid.Namespace ns, UuidVersion version) {}
public static Uuid CreateNameBasedMD5(ReadOnlySpan<byte> name, Uuid.Namespace ns) {}
public static Uuid CreateNameBasedMD5(Uri url) {}
public static Uuid CreateNameBasedMD5(byte[] name, Uuid.Namespace ns) {}
public static Uuid CreateNameBasedMD5(string name, Uuid.Namespace ns) {}
public static Uuid CreateNameBasedSHA1(ReadOnlySpan<byte> name, Uuid.Namespace ns) {}
public static Uuid CreateNameBasedSHA1(Uri url) {}
public static Uuid CreateNameBasedSHA1(byte[] name, Uuid.Namespace ns) {}
public static Uuid CreateNameBasedSHA1(string name, Uuid.Namespace ns) {}
public static Uuid CreateTimeBased() {}
public static Uuid CreateTimeBased(DateTime timestamp, int clock) {}
public static Uuid CreateTimeBased(DateTime timestamp, int clock, PhysicalAddress node) {}
public static Uuid CreateTimeBased(DateTime timestamp, int clock, byte[] node) {}
public static Uuid CreateTimeBased(PhysicalAddress node) {}
public static Uuid CreateTimeBased(byte[] node) {}
public static Uuid NewUuid() {}
- public static Uuid Parse(ReadOnlySpan<char> s, IFormatProvider provider = null) {}
- public static Uuid Parse(string s, IFormatProvider provider = null) {}
- public static bool TryParse(ReadOnlySpan<char> s, IFormatProvider provider, out Uuid result) {}
+ public static Uuid Parse(ReadOnlySpan<char> s, IFormatProvider? provider = null) {}
+ public static Uuid Parse(string s, IFormatProvider? provider = null) {}
+ public static bool TryParse(ReadOnlySpan<char> s, IFormatProvider? provider, out Uuid result) {}
public static bool TryParse(ReadOnlySpan<char> s, out Uuid result) {}
- public static bool TryParse(string s, IFormatProvider provider, out Uuid result) {}
+ public static bool TryParse(string? s, IFormatProvider? provider, out Uuid result) {}
public static bool operator == (Uuid x, Uuid y) {}
public static explicit operator Guid(Uuid @value) {}
public static explicit operator Uuid(Guid @value) {}
public static bool operator > (Uuid x, Uuid y) {}
public static bool operator >= (Uuid x, Uuid y) {}
public static bool operator != (Uuid x, Uuid y) {}
public static bool operator < (Uuid x, Uuid y) {}
public static bool operator <= (Uuid x, Uuid y) {}
public Uuid(Guid guidValue) {}
public Uuid(ReadOnlySpan<byte> octets) {}
public Uuid(ReadOnlySpan<byte> octets, bool isBigEndian) {}
public Uuid(byte[] octets) {}
public Uuid(byte[] octets, bool isBigEndian) {}
public Uuid(byte[] octets, int index, bool isBigEndian = true) {}
public Uuid(string uuid) {}
public Uuid(uint time_low, ushort time_mid, ushort time_hi_and_version, byte clock_seq_hi_and_reserved, byte clock_seq_low, PhysicalAddress node) {}
public Uuid(uint time_low, ushort time_mid, ushort time_hi_and_version, byte clock_seq_hi_and_reserved, byte clock_seq_low, ReadOnlySpan<byte> node) {}
public Uuid(uint time_low, ushort time_mid, ushort time_hi_and_version, byte clock_seq_hi_and_reserved, byte clock_seq_low, byte node0, byte node1, byte node2, byte node3, byte node4, byte node5) {}
public Uuid(uint time_low, ushort time_mid, ushort time_hi_and_version, byte clock_seq_hi_and_reserved, byte clock_seq_low, byte[] node) {}
public int Clock { get; }
public byte ClockSeqHighAndReserved { get; }
public byte ClockSeqLow { get; }
public string IEEE802MacAddress { get; }
public byte[] Node { get; }
public PhysicalAddress PhysicalAddress { get; }
public ushort TimeHighAndVersion { get; }
public uint TimeLow { get; }
public ushort TimeMid { get; }
public DateTime Timestamp { get; }
public Uuid.V...
Smdn.Fundamental.MimeType version 4.0.1
Released package
Release notes
The full release notes are available at gist.
Change log
Change log in this release:
- 2023-12-30 update assembly version
- 2023-12-30 annotate NotNullIfNotNull to explicit operator string?
- 2023-12-30 increase the validation baseline to 4.0.0
API changes
API changes in this release:
diff --git a/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-net471.apilist.cs b/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-net471.apilist.cs
index 48332222..19df3652 100644
--- a/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-net471.apilist.cs
+++ b/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-net471.apilist.cs
@@ -1,119 +1,119 @@
-// Smdn.Fundamental.MimeType.dll (Smdn.Fundamental.MimeType-4.0.0)
+// Smdn.Fundamental.MimeType.dll (Smdn.Fundamental.MimeType-4.0.1)
// Name: Smdn.Fundamental.MimeType
-// AssemblyVersion: 4.0.0.0
-// InformationalVersion: 4.0.0+60fc1fe7b4b6300b74b353f8d665525b503427ed
+// AssemblyVersion: 4.0.1.0
+// InformationalVersion: 4.0.1+3675184afb36291ccc35de4ad300197aca5f85db
// TargetFramework: .NETFramework,Version=v4.7.1
// Configuration: Release
// Referenced assemblies:
// Smdn.Fundamental.Exception, Version=3.0.3.0, Culture=neutral
// System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
// System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
// mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
#nullable enable annotations
using System;
using System.Collections.Generic;
using Smdn;
namespace Smdn {
[TypeForwardedFrom("Smdn, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null")]
public sealed class MimeType :
IEquatable<MimeType>,
IEquatable<string>,
IFormattable
{
public static readonly MimeType ApplicationOctetStream; // = "application/octet-stream"
public static readonly MimeType ApplicationXWwwFormUrlEncoded; // = "application/x-www-form-urlencoded"
public static readonly MimeType MessageExternalBody; // = "message/external-body"
public static readonly MimeType MessagePartial; // = "message/partial"
public static readonly MimeType MessageRfc822; // = "message/rfc822"
public static readonly MimeType MultipartAlternative; // = "multipart/alternative"
public static readonly MimeType MultipartDigest; // = "multipart/digest"
public static readonly MimeType MultipartFormData; // = "multipart/form-data"
public static readonly MimeType MultipartMixed; // = "multipart/mixed"
public static readonly MimeType MultipartParallel; // = "multipart/parallel"
public static readonly MimeType TextHtml; // = "text/html"
public static readonly MimeType TextPlain; // = "text/plain"
public static readonly MimeType TextRtf; // = "text/rtf"
public static MimeType CreateApplicationType(string subType) {}
public static MimeType CreateAudioType(string subType) {}
public static MimeType CreateFontType(string subType) {}
public static MimeType CreateImageType(string subType) {}
public static MimeType CreateModelType(string subType) {}
public static MimeType CreateMultipartType(string subType) {}
public static MimeType CreateTextType(string subType) {}
public static MimeType CreateVideoType(string subType) {}
public static IEnumerable<string> FindExtensionsByMimeType(MimeType mimeType) {}
public static IEnumerable<string> FindExtensionsByMimeType(MimeType mimeType, string mimeTypesFile) {}
public static IEnumerable<string> FindExtensionsByMimeType(string mimeType) {}
public static IEnumerable<string> FindExtensionsByMimeType(string mimeType, string mimeTypesFile) {}
public static MimeType? FindMimeTypeByExtension(string extensionOrPath) {}
public static MimeType? FindMimeTypeByExtension(string extensionOrPath, string mimeTypesFile) {}
public static MimeType Parse(ReadOnlySpan<char> s, IFormatProvider? provider = null) {}
public static MimeType Parse(string s, IFormatProvider? provider = null) {}
public static bool TryParse(ReadOnlySpan<char> s, IFormatProvider? provider, out MimeType result) {}
public static bool TryParse(string? s, IFormatProvider? provider, out MimeType result) {}
public static bool TryParse(string? s, out MimeType? result) {}
public static explicit operator string?(MimeType? mimeType) {}
public MimeType((string Type, string SubType) mimeType) {}
public MimeType(ReadOnlySpan<char> type, ReadOnlySpan<char> subType) {}
public MimeType(string mimeType) {}
public MimeType(string type, string subType) {}
public bool IsApplication { get; }
public bool IsApplicationOctetStream { get; }
public bool IsApplicationXWwwFormUrlEncoded { get; }
public bool IsAudio { get; }
public bool IsFont { get; }
public bool IsImage { get; }
public bool IsMessage { get; }
public bool IsMessageExternalBody { get; }
public bool IsMessagePartial { get; }
public bool IsMessageRfc822 { get; }
public bool IsModel { get; }
public bool IsMultipart { get; }
public bool IsMultipartAlternative { get; }
public bool IsMultipartDigest { get; }
public bool IsMultipartFormData { get; }
public bool IsMultipartMixed { get; }
public bool IsMultipartParallel { get; }
public bool IsText { get; }
public bool IsTextHtml { get; }
public bool IsTextPlain { get; }
public bool IsVideo { get; }
public ReadOnlyMemory<char> SubTypeMemory { get; }
public ReadOnlySpan<char> SubTypeSpan { get; }
public ReadOnlyMemory<char> TypeMemory { get; }
public ReadOnlySpan<char> TypeSpan { get; }
public void Deconstruct(out string type, out string subType) {}
public bool Equals(MimeType? other) {}
public bool Equals(MimeType? other, StringComparison comparisonType) {}
public bool Equals(ReadOnlySpan<char> other, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
public bool Equals(string? other) {}
public bool Equals(string? other, StringComparison comparisonType) {}
public override bool Equals(object? obj) {}
public int GetHashCode(StringComparison comparisonType) {}
public override int GetHashCode() {}
public bool SubTypeEquals(MimeType? mimeType, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
public bool SubTypeEquals(ReadOnlySpan<char> subType, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
public bool SubTypeEquals(string? subType, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
public override string ToString() {}
public string ToString(string? format, IFormatProvider? formatProvider) {}
public bool TryFormat(Span<char> destination, out int charsWritten, ReadOnlySpan<char> format, IFormatProvider? provider) {}
public bool TypeEquals(MimeType? mimeType, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
public bool TypeEquals(ReadOnlySpan<char> type, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
public bool TypeEquals(string? type, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
}
}
namespace Smdn.Formats.Mime {
public static class MimeTypeStringExtensions {
public static (string Type, string SubType) Split(string? mimeType) {}
public static bool TrySplit(string? mimeType, out (string Type, string SubType) result) {}
}
}
// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.3.2.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.MimeType/Smdn.Fundamental.MimeType-net6.0.apilist.cs b/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-net6.0.apilist.cs
index 0a258ff1..091c2b81 100644
--- a/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-net6.0.apilist.cs
+++ b/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-net6.0.apilist.cs
@@ -1,121 +1,121 @@
-// Smdn.Fundamental.MimeType.dll (Smdn.Fundamental.MimeType-4.0.0)
+// Smdn.Fundamental.MimeType.dll (Smdn.Fundamental.MimeType-4.0.1)
// Name: Smdn.Fundamental.MimeType
-// AssemblyVersion: 4.0.0.0
-// InformationalVersion: 4.0.0+60fc1fe7b4b6300b74b353f8d665525b503427ed
+// AssemblyVersion: 4.0.1.0
+// InformationalVersion: 4.0.1+3675184afb36291ccc35de4ad300197aca5f85db
// TargetFramework: .NETCoreApp,Version=v6.0
// Configuration: Release
// Referenced assemblies:
// Microsoft.Win32.Registry, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// Smdn.Fundamental.Exception, Version=3.0.3.0, Culture=neutral
// System.Memory, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
// 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.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using Smdn;
namespace Smdn {
[TypeForwardedFrom("Smdn, ...
Smdn.MSBuild.DefineConstants.NETSdkApi version 1.4.1
Released package
Release notes
The full release notes are available at gist.
Change log
Change log in this release:
- 2023-12-30 add package version
- 2023-12-30 add StringComparer.Create
- 2023-12-30 add StringComparer/StringComparison.InvariantCulture[IgnoreCase]
Notes
Full Changelog: releases/Smdn.MSBuild.DefineConstants.NETSdkApi-1.4.0...releases/Smdn.MSBuild.DefineConstants.NETSdkApi-1.4.1
Smdn.Fundamental.MimeType version 4.0.0
Released package
Release notes
The full release notes are available at gist.
Change log
Change log in this release:
- 2023-12-30 update assembly version
- 2023-12-30 add CompatibilitySuppressions.xml
- 2023-12-30 use symbols defined by Smdn.MSBuild.DefineConstants.NETSdkApi instead
- 2023-12-30 add fallback implementation for Encoding.GetByteCount(ReadOnlySpan<char>)
- 2023-12-30 reduce allocation on parsing UTF-8 sequence
- 2023-12-30 modify not to use Lazy<T>
- 2023-12-30 reduce allocation on parsing
- 2023-12-30 reduce duplicate codes
- 2023-12-30 validate that the input type/subtype is a valid ASCII sequence
- 2023-12-30 add GetHashCode(StringComparison)
- 2023-12-30 define and use constant for the delimiter char
- 2023-12-30 hold mime type value with ReadOnlyMemory<char> instead of strings for type and sub type
- 2023-12-30 fix casing for parameter name
- 2023-12-30 delete obsolete members and change default comparison to OrdinalIgnoreCase
- 2023-12-30 make MimeType sealed class
- 2023-12-30 delete obsolete members
- 2023-12-30 fix casing of tuple element name
- 2023-12-30 drop target framework net45
API changes
API changes in this release:
diff --git a/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-net45.apilist.cs b/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-net45.apilist.cs
deleted file mode 100644
index 2ce34509..00000000
--- a/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-net45.apilist.cs
+++ /dev/null
@@ -1,143 +0,0 @@
-// Smdn.Fundamental.MimeType.dll (Smdn.Fundamental.MimeType-3.2.0)
-// Name: Smdn.Fundamental.MimeType
-// AssemblyVersion: 3.2.0.0
-// InformationalVersion: 3.2.0+7d669250561607ce9ee58383739596c1727ae861
-// TargetFramework: .NETFramework,Version=v4.5
-// Configuration: Release
-// Referenced assemblies:
-// Smdn.Fundamental.Exception, Version=3.0.3.0, Culture=neutral
-// System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
-// System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
-// System.Runtime.InteropServices.RuntimeInformation, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-// System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
-// mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-#nullable enable annotations
-
-using System;
-using System.Collections.Generic;
-using Smdn;
-
-namespace Smdn {
- [TypeForwardedFrom("Smdn, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null")]
- public class MimeType :
- IEquatable<MimeType>,
- IEquatable<string>,
- IFormattable
- {
- public static readonly MimeType ApplicationOctetStream; // = "application/octet-stream"
- public static readonly MimeType ApplicationXWwwFormUrlEncoded; // = "application/x-www-form-urlencoded"
- public static readonly MimeType MessageExternalBody; // = "message/external-body"
- public static readonly MimeType MessagePartial; // = "message/partial"
- public static readonly MimeType MessageRfc822; // = "message/rfc822"
- public static readonly MimeType MultipartAlternative; // = "multipart/alternative"
- public static readonly MimeType MultipartDigest; // = "multipart/digest"
- public static readonly MimeType MultipartFormData; // = "multipart/form-data"
- public static readonly MimeType MultipartMixed; // = "multipart/mixed"
- public static readonly MimeType MultipartParallel; // = "multipart/parallel"
- public static readonly MimeType TextHtml; // = "text/html"
- public static readonly MimeType TextPlain; // = "text/plain"
- public static readonly MimeType TextRtf; // = "text/rtf"
-
- public static MimeType CreateApplicationType(string subtype) {}
- public static MimeType CreateAudioType(string subtype) {}
- public static MimeType CreateFontType(string subtype) {}
- public static MimeType CreateImageType(string subtype) {}
- public static MimeType CreateModelType(string subtype) {}
- public static MimeType CreateMultipartType(string subtype) {}
- public static MimeType CreateTextType(string subtype) {}
- public static MimeType CreateVideoType(string subtype) {}
- public static IEnumerable<string> FindExtensionsByMimeType(MimeType mimeType) {}
- public static IEnumerable<string> FindExtensionsByMimeType(MimeType mimeType, string mimeTypesFile) {}
- public static IEnumerable<string> FindExtensionsByMimeType(string mimeType) {}
- public static IEnumerable<string> FindExtensionsByMimeType(string mimeType, string mimeTypesFile) {}
- public static MimeType? FindMimeTypeByExtension(string extensionOrPath) {}
- public static MimeType? FindMimeTypeByExtension(string extensionOrPath, string mimeTypesFile) {}
- [Obsolete("The return type of this method will be changed to MimeType in the future release. Use Smdn.Formats.Mime.MimeTypeStringExtensions.Split() instead.")]
- public static (string type, string subType) Parse(string s) {}
- public static MimeType Parse(ReadOnlySpan<char> s, IFormatProvider? provider = null) {}
- public static MimeType Parse(string s, IFormatProvider? provider = null) {}
- public static bool TryParse(ReadOnlySpan<char> s, IFormatProvider? provider, out MimeType result) {}
- public static bool TryParse(string? s, IFormatProvider? provider, out MimeType result) {}
- [Obsolete("The method will be deprecated in the future release. Use Smdn.Formats.Mime.MimeTypeStringExtensions.TrySplit() instead.")]
- public static bool TryParse(string? s, out (string type, string subType) result) {}
- public static bool TryParse(string? s, out MimeType? result) {}
- public static explicit operator string?(MimeType? mimeType) {}
-
- public MimeType((string type, string subType) mimeType) {}
- public MimeType(string mimeType) {}
- public MimeType(string type, string subType) {}
-
- public bool IsApplication { get; }
- public bool IsApplicationOctetStream { get; }
- public bool IsApplicationXWwwFormUrlEncoded { get; }
- public bool IsAudio { get; }
- public bool IsFont { get; }
- public bool IsImage { get; }
- public bool IsMessage { get; }
- public bool IsMessageExternalBody { get; }
- public bool IsMessagePartial { get; }
- public bool IsMessageRfc822 { get; }
- public bool IsModel { get; }
- public bool IsMultipart { get; }
- public bool IsMultipartAlternative { get; }
- public bool IsMultipartDigest { get; }
- public bool IsMultipartFormData { get; }
- public bool IsMultipartMixed { get; }
- public bool IsMultipartParallel { get; }
- public bool IsText { get; }
- public bool IsTextHtml { get; }
- public bool IsTextPlain { get; }
- public bool IsVideo { get; }
- public string SubType { get; }
- public string Type { get; }
-
- public void Deconstruct(out string type, out string subType) {}
- [Obsolete("Use `Equals(MimeType, StringComparison)` instead. This method will be changed to perform case-insensitive comparison in the future release.")]
- public bool Equals(MimeType? other) {}
- public bool Equals(MimeType? other, StringComparison comparisonType) {}
- public bool Equals(ReadOnlySpan<char> other, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
- [Obsolete("Use `Equals(string, StringComparison)` instead. This method will be changed to perform case-insensitive comparison in the future release.")]
- public bool Equals(string? other) {}
- public bool Equals(string? other, StringComparison comparisonType) {}
- public override bool Equals(object? obj) {}
- [Obsolete("Use `Equals(MimeType, StringComparison)` instead.")]
- public bool EqualsIgnoreCase(MimeType? other) {}
- [Obsolete("Use `Equals(string, StringComparison)` instead.")]
- public bool EqualsIgnoreCase(string? other) {}
- public override int GetHashCode() {}
- [Obsolete("Use `SubTypeEquals(MimeType, StringComparison)` ...
Smdn.Fundamental.MimeType version 3.2.0
Released package
Release notes
The full release notes are available at gist.
Change log
Change log in this release:
- 2023-12-28 update assembly version
- 2023-12-28 suppress warning IDE0060
- 2023-12-28 fix TryFormat() to throw FormatException when non-empty format is specified
- 2023-12-28 implement IUtf8SpanFormattable and IUtf8SpanParsable
- 2023-12-24 use symbols defined by Smdn.MSBuild.DefineConstants.NETSdkApi instead
- 2023-12-19 enable the 'generic math' feature on .NET 8.0 or over
- 2023-12-19 fix warning IDE1006: Naming rule violation
- 2023-12-19 fix warning IDE0055: Fix formatting
- 2023-12-19 disable warning CS1591
- 2023-05-11 suppress code analysis warnings
- 2023-05-11 compliant IDE0030; empty the root namespace so that the namespace is determined only by the directory name
- 2023-01-15 replace ProjectReference with ReferenceAssemblyVersion to ProjectOrPackageReference
- 2023-01-12 set ReferenceAssemblyVersion to the ProjectReferences
- 2023-01-12 use ReferencePackageVersion instead of VersionRange
- 2023-01-05 rename files from 'Parseable' to 'Parsable'
- 2023-01-05 catch up the generic math implementations to .NET 7.0 GA
- 2022-07-20 reformat
- 2022-06-07 suppress warning of tuple element naming (SA1316)
- 2022-04-28 use symbols from Smdn.MSBuild.DefineConstants.NETSdkApi
API changes
API changes in this release:
diff --git a/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-net45.apilist.cs b/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-net45.apilist.cs
index fa4fa1fe..2ce34509 100644
--- a/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-net45.apilist.cs
+++ b/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-net45.apilist.cs
@@ -1,143 +1,143 @@
-// Smdn.Fundamental.MimeType.dll (Smdn.Fundamental.MimeType-3.1.0)
+// Smdn.Fundamental.MimeType.dll (Smdn.Fundamental.MimeType-3.2.0)
// Name: Smdn.Fundamental.MimeType
-// AssemblyVersion: 3.1.0.0
-// InformationalVersion: 3.1.0+73609d14a9c7ae47c72f6d32f87ad6ebc0a2d166
+// AssemblyVersion: 3.2.0.0
+// InformationalVersion: 3.2.0+7d669250561607ce9ee58383739596c1727ae861
// TargetFramework: .NETFramework,Version=v4.5
// Configuration: Release
// Referenced assemblies:
// Smdn.Fundamental.Exception, Version=3.0.3.0, Culture=neutral
// System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
// System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
// System.Runtime.InteropServices.RuntimeInformation, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
// mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
#nullable enable annotations
using System;
using System.Collections.Generic;
using Smdn;
namespace Smdn {
[TypeForwardedFrom("Smdn, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null")]
public class MimeType :
IEquatable<MimeType>,
IEquatable<string>,
IFormattable
{
public static readonly MimeType ApplicationOctetStream; // = "application/octet-stream"
public static readonly MimeType ApplicationXWwwFormUrlEncoded; // = "application/x-www-form-urlencoded"
public static readonly MimeType MessageExternalBody; // = "message/external-body"
public static readonly MimeType MessagePartial; // = "message/partial"
public static readonly MimeType MessageRfc822; // = "message/rfc822"
public static readonly MimeType MultipartAlternative; // = "multipart/alternative"
public static readonly MimeType MultipartDigest; // = "multipart/digest"
public static readonly MimeType MultipartFormData; // = "multipart/form-data"
public static readonly MimeType MultipartMixed; // = "multipart/mixed"
public static readonly MimeType MultipartParallel; // = "multipart/parallel"
public static readonly MimeType TextHtml; // = "text/html"
public static readonly MimeType TextPlain; // = "text/plain"
public static readonly MimeType TextRtf; // = "text/rtf"
public static MimeType CreateApplicationType(string subtype) {}
public static MimeType CreateAudioType(string subtype) {}
public static MimeType CreateFontType(string subtype) {}
public static MimeType CreateImageType(string subtype) {}
public static MimeType CreateModelType(string subtype) {}
public static MimeType CreateMultipartType(string subtype) {}
public static MimeType CreateTextType(string subtype) {}
public static MimeType CreateVideoType(string subtype) {}
public static IEnumerable<string> FindExtensionsByMimeType(MimeType mimeType) {}
public static IEnumerable<string> FindExtensionsByMimeType(MimeType mimeType, string mimeTypesFile) {}
public static IEnumerable<string> FindExtensionsByMimeType(string mimeType) {}
public static IEnumerable<string> FindExtensionsByMimeType(string mimeType, string mimeTypesFile) {}
public static MimeType? FindMimeTypeByExtension(string extensionOrPath) {}
public static MimeType? FindMimeTypeByExtension(string extensionOrPath, string mimeTypesFile) {}
[Obsolete("The return type of this method will be changed to MimeType in the future release. Use Smdn.Formats.Mime.MimeTypeStringExtensions.Split() instead.")]
public static (string type, string subType) Parse(string s) {}
public static MimeType Parse(ReadOnlySpan<char> s, IFormatProvider? provider = null) {}
public static MimeType Parse(string s, IFormatProvider? provider = null) {}
public static bool TryParse(ReadOnlySpan<char> s, IFormatProvider? provider, out MimeType result) {}
public static bool TryParse(string? s, IFormatProvider? provider, out MimeType result) {}
[Obsolete("The method will be deprecated in the future release. Use Smdn.Formats.Mime.MimeTypeStringExtensions.TrySplit() instead.")]
public static bool TryParse(string? s, out (string type, string subType) result) {}
public static bool TryParse(string? s, out MimeType? result) {}
public static explicit operator string?(MimeType? mimeType) {}
public MimeType((string type, string subType) mimeType) {}
public MimeType(string mimeType) {}
public MimeType(string type, string subType) {}
public bool IsApplication { get; }
public bool IsApplicationOctetStream { get; }
public bool IsApplicationXWwwFormUrlEncoded { get; }
public bool IsAudio { get; }
public bool IsFont { get; }
public bool IsImage { get; }
public bool IsMessage { get; }
public bool IsMessageExternalBody { get; }
public bool IsMessagePartial { get; }
public bool IsMessageRfc822 { get; }
public bool IsModel { get; }
public bool IsMultipart { get; }
public bool IsMultipartAlternative { get; }
public bool IsMultipartDigest { get; }
public bool IsMultipartFormData { get; }
public bool IsMultipartMixed { get; }
public bool IsMultipartParallel { get; }
public bool IsText { get; }
public bool IsTextHtml { get; }
public bool IsTextPlain { get; }
public bool IsVideo { get; }
public string SubType { get; }
public string Type { get; }
public void Deconstruct(out string type, out string subType) {}
[Obsolete("Use `Equals(MimeType, StringComparison)` instead. This method will be changed to perform case-insensitive comparison in the future release.")]
public bool Equals(MimeType? other) {}
public bool Equals(MimeType? other, StringComparison comparisonType) {}
public bool Equals(ReadOnlySpan<char> other, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
[Obsolete("Use `Equals(string, StringComparison)` instead. This method will be changed to perform case-insensitive comparison in the future ...
Smdn.Fundamental.UInt24n version 4.0.0
Released package
Release notes
The full release notes are available at gist.
Change log
Change log in this release:
- 2023-12-28 update assembly version
- 2023-12-28 update package validation baseline and compatibility suppressions
- 2023-12-28 make UInt24 and UInt48 as readonly struct
API changes
API changes in this release:
diff --git a/doc/api-list/Smdn.Fundamental.UInt24n/Smdn.Fundamental.UInt24n-net45.apilist.cs b/doc/api-list/Smdn.Fundamental.UInt24n/Smdn.Fundamental.UInt24n-net45.apilist.cs
index 1dcc7873..c5daeab0 100644
--- a/doc/api-list/Smdn.Fundamental.UInt24n/Smdn.Fundamental.UInt24n-net45.apilist.cs
+++ b/doc/api-list/Smdn.Fundamental.UInt24n/Smdn.Fundamental.UInt24n-net45.apilist.cs
@@ -1,284 +1,264 @@
-// Smdn.Fundamental.UInt24n.dll (Smdn.Fundamental.UInt24n-3.1.0)
+// Smdn.Fundamental.UInt24n.dll (Smdn.Fundamental.UInt24n-4.0.0)
// Name: Smdn.Fundamental.UInt24n
-// AssemblyVersion: 3.1.0.0
-// InformationalVersion: 3.1.0+d0bc2ff12d7b860e40c08a17db9b68fff731fb10
+// AssemblyVersion: 4.0.0.0
+// InformationalVersion: 4.0.0+67b803a21469d1c9d14f260a6414b9e666a8e282
// TargetFramework: .NETFramework,Version=v4.5
// Configuration: Release
// Referenced assemblies:
// Smdn.Fundamental.Exception, Version=3.0.3.0, Culture=neutral
// Smdn.Fundamental.Shim, Version=3.1.4.0, Culture=neutral
// System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
// System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
// mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
using System;
using System.Globalization;
using Smdn;
namespace Smdn {
[TypeForwardedFrom("Smdn, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null")]
[StructLayout(LayoutKind.Explicit, Pack = 1)]
- public struct UInt24 :
+ public readonly struct UInt24 :
IComparable,
IComparable<UInt24>,
IComparable<int>,
IComparable<uint>,
IConvertible,
IEquatable<UInt24>,
IEquatable<int>,
IEquatable<uint>,
IFormattable
{
public static readonly UInt24 MaxValue; // = "16777215"
public static readonly UInt24 MinValue; // = "0"
public static readonly UInt24 One; // = "1"
public static readonly UInt24 Zero; // = "0"
public static UInt24 Abs(UInt24 @value) {}
public static UInt24 Clamp(UInt24 @value, UInt24 min, UInt24 max) {}
public static (UInt24 Quotient, UInt24 Remainder) DivRem(UInt24 left, UInt24 right) {}
public static bool IsPow2(UInt24 @value) {}
public static int LeadingZeroCount(UInt24 @value) {}
public static int Log2(UInt24 @value) {}
public static UInt24 Max(UInt24 x, UInt24 y) {}
public static UInt24 Min(UInt24 x, UInt24 y) {}
public static UInt24 Parse(string s, IFormatProvider provider = null) {}
public static UInt24 Parse(string s, NumberStyles style, IFormatProvider provider = null) {}
public static int PopCount(UInt24 @value) {}
public static UInt24 RotateLeft(UInt24 @value, int rotateAmount) {}
public static UInt24 RotateRight(UInt24 @value, int rotateAmount) {}
public static int Sign(UInt24 @value) {}
public static int TrailingZeroCount(UInt24 @value) {}
public static bool TryParse(string s, IFormatProvider provider, out UInt24 result) {}
public static bool TryParse(string s, NumberStyles style, IFormatProvider provider, out UInt24 result) {}
public static bool TryParse(string s, out UInt24 result) {}
public static bool TryReadBigEndian(ReadOnlySpan<byte> source, bool isUnsigned, out UInt24 @value) {}
public static bool TryReadLittleEndian(ReadOnlySpan<byte> source, bool isUnsigned, out UInt24 @value) {}
public static UInt24 operator + (UInt24 left, UInt24 right) {}
public static UInt24 operator & (UInt24 left, UInt24 right) {}
public static UInt24 operator | (UInt24 left, UInt24 right) {}
public static UInt24 operator checked + (UInt24 left, UInt24 right) {}
public static UInt24 operator checked -- (UInt24 @value) {}
public static UInt24 operator checked / (UInt24 left, UInt24 right) {}
public static explicit operator checked UInt24(int val) {}
public static explicit operator checked UInt24(short val) {}
public static explicit operator checked UInt24(uint val) {}
public static explicit operator checked int(UInt24 val) {}
public static explicit operator checked short(UInt24 val) {}
public static explicit operator checked ushort(UInt24 val) {}
public static UInt24 operator checked ++ (UInt24 @value) {}
public static UInt24 operator checked * (UInt24 left, UInt24 right) {}
public static UInt24 operator checked - (UInt24 left, UInt24 right) {}
public static UInt24 operator checked - (UInt24 @value) {}
public static UInt24 operator -- (UInt24 @value) {}
public static UInt24 operator / (UInt24 left, UInt24 right) {}
public static bool operator == (UInt24 x, UInt24 y) {}
public static UInt24 operator ^ (UInt24 left, UInt24 right) {}
public static explicit operator UInt24(int val) {}
public static explicit operator UInt24(short val) {}
public static explicit operator UInt24(uint val) {}
public static explicit operator UInt24(ushort val) {}
public static explicit operator int(UInt24 val) {}
public static explicit operator short(UInt24 val) {}
public static explicit operator uint(UInt24 val) {}
public static explicit operator ushort(UInt24 val) {}
public static bool operator > (UInt24 x, UInt24 y) {}
public static bool operator >= (UInt24 x, UInt24 y) {}
public static UInt24 operator ++ (UInt24 @value) {}
public static bool operator != (UInt24 x, UInt24 y) {}
public static UInt24 operator << (UInt24 @value, int shiftAmount) {}
public static bool operator < (UInt24 x, UInt24 y) {}
public static bool operator <= (UInt24 x, UInt24 y) {}
public static UInt24 operator % (UInt24 left, UInt24 right) {}
public static UInt24 operator * (UInt24 left, UInt24 right) {}
public static UInt24 operator ~ (UInt24 @value) {}
public static UInt24 operator >> (UInt24 @value, int shiftAmount) {}
public static UInt24 operator - (UInt24 left, UInt24 right) {}
public static UInt24 operator - (UInt24 @value) {}
public static UInt24 operator + (UInt24 @value) {}
public static UInt24 operator >>> (UInt24 @value, int shiftAmount) {}
- [FieldOffset(0)]
- public byte Byte0;
- [FieldOffset(1)]
- public byte Byte1;
- [FieldOffset(2)]
- public byte Byte2;
-
public UInt24(ReadOnlySpan<byte> @value, bool isBigEndian = false) {}
public UInt24(byte[] @value, bool isBigEndian = false) {}
public UInt24(byte[] @value, int startIndex, bool isBigEndian = false) {}
public int CompareTo(UInt24 other) {}
public int CompareTo(int other) {}
public int CompareTo(object obj) {}
public int CompareTo(uint other) {}
public bool Equals(UInt24 other) {}
public bool Equals(int other) {}
public bool Equals(uint other) {}
public override bool Equals(object obj) {}
- public override readonly int GetHashCode() {}
+ public override int GetHashCode() {}
TypeCode IConvertible.GetTypeCode() {}
bool IConvertible.ToBoolean(IFormatProvider provider) {}
- readonly byte IConvertible.ToByte(IFormatProvider provider) {}
+ byte IConvertible.ToByte(IFormatProvider provider) {}
char IConvertible.ToChar(IFormatProvider provider) {}
DateTime IConvertible.ToDateTime(IFormatProvider provider) {}
decimal IConvertible.ToDecimal(IFormatProvider provider) {}
double IConvertible.ToDouble(IFormatProvider provider) {}
short IConvertible.ToInt16(IFormatProvider provider) {}
int IConvertible.ToInt32(IFormatProvider provider) {}
- readonly long IConvertible.ToInt64(IFormatProvider provider) {}
- readonly sbyte IConvertible.ToSByte(IFormatProvider provider) {}
+ long IConvertible.ToInt64(IFormatProvider provider) {}
+ sbyte IConvertible.ToSByte(IFormatProvider provider) {}
float IConvertible.ToSingle(IFormatProvider provider) {}
string IConvertible.ToString(IFormatProvider provider) {}
object IConvertible.ToType(Type conversionType, IFormatProvider provider) {}
ushort IConvertible.ToUInt16(IFormatProvider provider) {}
uint IConvertible.ToUInt32(IFormatProvider provider) {}
- readonly ulong IConvertible.ToUInt64(IFormatProvider provider) {}
- public readonly int ToInt32() {}
+ ulong IConvertible.ToUInt64(IFormatProvider provider) {}
+ public int ToInt32() {}
public override string ToString() {}
public string ToString(IFormatProvider formatProvider) {}
public string ToString(string format) {}
public string ToString(string format, IFormatProvider formatProvider) {}
- public readonly uint ToUInt32() {}
- public readonly bool TryWriteBigEndian(Span<byte> destination, out int bytesWritten) {}
- public readonly bool TryWriteLittleEndian(Span<byte> destination, out int bytesWritten) {}
+ public uint ToUInt32() {}
+ public bool TryWriteBigEndian(Span<byte> destination, out int bytesWritten) {}
+ public bool TryWriteLittleEndian(Span<byte> destination, out int bytesWritten) {}
}
[TypeForwardedFrom("Smdn, Version=3.0.0.0, Culture=neutral, PublicKeyToken=...
Smdn.Fundamental.UInt24n version 3.1.0
Released package
Release notes
The full release notes are available at gist.
Change log
Change log in this release:
- 2023-12-27 use WriteOnlyWhenDifferent to avoid error 'being used by another process' on Windows
- 2023-12-27 update assembly version
- 2023-12-27 add description
- 2023-12-27 add comment
- 2023-12-27 make INumberBase.TryConvertFromTruncating public
- 2023-12-27 make INumberBase.TryConvertFromChecked public
- 2023-12-27 implement INumberBase.TryConvertFromSaturating
- 2023-12-26 drop target framework netcoreapp3.1
- 2023-12-24 fix implementation of IAdditiveIdentity and IMultiplicativeIdentity
- 2023-12-24 use symbols defined by Smdn.MSBuild.DefineConstants.NETSdkApi instead
- 2023-12-23 suppress warning CA1502
- 2023-12-23 mark methods as readonly
- 2023-12-23 make 'check' parameter mandatory
- 2023-12-23 implement explicit checked type cast operators
- 2023-12-22 implement checked arithmetic operators
- 2023-12-22 implement IBinaryInteger.Try(Read|Write)(Big|Little)Endian
- 2023-12-22 add tests for INumberBase.(Min|Max)Magnitude[Number] and fix impl
- 2023-12-21 fix TryCreate and CreateTruncating
- 2023-12-21 split implementation of INumber<TSelf> and INumberBase<TSelf> to individual files
- 2023-12-20 move CreateSaturating<TOther>() to INumberBase<TOther>
- 2023-12-20 follow the changes of return type of INumber.Sign
- 2023-12-20 implement IBinaryInteger.GetByteCount() and IBinaryInteger.GetShortestBitLength()
- 2023-12-20 implement IShiftOperators.UnsignedRightShift
- 2023-12-20 move DivRem() to IBinaryInteger
- 2023-12-19 follow the naming changes of ISpanParsable
- 2023-12-19 follow the namespace changes of System.Numerics
- 2023-12-19 add target framework net8.0
- 2023-12-19 mark '*.g.cs' files as auto generated code
- 2023-12-19 disable warning CS1591
- 2023-05-11 suppress warning IDE0060
- 2023-05-11 compliant IDE0030; empty the root namespace so that the namespace is determined only by the directory name
- 2023-01-23 delete use of global shim alias usings
Notes
Full Changelog: releases/Smdn.Fundamental.UInt24n-3.0.4...releases/Smdn.Fundamental.UInt24n-3.1.0
Smdn.MSBuild.DefineConstants.NETSdkApi version 1.4.0
Released package
Release notes
The full release notes are available at gist.
Change log
Change log in this release:
- 2023-12-24 add support for net481
- 2023-12-24 update package version
- 2023-12-24 add .NET 8 APIs
- 2023-12-24 add support for net8.0
Notes
Full Changelog: releases/Smdn.MSBuild.DefineConstants.NETSdkApi-1.3.14...releases/Smdn.MSBuild.DefineConstants.NETSdkApi-1.4.0
Smdn.Fundamental.Reflection version 3.5.0
Released package
Release notes
The full release notes are available at gist.
Change log
Change log in this release:
- 2023-12-24 simplify conditional expression
- 2023-12-24 update assembly version
- 2023-12-24 add MethodInfo.IsReadOnly()/EventInfo.IsReadOnly()/PropertyInfo.IsAccessorReadOnly()
- 2023-12-24 add support for special methods for operators introduce in C# 11
- 2023-12-19 fix warning IDE1006: Naming rule violation
- 2023-12-19 fix warning IDE0055: Fix formatting
- 2023-12-19 disable warning CS1591
- 2023-05-11 delete unnecessary using directive
- 2023-05-11 discard return value
- 2023-05-11 compliant IDE0030; empty the root namespace so that the namespace is determined only by the directory name
- 2023-05-10 fix nullability
- 2023-05-10 validate the parameter is non-null before using it
- 2023-05-10 refactor
- 2023-05-10 delete dead codes
- 2023-04-19 bump Smdn.MSBuild.ProjectAssets.Library up to 1.5.0
API changes
API changes in this release:
diff --git a/doc/api-list/Smdn.Fundamental.Reflection/Smdn.Fundamental.Reflection-net45.apilist.cs b/doc/api-list/Smdn.Fundamental.Reflection/Smdn.Fundamental.Reflection-net45.apilist.cs
index 4b74ea55..88046e8b 100644
--- a/doc/api-list/Smdn.Fundamental.Reflection/Smdn.Fundamental.Reflection-net45.apilist.cs
+++ b/doc/api-list/Smdn.Fundamental.Reflection/Smdn.Fundamental.Reflection-net45.apilist.cs
@@ -1,143 +1,155 @@
-// Smdn.Fundamental.Reflection.dll (Smdn.Fundamental.Reflection-3.4.0)
+// Smdn.Fundamental.Reflection.dll (Smdn.Fundamental.Reflection-3.5.0)
// Name: Smdn.Fundamental.Reflection
-// AssemblyVersion: 3.4.0.0
-// InformationalVersion: 3.4.0+d21bbefe0b9d2b7ce768d8d377418d43aafc7e9a
+// AssemblyVersion: 3.5.0.0
+// InformationalVersion: 3.5.0+4c5047ad07bce4305c5e019010c8d404edb30d22
// TargetFramework: .NETFramework,Version=v4.5
// Configuration: Release
// Referenced assemblies:
// System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
// mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
#nullable enable annotations
using System;
using System.Collections.Generic;
using System.Reflection;
using Smdn.Reflection;
namespace Smdn.Reflection {
public enum Accessibility : int {
Assembly = 3,
Family = 4,
FamilyAndAssembly = 2,
FamilyOrAssembly = 5,
Private = 1,
Public = 6,
Undefined = 0,
}
public enum MethodSpecialName : int {
Addition = 16,
BitwiseAnd = 21,
BitwiseOr = 22,
+ CheckedAddition = 32,
+ CheckedDecrement = 31,
+ CheckedDivision = 35,
+ CheckedExplicit = 36,
+ CheckedIncrement = 30,
+ CheckedMultiply = 34,
+ CheckedSubtraction = 33,
+ CheckedUnaryNegation = 29,
Constructor = 1,
Decrement = 15,
Division = 19,
Equality = 2,
ExclusiveOr = 23,
Explicit = 26,
False = 13,
GreaterThan = 5,
GreaterThanOrEqual = 7,
Implicit = 27,
Increment = 14,
Inequality = 3,
LeftShift = 25,
LessThan = 4,
LessThanOrEqual = 6,
LogicalNot = 10,
Modulus = 20,
Multiply = 18,
None = 0,
OnesComplement = 11,
RightShift = 24,
Subtraction = 17,
True = 12,
UnaryNegation = 9,
UnaryPlus = 8,
Unknown = -1,
+ UnsignedRightShift = 28,
}
public static class EventInfoExtensions {
public static FieldInfo? GetBackingField(this EventInfo ev) {}
public static IEnumerable<MethodInfo> GetMethods(this EventInfo ev) {}
public static IEnumerable<MethodInfo> GetMethods(this EventInfo ev, bool nonPublic) {}
public static bool IsOverride(this EventInfo ev) {}
+ public static bool IsReadOnly(this EventInfo ev) {}
public static bool IsStatic(this EventInfo ev) {}
}
public static class FieldInfoExtensions {
public static bool IsEventBackingField(this FieldInfo f) {}
public static bool IsPropertyBackingField(this FieldInfo f) {}
public static bool TryGetEventFromBackingField(this FieldInfo backingField, out EventInfo? ev) {}
public static bool TryGetPropertyFromBackingField(this FieldInfo backingField, out PropertyInfo? property) {}
}
public static class MemberInfoExtensions {
public static Accessibility GetAccessibility(this MemberInfo member) {}
public static bool IsHidingInheritedMember(this MemberInfo member, bool nonPublic) {}
public static bool IsPrivateOrAssembly(this MemberInfo member) {}
}
public static class MethodBaseExtensions {
public static MethodInfo? FindExplicitInterfaceMethod(this MethodBase m, bool findOnlyPublicInterfaces = false) {}
public static MethodSpecialName GetNameType(this MethodBase m) {}
public static IEnumerable<Type> GetSignatureTypes(this MethodBase m) {}
public static bool IsExplicitlyImplemented(this MethodBase m) {}
public static bool TryFindExplicitInterfaceMethod(this MethodBase m, out MethodInfo? explicitInterfaceMethod, bool findOnlyPublicInterfaces = false) {}
}
public static class MethodInfoExtensions {
public static bool IsDelegateSignatureMethod(this MethodInfo m) {}
public static bool IsEventAccessorMethod(this MethodInfo m) {}
public static bool IsEventAddMethod(this MethodInfo m) {}
public static bool IsEventRemoveMethod(this MethodInfo m) {}
[Obsolete("use IsOverride instead")]
public static bool IsOverridden(this MethodInfo m) {}
public static bool IsOverride(this MethodInfo m) {}
public static bool IsPropertyAccessorMethod(this MethodInfo m) {}
public static bool IsPropertyGetMethod(this MethodInfo m) {}
public static bool IsPropertySetMethod(this MethodInfo m) {}
+ public static bool IsReadOnly(this MethodInfo m) {}
public static bool TryGetEventFromAccessorMethod(this MethodInfo? accessor, out EventInfo? ev) {}
public static bool TryGetPropertyFromAccessorMethod(this MethodInfo? accessor, out PropertyInfo? property) {}
}
public static class ParameterInfoExtensions {
public static EventInfo? GetDeclaringEvent(this ParameterInfo param) {}
public static PropertyInfo? GetDeclaringProperty(this ParameterInfo param) {}
public static bool IsReturnParameter(this ParameterInfo param) {}
}
public static class PropertyInfoExtensions {
public static FieldInfo? GetBackingField(this PropertyInfo property) {}
+ public static bool IsAccessorReadOnly(this PropertyInfo property) {}
public static bool IsOverride(this PropertyInfo property) {}
public static bool IsSetMethodInitOnly(this PropertyInfo property) {}
public static bool IsStatic(this PropertyInfo property) {}
}
public static class TypeExtensions {
public static MethodInfo? GetDelegateSignatureMethod(this Type t) {}
public static IEnumerable<Type> GetExplicitBaseTypeAndInterfaces(this Type t) {}
public static string GetGenericTypeName(this Type t) {}
public static IEnumerable<string> GetNamespaces(this Type t) {}
public static IEnumerable<string> GetNamespaces(this Type t, Func<Type, bool> isLanguagePrimitive) {}
public static bool IsByRefLikeValueType(this Type t) {}
public static bool IsConcreteDelegate(this Type t) {}
public static bool IsDelegate(this Type t) {}
public static bool IsEnumFlags(this Type t) {}
public static bool IsHidingInheritedType(this Type t, bool nonPublic) {}
public static bool IsReadOnlyValueType(this Type t) {}
public static bool IsStructLayoutDefault(this Type t) {}
}
}
namespace Smdn.Reflection.Attributes {
public static class CustomAttributeTypedArgumentExtensions {
public static object? GetTypedValue(this CustomAttributeTypedArgument typedArg) {}
}
public static class ICustomAttributeProviderExtensions {
public static IList<CustomAttributeData> GetCustomAttributeDataList(this ICustomAttributeProvider attributeProvider) {}
}
}
-// 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.Fundamental.Reflecti...
Smdn.MSBuild.ProjectAssets.Library version 1.7.1
Released package
Release notes
The full release notes are available at gist.
Change log
Change log in this release:
- 2023-12-19 update package version
- 2023-12-19 include NUnit.Analyzers.ruleset to NuGet package
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 b7237f67..703e800a 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.7.0</VersionPrefix>
+ <VersionPrefix>1.7.1</VersionPrefix>
<VersionSuffix></VersionSuffix>
<DevelopmentDependency>true</DevelopmentDependency>
</PropertyGroup>
@@ -28,6 +28,7 @@ SPDX-License-Identifier: MIT
<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\NUnit.Analyzers.ruleset" Pack="true" PackagePath="project\" />
<None Include="project\StyleCop.Analyzers.ruleset" Pack="true" PackagePath="project\" />
<None Include="project\stylecop.json" Pack="true" PackagePath="project\" />
<None Include="project\TestReport.template.liquid.md" Pack="true" PackagePath="project\" />
Notes
Full Changelog: releases/Smdn.MSBuild.ProjectAssets.Library-1.7.0...releases/Smdn.MSBuild.ProjectAssets.Library-1.7.1