Skip to content

feat!: add required CreateDatasetFromCsvRequest param to InputStream overloads - #34

Merged
Kizy625 merged 3 commits into
mainfrom
fern-bot/2026-10-22_15-39-08_004
Oct 27, 2026
Merged

Kizy625 merged 3 commits into
mainfrom
fern-bot/2026-10-22_15-39-08_004

Conversation

@fern-api

@fern-api fern-api Bot commented Oct 22, 2026

Copy link
Copy Markdown
Contributor

⚠️ 3.0.5 → 4.0.0

Breaking: MAJOR because createDatasetFromCsv() InputStream overloads on all four clients (DatasetsClient, AsyncDatasetsClient, RawDatasetsClient, and AsyncRawDatasetsClient) now require a new leading CreateDatasetFromCsvRequest parameter, breaking all existing call sites that omit it.

Breaking Changes

  • DatasetsClient.createDatasetFromCsv() — all InputStream overloads now require a CreateDatasetFromCsvRequest as the first argument; replace createDatasetFromCsv(stream, filename, ...) with createDatasetFromCsv(request, stream, filename, ...).
  • AsyncDatasetsClient.createDatasetFromCsv() — same signature change as the synchronous client; prepend a CreateDatasetFromCsvRequest argument before stream and filename at every call site.
  • RawDatasetsClient.createDatasetFromCsv() — all four overloads now require a leading CreateDatasetFromCsvRequest parameter so that name and description are sent as multipart form fields; add a CreateDatasetFromCsvRequest as the first argument to every call site.
  • AsyncRawDatasetsClient.createDatasetFromCsv() — all four overloads now require a leading CreateDatasetFromCsvRequest parameter; update every call site to prepend a CreateDatasetFromCsvRequest argument.

Added

  • RequestOptions.Builder.addBodyProperty() / bodyProperties() — new builder methods that inject arbitrary key/value pairs into the JSON or form-urlencoded request body, overriding any existing property with the same key.
  • RetryInterceptor.newAsyncCall() — new static factory that creates a non-blocking async call with built-in retry support, preventing OkHttp dispatcher slot exhaustion and enabling immediate cancellation.
  • Stream.fromSseWithEventDiscrimination() — new static factory for SSE streams that supports envelope-level event discrimination, deserializing specified event names from the full SSE envelope rather than just the data payload.
  • PathSegments.validate() — new core utility that rejects "." and ".." as path parameter values, preventing silent URL path traversal.

Changed

  • AsyncDatasetsClient — all async methods now propagate CompletableFuture cancellation to the underlying HTTP call, ensuring in-flight requests are properly cancelled.
  • Request builder classes — @JsonAnySetter now filters out known property keys on all request types (e.g., CreateDatasetRequest, UpdateDatasetRequest, ListDatasetsRequest, and others), preventing typed fields from being silently overwritten during deserialization.
  • RawDatasetsClient — path segment values for datasetId are now validated via PathSegments.validate() and extra body properties from RequestOptions are merged into every JSON request body.

See full changelog

fern-api Bot added 3 commits October 22, 2026 15:39
Generated by Fern
CLI Version: unknown
Generators:
  - fernapi/fern-java-sdk: 4.32.4
…ram to InputStream overloads

The `createDatasetFromCsv` InputStream overloads in both `DatasetsClient`
and `AsyncDatasetsClient` now require a `CreateDatasetFromCsvRequest`
as the first parameter. Callers using the old `(InputStream, String)`
or `(InputStream, String, MediaType/RequestOptions)` signatures must
update their call sites to pass a `CreateDatasetFromCsvRequest` object
as the first argument.

Additionally, all async methods in `AsyncDatasetsClient` now properly
propagate cancellation from the derived future back to the underlying
raw HTTP future, improving resource cleanup on cancellation.

Key changes:
- `DatasetsClient.createDatasetFromCsv(InputStream, String[, ...])` — now requires `CreateDatasetFromCsvRequest` as first parameter (breaking)
- `AsyncDatasetsClient.createDatasetFromCsv(InputStream, String[, ...])` — same signature change (breaking)
- All `AsyncDatasetsClient` async methods now propagate `cancel()` to the underlying raw future via `whenComplete`

🌿 Generated with Fern
@Kizy625
Kizy625 merged commit 3cb720a into main Oct 27, 2026
3 checks passed
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