serilog/serilog (Serilog)
### [`v3.1.1`](https://togithub.com/serilog/serilog/releases/tag/v3.1.1)
- [#1977](https://togithub.com/serilog/serilog/issues/1977) - don't stack overflow when disposing `ReusableStringWriter` with large renderings ([@nblumhardt](https://togithub.com/nblumhardt))
This is a bugfix for [release 3.1.0](https://togithub.com/serilog/serilog/releases/tag/v3.1.0).
### [`v3.1.0`](https://togithub.com/serilog/serilog/releases/tag/v3.1.0)
- [#1935](https://togithub.com/serilog/serilog/issues/1935) - remove `CHANGES.md` ([@sungam3r](https://togithub.com/sungam3r))
- [#1936](https://togithub.com/serilog/serilog/issues/1936), [#1922](https://togithub.com/serilog/serilog/issues/1922) - `README.md` updates ([@nblumhardt](https://togithub.com/nblumhardt))
- [#1942](https://togithub.com/serilog/serilog/issues/1942) - remove redundant `GetTypeInfo()` calls ([@SimonCropp](https://togithub.com/SimonCropp))
- [#1947](https://togithub.com/serilog/serilog/issues/1947) - message template caching performance improvements ([@epeshk](https://togithub.com/epeshk))
- [#1948](https://togithub.com/serilog/serilog/issues/1948) - reduce allocations in `Logger.Write()` ([@epeshk](https://togithub.com/epeshk))
- [#1955](https://togithub.com/serilog/serilog/issues/1955) **breaking** - collect and propagate `Activity.Current.TraceId` and `SpanId` automatically in `Logger.Write()` ([@nblumhardt](https://togithub.com/nblumhardt))
- [#1964](https://togithub.com/serilog/serilog/issues/1964) - don't cache reusable string writers with large buffer sizes ([@Jakimar](https://togithub.com/Jakimar))
- [#1969](https://togithub.com/serilog/serilog/issues/1969) - `README.md` updates ([@bartelink](https://togithub.com/bartelink))
- [#1971](https://togithub.com/serilog/serilog/issues/1971) - drop test coverage for unsupported .NET Core versions ([@bartelink](https://togithub.com/bartelink))
### Built-in trace and span id support
This release adds two new first-class properties to `LogEvent`: `TraceId` and `SpanId`. These are set automatically in `Logger.Write()` to the corresponding property values from `System.Diagnostics.Activity.Current`.
The major benefit of this change is that sinks, once updated, can reliably propagate trace and span ids through to back-ends that support them (in much the same way that first-class timestamps, messages, levels, and exceptions are used today).
The sinks maintained under `serilog/serilog`, along with formatting helpers such as *Serilog.Formatting.Compact* and *Serilog.Expressions*, are already compatible with this change or have pending releases that add compatibility.
#### Dropped .NET Core 2.1 and 3.0 support
On .NET Core 2.1 and 3.0, projects targeting Serilog 3.1+ will fail to build, with:
/project/packages/system.runtime.compilerservices.unsafe/6.0.0/buildTransitive/netcoreapp2.0
/System.Runtime.CompilerServices.Unsafe.targets(4,5): error : System.Runtime.CompilerServices.Unsafe
doesn't support netcoreapp2.1. Consider updating your TargetFramework to netcoreapp3.1 or later.
Affected consumers should continue to use Serilog 3.0 or earlier. See [https://github.com/serilog/serilog/issues/1983](https://togithub.com/serilog/serilog/issues/1983) for a discussion of this issue.
#### Technical breaking change
Trace and span id collection includes support for `{TraceId}` and `{SpanId}` placeholders in output templates (commonly used when formatting text log files). Where previously these names resolved to user-defined properties, they now resolve to the built-in `LogEvent.TraceId` and `LogEvent.SpanId` values, respectively.
Impact is expected to be low/zero, because the trace and span id values in any user-added properties are almost certainly identical to the built-in ones.
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
3.0.1
->3.1.1
Release Notes
serilog/serilog (Serilog)
### [`v3.1.1`](https://togithub.com/serilog/serilog/releases/tag/v3.1.1) - [#1977](https://togithub.com/serilog/serilog/issues/1977) - don't stack overflow when disposing `ReusableStringWriter` with large renderings ([@nblumhardt](https://togithub.com/nblumhardt)) This is a bugfix for [release 3.1.0](https://togithub.com/serilog/serilog/releases/tag/v3.1.0). ### [`v3.1.0`](https://togithub.com/serilog/serilog/releases/tag/v3.1.0) - [#1935](https://togithub.com/serilog/serilog/issues/1935) - remove `CHANGES.md` ([@sungam3r](https://togithub.com/sungam3r)) - [#1936](https://togithub.com/serilog/serilog/issues/1936), [#1922](https://togithub.com/serilog/serilog/issues/1922) - `README.md` updates ([@nblumhardt](https://togithub.com/nblumhardt)) - [#1942](https://togithub.com/serilog/serilog/issues/1942) - remove redundant `GetTypeInfo()` calls ([@SimonCropp](https://togithub.com/SimonCropp)) - [#1947](https://togithub.com/serilog/serilog/issues/1947) - message template caching performance improvements ([@epeshk](https://togithub.com/epeshk)) - [#1948](https://togithub.com/serilog/serilog/issues/1948) - reduce allocations in `Logger.Write()` ([@epeshk](https://togithub.com/epeshk)) - [#1955](https://togithub.com/serilog/serilog/issues/1955) **breaking** - collect and propagate `Activity.Current.TraceId` and `SpanId` automatically in `Logger.Write()` ([@nblumhardt](https://togithub.com/nblumhardt)) - [#1964](https://togithub.com/serilog/serilog/issues/1964) - don't cache reusable string writers with large buffer sizes ([@Jakimar](https://togithub.com/Jakimar)) - [#1969](https://togithub.com/serilog/serilog/issues/1969) - `README.md` updates ([@bartelink](https://togithub.com/bartelink)) - [#1971](https://togithub.com/serilog/serilog/issues/1971) - drop test coverage for unsupported .NET Core versions ([@bartelink](https://togithub.com/bartelink)) ### Built-in trace and span id support This release adds two new first-class properties to `LogEvent`: `TraceId` and `SpanId`. These are set automatically in `Logger.Write()` to the corresponding property values from `System.Diagnostics.Activity.Current`. The major benefit of this change is that sinks, once updated, can reliably propagate trace and span ids through to back-ends that support them (in much the same way that first-class timestamps, messages, levels, and exceptions are used today). The sinks maintained under `serilog/serilog`, along with formatting helpers such as *Serilog.Formatting.Compact* and *Serilog.Expressions*, are already compatible with this change or have pending releases that add compatibility. #### Dropped .NET Core 2.1 and 3.0 support On .NET Core 2.1 and 3.0, projects targeting Serilog 3.1+ will fail to build, with: /project/packages/system.runtime.compilerservices.unsafe/6.0.0/buildTransitive/netcoreapp2.0 /System.Runtime.CompilerServices.Unsafe.targets(4,5): error : System.Runtime.CompilerServices.Unsafe doesn't support netcoreapp2.1. Consider updating your TargetFramework to netcoreapp3.1 or later. Affected consumers should continue to use Serilog 3.0 or earlier. See [https://github.com/serilog/serilog/issues/1983](https://togithub.com/serilog/serilog/issues/1983) for a discussion of this issue. #### Technical breaking change Trace and span id collection includes support for `{TraceId}` and `{SpanId}` placeholders in output templates (commonly used when formatting text log files). Where previously these names resolved to user-defined properties, they now resolve to the built-in `LogEvent.TraceId` and `LogEvent.SpanId` values, respectively. Impact is expected to be low/zero, because the trace and span id values in any user-added properties are almost certainly identical to the built-in ones.Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.