3.56.0

(feat): Add a naming configuration object that gives you fine-grained control over the exported namespace and generated class names (client, error, timeout error, environment, environment URLs, version).

You can use it as a simple string shorthand to set the namespace:

1# generators.yml
2groups:
3 ts-sdk:
4 generators:
5 - name: fernapi/fern-typescript-node-sdk
6 config:
7 naming: acme

Or as a full object to override individual names:

1# generators.yml
2groups:
3 ts-sdk:
4 generators:
5 - name: fernapi/fern-typescript-node-sdk
6 config:
7 naming:
8 namespace: acme
9 client: AcmeApiClient
10 error: AcmeApiError
11 environment: AcmeRegion

When individual overrides are not provided, they are derived from the namespace using the PascalCase(namespace) + Suffix pattern (e.g. namespace: acme produces AcmeClient, AcmeError, AcmeTimeoutError, AcmeEnvironment, AcmeEnvironmentUrls, and AcmeVersion by default).

The existing namespaceExport config continues to work for backwards compatibility.

3.55.0

(feat): Add a passthrough fetch method to the root client class of all generated TypeScript SDKs. The method mimics the standard fetch API while automatically applying the SDK’s configured authentication, base URL resolution, retry logic with exponential backoff, request timeouts, custom headers, and logging. This allows users to make requests to endpoints not yet exposed in the SDK definition (e.g., new public endpoints, closed beta endpoints) without additional setup. The method accepts three parameters: url (string or relative path), init (standard RequestInit), and requestOptions (SDK-specific overrides for timeout, retries, headers, and abort signal).