Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

7.0.0 Release #343

Merged
merged 100 commits into from May 10, 2023
Merged

7.0.0 Release #343

merged 100 commits into from May 10, 2023

Conversation

nblumhardt
Copy link
Member

@nblumhardt nblumhardt commented Dec 19, 2022

Bánhegyi Álmos and others added 21 commits August 28, 2020 18:56
A partial fix for minimumlevel not being correctly overriden by higher priority providers.
Co-authored-by: Ivan Maximov <sungam3r@yandex.ru>
Minimumlevel partial fix with IConfigurationRoot.Providers
…types

Add support for delegate type values through StringArgumentValue #259
Mark partial and invalid JSON code snippets as YAML
Extensions method discovery workaround
Case insensitive log level support
Implicit usings and file-scoped namespaces
sungam3r and others added 7 commits January 6, 2023 14:44
Support for .NET Framework 4, 4.5, and 4.5.1 [ended on January 12, 2016](https://learn.microsoft.com/en-GB/lifecycle/faq/dotnet-framework), that was 7 years ago!

Also bump Microsoft.Extensions.Configuration.Binder and Microsoft.Extensions.DependencyModel to version 6.0.0 since version 2.0.0 and 3.0.0 respectively have been deprecated as part of the [.NET Package Deprecation effort](dotnet/announcements#217).

Finally, this change allows to remove all conditional compilation.

Note that removing a target framework is a breaking change so it will require a major version bump, i.e. 4.0.0.
Drop support for .NET Framework 4.5.1
Also introduce a new `ConfigurationReaderOptions` class to avoid `ReadFrom.Configuration()` methods exponential growth when adding new options.

All _older_ `Configuration()` methods go through the newly introduced `Configuration(LoggerSettingsConfiguration, IConfiguration, ConfigurationReaderOptions)` method that takes an `ConfigurationReaderOptions` instance.

Older methods explicitly set the `FormatProvider` option to `null` in order to preserve backward compatibility.

By using the new `Configuration()` method, users opt into the new default of having the invariant culture as the format provider.

Note: the `= null` default value in the `Configuration()` method taking a `DependencyContext` has been removed in order to make sure the CS0121 compilation does not occur:

> [CS0121] The call is ambiguous between the following methods or properties: 'ConfigurationLoggerConfigurationExtensions.Configuration(LoggerSettingsConfiguration, IConfiguration, DependencyContext)' and 'ConfigurationLoggerConfigurationExtensions.Configuration(LoggerSettingsConfiguration, IConfiguration, ConfigurationReaderOptions)'

Fixes #325
Add support for IFormatProvider used to convert string to other types
@0xced
Copy link
Member

0xced commented Mar 10, 2023

I guess the title of this pull request could be renamed to 4.0.0 Release since ab5d7a4 is going to be merged?

0xced and others added 7 commits March 27, 2023 08:48
… command line

This works around dotnet/sdk#27202
It also has the benefit of using settings _only_ from the specified config file, ignoring the global nuget.config where package source mapping could interfere with the local source.
Add a new PublishAsync(PublishMode) method and also add a comment explaining why it would not work to publish multiple apps in parallel.
Added missing closing bracket on Complex parameter value binding summary
@nblumhardt nblumhardt changed the title 4.0.0 Release 7.0.0 Release May 5, 2023
nblumhardt and others added 5 commits May 5, 2023 10:20
Make sure that single-file apps can find assemblies that contains sinks
Use a HashSet instead of a Dictionary keyed by the assembly full name. If an assembly is loaded twice with the same AssemblyName it will be the same instance so a HashSet (without even a custom IEqualityComparer<Assembly>) is the perfect solution.

Also, Assembly.Load can throw many exceptions but won't return null.

This was initially introduced in 74402f8 but merged incorrectly in ac1b8c8.
Just like it was done for log level switches in #352.
@0xced
Copy link
Member

0xced commented May 7, 2023

After merging #366 there will be 3 mentions of Since version 4.0.0 in the README. That should probably be updated to Since version 7.0.0 to reflect the recent versioning change.

0xced and others added 9 commits May 8, 2023 09:08
Was getting this exception because of assembly version mismatch:
> System.IO.FileLoadException: Could not load file or assembly 'Microsoft.Extensions.Configuration.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Add a callback on the reader options to expose the log filter switches
Fix tests on .NET Framework 4.8
Use `throw` to exit when a `dotnet` command fails so that errors are properly reported on AppVeyor.

See also #372
Was getting this exception because of assembly version mismatch:
> System.IO.FileLoadException: Could not load file or assembly 'System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

Automatically generating binding redirects fixes the issue.
Fix tests on .NET Framework 4.8 (really)
@nblumhardt nblumhardt marked this pull request as ready for review May 10, 2023 05:11
@nblumhardt
Copy link
Member Author

Ready to go! 😎

@nblumhardt nblumhardt merged commit e878335 into main May 10, 2023
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants