1.14.2

(fix): Fix issue a NullReferenceException for generated root clients with typed headers in client options.

1.14.1

(fix): Fix issue where a type is written but conflicts with the namespace it is written in.

1.14.0

(feat): The SDK now supports the AdditionalBodyProperties and AdditionalQueryParameters request options, which can be used to add arbitrary properties to the request. This is useful for interacting with alpha or undocumented functionality.

1var response = await client.Users.Create(
2 ...,
3 new RequestOptions {
4 AdditionalBodyProperties = new Dictionary<string, object> {
5 { "key", "value" }
6 },
7 }
8);

1.13.2

(fix): Fix issue where MultipartFormTests wouldn’t pass because the timezone on the local machine is different than the timezone on the CI machine.

1.13.1

(fix): Forward compatible enums has a static method Custom(string value) that allows you to create a new instance of the enum with a custom value. “Custom” is a commonly used enum value, and we want to avoid conflicts with the static method, so we’re renaming the static method to FromCustom(string value). This feature is gated behind the experimental-enable-forward-compatible-enums configuration option, so we’re accepting this as a breaking change without a major version bump.

(feat): Forward compatible enums can be explicitly casted from and to strings.

1string myEnumAsString = (string)MyEnum.Enum1;
2MyEnum myEnum = (MyEnum)"custom-value";

Note: We’re not supporting implicit casts here because it could lead to behavior the user doesn’t expect.

1.13.0

(feat): Add support for multipartform requests with file and non-file parameters. This is useful when you want to send a file along with other form data in a single request.

For example, you can use the following code to upload a file with a description and some metadata:

1await client.UploadAsync(
2 new UploadRequest
3 {
4 File = new FileParameter { Stream = fileStream, FileName = "file.txt" },
5 Description = "This is a test file",
6 Meta = new Meta {
7 Key1 = "value1",
8 Key2 = "value2"
9 }
10 }
11);