Releases: nogic1008/WritableOptions.Net
Releases · nogic1008/WritableOptions.Net
v3.1.0
Breaking Change 💥
- This library now uses .NET 8 libraries on
netstandard2.0
- It warns on .NET Core 3.1 or lower. (see dotnet/runtime#94327)
- To suppress warning, you can add
SuppressTfmSupportBuildWarnings
on your csproj file.
Warning
This library does not been tested on .NET Core 3.1 or lower environments.
Be sure to integration test yourself.
<SuppressTfmSupportBuildWarnings>true</SuppressTfmSupportBuildWarnings>
Features ✨
- Support .NET 8 (#200)
Development 🚀
- ci(devcontainer): use base container (#195)
- ci(gh-action): use repository variables (#212)
- chore: migrate to dotnet-coverage (#264)
- test: migrate to MSTest SDK (#294, #296)
- ci(dependabot): add devcontainer config (#301)
Dependencies Update 🤖
powered by dependabot
Kind | Package | old | new | PR(s) |
---|---|---|---|---|
NuGet | System.Text.Json | 7.0.1 | 8.0.3 | #191, #228, #288 |
NuGet | Microsoft.Extensions.Hosting | 7.0.0 | 8.0.0 | #189, #288 |
NuGet | Microsoft.Extensions.Options | 7.0.0 | 8.0.2 | #190, #288 |
GitHub Actions | actions/cache | 3.2.3 | 3.3.1 | #186, #188, #193, #201, #202 |
GitHub Actions | actions/checkout | 3.3.0 | 4.1.4 | #204, #206, #207, #218, #232, #234, #239, #243, #287, #298, #300 |
GitHub Actions | actions/setup-dotnet | 3.0.3 | 4.0.0 | #214, #215, #255 |
GitHub Actions | actions/upload-artifact | 3.1.2 | 4.3.3 | #235, #258, #274, #279, #299 |
GitHub Actions | codecov/codecov-action | 3.1.1 | 4.3.0 | #205, #208, #210, #275, #278, #286, #289, #291, #292 |
NuGet(dev) | BenchmarkDotNet | 0.13.4 | 0.13.12 | #192, #223, #225, #236, #240, #245, #260, #268 |
NuGet(dev) | FluentAssertions | 6.9.0 | 6.12.0 | #187, #209, #231 |
NuGet(dev) | Moq | 4.18.4 | 4.20.70 | #227, #229, #262, #265 |
NuGet(dev) | Microsoft.SourceLink.GitHub | 1.1.1 | 8.0.0 | #266 |
v3.0.1
There are no new features or bug fixes in v3.0.1, but it does include internal processing improvements.
11~17% faster than previous version!
Refactoring:broom:
- perf: use
JsonElement
struct instead ofJsonDocument
class (#182) - perf: use
ArrayPool
to cache utf8 byte data (#182) - perf: use single
FileStream
on read/write JSON (#182) - perf: use
Encoding.Preamble
to reduce allocation (#183)
Development:rocket:
- chore(deps): upgrade benchmark baseline version to v3.0.0 (#179)
Dependencies Update:robot:
powered by dependabot🤖
Kind | Package | old | new | PR |
---|---|---|---|---|
NuGet(dev) | BenchmarkDotNet | 0.13.3 | 0.13.4 | #181 |
NuGet(dev) | FluentAssertions | 6.8.0 | 6.9.0 | #180 |
v3.0.0
Breaking Change:warning:
IServiceCollection.ConfigureWritable()
andIServiceCollection.ConfigureWritableWithExplicitPath()
now returnsIServiceCollection
Bug Fixes:bug:
New Features:sparkles:
- Support .NET 7 (#88)
- Enable Source Linking (#166, closes #165) thanks @hymccord
- Support Blazor Server app (#169, closes #64)
Refactoring
- perf: extract JsonWriterOptions into a variable (#127), thanks @adamradocz
Documentation:memo:
Development:wrench:
- Change benchmark to compare with v2.0.0 (#117)
- style(lint): fix format on Example projects (#119)
- ci(devcontainer): update devcontainer to v0.238.1 (#122)
- ci(gh-actions): use reusable action (#155)
- Drop .NET Core 3.1 SDK from develop environment (#163)
Dependencies Update:robot:
powered by dependabot🤖
Kind | Package | old | new | PR |
---|---|---|---|---|
NuGet | System.Text.Json | 6.0.4 | 7.0.1 | #121,#135,#160 |
NuGet(dev) | BenchmarkDotNet | 0.13.1 | 0.13.3 | #133,#171 |
NuGet(dev) | coverlet.collector | 3.1.2 | 3.2.0 | #149 |
NuGet(dev) | FluentAssertions | 6.7.0 | 6.8.0 | #147 |
NuGet(dev) | Microsoft.NET.Test.Sdk | 17.2.0 | 17.4.1 | #129,#134,#137,#154,#161 |
NuGet(dev) | Microsoft.NETFramework.ReferenceAssemblies | 1.0.2 | 1.0.3 | #131 |
NuGet(dev) | Moq | 4.18.1 | 4.18.4 | #125,#156,#173 |
NuGet(dev) | xunit | 2.4.1 | 2.4.2 | #124 |
CI/CD | actions/cache | v3.0.2 | v3.2.3 | #116,#120,#123,#128,#130,#132,#140,#141,#144,#162,#168,#172,#176 |
CI/CD | actions/checkout | v3.0.2 | v3.3.0 | #143,#158,#174 |
CI/CD | actions/setup-dotnet | v2.1.0 | v3.0.3 | #138,#139,#142,#145,#148 |
CI/CD | actions/upload-artifact | v3.1.0 | v3.1.2 | #146,#175 |
CI/CD | codecov/codecov-action | v3.1.0 | v3.1.1 | #136 |
v3.0.0-beta.3
Bug Fixes:bug:
Dependencies Update:robot:
powered by dependabot🤖
Kind | Package | old | new | PR |
---|---|---|---|---|
CI/CD | actions/cache | v3.2.0 | v3.2.1 | #168 |
v3.0.0-beta.2
v3.0.0-beta.1
Breaking Change:warning:
IServiceCollection.ConfigureWritable()
andIServiceCollection.ConfigureWritableWithExplicitPath()
now returnsIServiceCollection
Bug Fixes:bug:
New Features:sparkles:
- Support .NET 7 (#88)
Refactoring
- perf: extract JsonWriterOptions into a variable (#127), thanks @adamradocz
Development:wrench:
- Change benchmark to compare with v2.0.0 (#117)
- style(lint): fix format on Example projects (#119)
- ci(devcontainer): update devcontainer to v0.238.1 (#122)
- ci(gh-actions): use reusable action (#155)
- Drop .NET Core 3.1 SDK from develop environment (#163)
Dependencies Update:robot:
powered by dependabot🤖
Kind | Package | old | new | PR |
---|---|---|---|---|
NuGet | System.Text.Json | 6.0.4 | 7.0.1 | #121,#135,#160 |
NuGet(dev) | BenchmarkDotNet | 0.13.1 | 0.13.2 | #133 |
NuGet(dev) | coverlet.collector | 3.1.2 | 3.2.0 | #149 |
NuGet(dev) | FluentAssertions | 6.7.0 | 6.8.0 | #147 |
NuGet(dev) | Microsoft.NET.Test.Sdk | 17.2.0 | 17.4.1 | #129,#134,#137,#154,#161 |
NuGet(dev) | Microsoft.NETFramework.ReferenceAssemblies | 1.0.2 | 1.0.3 | #131 |
NuGet(dev) | Moq | 4.18.1 | 4.18.3 | #125,#156 |
NuGet(dev) | xunit | 2.4.1 | 2.4.2 | #124 |
CI/CD | actions/cache | v3.0.2 | v3.2.0 | #116,#120,#123,#128,#130,#132,#140,#141,#144,#162 |
CI/CD | actions/checkout | v3.0.2 | v3.2.0 | #143,#158 |
CI/CD | actions/setup-dotnet | v2.1.0 | v3.0.3 | #138,#139,#142,#145,#148 |
CI/CD | actions/upload-artifact | v3.1.0 | v3.1.1 | #146 |
CI/CD | codecov/codecov-action | v3.1.0 | v3.1.1 | #136 |
v2.0.0
Breaking Change:warning:
IWritableOptions<TOptions>
implementsIOptionsMonitor<TOptions>
.- If you implement this interface, You should add CurrentValue property and OnChange method.
JsonWritableOptions<TOptions>
hasCurrentValue
andOnChange(Action<TOptions,String>)
members.JsonWritableOptions<TOptions>
constructor throwsArgumentNullException
if argument isnull
.
New Features:sparkles:
- Add
IOptionsMonitor<TOptions>
implements (#99, @anpin)- Useful for binding properties like Xamarin and MAUI
- Add
ConfigureWritableWithExplicitPath
extension method (#99, @anpin)- Useful for load application settings from other directories such as Xamarin
Code Refactoring:broom:
- style: move
using
directive to top (#68) - style: use discard(
_
) on expression value (#70) - use
LoggerMessage
pattern on sample project (#78) - ci: add
file
option to reduce coverage size (#90) - perf: store UTF-8 encoded property name instead of
string
(#104)
Documentation:memo:
- Update benchmark & README docs for Awesome.Net.WritableOptions new version (#75)
- Add Xamarin & MAUI sample (#99, @anpin)
- Add more XML documentation comment (#110)
Development:wrench:
- Add
<NoWarn>
option on test projects (#72) - Add .NET Framework 4.8 unit test (#98)
- Add .NET Framework 4.8 on benchmark (#92)
CI/CD:rocket:
- Add "Update NuGet Lock Files" job (#76)
- Add Benchmark workflow (#95, cd2e374, #108, 46aac84)
- Add Released package benchmark (#109)
- Setup dev container (#112)
Dependencies Update:robot:
powered by dependabot🤖
Kind | Package | old | new | PR |
---|---|---|---|---|
Prod | Microsoft.Extensions.Hosting | 6.0.0 | 6.0.1 | #66 |
Prod | System.Text.Json | 6.0.1 | 6.0.4 | #67,#94,#105 |
CI/CD | actions/cache | v2.1.7 | v3.0.2 | #85,#86,#93 |
CI/CD | actions/checkout | v2.3.4 | v3.0.0 | #82,#96,#97 |
CI/CD | actions/setup-dotnet | v1.9.0 | v2.1.0 | #79,#80,#103 |
CI/CD | actions/upload-artifact | v2.3.1 | v3.1.0 | #83,#114 |
CI/CD | codecov/codecov-action | v2.1.0 | v3.1.0 | #89,#98 |
Dev | coverlet.collector | 3.1.0 | 3.1.2 | #62,#65 |
Dev | FluentAssertions | 6.2.0 | 6.7.0 | #57,#61,#74,#87,#113 |
Dev | Microsoft.NET.Test.Sdk | 17.0.0 | 17.2.0 | #77,#106 |
Dev | Moq | 4.16.1 | 4.18.1 | #81,#84,#107,#111 |
Dev | xunit.runner.visualstudio | 2.4.3 | 2.4.5 | #102 |
Sample | Awesome.Net.WritableOptions | 1.3.1 | 3.0.0 | #75 |
Sample | ConsoleAppFramework | 4.0.1 | 4.0.6 | #59,#60,#63 |
v1.1.1
Bug Fixes:bug:
Code Refactoring:broom:
Dev/Test
- use
ArgumentNullException.ThrowIfNull()
(#50) - move
global using
settings to.csproj
(#50) - create
TempFileProvider
class for test (#50)
Documentation:memo:
- include README on NuGet package (#53)
Development:rocket:
CI/CD
- add framework matrix test (#51)
- Test with
.NET Core 3.1
and.NET 6
- Test with
Dependencies Update
powered by dependabot🤖
Kind | Package | old | new | PR |
---|---|---|---|---|
CI/CD | actions/setup-dotnet | 1.8.2 | 1.9.0 | #47 |
CI/CD | actions/upload-artifact | 2.2.4 | 2.3.1 | #48,#52 |
CI/CD | actions/cache | 2.1.6 | 2.1.7 | #46 |
Prod | System.Text.Json | 6.0.0 | 6.0.1 | #49 |
Sample | ConsoleAppFramework | 3.3.2 | 4.0.1 | #54 |
v1.1.0
New Features:sparkles:
- support .NET 6 (#42)
- add
net6.0
onTargetFrameworks
- update to .NET 6 Libraries
- use C# 10
- add
Documentation:memo:
- bundle XML document on Release build (#13)
Development:rocket:
Testing
CI/CD
- setup dependabot (#20)
Dependencies Update
powered by dependabot🤖
Kind | Package | old | new | PR |
---|---|---|---|---|
CI/CD | actions/cache | v2.1.4 | v2.1.6 | #25 |
CI/CD | actions/setup-dotnet | v1.7.2 | v1.8.2 | #23,#41 |
CI/CD | actions/upload-artifact | v2.2.2 | v2.2.4 | #27 |
CI/CD | codecov/codecov-action | v1 | v2.1.0 | #34,#39,#40 |
Prod | Microsoft.Extensions.Configuration.Abstractions | 3.1.* | 6.0.0 | #42 |
Prod | Microsoft.Extensions.Hosting | 3.1.* | 6.0.0 | #42 |
Prod | Microsoft.Extensions.Options | 3.1.* | 6.0.0 | #42 |
Prod | System.Text.Json | 4.7 | 6.0.0 | #42 |
Dev | ConsoleAppFramework | 3.2.0 | 3.3.2 | #28,#32,#43 |
Dev | Microsoft.NET.Test.Sdk | 16.8.3 | 17.0.0 | #22,#37,#45 |
Dev | BenchmarkDotNet | 0.12.1 | 0.13.1 | #24,#35 |
Dev | FluentAssertions | 5.10.3 | 6.2.0 | #36,#38,#44 |
Dev | Moq | 4.16.0 | 4.16.1 | #26 |
Dev | Newtonsoft.Json | 12.0.3 | 13.0.1 | #21 |