Skip to content

Commit 9eba410

Browse files
authored
Java 6.0.0 release (#54)
6.0.0 release
1 parent eb638aa commit 9eba410

File tree

360 files changed

+18855
-22005
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

360 files changed

+18855
-22005
lines changed

CHANGELOG.md

Lines changed: 146 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,152 @@ All notable changes to the library will be documented in this file.
55
The format of the file is based on [Keep a Changelog](http://keepachangelog.com/)
66
and this library adheres to [Semantic Versioning](http://semver.org/) as mentioned in [README.md][readme] file.
77

8+
## [ [6.0.0](https://github.com/infobip/infobip-api-java-client/releases/tag/6.0.0) ] - 2025-02-17
9+
10+
🎉 **NEW Major Version of `infobip-api-java-client`.**
11+
12+
⚠️ **IMPORTANT NOTE:** This release contains compile time breaking changes.
13+
All changes, including breaking changes, are addressed and explained in the list bellow.
14+
If you find out that something was not addressed properly, please submit an issue.
15+
16+
17+
### Added
18+
* Most recent feature set for:
19+
* [Infobip Messages API](https://www.infobip.com/docs/api/platform/messages-api).
20+
* Footer support for Messages API Message. For additional details check Messages API documentation.
21+
* Add calendar event button support for Messages API Message. For additional details check Messages API documentation.
22+
* Card options for Carousel and Rich Link body types in Messages API Message. For additional details check Messages API documentation.
23+
* [Infobip Voice API](https://www.infobip.com/docs/api/channels/voice).
24+
* Support for Calls Configuration.
25+
* [Infobip SMS API](https://www.infobip.com/docs/api/channels/sms).
26+
* [Infobip 2FA API](https://www.infobip.com/docs/api/platform/2fa).
27+
* [Infobip Email API](https://www.infobip.com/docs/api/channels/email).
28+
* Support for Email IP Management instead of set of deprecated Email IP endpoints. Check [Email API documentation](https://www.infobip.com/docs/api/channels/email) for additional details.
29+
* [Infobip WhatsApp API](https://www.infobip.com/docs/api/channels/whatsapp).
30+
* [Infobip Viber API](https://www.infobip.com/docs/api/channels/viber).
31+
* [Infobip WebRTC API](https://www.infobip.com/docs/api/channels/webrtc-calls).
32+
* [Infobip Moments](https://www.infobip.com/docs/api/customer-engagement/moments).
33+
* [Infobip MMS API](https://www.infobip.com/docs/api/channels/mms).
34+
* Introduced `/mms/2/messages (V2)` replacing the `/mms/1/advanced (V1)` endpoint.
35+
* Introduced `/mms/2/reports (V2)` replacing `/mms/1/reports (V1)` endpoint.
36+
* Introduced `/mms/2/logs (V2)` replacing `/mms/1/logs (V1)` endpoint.
37+
* **Added** new Calls error code type: `MACHINE_DETECTED`.
38+
* **Added** support for `CallsProviderSipTrunkUpdateRequest`.
39+
* **Created** `RawJsonDeserializer` to handle raw JSON deserialization.
40+
41+
42+
### Changed
43+
44+
- General
45+
- **Unified** `MessageResponse`, `MessageResponseDetails`, `MessageGroupError`, `SendingSpeedLimit` and `SpeedLimitTimeUnit`.
46+
- **Updated** `MessagesApiMessageGeneralStatus` – Adjustments due to API updates.
47+
- **Updated** `DeprecationChecker` logging level from `WARNING` to `INFO` when the endpoint is only deprecated without a defined sunset date.
48+
49+
- Mms API
50+
- Introduced the new `MmsMessage` class to replace `MmsAdvancedMessage`, reflecting the latest state of the API for MMS messaging.
51+
Updated request classes by replacing `MmsAdvancedRequest` with the new `MmsRequest` class, reflecting the latest state of the API.
52+
- Updated sending message function: use `sendMmsMessages` instead of `sendMmsMessage`.
53+
54+
- Voice API
55+
- Adjusted IVR models in script processing. Scenario scripting is now implemented as a raw string to increase usability of the feature. Scripts should be passed as strings to the IVR request model in all upcoming SDK versions.
56+
- **Updated** `CallsUpdateScenarioRequest.script` field type from `List<CallsScriptInner>``String`.
57+
- **Updated** `CallsSearchResponse.script` and `else` fields type from `List<Object>``String`.
58+
- **Updated** `CallsUpdateScenarioResponse.script` field type from `Object``String`.
59+
- **Updated** `CallsGetVoicesResponses.voices` field type from `List<CallsVoice>``List<CallsSynthesisVoice>`.
60+
- **Updated** `CallsSearchResponse.lastUsageDate` field type from `OffsetDateTime``String`.
61+
- **Updated** `CallsSpeechCaptureRequest.language` field type from `CallsLanguage``CallTranscriptionLanguage`.
62+
- **Updated** `CallsTranscription.language` field type from `CallsLanguage``CallTranscriptionLanguage`.
63+
- **Updated** `CallsUpdateScenarioResponse.lastUsageDate` field type from `OffsetDateTime``String`.
64+
- **Removed** `CallsVoice` – Certain fields removed due to API updates.
65+
- **Removed** `CallRoutingUrlSecurityConfigType` – Unified into `SecurityConfigType` enumeration class.
66+
- **Removed** `CallsUrlSecurityConfigType` – Unified into `SecurityConfigType` enumeration class.
67+
- **Fixed** Number Masking content schema when uploading audio files.
68+
- **Fixed** Number Masking UTC date-time deserialization in setup response model.
69+
- **Fixed**: Replaced body content in `ConferencePlayFileRequest` from `CallsPlayRequest` to `CallsConferencePlayRequest`.
70+
71+
- Email API
72+
- **Updated** `EmailSuppressionInfo.createdDate` field type from `String``OffsetDateTime`.
73+
- **Removed** `EmailSingleMessageStatus` – Now integrated into the unified `MessageStatus` class.
74+
- **Updated** `EmailAddDeleteSuppressionType` – Pending further clarification.
75+
76+
- Messaging API
77+
- **Removed** `MessagesApiRequestOptions` – Now replaced by `MessagesApiDefaultMessageRequestOptions` class.
78+
- **Removed** `MessagesApiSpeedLimitTimeUnit` – Now replaced by the unified `SpeedLimitTimeUnit` class.
79+
80+
- Viber API
81+
- **Removed** `ViberMessageRequestSchedulingSettings` – Now use `ViberRequestSchedulingSettings`.
82+
- **Updated** `ViberInboundContent.typeEnum``ViberInboundContentType`.
83+
- **Updated** `ViberOutboundContent.typeEnum``ViberOutboundContentType`.
84+
- **Removed** `ViberMessageStatus` – Now unified into `MessageStatus`.
85+
- **Removed** `ViberSpeedLimitTimeUnit` – Now unified into `SpeedLimitTimeUnit`.
86+
- **Removed** `ViberWebhookInboundReport` – Now use `ViberInboundMessageViberInboundContent`.
87+
88+
- WhatsApp API
89+
- **Removed** unsupported enumeration values from `WhatsAppWebhookType`.
90+
- **Updated** `WhatsAppWebhookReferralMediaVideo`, `WhatsAppWebhookReferralMediaImage`, `WhatsAppWebhookMediaVideo` – Introduced new `type` field, no longer extending `WhatsappWebhookReferalMedia`.
91+
- **Refactored** `WhatsAppWebhookReferralMedia` – Changed from an abstract class to a normal class.
92+
- **Removed** `context` field from various `WhatsAppWebhook` message types:
93+
- `WhatsAppWebhookQuickReplyContent`
94+
- `WhatsAppWebhookListReplyContent`
95+
- `WhatsAppWebhookInboundAudioMessage`
96+
- `WhatsAppWebhookButtonReplyContent`
97+
- `WhatsAppWebhookInboundVoiceMessage`
98+
- `WhatsAppWebhookInboundVideoMessage`
99+
- `WhatsAppWebhookInboundTextMessage`
100+
- `WhatsAppWebhookInboundStickerMessage`
101+
- `WhatsAppWebhookInboundLocationMessage`
102+
- `WhatsAppWebhookInboundImageMessage`
103+
- `WhatsAppWebhookInboundDocumentMessage`
104+
- `WhatsAppWebhookInboundContactMessage`
105+
- **Removed** `integrationType`, `pairedMessageId`, and `callbackData` fields from `WhatsAppWebhookInboundMessageData`.
106+
- **Removed** `INFECTED_CONTENT`, `INTERACTIVE_EXTENSION_REPLY`, `UNSUPPORTED` subtypes from `WhatsAppWebhookInboundMessage` abstract class.
107+
- **Replaced** `WhatsAppValidityPeriodTimeUnit` class with `ValidityPeriodTimeUnit`.
108+
- **Removed** no longer supported 50 business-initiated conversations messaging tear limit for WhatsApp senders.
109+
- **Updated** `WhatsAppPhoneNumberRequest.typeEnum``WhatsAppPhoneNumberTypeEnum`.
110+
- **Updated** `WhatsAppOtpRequest.typeEnum``WhatsAppNumberType`.
111+
- **Removed** `structure` field from `WhatsAppDefaultUtilityTemplatePublicApiRequest`.
112+
- **Removed** `structure` field from `WhatsAppTemplatePublicApiRequest`.
113+
- **Removed** `groupId` field from `WhatsAppContext`.
114+
- **Refactored** `WhatsAppDefaultTemplateStructureApiData` – Now an implementation of `WhatsAppTemplateStructureApiData`.
115+
- **Refactored** `WhatsAppAuthenticationTemplateStructureApiData` – Now an implementation of `WhatsAppTemplateStructureApiData`.
116+
117+
- WebRTC API
118+
- **Updated** `WebRtcValidityWindow.acceptableDays` typeEnum → `DeliveryDay`.
119+
- **Removed** `applicationId` field from `WebRtcTokenRequestModel`.
120+
- **Updated** `WebRtcValidityWindow.LayoutsEnum``WebRtcLayout`.
121+
- **Updated** `WebRtcLocalization.typeEnum``WebRtcLocalizationType`.
122+
- **Updated** `WebRtcWebRtcDestination``WebRtcCallsDestination`.
123+
- **Removed** `fcmServerKey` field from `WebRtcAndroidPushNotificationConfig`.
124+
125+
### Removed:
126+
- Deprecated functions for sending Viber `Image`, `File`, and `Text` messages have been removed. Use `ViberApi.sendViberMessages` to send messages.
127+
- All the Calls IVR script related class and from now on all the scripts are processed as `String`:
128+
- `CallsCallApi`
129+
- `CallsCapture`
130+
- `CallsCollect`
131+
- `CallsDial`
132+
- `CallsDialToMany`
133+
- `CallsDialToWebRTC`
134+
- `CallsDialToConversations`
135+
- `CallsForEach`
136+
- `CallsGoTo`
137+
- `CallsHangup`
138+
- `CallsIfThenElse`
139+
- `CallsMachineDetection`
140+
- `CallsPause`
141+
- `CallsPlay`
142+
- `CallsPlayFromRecording`
143+
- `CallsRecord`
144+
- `CallsRepeatUntil`
145+
- `CallsRepeatWhile`
146+
- `CallsSay`
147+
- `CallsSendSms`
148+
- `CallsSetVariable`
149+
- `CallsSwitchCase`
150+
- `CallsWhileDo`
151+
152+
These changes align the SDK with the current API specification, ensuring consistency and reliability in future updates.
153+
8154
## [ [5.1.0](https://github.com/infobip/infobip-api-java-client/releases/tag/5.1.0) ] - 2024-12-16
9155

10156
### Added
@@ -94,7 +240,6 @@ If you find out that something was not addressed properly, please submit an issu
94240
* **Documentation**
95241
* Fixed Javadoc.
96242

97-
98243
## [ [4.3.0](https://github.com/infobip/infobip-api-java-client/releases/tag/4.3.0) ] - 2024-03-19
99244

100245
⚠️ **IMPORTANT NOTE:** This release contains compile time breaking changes.

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ The current version of this library includes this subset of Infobip products:
3232
* [WhatsApp](https://www.infobip.com/docs/api/channels/whatsapp)
3333
* [Viber](https://www.infobip.com/docs/api/channels/viber)
3434
* [Messages API](https://www.infobip.com/docs/api/platform/messages-api)
35+
* [Moments API](https://www.infobip.com/docs/api/customer-engagement/moments)
3536

3637
## General Info
3738
For `infobip-api-java-client` versioning we use [Semantic Versioning][semver] scheme.
@@ -48,7 +49,7 @@ Simply add the following in your project's POM file under `dependencies` tag:
4849
<dependency>
4950
<groupId>com.infobip</groupId>
5051
<artifactId>infobip-api-java-client</artifactId>
51-
<version>5.1.0</version>
52+
<version>6.0.0</version>
5253
</dependency>
5354
```
5455

@@ -212,7 +213,7 @@ For Moments quick start guide, view [these examples](moments.md).
212213

213214
Feel free to open issues on the repository for any encountered problem or feature request. For pull requests, go to the `CONTRIBUTING` [file][contributing] related to it. This code is auto generated, and we are unable to merge any pull requests form here.
214215

215-
This code is auto generated, and we are unable to merge any pull request from here, but we will review and implement changes directly within our pipeline, as described in the `CONTRIBUTING` [file][contributing].
216+
This code is auto generated, and we are unable to merge any pull request from here, but we will review and implement changes directly within our pipeline, as described in the `CONTRIBUTING` [file][contributing].
216217

217218
For anything that requires our imminent attention, contact us @ [[email protected]](mailto:[email protected]).
218219

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
<groupId>com.infobip</groupId>
66
<artifactId>infobip-api-java-client</artifactId>
7-
<version>5.1.0</version>
7+
<version>6.0.0</version>
88
<packaging>jar</packaging>
99

1010
<name>infobip-api-java-client</name>

src/main/java/com/infobip/DeprecationChecker.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ void deprecated(TemporalAccessor sunsetDate) {
136136
}
137137

138138
void deprecated() {
139-
LOGGER.warn(
139+
LOGGER.info(
140140
"The endpoint {} {} is deprecated. "
141141
+ "Please consider updating the library or reaching out to {} for assistance.",
142142
deprecatedEndpointMethod,
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.infobip;
2+
3+
import com.fasterxml.jackson.core.JsonParser;
4+
import com.fasterxml.jackson.databind.DeserializationContext;
5+
import com.fasterxml.jackson.databind.JsonDeserializer;
6+
import java.io.IOException;
7+
8+
public class RawJsonDeserializer extends JsonDeserializer<String> {
9+
@Override
10+
public String deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
11+
return p.readValueAsTree().toString();
12+
}
13+
}

src/main/java/com/infobip/RequestFactory.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@
2222
import okhttp3.internal.http.HttpMethod;
2323

2424
/**
25-
* Request factory class. It should only be used internally by {@link com.infobip.ApiClient}.
25+
* Request factory class. It should only be used internally by {@link ApiClient}.
2626
*/
2727
final class RequestFactory {
2828

29-
private static final String USER_AGENT_HEADER_VALUE = "infobip-api-client-java/5.1.0";
29+
private static final String USER_AGENT_HEADER_VALUE = "infobip-api-client-java/6.0.0";
3030

3131
private final ApiKey apiKey;
3232
private final BaseUrl baseUrl;

0 commit comments

Comments
 (0)