Skip to content

feat: add logging support and SSE event-level discrimination#82

Open
fern-api[bot] wants to merge 1 commit intomainfrom
fern-bot/2026-03-24T17-28Z
Open

feat: add logging support and SSE event-level discrimination#82
fern-api[bot] wants to merge 1 commit intomainfrom
fern-bot/2026-03-24T17-28Z

Conversation

@fern-api
Copy link
Contributor

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

Version Bump: Removed public methods parserCreateJob() with InputStream parameters from LabReportClient - existing callers will get compile errors.

  • The SDK now supports logging configuration through the ClientOptions builder. Use the logging() method to configure log output for debugging HTTP requests and responses. New SSE event-level discrimination capabilities are available for handling discriminated union types in Server-Sent Events streams. InputStream-based file upload methods have been removed from the LabReportClient - use File-based methods instead.
  • The SDK removes deprecated InputStream-based file upload methods from RawLabReportClient and adds new lab configuration options. Lab test requests now support lab account ID and lab slug parameters for more precise lab selection. Appointment requests now accept optional notes, and PSC appointment availability requests use a structured enum for lab specification instead of free-form strings.
  • New optional fields available: vitalIosSdkVersion, vitalAndroidSdkVersion, and grantedPermissions on ManualConnectionData; appointmentNotes on AppointmentRescheduleRequest; and accessNotes on Address. The SDK now uses UserAddress type instead of Address in UserInfoCreateRequest. Support added for DerivedReadinessColumnExpr in aggregate expressions.
  • The SDK now supports enhanced insulin delivery tracking with new optional fields for delivery mode, delivery form, and bolus purpose on insulin injection samples. Orders now include optional clinical notes for additional documentation. The lab results API also provides order transaction information when available.
  • The jobId field and getJobId() method have been removed from ParsingJob. Code that accesses this field will need to be updated to use alternative identification methods. Additionally, a new optional accessNotes field is now available on all patient address types (PatientAddress, PatientAddressCompatible, and PatientAddressWithValidation).
  • The UsAddress class now includes an optional accessNotes field for additional delivery or access instructions. The UserInfo class address field type has been updated from Address to UserAddress for improved type safety.
  • New optional lab_slug parameter available in getMarkers() method for filtering markers by specific lab. Updated method documentation to clarify marker types returned by different endpoints.
  • The SDK now supports configurable logging through the new logging() method on builders. Two new client modules are available: CompendiumClient and LabAccountClient. Additional providers and status values have been added to support Sonora Quest, Samsung Health, Tandem Source, and other lab providers.
  • New CompendiumClient available with search() and convert() methods for compendium API operations. Added SseEventParser utility class for parsing Server-Sent Events with discriminated union support.
  • New lab account management capabilities available through LabAccountClient, including the getTeamLabAccounts() method for retrieving team lab accounts with optional filtering. Added compendium search and convert functionality with new request types ConvertCompendiumBody and SearchCompendiumBody for lab test discovery and conversion operations.
  • New lab account management API available through RawLabAccountClient with getTeamLabAccounts() method for retrieving team lab accounts. The CreateOrderRequestCompatible now supports an optional clinicalNotes parameter for including clinical notes with lab test orders.
  • Request builders now support adding custom properties via new additionalProperty() and additionalProperties() methods, enabling more flexible API interactions.
  • New additionalProperty() and additionalProperties() builder methods are now available on all request classes, allowing custom properties to be included in API requests.
  • New additionalProperty() and additionalProperties() methods available on all vitals request builders for passing custom fields.
  • New additionalProperty() and additionalProperties() methods available on all vitals request builders for passing custom key-value pairs in API requests.
  • The SDK now provides additionalProperty() and additionalProperties() methods on all request builders for dynamic property assignment. A new appointmentNotes field is available in AppointmentBookingRequest, and a new AppointmentPscLabs enum supports Quest and Sonora Quest values.
  • New additionalProperty() and additionalProperties() builder methods are now available on data model classes, allowing custom properties to be set during object construction. A new CanonicalCandidate class has been added for biomarker candidate data.
  • New appointmentNotes field available on ClientFacingAppointment objects. All type builders now support additionalProperty() and additionalProperties() methods for setting custom fields.
  • New builder methods additionalProperty() and additionalProperties() are now available on all type builders, enabling fluent setting of additional properties for forward compatibility with API changes.
  • The SDK now supports insulin pump device sources with the new INSULIN_PUMP source type. Enhanced builder pattern with additionalProperty methods for improved extensibility across data model classes.
  • New additionalProperty() and additionalProperties() methods are now available on builder classes, allowing dynamic property setting during object construction.
  • New insulin injection sample enums available for delivery modes, forms, and bolus purposes. Added ClientFacingLabAccount type for managing lab provider accounts and webhook events for lab report parsing jobs.
  • New optional builder methods additionalProperty() and additionalProperties() are now available on client-facing types, enabling custom key-value data to be added when constructing objects. The SDK also adds support for INSULIN_PUMP as a menstrual cycle source type.
  • New builder methods available for setting additional properties on model objects. The additionalProperty() and additionalProperties() methods provide a consistent way to handle arbitrary key-value data from API responses. A new INSULIN_PUMP source type is now supported for sleep cycle data.
  • The SDK now supports setting additional properties on builder objects through new additionalProperty() and additionalProperties() methods.
  • New additionalProperty() and additionalProperties() methods available on builder classes for response objects. These methods enable setting additional properties on API response objects for better extensibility.
  • New builder methods additionalProperty() and additionalProperties() are now available on response object builders for consistent handling of additional fields. Added new lab test conversion capabilities through ConvertCompendiumResponse and support for querying readiness data with new DerivedReadinessColumnExpr types.
  • The SDK now supports setting additional properties on builder objects through new additionalProperty() and additionalProperties() methods. A new GetTeamLabAccountsResponse type is available for lab account management operations.
  • New builder methods available for all Grouped data types: additionalProperty() and additionalProperties() methods allow setting custom fields during object construction.
  • New additionalProperty() and additionalProperties() methods available on all grouped data type builders for setting custom properties beyond standard fields.
  • The SDK now supports additional properties in builder patterns across all type classes. New additionalProperty() and additionalProperties() methods allow dynamic property assignment during object construction. Added new enum value DERIVED_READINESS to IndexColumnExprIndex and new enum types LabAccountDelegatedFlow and LabAccountStatus.
  • Builder classes now support additionalProperty() and additionalProperties() methods for setting custom additional properties on model instances during construction.
  • The SDK now includes the PerLabCandidate type for working with laboratory test candidate data, including LOINC codes, CPT codes, confidence scores, and marker popularity information. Additionally, several existing types now support additional properties through enhanced builder methods.
  • New API types available: ProviderIdConversionResponse and RelatedCandidate for provider ID conversion workflows. Added support for TANDEM_SOURCE and SAMSUNG_HEALTH providers. Enhanced ResultMetadata with optional gender field. All builder classes now include additionalProperty methods for extensibility.
  • The SDK now supports compendium search functionality with new SearchCompendiumResponse and SearchMode types. A new UsState enum is also available for US state handling. Additionally, builder patterns have been enhanced across many existing types with improved support for additional properties.

This release introduces SDK-level logging configuration capabilities and enhanced SSE stream processing for discriminated union types. The logging feature is opt-in and silent by default, requiring explicit configuration to produce output.

Key changes:
- Add logging configuration to ClientOptions builder with LogConfig parameter
- Add SSE event-level discrimination support for discriminated unions
- Remove InputStream-based file upload methods from LabReportClient
- Add SSE_EVENT_DISCRIMINATED stream type with new iterator implementation
- Update lab report documentation to reference multiple file uploads

🌿 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