Conversation
…, transport layer, Serilog sink - W3C traceparent distributed tracing with AsyncLocal LogTideScope - Span tracking with OTLP export (StartSpan/FinishSpan) - Breadcrumbs ring buffer attached to scopes - Composable transport layer (ILogTransport, ISpanTransport, BatchTransport) - ILogTideClient interface for DI and testability - Integration system with GlobalErrorIntegration - Serilog sink project (LogTide.SDK.Serilog) - DSN connection string support - Sensitive header filtering in middleware - LogTideErrorHandlerMiddleware for unhandled exceptions - Target frameworks updated to net8.0/net9.0, LangVersion 13 - Fixed 17 bugs including circuit breaker, dispose data loss, race conditions, W3C spec compliance, resource leaks, and sync-over-async deadlocks - 93 tests, 0 warnings, 0 vulnerabilities
Build + test matrix on .NET 8 and 9, vulnerability check. Triggers on push and pull_request to main and develop.
Push a tag like v0.8.3 to build, test, pack, and publish both LogTide.SDK and LogTide.SDK.Serilog to NuGet. Also creates a GitHub Release with the .nupkg artifacts. Requires NUGET_API_KEY secret configured in repository settings.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces major new features and improvements to the LogTide SDK, focusing on distributed tracing, ambient context propagation, extensibility, and reliability. It adds support for W3C trace context, a new breadcrumb system, a composable transport layer, and a robust integration system. The CI/CD pipeline is also enhanced with new workflows for continuous integration and automated NuGet releases.
Key changes:
Distributed Tracing and Context Propagation
traceparentdistributed tracing support, replacing the legacyX-Trace-Idheader. IntroducedLogTideScopeusingAsyncLocalfor ambient trace context across async flows, and span tracking withStartSpan/FinishSpanmethods, including OpenTelemetry-compatible OTLP export. (CHANGELOG.md[1]Core/LogTideScope.cs[2]Core/ILogTideClient.cs[3]Core/LogTideClient.cs[4]Breadcrumb System
Breadcrumbmodel and a thread-safe ring-bufferBreadcrumbBufferfor capturing and attaching breadcrumbs to scopes and log entries. (Breadcrumbs/Breadcrumb.cs[1]Breadcrumbs/BreadcrumbBuffer.cs[2]Core/LogTideScope.cs[3]Core/ILogTideClient.cs[4]Core/LogTideClient.cs[5]Extensibility and Integration
ILogTransport,ISpanTransport,BatchTransport,LogTideHttpTransport, andOtlpHttpTransportfor flexible log and span delivery. Introduced theILogTideClientinterface for DI/testability, and a new integration system withIIntegrationand aGlobalErrorIntegrationfor capturing unhandled exceptions. (Core/ILogTideClient.cs[1]Core/LogTideClient.cs[2]Integrations/IIntegration.cs[3]Integrations/GlobalErrorIntegration.cs[4]CI/CD and Release Automation
.github/workflows/ci.yml[1].github/workflows/release.yml[2]Documentation and Changelog
CHANGELOG.mdwith detailed entries for all new features, changes, and fixes in version 0.8.3, and added a comparison link for releases. (CHANGELOG.md[1] [2]