> This page is for SDKs, version Legacy.
> For other versions, use one of these documentation indexes:
> - Current (default): https://buildwithfern.com/learn/sdks/current/llms.txt
> - Legacy: https://buildwithfern.com/learn/sdks/legacy/llms.txt

> For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://buildwithfern.com/learn/llms.txt.

## 2.54.6

**`(chore):`** Upgrade test infrastructure NuGet packages in generated C# SDK test projects.
These are test-only dependencies and do not affect the shipped SDK.

* Microsoft.NET.Test.Sdk: 17.13.0 → 18.3.0
* NUnit: 4.3.2 → 4.5.1
* NUnit3TestAdapter: 5.0.0 → 6.2.0
* NUnit.Analyzers: 4.6.0 → 4.12.0
* coverlet.collector: 6.0.4 → 8.0.1
* WireMock.Net: 1.7.4 → 1.25.0

## 2.54.5

**`(chore):`** Upgrade BCL/runtime NuGet package versions in generated C# SDKs.
All packages remain within the 9.x line for net8.0 compatibility.

* Portable.System.DateTimeOnly: 8.0.2 → 9.0.1
* System.Text.Json: 8.0.5 → 9.0.9 (legacy TFM conditional)
* Microsoft.Extensions.Logging.Abstractions: 8.0.2 → 9.0.13 (WebSocket)
* System.Threading.Channels: 8.0.0 → 9.0.13 (WebSocket)
* System.Net.ServerSentEvents: 9.0.9 → 9.0.14 (SSE)

## 2.54.4

**`(fix):`** Thread endpoint ID through dynamic snippet generator to differentiate
generated snippets by endpoint.

## 2.54.3

**`(fix):`** Fix C# dynamic snippets using the internal client class name (`client-class-name`)
instead of the exported client class name (`exported-client-class-name`). When both
config options are set (e.g., `client-class-name: BasePayrocClient` and
`exported-client-class-name: PayrocClient`), generated snippets now correctly use
`PayrocClient` in user-facing code.