From ac096b8d9889171dd761dc9906d0a458635e9706 Mon Sep 17 00:00:00 2001 From: Graham Watts Date: Thu, 26 Sep 2024 10:52:45 +0300 Subject: [PATCH] V5.0.0 release prep (#411) * Update PublicAPI files * Update version number * Update release notes --- Directory.Build.props | 2 +- build/version.json | 2 +- docs/release-notes/v5.0.0.md | 7 +++++++ .../PublicAPI.Shipped.txt | 18 ++++++++++++++++++ .../PublicAPI.Unshipped.txt | 18 ------------------ .../PublicAPI.Shipped.txt | 11 +++++++++++ .../PublicAPI.Unshipped.txt | 11 ----------- src/DataCore.Adapter/PublicAPI.Shipped.txt | 7 +++++++ src/DataCore.Adapter/PublicAPI.Unshipped.txt | 7 ------- 9 files changed, 45 insertions(+), 38 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index f0c96777..f5bacfc5 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -27,7 +27,7 @@ building via build.ps1 or build.sh. It is defined here to allow Visual Studio to build with the solution with the correct version number. --> - 4.0.0 + 5.0.0 diff --git a/build/version.json b/build/version.json index d1a9609a..5ee52e38 100644 --- a/build/version.json +++ b/build/version.json @@ -2,5 +2,5 @@ "Major": 5, "Minor": 0, "Patch": 0, - "PreRelease": "pre" + "PreRelease": "" } diff --git a/docs/release-notes/v5.0.0.md b/docs/release-notes/v5.0.0.md index 053978ee..92fef406 100644 --- a/docs/release-notes/v5.0.0.md +++ b/docs/release-notes/v5.0.0.md @@ -36,3 +36,10 @@ Additionally, new `string` extension methods have been added in the `System` nam * `InternToStringCache` will intern the string if it has not already been interned and returns the interned reference to the string e.g. `var str = "my string".InternToStringCache();` * `GetFromStringCache` returns the interned reference to the string or `null` if the string has not been interned e.g. `var str = "my other string".GetFromStringCache();` + +## Template Changes + +The `dotnet new` template has been modified: + +* The template no longer uses Serilog for logging and instead reverts to the standard Microsoft.Extensions.Logging library. Developers are free to add additional logging providers to the application as required. +* An OpenTelemetry Protocol (OTLP) exporter is now enabled by default for exporting traces. The exporter endpoint and the signals to be exported (i.e. traces, logs, metrics) can be configured using the `appsettings.json` file. diff --git a/src/DataCore.Adapter.Abstractions/PublicAPI.Shipped.txt b/src/DataCore.Adapter.Abstractions/PublicAPI.Shipped.txt index dc4110c2..9b53e293 100644 --- a/src/DataCore.Adapter.Abstractions/PublicAPI.Shipped.txt +++ b/src/DataCore.Adapter.Abstractions/PublicAPI.Shipped.txt @@ -599,3 +599,21 @@ virtual DataCore.Adapter.Services.KeyValueStore.SerializeToStreamAsync(System virtual DataCore.Adapter.Services.RawKeyValueStore.CompressRawBytesAsync(byte[]! data, System.IO.Compression.CompressionLevel? compressionLevel = null) -> System.Threading.Tasks.ValueTask virtual DataCore.Adapter.Services.RawKeyValueStore.DecompressRawBytesAsync(byte[]! data) -> System.Threading.Tasks.ValueTask ~static DataCore.Adapter.AbstractionsResources.Error_KeyValueStore_RawWritesDisabled.get -> string +abstract DataCore.Adapter.AdapterEntityBuilder.Build() -> T! +DataCore.Adapter.AdapterEntityBuilder +DataCore.Adapter.AdapterEntityBuilder.AdapterEntityBuilder() -> void +DataCore.Adapter.AdapterEntityBuilder.GetProperties() -> System.Collections.Generic.IEnumerable! +DataCore.Adapter.AdapterEntityBuilder +DataCore.Adapter.AdapterEntityBuilder.AdapterEntityBuilder() -> void +DataCore.Adapter.AdapterEntityBuilderExtensions +override DataCore.Adapter.Common.AdapterDescriptorBuilder.Build() -> DataCore.Adapter.Common.AdapterDescriptorExtended! +override DataCore.Adapter.Common.AdapterTypeDescriptorBuilder.Build() -> DataCore.Adapter.Common.AdapterTypeDescriptor! +override DataCore.Adapter.Common.HostInfoBuilder.Build() -> DataCore.Adapter.Common.HostInfo! +static DataCore.Adapter.AdapterEntityBuilderExtensions.ClearProperties(this TBuilder! builder) -> TBuilder! +static DataCore.Adapter.AdapterEntityBuilderExtensions.RemoveProperty(this TBuilder! builder, string! name) -> TBuilder! +static DataCore.Adapter.AdapterEntityBuilderExtensions.WithProperties(this TBuilder! builder, bool replaceExisting, params DataCore.Adapter.Common.AdapterProperty![]! properties) -> TBuilder! +static DataCore.Adapter.AdapterEntityBuilderExtensions.WithProperties(this TBuilder! builder, params DataCore.Adapter.Common.AdapterProperty![]! properties) -> TBuilder! +static DataCore.Adapter.AdapterEntityBuilderExtensions.WithProperties(this TBuilder! builder, System.Collections.Generic.IEnumerable! properties, bool replaceExisting = true) -> TBuilder! +static DataCore.Adapter.AdapterEntityBuilderExtensions.WithProperty(this TBuilder! builder, string! name, TValue value, string? description = null, bool replaceExisting = true) -> TBuilder! +static DataCore.Adapter.AdapterEntityBuilderExtensions.WithProperty(this TBuilder! builder, DataCore.Adapter.Common.AdapterProperty! property, bool replaceExisting = true) -> TBuilder! +static DataCore.Adapter.AdapterEntityBuilderExtensions.WithProperty(this TBuilder! builder, string! name, DataCore.Adapter.Common.Variant value, string? description = null, bool replaceExisting = true) -> TBuilder! diff --git a/src/DataCore.Adapter.Abstractions/PublicAPI.Unshipped.txt b/src/DataCore.Adapter.Abstractions/PublicAPI.Unshipped.txt index 01af2798..ab058de6 100644 --- a/src/DataCore.Adapter.Abstractions/PublicAPI.Unshipped.txt +++ b/src/DataCore.Adapter.Abstractions/PublicAPI.Unshipped.txt @@ -1,19 +1 @@ #nullable enable -abstract DataCore.Adapter.AdapterEntityBuilder.Build() -> T! -DataCore.Adapter.AdapterEntityBuilder -DataCore.Adapter.AdapterEntityBuilder.AdapterEntityBuilder() -> void -DataCore.Adapter.AdapterEntityBuilder.GetProperties() -> System.Collections.Generic.IEnumerable! -DataCore.Adapter.AdapterEntityBuilder -DataCore.Adapter.AdapterEntityBuilder.AdapterEntityBuilder() -> void -DataCore.Adapter.AdapterEntityBuilderExtensions -override DataCore.Adapter.Common.AdapterDescriptorBuilder.Build() -> DataCore.Adapter.Common.AdapterDescriptorExtended! -override DataCore.Adapter.Common.AdapterTypeDescriptorBuilder.Build() -> DataCore.Adapter.Common.AdapterTypeDescriptor! -override DataCore.Adapter.Common.HostInfoBuilder.Build() -> DataCore.Adapter.Common.HostInfo! -static DataCore.Adapter.AdapterEntityBuilderExtensions.ClearProperties(this TBuilder! builder) -> TBuilder! -static DataCore.Adapter.AdapterEntityBuilderExtensions.RemoveProperty(this TBuilder! builder, string! name) -> TBuilder! -static DataCore.Adapter.AdapterEntityBuilderExtensions.WithProperties(this TBuilder! builder, bool replaceExisting, params DataCore.Adapter.Common.AdapterProperty![]! properties) -> TBuilder! -static DataCore.Adapter.AdapterEntityBuilderExtensions.WithProperties(this TBuilder! builder, params DataCore.Adapter.Common.AdapterProperty![]! properties) -> TBuilder! -static DataCore.Adapter.AdapterEntityBuilderExtensions.WithProperties(this TBuilder! builder, System.Collections.Generic.IEnumerable! properties, bool replaceExisting = true) -> TBuilder! -static DataCore.Adapter.AdapterEntityBuilderExtensions.WithProperty(this TBuilder! builder, string! name, TValue value, string? description = null, bool replaceExisting = true) -> TBuilder! -static DataCore.Adapter.AdapterEntityBuilderExtensions.WithProperty(this TBuilder! builder, DataCore.Adapter.Common.AdapterProperty! property, bool replaceExisting = true) -> TBuilder! -static DataCore.Adapter.AdapterEntityBuilderExtensions.WithProperty(this TBuilder! builder, string! name, DataCore.Adapter.Common.Variant value, string? description = null, bool replaceExisting = true) -> TBuilder! diff --git a/src/DataCore.Adapter.Core/PublicAPI.Shipped.txt b/src/DataCore.Adapter.Core/PublicAPI.Shipped.txt index 98f9c4a4..292761e7 100644 --- a/src/DataCore.Adapter.Core/PublicAPI.Shipped.txt +++ b/src/DataCore.Adapter.Core/PublicAPI.Shipped.txt @@ -1046,3 +1046,14 @@ override DataCore.Adapter.Json.NullableUtcDateTimeConverter.Read(ref System.Text override DataCore.Adapter.Json.NullableUtcDateTimeConverter.Write(System.Text.Json.Utf8JsonWriter! writer, System.DateTime? value, System.Text.Json.JsonSerializerOptions! options) -> void override DataCore.Adapter.Json.UtcDateTimeConverter.Read(ref System.Text.Json.Utf8JsonReader reader, System.Type! typeToConvert, System.Text.Json.JsonSerializerOptions! options) -> System.DateTime override DataCore.Adapter.Json.UtcDateTimeConverter.Write(System.Text.Json.Utf8JsonWriter! writer, System.DateTime value, System.Text.Json.JsonSerializerOptions! options) -> void +const DataCore.Adapter.StringCache.UseNativeInternSwitchName = "Switch.DataCore.Adapter.StringCache.UseNativeIntern" -> string! +DataCore.Adapter.StringCache +static DataCore.Adapter.StringCache.Clear() -> void +static DataCore.Adapter.StringCache.Count.get -> int +static DataCore.Adapter.StringCache.Get(string? str) -> string? +static DataCore.Adapter.StringCache.Intern(string? str) -> string? +static DataCore.Adapter.StringCache.NativeInternEnabled.get -> bool +static DataCore.Adapter.StringCache.Size.get -> long +static System.DCAStringExtensions.GetFromStringCache(this string! str) -> string! +static System.DCAStringExtensions.InternToStringCache(this string! str) -> string! +System.DCAStringExtensions diff --git a/src/DataCore.Adapter.Core/PublicAPI.Unshipped.txt b/src/DataCore.Adapter.Core/PublicAPI.Unshipped.txt index cea1a1c7..ab058de6 100644 --- a/src/DataCore.Adapter.Core/PublicAPI.Unshipped.txt +++ b/src/DataCore.Adapter.Core/PublicAPI.Unshipped.txt @@ -1,12 +1 @@ #nullable enable -const DataCore.Adapter.StringCache.UseNativeInternSwitchName = "Switch.DataCore.Adapter.StringCache.UseNativeIntern" -> string! -DataCore.Adapter.StringCache -static DataCore.Adapter.StringCache.Clear() -> void -static DataCore.Adapter.StringCache.Count.get -> int -static DataCore.Adapter.StringCache.Get(string? str) -> string? -static DataCore.Adapter.StringCache.Intern(string? str) -> string? -static DataCore.Adapter.StringCache.NativeInternEnabled.get -> bool -static DataCore.Adapter.StringCache.Size.get -> long -static System.DCAStringExtensions.GetFromStringCache(this string! str) -> string! -static System.DCAStringExtensions.InternToStringCache(this string! str) -> string! -System.DCAStringExtensions diff --git a/src/DataCore.Adapter/PublicAPI.Shipped.txt b/src/DataCore.Adapter/PublicAPI.Shipped.txt index 20a0e7df..cddc15ab 100644 --- a/src/DataCore.Adapter/PublicAPI.Shipped.txt +++ b/src/DataCore.Adapter/PublicAPI.Shipped.txt @@ -786,3 +786,10 @@ static DataCore.Adapter.RealTimeData.TagValueBuilderExtensions.WithSteppedTransi static DataCore.Adapter.RealTimeData.Utilities.InterpolationHelper.GetInterpolatedValueAtSampleTime(DataCore.Adapter.Tags.TagSummary! tag, System.DateTime utcSampleTime, System.Collections.Generic.IEnumerable! values, bool forceStepInterpolation = false) -> DataCore.Adapter.RealTimeData.TagValueExtended? static DataCore.Adapter.RealTimeData.Utilities.InterpolationHelper.GetStepInterpolatedValuesAsync(DataCore.Adapter.Tags.TagSummary! tag, System.Collections.Generic.IEnumerable! utcSampleTimes, System.Collections.Generic.IAsyncEnumerable! rawData, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Collections.Generic.IAsyncEnumerable! static DataCore.Adapter.Security.CertificateUtilities.TryLoadCertificateFromStore(string! path, bool requirePrivateKey, bool allowInvalid, out System.Security.Cryptography.X509Certificates.X509Certificate2? certificate) -> bool +DataCore.Adapter.Events.EventMessageBuilder.EventMessageBuilder() -> void +DataCore.Adapter.Events.EventMessageBuilder.EventMessageBuilder(DataCore.Adapter.Events.EventMessage! existing) -> void +override DataCore.Adapter.AssetModel.AssetModelNodeBuilder.Build() -> DataCore.Adapter.AssetModel.AssetModelNode! +override DataCore.Adapter.Events.EventMessageBuilder.Build() -> DataCore.Adapter.Events.EventMessage! +override DataCore.Adapter.RealTimeData.TagValueAnnotationBuilder.Build() -> DataCore.Adapter.RealTimeData.TagValueAnnotationExtended! +override DataCore.Adapter.RealTimeData.TagValueBuilder.Build() -> DataCore.Adapter.RealTimeData.TagValueExtended! +override DataCore.Adapter.Tags.TagDefinitionBuilder.Build() -> DataCore.Adapter.Tags.TagDefinition! diff --git a/src/DataCore.Adapter/PublicAPI.Unshipped.txt b/src/DataCore.Adapter/PublicAPI.Unshipped.txt index f679bcd0..ab058de6 100644 --- a/src/DataCore.Adapter/PublicAPI.Unshipped.txt +++ b/src/DataCore.Adapter/PublicAPI.Unshipped.txt @@ -1,8 +1 @@ #nullable enable -DataCore.Adapter.Events.EventMessageBuilder.EventMessageBuilder() -> void -DataCore.Adapter.Events.EventMessageBuilder.EventMessageBuilder(DataCore.Adapter.Events.EventMessage! existing) -> void -override DataCore.Adapter.AssetModel.AssetModelNodeBuilder.Build() -> DataCore.Adapter.AssetModel.AssetModelNode! -override DataCore.Adapter.Events.EventMessageBuilder.Build() -> DataCore.Adapter.Events.EventMessage! -override DataCore.Adapter.RealTimeData.TagValueAnnotationBuilder.Build() -> DataCore.Adapter.RealTimeData.TagValueAnnotationExtended! -override DataCore.Adapter.RealTimeData.TagValueBuilder.Build() -> DataCore.Adapter.RealTimeData.TagValueExtended! -override DataCore.Adapter.Tags.TagDefinitionBuilder.Build() -> DataCore.Adapter.Tags.TagDefinition!