Skip to content

Add v114 documentation and Docusaurus version snapshot#2368

Merged
alexeyzimarev merged 3 commits intodevfrom
docs/v114-release
Mar 5, 2026
Merged

Add v114 documentation and Docusaurus version snapshot#2368
alexeyzimarev merged 3 commits intodevfrom
docs/v114-release

Conversation

@alexeyzimarev
Copy link
Member

Summary

  • Add v114.0 changelog covering breaking changes, new features, behavior changes, and bug fixes
  • Document RedirectOptions class for fine-grained redirect control (new section + options table entry)
  • Document MultipartFormQuoteParameters default change from false to true
  • Document InvariantCulture default for generic parameter formatting methods
  • Document improved ErrorMessage for timeouts and wrapped exceptions in error handling page
  • Update options table entries for FollowRedirects, MaxRedirects, Expect100Continue
  • Create Docusaurus v114 versioned docs snapshot

Test plan

  • pnpm build in docs/ succeeds with no errors

🤖 Generated with Claude Code

…ing, error handling

- Add v114.0 changelog with breaking changes, new features, behavior changes, and bug fixes
- Document RedirectOptions for fine-grained redirect control
- Document MultipartFormQuoteParameters default change (false -> true)
- Document InvariantCulture default for parameter formatting
- Document improved ErrorMessage for timeouts and wrapped exceptions
- Update options table entries for FollowRedirects, MaxRedirects, Expect100Continue
- Create Docusaurus v114 versioned docs snapshot

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@qodo-free-for-open-source-projects
Copy link
Contributor

Review Summary by Qodo

Add v114 release documentation and Docusaurus version snapshot

📝 Documentation

Grey Divider

Walkthroughs

Description
• Add comprehensive v114 release documentation with changelog covering breaking changes, new
  features, behavior changes, and bug fixes
• Document new RedirectOptions class for fine-grained redirect control with detailed configuration
  table
• Document MultipartFormQuoteParameters default change from false to true per RFC 7578
• Document InvariantCulture default for generic parameter formatting methods with locale-specific
  examples
• Document improved ErrorMessage for timeouts and root cause visibility in error handling
• Create Docusaurus v114 versioned docs snapshot with complete advanced topics and usage guides
Diagram
flowchart LR
  A["v114 Release"] --> B["Changelog Documentation"]
  A --> C["Configuration Updates"]
  A --> D["Error Handling Improvements"]
  A --> E["Versioned Docs Snapshot"]
  B --> B1["Breaking Changes"]
  B --> B2["New Features"]
  B --> B3["Behavior Changes"]
  B --> B4["Bug Fixes"]
  C --> C1["RedirectOptions"]
  C --> C2["Parameter Formatting"]
  C --> C3["MultipartFormQuoteParameters"]
  D --> D1["Timeout Messages"]
  D --> D2["Root Cause Visibility"]
  E --> E1["Advanced Topics"]
  E --> E2["Usage Guides"]
Loading

Grey Divider

File Changes

1. docs/docs/changelog.md 📝 Documentation +30/-4

Add comprehensive v114.0 changelog with all changes

docs/docs/changelog.md


2. docs/docs/advanced/configuration.md 📝 Documentation +46/-5

Update configuration docs with RedirectOptions and parameter formatting

docs/docs/advanced/configuration.md


3. docs/docs/advanced/error-handling.md 📝 Documentation +2/-0

Document improved error messages for timeouts and root causes

docs/docs/advanced/error-handling.md


View more (17)
4. docs/versioned_docs/version-v114/changelog.md 📝 Documentation +45/-0

Create v114 versioned changelog snapshot

docs/versioned_docs/version-v114/changelog.md


5. docs/versioned_docs/version-v114/intro.md 📝 Documentation +112/-0

Create v114 quick start and introduction guide

docs/versioned_docs/version-v114/intro.md


6. docs/versioned_docs/version-v114/advanced/configuration.md 📝 Documentation +318/-0

Create v114 versioned configuration documentation

docs/versioned_docs/version-v114/advanced/configuration.md


7. docs/versioned_docs/version-v114/advanced/error-handling.md 📝 Documentation +73/-0

Create v114 versioned error handling documentation

docs/versioned_docs/version-v114/advanced/error-handling.md


8. docs/versioned_docs/version-v114/advanced/authenticators.md 📝 Documentation +271/-0

Create v114 versioned authenticators documentation

docs/versioned_docs/version-v114/advanced/authenticators.md


9. docs/versioned_docs/version-v114/advanced/interceptors.md 📝 Documentation +84/-0

Create v114 versioned interceptors documentation

docs/versioned_docs/version-v114/advanced/interceptors.md


10. docs/versioned_docs/version-v114/advanced/serialization.md 📝 Documentation +148/-0

Create v114 versioned serialization documentation

docs/versioned_docs/version-v114/advanced/serialization.md


11. docs/versioned_docs/version-v114/advanced/_category_.json ⚙️ Configuration changes +7/-0

Create v114 advanced topics category configuration

docs/versioned_docs/version-v114/advanced/category.json


12. docs/versioned_docs/version-v114/usage/basics.md 📝 Documentation +23/-0

Create v114 versioned RestSharp basics guide

docs/versioned_docs/version-v114/usage/basics.md


13. docs/versioned_docs/version-v114/usage/client.md 📝 Documentation +115/-0

Create v114 versioned client creation documentation

docs/versioned_docs/version-v114/usage/client.md


14. docs/versioned_docs/version-v114/usage/example.md 📝 Documentation +113/-0

Create v114 versioned example API client implementation

docs/versioned_docs/version-v114/usage/example.md


15. docs/versioned_docs/version-v114/usage/request.md 📝 Documentation +356/-0

Create v114 versioned request preparation documentation

docs/versioned_docs/version-v114/usage/request.md


16. docs/versioned_docs/version-v114/usage/execute.md 📝 Documentation +172/-0

Create v114 versioned request execution documentation

docs/versioned_docs/version-v114/usage/execute.md


17. docs/versioned_docs/version-v114/usage/response.md 📝 Documentation +49/-0

Create v114 versioned response handling documentation

docs/versioned_docs/version-v114/usage/response.md


18. docs/versioned_docs/version-v114/usage/_category_.json ⚙️ Configuration changes +7/-0

Create v114 usage category configuration

docs/versioned_docs/version-v114/usage/category.json


19. docs/versions.json ⚙️ Configuration changes +1/-0

Add v114 to versions list

docs/versions.json


20. docs/versioned_sidebars/version-v114-sidebars.json ⚙️ Configuration changes +8/-0

Create v114 versioned sidebar configuration

docs/versioned_sidebars/version-v114-sidebars.json


Grey Divider

Qodo Logo

@qodo-free-for-open-source-projects
Copy link
Contributor

qodo-free-for-open-source-projects bot commented Mar 5, 2026

Code Review by Qodo

🐞 Bugs (5) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider


Action required

1. Broken BaseUrl example🐞 Bug ✓ Correctness
Description
The v114 configuration page shows setting BaseUrl using a non-existent Url type and uses a comma
instead of a statement terminator, so the sample won’t compile and misrepresents the API (BaseUrl
is a Uri?).
Code

docs/versioned_docs/version-v114/advanced/configuration.md[R64-67]

+var client = new RestClient(options => {
+    options.BaseUrl = new Url("https://localhost:5000/api"),
+    options.DisableCharset = true
+});
Evidence
The docs sample uses new Url(...) and a comma, but RestSharp’s RestClientOptions.BaseUrl is
Uri? and constructors use Uri/string (no Url type).

docs/versioned_docs/version-v114/advanced/configuration.md[63-67]
src/RestSharp/Options/RestClientOptions.cs[43-52]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The v114 docs show an invalid C# snippet for configuring `RestClientOptions` (`Url` type doesn’t exist; comma used instead of statement terminator).
### Issue Context
`RestClientOptions.BaseUrl` is `Uri?` and RestSharp constructors accept `Uri`/`string`.
### Fix Focus Areas
- docs/versioned_docs/version-v114/advanced/configuration.md[63-67]
### Suggested change
Replace with something like:

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


2. Invalid serializer lambda🐞 Bug ✓ Correctness
Description
The v114 serialization page contains a configureSerialization: argument with a stray semicolon
inside the argument expression, making the snippet invalid C# as written.
Code

docs/versioned_docs/version-v114/advanced/serialization.md[R17-20]

+var client = new RestClient(
+    options, 
+    configureSerialization: s => s.UseSerializer(() => new CustomSerializer());
+);
Evidence
The docs include s => s.UseSerializer(...); as an argument expression. The semicolon terminates a
statement, which is not valid inside the argument list; the delegate type is `void
ConfigureSerialization(SerializerConfig config) so you either provide an expression without ;` or
a block lambda.

docs/versioned_docs/version-v114/advanced/serialization.md[16-21]
src/RestSharp/RestClient.cs[29-70]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
A code sample uses an expression lambda with a trailing `;` inside the argument list, which makes the snippet not compile.
### Issue Context
`configureSerialization` takes a `ConfigureSerialization` delegate. The argument must be a valid lambda expression.
### Fix Focus Areas
- docs/versioned_docs/version-v114/advanced/serialization.md[16-21]
### Suggested change
Either:

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


3. HttpClient reuse section wrong🐞 Bug ✓ Correctness
Description
The v114 docs claim BaseAddress and MaxTimeout are the options that apply when reusing an
HttpClient, but RestSharp uses RestClientOptions.BaseUrl (populated from
httpClient.BaseAddress) and MaxTimeout doesn’t exist.
Code

docs/versioned_docs/version-v114/usage/client.md[R69-72]

+- `BaseAddress` is be used to set the base address of the `HttpClient` instance if base address is not set there already.
+- `MaxTimeout` is used to cancel the call using the cancellation token source, so
+- `UserAgent` will be added to the `RestClient.DefaultParameters` list as a HTTP header. This will be added to each request made by the `RestClient`, and the `HttpClient` instance will not be modified. This is to allow the `HttpClient` instance to be reused for scenarios where different `User-Agent` headers are required.
+- `Expect100Continue`
Evidence
The docs mention BaseAddress and MaxTimeout, but the shared-HttpClient constructor only maps
httpClient.BaseAddress into options.BaseUrl and there is no MaxTimeout in RestClientOptions.

docs/versioned_docs/version-v114/usage/client.md[67-72]
src/RestSharp/RestClient.cs[181-183]
src/RestSharp/Options/RestClientOptions.cs[48-52]
src/RestSharp/Options/RestClientOptions.cs[202-214]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The guidance for reusing `HttpClient` references properties that don’t match the current API (`BaseAddress`/`MaxTimeout`).
### Issue Context
When an `HttpClient` is provided, RestSharp maps `httpClient.BaseAddress` to `RestClientOptions.BaseUrl` if `BaseUrl` is unset.
### Fix Focus Areas
- docs/versioned_docs/version-v114/usage/client.md[67-72]
### Suggested change
Adjust bullets to something like:
- `BaseUrl` (if not set, it will be taken from `httpClient.BaseAddress`)
- `Timeout` (request/client timeout behavior)
- `UserAgent`
- `Expect100Continue`
(and remove `MaxTimeout` mentions)

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


View more (1)
4. Example uses wrong ctor🐞 Bug ✓ Correctness
Description
The v114 usage example shows creating RestClient with an IOptions value and defines
TwitterClientOptions with invalid class/record syntax; the snippet won’t compile and doesn’t match
available RestClient constructors.
Code

docs/versioned_docs/version-v114/usage/example.md[R79-84]

+public class TwitterClientOptions(string ApiKey, string ApiSecret);
+
+public TwitterClient(IOptions<TwitterClientOptions> options) {
+    var opt = new RestClientOptions("https://api.twitter.com/2");
+    _client = new RestClient(options);
+}
Evidence
RestClient constructors accept RestClientOptions (and related overloads), not IOptions. The
sample passes the wrong type and also declares TwitterClientOptions as a class with record-like
syntax.

docs/versioned_docs/version-v114/usage/example.md[78-84]
src/RestSharp/RestClient.cs[66-70]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The example constructs `RestClient` with the wrong argument type (`IOptions&amp;lt;TwitterClientOptions&amp;gt;`), and the options type declaration is syntactically incorrect for many C# versions.
### Issue Context
`RestClient` expects `RestClientOptions` (or other supported overloads like `Uri`, `string`, `HttpClient`).
### Fix Focus Areas
- docs/versioned_docs/version-v114/usage/example.md[78-85]
### Suggested change
Example:

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Remediation recommended

5. MaxRedirects browser note 🐞 Bug ✓ Correctness
Description
The main configuration docs removed the “Not supported in browsers” note for MaxRedirects, but the
API is still annotated as unsupported on browser platforms, so Blazor/WASM users may be misled.
Code

docs/docs/advanced/configuration.md[164]

+| `MaxRedirects`                               | The number of redirects to follow. Delegates to `RedirectOptions.MaxRedirects`. Default is 50.                                                                                                                                                                                                    |
Evidence
Docs no longer mention the browser limitation, while the code still marks MaxRedirects as
unsupported on browser platforms.

docs/docs/advanced/configuration.md[163-165]
src/RestSharp/Options/RestClientOptions.cs[114-123]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
Docs imply `MaxRedirects` is universally available, but the API is still marked as unsupported on browser platforms.
### Issue Context
`RestClientOptions.MaxRedirects` has `[UnsupportedOSPlatform(&amp;quot;browser&amp;quot;)]`.
### Fix Focus Areas
- docs/docs/advanced/configuration.md[163-165]
### Suggested change
Update the table row to include the platform limitation, e.g. “Not supported in browsers.”

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

ⓘ The new review experience is currently in Beta. Learn more

Grey Divider

Qodo Logo

@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Mar 5, 2026

Deploying restsharp with  Cloudflare Pages  Cloudflare Pages

Latest commit: fadfa9b
Status: ✅  Deploy successful!
Preview URL: https://f57d49d8.restsharp.pages.dev
Branch Preview URL: https://docs-v114-release.restsharp.pages.dev

View logs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ple constructor

- Fix `new Url(...)` to `new Uri(...)` in configuration example
- Remove stray semicolon in serialization lambda example
- Replace deprecated `MaxTimeout` with `Timeout` in client docs
- Replace `BaseAddress` with `BaseUrl` in HttpClient reuse section
- Fix example constructor to use `RestClientOptions` instead of `IOptions<>`

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@sonarqubecloud
Copy link

sonarqubecloud bot commented Mar 5, 2026

@github-actions
Copy link

github-actions bot commented Mar 5, 2026

Test Results

   42 files     42 suites   18m 18s ⏱️
  565 tests   565 ✅ 0 💤 0 ❌
3 943 runs  3 943 ✅ 0 💤 0 ❌

Results for commit fadfa9b.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant