Skip to content

Conversation

@ib-tjuhasz
Copy link
Contributor

[ 6.0.0 ] - 2026-01-22

🎉 NEW Major Version of infobip-api-python-client.

⚠️ IMPORTANT NOTE: This release contains breaking changes.
All changes, including breaking changes, are addressed and explained in the list bellow.
If you find out that something was not addressed properly, please submit an issue.

From this point onward Python 3.8 is no longer supported. The minimum supported version is Python 3.9 due to dependency updates.

Added

  • Most recent feature set for:
  • Support for:
  • HTTPS enforcement: The SDK now automatically ensures HTTPS is used for API host URLs. If http:// is explicitly provided, a ValueError is raised. URLs without a protocol are automatically prefixed with https://.

Changed

General / Dependencies:

  • Breaking Change: The minimum Python supported version bumped to 3.9.
  • Deprecated API_KEY_PREFIX in client configuration. It is no longer needed when providing API_KEY and BASE_URL.See latest configuration quickstart
  • Bumped urllib version support (>= 2.1.0). This should resolve the following issue: #21 and close the related pull requests: #36, #35, #33.
  • Bumped python-dateutil to 2.8.2.
  • Extended ApiException for handling 409 and 422 exceptions.
  • Extended MessageStatus with action support.
  • ValidityPeriod and SendingSpeedLimit time_unit default value is now set to MINUTES.

Voice:

  • Discriminator type no longer needs to be specified for the following classes:
    • CallsUrlPlayContent, CallsTextPlayContent, CallsGenesysCloudProvider, CallsBulkPhoneEndpoint, CallsCiscoWebexProvider, CallsFreshworksProvider, CallsFilePlayContent, CallsRegisteredSipTrunkRequest, CallsRecordingPlayContent, CallsRegisteredSipTrunkRequest, CallsRegisteredSipTrunkResponse, CallsStaticSipTrunkUpdateRequest, CallsStaticSipTrunkRequest, CallRoutingEndpointDestinationResponse, CallRoutingEndpointDestination, CallRoutingPhoneCriteria, CallRoutingPhoneEndpoint, CallRoutingSipCriteria, CallRoutingUrlDestination, CallRoutingViberEndpoint, CallRoutingWebRTCCriteria, CallRoutingWebRtcEndpoint, CallRoutingWebSocketEndpoint, CallsAudioCallbackResponse, CallsCreateProviderSipTrunkResponse, CallsCreateRegisteredSipTrunkResponse, CallsCreateStaticSipTrunkResponse, CallsDialCallbackResponse, CallsDtmfTermination, CallsFreshworksProvide, CallsGenesysCloudProvide, CallsMediaStreamingConfigRequest, CallsMediaStreamingConfigResponse, CallsPhoneEndpoint, CallsProviderSipTrunkRequest, CallsProviderSipTrunkResponse, CallsProviderSipTrunkUpdateRequest, CallsSipEndpoint, CallsStaticSipTrunkResponse, CallsWebsocketEndpoint, CallsWebsocketEndpointConfigResponse, CallsWebsocketEndpointConfigRequest, CallsWebRtcEndpoint, CallsViberEndpoint.
  • CallsCreateRegisteredSipTrunkResponse, CallsRegisteredSipTrunkRequest, CallsRegisteredSipTrunkUpdateRequest, and CallsSipTrunkResponse now have default values set for dtmf, fax, and anonymisation fields.
  • CallsCreateStaticSipTrunkResponse, CallsStaticSipTrunkRequest, and CallsStaticSipTrunkUpdateRequest now have default values set for dtmf, fax, strategy, and anonymisation fields.
  • CallsStaticSipTrunkResponse strategy field default is now set to FAILOVER.
  • Extended CallEndpoint and CallRoutingEndpoint with WHATSAPP support.
  • Extended CallRoutingCriteria with APPLICATION type support.
  • Extended CallRoutingDestination with ApplicationDestination support.
  • Extended CallRoutingRouteResponse with status and order field support.
  • Extended CallRoutingSipEndpoint with from field support.
  • Extended CallRoutingWebSocketEndpoint with custom_data field support.
  • Extended Call with external_id field support.
  • Extended CallsAddExistingCallRequest with role and custom_data field support.
  • Extended CallsAddNewCallRequest with role field support.
  • Extended CallsDialCallbackResponse with machine_detection support.
  • Extended CallsDialogLogResponse with hangup_source support.
  • Extended CallsDialogState with TRANSFERRING state support.
  • Extended CallsMachineDetectionProperties with confidence_rating field support.
  • Extended CallsParticipant with role support.
  • Extended CallsProviderTrunkType and CallsProvide with OPENAI_REALTIME support.
  • Extended CallsSearchResponse, CallsUpdateScenarioResponse, and CallsUpdateScenarioRequest with notify_url, notify_content_type, and record fields.
  • Extended CallsSpeechCaptureRequest with terminate_on_key_phrase, custom_dictionary, and advanced_formatting support.
  • Extended CallsTranscription with custom_dictionary, and advanced_formatting support.
  • Extended CallsVoiceData with answered_by and call_recording_file_id field support.
  • Extended CallsVideoMediaProperties and CallsUpdateRequest with blind field support.
  • Extended CallVoice with additional voices.
  • Extended CallsLanguage with different languages.
  • Extended CallsMachineDetectionRequest with detection_time support.
  • Breaking Change: CallsMediaStreamConfigRequest type is now required to construct the class.
  • CallsSpeechCaptureRequest key_phrases is now an optional field.

SMS:

  • Unified SmsWebhookInboundReport with the existing SmsInboundMessage model.
  • Extended SmsLogsResponse with cursor-based pagination support.
  • Extended SmsRequestSchedulingSettings with bulk_id validation.
  • Extended SmsDestination with message_id validation.

2FA (TFA):

  • Extended TfaStartEmailAuthenticationRequest with landing_page_placeholders support.
  • Extended TfaStartAuthenticationResponse with external_message_id support.
  • Extended TfaStartAuthenticationRequest and TfaResendPinRequest with track_delivery support.
  • Extended TfaMessage, TfaEmailMessage, TfaUpdateEmailMessageRequest, and TfaCreateEmailMessageRequest with landing_page_id support.

Email:

  • Breaking Change: EmailResponseDetails to and status fields are now required.
  • Breaking Change: EmailBulkUpdateStatusResponse bulk_id and status fields are now required.
  • Breaking Change: EmailBulkStatusResponse, EmailBulkStatusInfo, and EmailBulkScheduleResponse external_bulk_id and bulks fields are now required.
  • Breaking Change: EmailBulkRescheduleResponse and EmailBulkInfo bulk_id and send_at fields are now required.
  • Breaking Change: EmailReport class changes based on the new API specification after the migration to V4 endpoint. Introduced sender, callback_data, platform, campaign_refence_id, attempt_count, time_to_first_attempt and removed application_id and entity_id fields.
  • Breaking Change: EmailWebhookTrackResponse class changes based on the new API specification after the migration to V4 endpoint. Introduced eventId, sender and changed message_id type from StrictStr to Union[StrictFloat, StrictInt].
  • Extended EmailLogsResponse with cursor-based pagination support.
  • Extended EmailReportsResult with email_results field.
  • Extended EmailDomainResponse model with blocklist_configration_level field.
  • Extended EmailIpDetailResponse and EmailIpResponse model with ip_addresses field.

Number Masking:

  • Extended NumberMaskingStatusRequest with machine_detection_result field support.

Removed

Voice:

  • Removed creation_method support from CallsFile.
  • Removed UNKNOWN type support from CallsDetectionResult.
  • Removed record field support from CallsIvrMessage.
  • Removed JOHANNESBURG_11 support from CallsRecordingLocation.
  • Removed return_path_address from EmailDomainResponse and EmailAddDomainRequest.

General:

  • Removed unused CallsCreationMethod, CallsRegionList, EmailReturnPathAddressRequest, WebhookMessageCount classes.

These changes align the SDK with the current API specification, ensuring consistency and reliability in future updates.

@ib-tjuhasz ib-tjuhasz requested a review from dnumicmesa January 22, 2026 11:23
@ib-tjuhasz
Copy link
Contributor Author

We'll address Sonar analysis in later phases. The most of the reported issues are related to the fact that the majority of the code is fully auto-generated from the OpenAPI specification which results in duplicated segments. We'll tweak the policies and make sure to handle all the possible readability issues. In addition to that, the PR brings a fresh set of tests. However, we don't measure coverage directly, but we'll include it as well in later phases.

@ib-tjuhasz ib-tjuhasz merged commit d61b6c8 into master Jan 22, 2026
10 of 11 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.

3 participants