Skip to content

CatchAll Java SDK v1.3.1

Choose a tag to compare

@oscatcher oscatcher released this 19 Mar 12:14
· 26 commits to main since this release
be6c937

Highlights

This release upgrades the Fern Java SDK generator to a new major version (4.x), adds a getPlanLimits() endpoint, job processing mode selection (lite / base), and a custom DoubleSerializer for cleaner JSON output. It includes breaking changes to response field types in PullJobResponseDto.

Breaking changes

PullJobResponseDto.validators type changed

Changed from Optional<List<String>> to Optional<List<Map<String, Object>>>. If your code reads this field as a list of strings, you'll need to update it to handle maps.

PullJobResponseDto.enrichments type changed

Changed from Optional<List<String>> to Optional<List<Map<String, Object>>>. Same as above — each entry is now a key-value map instead of a plain string.

Raw response wrapper renamed

The raw response type referenced in documentation changed from CreateJobHttpResponse to CatchAllApiHttpResponse. If you use the .withRawResponse() API, update your type references accordingly.

New features

getPlanLimits() endpoint

A new meta().getPlanLimits() method returns plan features and current usage for the authenticated organization.

GetPlanLimitsResponseDto limits = client.meta().getPlanLimits();
// limits.getFeatures() -> List<PlanFeature>

Each PlanFeature includes name, code, valueType, value, and currentUsage. Also available on the async client.

Job processing mode

Job submission now accepts an optional mode parameter via the builder:

  • SubmitRequestDtoMode.BASE — full pipeline with validation and enrichment (default behavior).
  • SubmitRequestDtoMode.LITE — lightweight extraction with faster processing; returns titles and citations only.
client.jobs().createJob(SubmitRequestDto.builder()
    .query("Series B funding rounds for SaaS startups")
    .mode(SubmitRequestDtoMode.BASE) // or LITE
    // ...
    .build()
);

The mode field is also returned in PullJobResponseDto (as PullJobResponseDtoMode) and UserJob (as UserJobMode) responses. All mode enums support a visitor pattern and handle unknown values gracefully.

New response fields

  • UserJob.getMode() — processing mode used for the job.
  • UserJob.getUserKey() — masked API key that created the job.
  • MonitorListItemDto.getUserKey() — masked API key associated with the monitor.
  • MonitorListItemDto.getWebhook() — now explicitly nullable (supports Nullable<WebhookDto>).

Custom DoubleSerializer

A new DoubleSerializer ensures integer-valued doubles are serialized without a decimal point (e.g., 24000 instead of 24000.0), producing cleaner JSON output.

Infrastructure

  • Fern CLI upgraded from 4.16.0 to 4.37.2.
  • Fern Java SDK generator upgraded from 3.42.4 to 4.0.0 (major version bump).
  • CI workflow now uses concurrency groups to prevent overlapping runs.