Repository navigation
fix: add release-please version markers to csproj - #21
Merged
tanderson-ld merged 1 commit intoSep 22, 2026
Merged
Conversation
The .csproj Version tag was not managed by release-please because: 1. The file was missing from extra-files in release-please-config.json 2. The Version tag lacked x-release-please-start-version/end markers Without this, the NuGet package would be built with the old version on every release, causing the publish to fail since that version already exists on NuGet. Co-Authored-By: rlamb@launchdarkly.com <4955475+kinyoklion@users.noreply.github.com>
Contributor
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
tanderson-ld
approved these changes
Sep 22, 2026
tanderson-ld
deleted the
devin/1780959591-fix-release-version-management
branch
September 22, 2026 13:37
tanderson-ld
added a commit
that referenced
this pull request
Sep 22, 2026
## Summary LaunchDarkly.Logging 2.0.0 still ships a `netcoreapp3.1` target. Under NuGet's nearest-compatible asset selection, **every .NET 5+ application** (including net8.0 services and MAUI `net8.0-*` apps) selects that asset, so an assembly built against EOL .NET Core 3.1 lands in modern applications. Security scanners flag the EOL runtime references, and this has been reported through customer support as failing CI/CD security gates. This PR replaces the `netcoreapp3.1` target with `net8.0`, matching the rest of the SDK family (ServerSdk since 8.9.0, CommonSdk since 7.0.1, InternalSdk since 3.8.0). **No code changes are required**: `Logs.CoreLogging` is gated on `#if NETCOREAPP`, which is also defined for net8.0. Per review, the `Microsoft.Extensions.Logging.Abstractions` floor on the net8.0 target moves to 8.0.3, the framework-matched band. Related ticket: SDK-3131 ## Consumer impact | Consumer | Asset before | Asset after | Effect | |---|---|---|---| | net8.0+ / net10 / MAUI | netcoreapp3.1 | net8.0 | same API; `Microsoft.Extensions.Logging.Abstractions` floor moves 6.0.0 → 8.0.3; scanner finding resolved | | .NET Framework 4.6.2+ | net462 | net462 | none | | netstandard2.x libraries | netstandard2.0 | netstandard2.0 | none | | netcoreapp3.1, net5–net7 (all EOL) | netcoreapp3.1 | netstandard2.0 | all APIs available except `Logs.CoreLogging`; the [LaunchDarkly.Logging.Microsoft](https://www.nuget.org/packages/LaunchDarkly.Logging.Microsoft) package provides the equivalent adapter there | Shipped as `feat:` (2.1.0), consistent with how the equivalent target-framework changes shipped across the SDK family. (2.0.0 was a major because dropping `net452` made the package uninstallable for .NET Framework < 4.6.2; this change leaves every current consumer installable and functional.) ## Notes for reviewers - **Release prerequisite:** #21 (release-please version markers in the csproj) should land before cutting the release, or release-please will publish with a stale `<Version>` stamp. - **Optional variant:** adding a `net10.0` target alongside net8.0 is a one-line change that would pre-empt the same scanner issue recurring when net8 reaches EOL (November 2026). Left out here to match current family convention — happy to add if preferred. - Follow-up (separate PRs, dotnet-core): raise the LaunchDarkly.Logging floor in ServerSdk and ClientSdk so customers pick this up transitively; NuGet's lowest-wins resolution means nothing changes for them until then. Customers can opt in immediately with a direct `PackageReference`. ## Testing - `dotnet build` (0 warnings) and `dotnet test` (52/52 passed) locally on net8.0/netstandard2.0, including `NetCoreLoggingTest` exercising `Logs.CoreLogging` against the retargeted asset. - CI matrix (SDK 8.x/9.x on ubuntu + windows) builds all three targets including net462. <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Overview** > Replaces the EOL **`netcoreapp3.1`** NuGet target with **`net8.0`** so modern .NET apps stop resolving the 3.1 asset (and related scanner failures) while keeping **`net462`** and **`netstandard2.0`**. > > The **`net8.0`** build now references **`Microsoft.Extensions.Logging.Abstractions` 8.0.3** (was 6.0.0 on 3.1); tests use **`Microsoft.Extensions.Logging` 8.0.1**. **`Logs.CoreLogging`** stays behind **`#if NETCOREAPP`**—only XML/docs and README/CONTRIBUTING examples are updated to describe .NET 8.0+. > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit bb92882. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY -->
tanderson-ld
pushed a commit
that referenced
this pull request
Sep 22, 2026
🤖 I have created a release *beep* *boop* --- ## [2.1.0](2.0.0...2.1.0) (2026-09-22) ### Features * replace EOL netcoreapp3.1 target with net8.0 ([02a5cf2](02a5cf2)) * replace EOL netcoreapp3.1 target with net8.0 ([#23](#23)) ([4f56f24](4f56f24)) ### Bug Fixes * add release-please version markers to csproj ([4f73aba](4f73aba)) * add release-please version markers to csproj ([#21](#21)) ([903271e](903271e)) * match Microsoft.Extensions.Logging.Abstractions to the net8.0 framework band ([4698802](4698802)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Overview** > **Release 2.1.0** bumps package and release metadata from **2.0.0** to **2.1.0** (manifest, `LaunchDarkly.Logging.csproj`, `PROVENANCE.md` example version, and a new **CHANGELOG** section). > > The release notes capture work already merged for this line: **netcoreapp3.1** is dropped in favor of **net8.0** as a build target (alongside **netstandard2.0** and **net462**), **release-please** version markers were added around the csproj version, and **Microsoft.Extensions.Logging.Abstractions** is pinned to the **8.x** band for the **net8.0** target. This PR itself is the automated Release Please cut—no additional runtime or API code changes beyond those version/doc updates in the diff. > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit 6b4b25e. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY -->
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.
Summary
release-please doesn't update the
<Version>in the.csprojbecause the file is missing fromextra-filesand lacksx-release-please-start-version/x-release-please-endmarkers. This means the NuGet package would be built with the old version on every release, anddotnet nuget pushwould fail since that version already exists on NuGet.Adds the csproj to
extra-filesinrelease-please-config.jsonand wraps the<Version>tag with release-please markers — matching how the NLog and MS logging adapters are configured.Link to Devin session: https://app.devin.ai/sessions/746778111964463bbcfa2ddded90cb85
Requested by: @kinyoklion
Note
Low Risk
Release automation and project metadata only; no runtime or API behavior changes.
Overview
Fixes release-please so the NuGet package version bumps on each release.
release-please-config.jsonnow listssrc/LaunchDarkly.Logging/LaunchDarkly.Logging.csprojunderextra-files, and the csproj wraps<Version>withx-release-please-start-version/x-release-please-endmarkers (same pattern asPROVENANCE.md). Without this, releases could keep building and pushing2.0.0, causingdotnet nuget pushfailures.Reviewed by Cursor Bugbot for commit 4f73aba. Bugbot is set up for automated code reviews on this repo. Configure here.