Skip to content

feat: add logging support and enhanced SSE streaming capabilities#74

Open
fern-api[bot] wants to merge 1 commit intomainfrom
fern-bot/2026-03-18T15-43Z
Open

feat: add logging support and enhanced SSE streaming capabilities#74
fern-api[bot] wants to merge 1 commit intomainfrom
fern-bot/2026-03-18T15-43Z

Conversation

@fern-api
Copy link
Contributor

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

Version Bump: Removed public parserCreateJob() methods that accepted InputStream parameters - existing callers will get compile errors.

  • The SDK now supports configurable logging through the ClientOptions builder using the logging() method. Enhanced SSE streaming capabilities are available with new event-level discrimination support for discriminated union payloads. The lab report client has been simplified by removing InputStream-based upload methods.
  • Breaking changes: The parserCreateJob method overloads that accepted InputStream parameters have been removed from RawLabReportClient. Use the File parameter overloads instead. The lab parameter in LabTestsGetPscAppointmentAvailabilityRequest now accepts an AppointmentPscLabs enum instead of a String.

New optional parameters are now available: labAccountId and labSlug in CreateLabTestRequest, labSlug in LabTestsGetMarkersRequest, and appointmentNotes in RequestAppointmentRequest.

  • The SDK now supports additional optional fields across multiple models: SDK version tracking fields in ManualConnectionData, appointment notes in AppointmentRescheduleRequest, clinical notes in ClientFacingOrder, and access notes in Address. The UserInfoCreateRequest now uses the more specific UserAddress type instead of the generic Address type. A new DerivedReadinessColumnExpr variant has been added to AggregateExprArg for enhanced query capabilities.
  • The SDK now supports enhanced type safety with OrderTransactionStatus enum, transaction context in lab results via optional orderTransaction field, and delivery access notes in address types. The deprecated jobId field has been removed from ParsingJob responses.
  • New support for derived readiness column expressions in query operations. The UsAddress model now includes an optional accessNotes field for delivery instructions. UserInfo objects now use the more specific UserAddress type instead of the generic Address type.
  • The markers endpoint now supports filtering by lab_slug parameter for more flexible lab-specific marker queries.
  • The getMarkers method now accepts an optional lab_slug parameter for better filtering. The getMarkersForLabTest method now includes reflex markers alongside regular test markers. Mobile SDK version headers are now supported for manual provider connections.
  • The SDK now supports additional lab providers (Sonora Quest, CRL), health data providers (Samsung Health), and payor code providers (Apero, PVerify). New order status variants for corrected lab results are available across all collection methods. A comprehensive logging system has been added with configurable log levels, custom logger support, and automatic HTTP request/response logging with sensitive data redaction. New client methods compendium() and labAccount() provide access to additional API endpoints.
  • New CompendiumClient available for exercise data search and conversion operations. The SDK also includes enhanced Server-Sent Events parsing capabilities and improved request builder methods for additional properties.
  • New compendium search and conversion capabilities for lab test management. The SDK now includes ConvertCompendiumBody and SearchCompendiumBody for searching and converting lab tests across different providers. Additionally, a new LabAccountClient is available with getTeamLabAccounts() method for managing team lab accounts.
  • New lab account management capabilities available through RawLabAccountClient.getTeamLabAccounts() method. The SDK now supports filtering lab accounts by ID and status. Added optional clinical_notes field to order creation requests for additional clinical context.
  • New additionalProperty() and additionalProperties() methods available on request builder classes. These methods enable setting custom properties on request objects for enhanced flexibility and extensibility.
  • New builder methods additionalProperty() and additionalProperties() are now available on request objects, providing a fluent API for setting additional properties on requests.
  • New additionalProperty() and additionalProperties() methods available on all vitals request builders. These methods allow adding custom key-value pairs to requests for extended functionality while maintaining backward compatibility.
  • New additionalProperty() and additionalProperties() methods available on all vitals request builders for setting custom key-value pairs.
  • The SDK now supports additional properties on all builder classes through new additionalProperty() and additionalProperties() methods. This enables flexible extensibility for custom use cases. Added optional appointmentNotes field to AppointmentBookingRequest and new AppointmentPscLabs enum for PSC lab selection.
  • New CanonicalCandidate type available for biomarker matching operations with support for LOINC codes, display names, aliases, and confidence scoring. Builder patterns across all types now support additional properties via additionalProperty() and additionalProperties() methods.
  • New optional appointmentNotes field available on ClientFacingAppointment objects. Enhanced builder pattern support with additionalProperty() and additionalProperties() methods for programmatic object construction.
  • New additionalProperty() and additionalProperties() builder methods available on all ClientFacing data types for handling additional properties and extensibility.
  • New optional builder methods additionalProperty() and additionalProperties() are now available on all client-facing model builders. These methods allow setting custom key-value pairs on objects during construction, providing greater flexibility when working with dynamic data structures.
  • New builder methods additionalProperty() and additionalProperties() are now available on all data model builders, allowing you to set custom properties that will be preserved during serialization.
  • The SDK now supports lab report parsing job webhook events through new ClientFacingLabReportParsingJobCreatedEvent and ClientFacingLabReportParsingJobUpdatedEvent types. Added ClientFacingLabAccount type for lab account management. Enhanced builder patterns across multiple types with additionalProperty methods for improved extensibility.
  • New builder methods for additional properties are now available across model classes. Builders now include additionalProperty(String key, Object value) and additionalProperties(Map<String, Object> additionalProperties) methods for programmatically setting additional properties during object construction.
  • The SDK now supports setting additional properties on all client-facing model types through new builder methods. Use additionalProperty(key, value) to set individual properties or additionalProperties(map) to set multiple properties at once.
  • New additionalProperty() and additionalProperties() methods are now available on all builder classes for client-facing types. These methods provide a fluent API for adding custom properties during object construction.
  • New additionalProperty() and additionalProperties() methods available on all response object builders for handling dynamic API response fields.
  • New types available for laboratory test conversion (ConvertCompendiumResponse, CompendiumSearchLabs) and readiness data querying (DerivedReadinessColumnExpr). All builder classes now include additionalProperty methods for enhanced extensibility.
  • The SDK now provides builder methods for handling additional properties on data classes. New additionalProperty() and additionalProperties() methods are available on builder classes to support dynamic field handling from API responses. A new GetTeamLabAccountsResponse class has been added for lab account management functionality.
  • New builder methods available for handling additional properties in grouped data responses. The SDK now provides additionalProperty() and additionalProperties() methods on all GroupedData builders, enabling better handling of dynamic or unexpected fields from the API.
  • New additionalProperty() and additionalProperties() builder methods are now available on all Grouped* type builders, enabling flexible handling of additional properties not explicitly defined in the schema.
  • Builder classes now support additional properties through new additionalProperty() and additionalProperties() methods. This enables setting custom fields on model objects when using the builder pattern.
  • New builder methods for additional properties are now available on all type builders. Use additionalProperty(key, value) and additionalProperties(map) to set custom properties on response objects during construction.
  • The SDK now includes a new PerLabCandidate class for working with laboratory candidate data, providing access to marker information, LOINC codes, CPT codes, and confidence scores. All builder classes now support additionalProperty() and additionalProperties() methods for enhanced flexibility when working with dynamic properties.
  • The SDK now supports Samsung Health as a provider. New ProviderIdConversionResponse and RelatedCandidate classes are available for provider ID conversion functionality. Lab result metadata now includes an optional gender field with the new ResultMetadataGender enum.
  • The SDK now includes new types for lab test search functionality: SearchCompendiumResponse and SearchMode enum for handling compendium search results. Additionally, a new UsState enum provides standardized US state abbreviations.
  • New UserAddress type available for structured address handling with support for required fields (first line, country, ZIP, city, state) and optional fields (second line, access notes). The SDK now provides consistent additional properties methods on all builder classes for extended data handling.

This update introduces configurable logging through the ClientOptions builder
and adds advanced SSE streaming capabilities with event-level discrimination
support. The lab report client API has been simplified by removing InputStream
overloads and updating method documentation.

Key changes:
- Add LogConfig support to ClientOptions with logging() builder method
- Add SSE_EVENT_DISCRIMINATED stream type with discrimination support
- Add fromSseWithEventDiscrimination() factory methods to Stream class
- Remove InputStream-based parserCreateJob() method overloads
- Update documentation from "file" to "file(s)" in lab report methods

🌿 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