0.48.3

(fix): The SDK now supports reading the basic auth username and password values from environment variables.

0.48.2

(fix): This updates the retrier logic to stop retrying on HTTP conflict (409). This was an oversight that we’ve meant to remove for a while (similar to other Fern SDKs).

0.48.1

(fix): Record types with null values are now correctly serialized.

0.48.0

(feat): When useBigInt SDK configuration is set to true, a customized JSON serializer & deserializer is used that will preserve the precision of bigint’s, as opposed to the native JSON.stringify and JSON.parse function which converts bigint’s to number’s losing precision.

When combining useBigInt with our serialization layer (no-serde: false (default)), both the request and response properties that are marked as long and bigint in OpenAPI/Fern spec, will consistently be bigint’s. However, when disabling the serialization layer (no-serde: true), they will be typed as number | bigint.

Here’s an overview of what to expect from the generated types when combining useBigInt and noSerde with the following Fern definition:

Fern definition

1types:
2 ObjectWithOptionalField:
3 properties:
4 longProp: long
5 bigIntProp: bigint

TypeScript output

1// useBigInt: true
2// noSerde: false
3interface ObjectWithLongAndBigInt {
4 longProp: bigint;
5 bigIntProp: bigint;
6}
7
8// useBigInt: true
9// noSerde: true
10interface ObjectWithLongAndBigInt {
11 longProp: bigint | number;
12 bigIntProp: bigint | number;
13}
14
15// useBigInt: false
16// noSerde: false
17interface ObjectWithLongAndBigInt {
18 longProp: number;
19 bigIntProp: string;
20}
21
22// useBigInt: false
23// noSerde: true
24interface ObjectWithLongAndBigInt {
25 longProp: number;
26 bigIntProp: string;
27}