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