Skip to content

feat: add optional logging configuration and remove InputStream overloads#84

Open
fern-api[bot] wants to merge 1 commit intomainfrom
fern-bot/2026-03-25T19-27Z
Open

feat: add optional logging configuration and remove InputStream overloads#84
fern-api[bot] wants to merge 1 commit intomainfrom
fern-bot/2026-03-25T19-27Z

Conversation

@fern-api
Copy link
Contributor

@fern-api fern-api bot commented Mar 25, 2026

Version Bump: Removed public parserCreateJob methods that accepted InputStream parameters - existing callers using these overloads will get compile errors.

  • Breaking changes: The parserCreateJob methods that accepted InputStream parameters have been removed from AsyncLabReportClient and LabReportClient. Use the File-based overloads instead. New feature: Optional logging configuration is now available through ClientOptions.Builder.logging() method.
  • The SDK removes InputStream-based file upload methods from RawLabReportClient. Use File-based parserCreateJob() methods instead. New optional fields are now available: lab_account_id and lab_slug for lab test creation, lab_slug for marker queries, and appointment_notes for appointment requests.
  • New optional fields added to request objects including SDK version tracking, permissions management, appointment notes, and address access notes. The SDK now supports derived readiness metrics in aggregate expressions.
  • The SDK now provides enhanced insulin injection tracking with optional delivery mode, delivery form, and bolus purpose fields. Order management has been improved with clinical notes support, and the deprecated parent ID field has been removed from orders. Lab results now include optional order transaction information, and order transaction status is now strongly typed.
  • The getJobId() method has been removed from the ParsingJob class. Code that previously accessed this field will need to be updated. Additionally, address classes now support an optional accessNotes field for delivery instructions, and query expressions now support derived readiness columns.
  • The UsAddress class now includes an optional accessNotes field for providing delivery instructions. The UserInfo class address field type has been updated from the generic Address to the more specific UserAddress type.
  • The getMarkers() method now accepts an optional lab_slug parameter for filtering markers by laboratory slug. Method documentation has been updated to better describe marker listing behavior.
  • New lab providers are now supported including Sonora Quest and CRL. The SDK includes new order status values for corrected results and lab processing blocks. Optional logging configuration is now available through the LogConfig builder pattern, allowing custom logging implementations or console output. New compendium() and labAccount() client methods provide access to additional API endpoints.
  • New compendium API client available for searching and converting compendium data. The SDK also adds comprehensive support for parsing Server-Sent Events with discriminated union types through the new SseEventParser utility.
  • The SDK now includes a new LabAccountClient for managing lab accounts, with a getTeamLabAccounts() method to retrieve team lab account information. Additionally, new request types ConvertCompendiumBody and SearchCompendiumBody are available for enhanced compendium search and conversion operations.
  • New lab account management capabilities available through the RawLabAccountClient, including methods to retrieve team lab accounts with filtering options. Lab test order creation now supports clinical notes for enhanced documentation.
  • New additionalProperty() and additionalProperties() methods available on all request builders. These methods allow adding custom fields to API requests for enhanced extensibility.
  • New additionalProperty() and additionalProperties() methods available on all request builders, allowing dynamic addition of custom properties to API requests.
  • New builder methods additionalProperty() and additionalProperties() are now available on all vitals request builders. These optional methods allow setting arbitrary key-value pairs on request objects for extended customization.
  • New additionalProperty() and additionalProperties() methods available on all vitals request builders, enabling custom key-value pairs to be passed alongside standard request parameters.
  • New builder methods additionalProperty() and additionalProperties() are now available on request and response type builders, allowing custom properties to be added to API objects. The AppointmentBookingRequest now supports an optional appointmentNotes field for adding notes to appointment bookings.
  • New CanonicalCandidate type available for biomarker canonicalization with LOINC code mapping and confidence scoring. All model builders now support additionalProperty() and additionalProperties() methods for custom field handling.
  • New optional appointmentNotes field added to ClientFacingAppointment for storing additional appointment information. Enhanced builder patterns now available across all appointment and health data models with standardized additionalProperty() and additionalProperties() methods.
  • New additionalProperty() and additionalProperties() builder methods are now available on all client-facing types. These methods allow setting custom key-value pairs for forward compatibility and extensibility with future API changes.
  • The SDK now supports insulin pump as a device source type for health data collection. New builder methods additionalProperty() and additionalProperties() are available on client-facing types for enhanced customization.
  • New additionalProperty() and additionalProperties() methods available on all type builders for setting custom metadata and handling additional response fields.
  • New insulin injection sample enums available: ClientFacingInsulinInjectionSampleBolusPurpose, ClientFacingInsulinInjectionSampleDeliveryForm, and ClientFacingInsulinInjectionSampleDeliveryMode. Added ClientFacingLabAccount class for lab account management and new webhook events ClientFacingLabReportParsingJobCreatedEvent and ClientFacingLabReportParsingJobUpdatedEvent for lab report parsing job notifications.
  • New builder methods additionalProperty() and additionalProperties() are now available on all builder classes, enabling dynamic property handling for API responses with extra fields. The ClientFacingMenstrualCycleSourceType enum now includes INSULIN_PUMP as a valid source type.
  • New additionalProperty() and additionalProperties() methods available on all builder interfaces for programmatic access to additional properties during object construction. The ClientFacingSleepCycleSourceType enum now includes an INSULIN_PUMP value.
  • New builder methods for dynamic property handling. Builder classes now include additionalProperty(String key, Object value) and additionalProperties(Map<String, Object> additionalProperties) methods to set custom properties on model objects.
  • New builder methods additionalProperty() and additionalProperties() are now available on all model builders, allowing you to set custom properties during object construction.
  • New builder methods additionalProperty() and additionalProperties() are now available on response and data type builders, allowing custom properties to be set and preserved during serialization. New types ConvertCompendiumResponse, CompendiumSearchLabs, and DerivedReadinessColumnExpr have been added.
  • New GetTeamLabAccountsResponse type available for lab accounts API responses. Enhanced builder classes now include methods for adding arbitrary additional properties to response objects.
  • The SDK now supports additional properties on grouped data type builders. New additionalProperty() and additionalProperties() methods are available for handling custom fields in API responses.
  • Builder methods for additional properties are now available on all Grouped* types (GroupedHypnogram, GroupedIge, GroupedSteps, etc.) and their response types. Use the additionalProperty() and additionalProperties() methods during object construction to add custom key-value pairs.
  • The SDK now supports setting additional properties on objects through new builder methods. All builder classes now include additionalProperty(String key, Object value) and additionalProperties(Map<String, Object>) methods for enhanced customization during object construction.
  • New builder methods available for setting additional properties on model objects. The additionalProperty(String key, Object value) method allows setting individual properties, while additionalProperties(Map<String, Object> additionalProperties) allows setting multiple properties at once on builder instances.
  • New PerLabCandidate type available for laboratory test matching functionality. Builder classes now include additionalProperty() and additionalProperties() methods for better extensibility.
  • The SDK now supports provider ID conversion operations through new ProviderIdConversionResponse and RelatedCandidate types. New health providers TANDEM_SOURCE and SAMSUNG_HEALTH are now available. Lab result metadata now includes gender information through the ResultMetadata.getGender() method.
  • New types added for lab test search functionality: SearchCompendiumResponse provides comprehensive search results with multiple modes, SearchMode enum supports canonical and crosswalk search types, and UsState enum includes all US state codes. Builder patterns enhanced across existing model classes for better extensibility.

…oads

Add optional logging support to ClientOptions with LogConfig parameter and LoggingInterceptor.
Remove InputStream-based parserCreateJob method overloads from lab report clients.
Enhance Stream class with SSE event-level discrimination capabilities for union type handling.

Key changes:
- Add optional logging() method to ClientOptions.Builder with LogConfig parameter
- Remove 4 InputStream parserCreateJob overloads from AsyncLabReportClient and LabReportClient
- Add SSE_EVENT_DISCRIMINATED stream type with fromSseWithEventDiscrimination factory methods
- Add SSEEventDiscriminatedIterator for handling discriminated union SSE streams
- Update documentation comments to reflect file upload changes

🌿 Generated with Fern
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.

0 participants