2.1.10

(fix): Generate reference.md file as long as there are some endpoints.

2.1.8

(fix): Idempotent headers are added to the headers in the request

2.1.7

(fix): Improve generation so that all expected tests/samples correctly generate and compile.

(fix): In RawClient.cs namespace references are prefixed with global:: to ensure that the class works correctly when an explicit namespace and client class are used that could cause it to collide.

(fix): Set csharpier version to 1.1.* to avoid inadvertently picking up 1.0.3 which has an inconsistency in formatting.

2.1.6

(feat): Trigger release to use new version of CSharpier formatter

2.1.5

(fix): Add test for RawClient.ts to test Query Parameter Escaping

2.1.4

(fix): ensure that query parameters are Uri encoded in RawClient.cs

2.1.3

(fix): uses fully qualified class name System.IO.Stream for downloads

2.1.2

(feat): Generate methods to support FileDownload (returns a Task<Stream>). Example:

1 var request = new FooAudioRequest {
2 Format = Format.Wav,
3 Song = "Happy Birthday"
4 };
5 var stream = await client.Songs.CreateSongAsync(request);
6 // copy the stream to a file
7 using (var fileStream = new FileStream("song.wav", FileMode.Create, FileAccess.Write))
8 {
9 await stream.CopyToAsync(fileStream);
10 }

(feat): Generate streaming/SSE JSON responses (returns an IAsyncEnumerable<...>). Example:

1var request = new FooRequest
2{
3 Names = ["Bob", "Alice"]
4};
5
6// iterate over the list of items returned
7await foreach( var item in client.People.CreatePeopleStreamingAsync(request)) {
8 Console.WriteLine($"Text for {item.Name} : {item.Text}");
9}

2.1.0

(feat): Pass in custom pager context to the custom pager factory. The context contains the send request method, initial HTTP request, client options, and request options. SDK authors can improve their custom pagination implementation with this context available to them.

2.0.3

(fix): Mockserver tests were generated based on the endpoint name being tested. When multiple endpoints have the same name, they would override each other, resulting in only one of them being tested. Mockserver tests are now namespaced and written to the filesystem following the same structure as the generated endpoints are.

(fix): Update the type referencing logic to take into account the current namespace, other namespaces, and more scenarios where it could conflicts.

2.0.2

(fix): Improve auto-pagination logic to consider empty strings in response as null cursors and stop paging.

2.0.1

(fix): Fix a bug where strings with special characters would not be properly escaped when converted to C# strings.

2.0.0

(chore): The following configuration names have changed, but the old names will continue to work.

  • experimental-enable-forward-compatible-enums is now enable-forward-compatible-enums
  • experimental-additional-properties is now additional-properties

(feat): This release changes the defaults for the following custom configuration in generators.yml.

OptionBeforeNow
additional-propertiesfalsetrue
enable-forward-compatible-enumsfalsetrue
generate-mock-server-testsfalsetrue
inline-path-parametersfalsetrue
simplify-object-dictionariestruefalse
use-discriminated-unionsfalsetrue

To avoid breaking changes, explicitly set the options above with the Before values in the config of your generator in generators.yml.

1.18.1

(fix): Add [Serializable] attribute to generated schema, request, and error classes. This will make it easier for instances of these classes to be stored in places like Exception.Data.