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
SuppressTfmSupportBuildWarningson 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
JsonElementstruct instead ofJsonDocumentclass (#182) - perf: use
ArrayPoolto cache utf8 byte data (#182) - perf: use single
FileStreamon read/write JSON (#182) - perf: use
Encoding.Preambleto 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>hasCurrentValueandOnChange(Action<TOptions,String>)members.JsonWritableOptions<TOptions>constructor throwsArgumentNullExceptionif argument isnull.
New Features:sparkles:
- Add
IOptionsMonitor<TOptions>implements (#99, @anpin)- Useful for binding properties like Xamarin and MAUI
- Add
ConfigureWritableWithExplicitPathextension method (#99, @anpin)- Useful for load application settings from other directories such as Xamarin
Code Refactoring:broom:
- style: move
usingdirective to top (#68) - style: use discard(
_) on expression value (#70) - use
LoggerMessagepattern on sample project (#78) - ci: add
fileoption 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 usingsettings to.csproj(#50) - create
TempFileProviderclass 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.1and.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.0onTargetFrameworks - 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 |