> 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.56.4

**`(fix):`** Fix duplicate field error in wrapped request generation when an inlined
request body property has the same PascalCase name as a path parameter
(e.g., `upload_request_id` body property colliding with `uploadRequestId`
path parameter). When a collision is detected, the path parameter field
(\[JsonIgnore]) is skipped and the body property (\[JsonPropertyName]) is
kept, so the single property serializes to both the URL path and the
JSON request body.

## 2.56.3

**`(chore):`** Remove legacy backslash escape in generated CI workflow's NuGet publish
step now that Eta template engine does not interpret `${}` syntax.

## 2.56.2

**`(fix):`** Make query-string and path parameter encoding RFC 3986 spec-compliant
with three distinct encoding contexts: path segments (pchar), query keys,
and query values. Each context now encodes exactly the characters that
RFC 3986 requires. Query keys exclude `&`, `=`, `+`, `#`; query values
exclude `&`, `+`, `#` (but allow `=`); path segments allow all
sub-delimiters plus `:` and `@` (but encode `/` and `?`). Path parameter
values are now percent-encoded via `EncodePathSegment` in
`ValueConvert.ToPathParameterString`. Previously, all contexts shared a
single character set and path parameters were not encoded.

## 2.56.1

**`(chore):`** Use a persistent CSharpier process for code formatting. Instead of
spawning a new process per format call, a single `csharpier pipe-files`
process is kept alive and files are piped to it on demand. This
eliminates repeated .NET startup overhead and significantly speeds up
formatting during SDK generation.

## 2.56.0

**`(feat):`** Add `maxRetries` custom config option to override the default maximum
number of retries for failed requests. The default remains 2 when not
specified.