Skip to content
Open
Show file tree
Hide file tree
Changes from 26 commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
baf498e
chore: use Object for anyType (#873)
tiwarishubham635 Jul 2, 2025
e348355
chore: Handle List<Object> serialization (#874)
tiwarishubham635 Jul 2, 2025
b737594
chore: prepare for RC release (#875)
tiwarishubham635 Jul 3, 2025
953e73e
[Librarian] Regenerated @ d122b05026327019e18cb5763c557a68138cc2c8 0e…
twilio-dx Jul 3, 2025
04f1e08
Release 11.0.0-rc.1
twilio-dx Jul 3, 2025
c469b61
[Librarian] Regenerated @ 39bbd47c92a659f8a7464cedcc75b92c7ba69773 f5…
twilio-dx Jul 10, 2025
3ba6d3c
Release 11.0.0-rc.2
twilio-dx Jul 10, 2025
5845dc3
[Librarian] Regenerated @ 4b32678e9d8859e19f1feb1af566eea8533a36c9 51…
twilio-dx Jul 24, 2025
0810ce5
Release 11.0.0-rc.3
twilio-dx Jul 24, 2025
4daff06
[Librarian] Regenerated @ 3fba30a1b1e7c6460438ce1ca58c8ea68ad7b236 61…
twilio-dx Aug 18, 2025
54629b0
Release 11.0.0-rc.4
twilio-dx Aug 18, 2025
4d0f1fa
[Librarian] Regenerated @ 741a326a48cb7081b6b7e1de11dfd3e942a09979 c6…
twilio-dx Aug 28, 2025
2b01bb6
Release 11.0.0-rc.5
twilio-dx Aug 28, 2025
ce29d45
[Librarian] Regenerated @ 42495c0486390f490dfedfd73999e2c259cdb011 f3…
twilio-dx Sep 4, 2025
6533f63
Release 11.0.0-rc.6
twilio-dx Sep 4, 2025
2d81ceb
chore: sync with main (#884)
tiwarishubham635 Sep 9, 2025
519b65a
created centralized serialization and added tests (#894)
sbansla Sep 9, 2025
0f88d7a
feat: Http5 upgrade multipart form (#877)
manisha1997 Sep 12, 2025
468bbb7
chore: custom deserialisation (#895)
sbansla Sep 12, 2025
f0aa2cb
fix: Reuse twiliorestclient for orgs api (#896)
sbansla Sep 16, 2025
15ca860
chore: Revert "fix: Reuse twiliorestclient for orgs api" (#898)
tiwarishubham635 Sep 16, 2025
303bf6d
chore: Reuse twiliorestclient for orgs api (#900)
sbansla Sep 18, 2025
da28f2c
Initial plan
Copilot Sep 18, 2025
3272dad
Add comprehensive test cases for RequestValidator to improve coverage…
Copilot Sep 18, 2025
b114c62
chore: test cases
manisha1997 Sep 18, 2025
4ff13b9
Merge branch '11.0.0-rc' into copilot/fix-645
manisha1997 Sep 18, 2025
bf69b8d
chore: test cases
manisha1997 Sep 18, 2025
e4fa1b5
Remove comment on additional test cases
manisha1997 Sep 18, 2025
aa8b924
chore: test cases
manisha1997 Sep 18, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/test-and-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ jobs:
with:
distribution: 'zulu'
java-version: '17'

- name: SonarCloud Scan
if: ${{ (github.event_name == 'pull_request' || github.ref_type == 'branch') && matrix.java == 11 && !github.event.pull_request.head.repo.fork }}
env:
Expand Down Expand Up @@ -94,7 +94,7 @@ jobs:
- name: Create GitHub Release
uses: sendgrid/dx-automator/actions/release@main
with:
footer: '**[Maven](https://mvnrepository.com/artifact/com.twilio.sdk/twilio/${version})**'
footer: '**[Maven](https://central.sonatype.com/artifact/com.twilio.sdk/twilio/${version})**'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Expand Down
90 changes: 90 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,96 @@
twilio-java changelog
=====================

[2025-09-04] Version 11.0.0-rc.6
--------------------------------
**Api**
- Remove usage category enum from usage record and usage triggers API **(breaking change)**


[2025-08-28] Version 11.0.0-rc.5
--------------------------------
**Studio**
- Add `type` to Step resource APIs

**Verify**
- Allow to update all passkeys parameters in the service update


[2025-08-18] Version 11.0.0-rc.4
--------------------------------
**Accounts**
- Update beta feature flag for consent and contact bulk upsert APIs

**Api**
- Add multiple missing usage categories to usage records and usage triggers api
- Add `channels-whatsapp-template-marketing` and `channels-whatsapp-template-utility` to usage categories

**Conversations**
- Fix `state` spelling for `initializing` enum value
- Update `state` to include `intializing` for ServiceConversationWithParticipants and ConversationWithParticipants

**Flex**
- Adding new optional parameter `identity` to `web_channels` API in version `v2`

**Trusthub**
- Add required Permissions to the ComplianceInquiries API

**Verify**
- Add passkeys support to Verify API creating and updating services.
- Update `ienum` type for Factor creation
- Add passkeys as challenge and factor type


[2025-07-24] Version 11.0.0-rc.3
--------------------------------
**Events**
- Remove `SinkSid` parameter when updating subscriptions. **(breaking change)**

**Twiml**
- Remove Duplicates.
- Add Polly Generative voices.
- Add Latest Google (Chirp3-HD) voices.


[2025-07-10] Version 11.0.0-rc.2
--------------------------------
**Flex**
- update team name for web_channel, webchat_init_token, webchat_refresh_token


[2025-07-03] Version 11.0.0-rc.1
--------------------------------
**Library - Chore**
- [PR #875](https://github.com/twilio/twilio-java/pull/875): prepare for RC release. Thanks to [@tiwarishubham635](https://github.com/tiwarishubham635)!
- [PR #874](https://github.com/twilio/twilio-java/pull/874): Handle List<Object> serialization. Thanks to [@tiwarishubham635](https://github.com/tiwarishubham635)!
- [PR #873](https://github.com/twilio/twilio-java/pull/873): use Object for anyType. Thanks to [@tiwarishubham635](https://github.com/tiwarishubham635)!

**Bulkexports**
- Changed the type of 'details' field to be a list of objects instead of a single object

**Conversations**
- Updates to `method` casing for ConfgurationAddress, ConversationScopedWebhook, and ServiceConversationScopedWebhook for RestProxy compatibility

**Proxy**
- remove shortcodes resource as its no longer used

**Serverless**
- Change log field level from type `ienum` to `string` in Logs api

**Taskrouter**
- Remove `URL-encoded` from attributes param definition in tasks

**Trunking**
- Added `symmetric_rtp_enabled` property on Trunks.

**Twiml**
- Add support for `<WhatsApp>` noun under `<Dial>` verb


[2025-07-03] Version 11.0.0-rc.0
--------------------------------
- Release Candidate prep

[2025-06-12] Version 10.9.2
---------------------------
**Library - Chore**
Expand Down
10 changes: 6 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,15 +62,15 @@ Use the following dependency in your project to grab via Maven:
<dependency>
<groupId>com.twilio.sdk</groupId>
<artifactId>twilio</artifactId>
<version>10.X.X</version>
<version>11.X.X-rc.x</version>
<scope>compile</scope>
</dependency>
```

or Gradle:

```groovy
implementation "com.twilio.sdk:twilio:10.X.X"
implementation "com.twilio.sdk:twilio:11.X.X-rc.x"
```

If you want to compile it yourself, here's how:
Expand Down Expand Up @@ -221,8 +221,8 @@ public class Example {
We are introducing Client Credentials Flow-based OAuth 2.0 authentication.
This feature is currently in `beta` and its implementation is subject to change.

- API examples [here](https://github.com/twilio/twilio-java/blob/main/examples/FetchMessageUsingOAuth.md)
- Organisation API examples [here](https://github.com/twilio/twilio-java/blob/main/examples/BearerTokenAuthentication.md)
- API examples [here](https://github.com/twilio/twilio-java/blob/main/examples/PublicOAuthExample.md)
- Organisation API examples [here](https://github.com/twilio/twilio-java/blob/main/examples/OrgsAPIExample.md)

### Iterate through records

Expand Down Expand Up @@ -366,3 +366,5 @@ If you've instead found a bug in the library or would like new features added, g
[apidocs]: https://www.twilio.com/docs/api
[twiml]: https://www.twilio.com/docs/api/twiml
[libdocs]: https://twilio.github.io/twilio-java


26 changes: 0 additions & 26 deletions examples/BearerTokenAuthentication.md

This file was deleted.

21 changes: 0 additions & 21 deletions examples/FetchMessageUsingOAuth.md

This file was deleted.

34 changes: 34 additions & 0 deletions examples/OrgsAPIExample.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
class OrgsAPIExample {
public static void main {

private static final String GRANT_TYPE = "grant_type_to_be_used";
private static final String CLIENT_SID =
"client_id_of_the_organization";
private static final String CLIENT_SECRET = "client_secret_of_organization";
private static final String ORGANISATION_ID = "id_of_the_organization";

//Getting access token - Method #1
Twilio.init(new OrgsClientCredentialProvider(CLIENT_SID, CLIENT_SECRET));
fetchAccountDetails();


//Scenario: 2 If in case one doesn't want to change the existing stored credential
// Pass Custom TwilioRestClient
// TokenManager tokenManager = new OrgsTokenManager(GRANT_TYPE, CLIENT_SID, CLIENT_SECRET);
// TokenAuthStrategy tokenAuthStrategy = new TokenAuthStrategy(tokenManager);
// TwilioRestClient client = new TwilioRestClient.Builder(tokenAuthStrategy).build();
// fetchAccountDetailsWithClient(client);
}

private static void fetchAccountDetails() {
ResourceSet<Account> accountSet = Account.reader(ORGANISATION_ID).read();
String accountSid = accountSet.iterator().next().getAccountSid();
System.out.println(accountSid);
}

private static void fetchAccountDetailsWithClient(TwilioRestClient client) {
ResourceSet<Account> accountSet = Account.reader(ORGANISATION_ID).read(client);
String accountSid = accountSet.iterator().next().getAccountSid();
System.out.println(accountSid);
}
}
35 changes: 35 additions & 0 deletions examples/PublicOAuthExample.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
```
class PublicOAuthExample {
public static void main {

private static final String GRANT_TYPE = "grant_type_to_be_used";
private static final String OAUTH_CLIENT_SID = "client_id";
private static final String OAUTH_CLIENT_SECRET = "client_secret";
private static final String ACCOUNT_SID = "account_sid";
private static final String MESSAGE_SID = "message_sid";

//Getting access token - Method #1
Twilio.init(new ClientCredentialProvider(OAUTH_CLIENT_SID, OAUTH_CLIENT_SECRET), ACCOUNT_SID);
fetchMessage(MESSAGE_SID);


//Scenario: 2 If in case one doesn't want to change the existing stored credential
// Pass Custom TwilioRestClient
// TokenManager tokenManager = new ApiTokenManager(GRANT_TYPE, OAUTH_CLIENT_SID, OAUTH_CLIENT_SECRET);
// TokenAuthStrategy tokenAuthStrategy = new TokenAuthStrategy(tokenManager);
// TwilioRestClient client = new TwilioRestClient.Builder(tokenAuthStrategy).accountSid(ACCOUNT_SID).build();
// fetchMessageWithClient(MESSAGE_SID, client);
}

public static void fetchMessage(String sid) {
Message message = Message.fetcher(sid).fetch();
System.out.println("Fetched Message SID: " + message.getSid());
}

public static void fetchMessageWithClient(String sid, TwilioRestClient client) {
Message message = Message.fetcher(sid).fetch(client);
System.out.println("Fetched Message SID: " + message.getSid());
}
}
```

40 changes: 22 additions & 18 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<artifactId>twilio</artifactId>
<packaging>jar</packaging>
<name>twilio</name>
<version>10.9.2</version>
<version>11.0.0-rc.6</version>
<description>Twilio Java Helper Library</description>
<url>https://www.twilio.com</url>
<licenses>
Expand All @@ -19,7 +19,7 @@
<url>git@github.com:twilio/twilio-java.git</url>
<connection>scm:git:git@github.com:twilio/twilio-java.git</connection>
<developerConnection>scm:git:git@github.com:twilio/twilio-java.git</developerConnection>
<tag>10.9.2</tag>
<tag>11.0.0-rc.6</tag>
</scm>
<developers>
<developer>
Expand Down Expand Up @@ -217,9 +217,9 @@
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.13</version>
<groupId>org.apache.httpcomponents.client5</groupId>
<artifactId>httpclient5</artifactId>
<version>5.5</version>
<exclusions>
<exclusion>
<groupId>commons-codec</groupId>
Expand All @@ -228,9 +228,9 @@
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>4.4.13</version>
<groupId>org.apache.httpcomponents.core5</groupId>
<artifactId>httpcore5</artifactId>
<version>5.3.4</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
Expand Down Expand Up @@ -260,20 +260,14 @@
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.30</version>
<version>1.7.36</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
<version>4.5.13</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.tngtech.archunit</groupId>
<artifactId>archunit</artifactId>
Expand Down Expand Up @@ -316,8 +310,8 @@
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>1.10.19</version>
<artifactId>mockito-core</artifactId>
<version>4.11.0</version>
<scope>test</scope>
</dependency>
<dependency>
Expand All @@ -341,6 +335,12 @@
<artifactId>gson</artifactId>
<version>2.10.1</version>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-inline</artifactId>
<version>4.11.0</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
Expand Down Expand Up @@ -440,6 +440,10 @@
</formats>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
Expand Down Expand Up @@ -490,4 +494,4 @@
</plugin>
</plugins>
</build>
</project>
</project>
2 changes: 0 additions & 2 deletions src/main/java/com/twilio/Domains.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,9 @@ public enum Domains {
INSIGHTS("insights"),
INTELLIGENCE("intelligence"),
IPMESSAGING("ip-messaging"),
KNOWLEDGE("knowledge"),
LOOKUPS("lookups"),
MARKETPLACE("marketplace"),
MESSAGING("messaging"),
MICROVISOR("microvisor"),
MONITOR("monitor"),
NOTIFY("notify"),
NUMBERS("numbers"),
Expand Down
Loading