11[ ![ Build Status] ( https://travis-ci.com/IBM/code-engine-java-sdk.svg?branch=main )] ( https://travis-ci.com/IBM/code-engine-java-sdk )
22[ ![ semantic-release] ( https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg )] ( https://github.com/semantic-release/semantic-release )
33
4- # IBM Cloud Code Engine Java SDK Version 4.30 .0
4+ # IBM Cloud Code Engine Java SDK Version 5.0 .0
55
66Java client library to interact with the [ Code Engine API] ( https://cloud.ibm.com/apidocs/codeengine ) .
77
@@ -25,6 +25,7 @@ Java client library to interact with the [Code Engine API](https://cloud.ibm.com
2525 * [ Maven] ( #maven )
2626 * [ Gradle] ( #gradle )
2727- [ Using the SDK] ( #using-the-sdk )
28+ - [ Breaking Changes (March 2026)] ( #breaking-changes-march-2026 )
2829- [ Questions] ( #questions )
2930- [ Issues] ( #issues )
3031- [ Open source @ IBM] ( #open-source--ibm )
@@ -39,19 +40,19 @@ The IBM Cloud Code Engine Java SDK allows developers to programmatically interac
3940
4041Service Name | Artifact Coordinates
4142--- | ---
42- [ Code Engine] ( https://cloud.ibm.com/apidocs/codeengine/codeengine-v2.0.0 ) | com.ibm.cloud.code-engine:4.30 .0
43+ [ Code Engine] ( https://cloud.ibm.com/apidocs/codeengine/codeengine-v2.0.0 ) | com.ibm.cloud.code-engine:5.0 .0
4344
4445## Prerequisites
4546
4647[ ibm-cloud-onboarding ] : https://cloud.ibm.com/registration
4748
48- * An [ IBM Cloud] [ ibm-cloud-onboarding ] account.
49- * An IAM API key to allow the SDK to access your account. Create one [ here] ( https://cloud.ibm.com/iam/apikeys ) .
50- * Java 8 or above.
49+ - An [ IBM Cloud] [ ibm-cloud-onboarding ] account.
50+ - An IAM API key to allow the SDK to access your account. Create one [ here] ( https://cloud.ibm.com/iam/apikeys ) .
51+ - Java 8 or above.
5152
5253## Installation
5354
54- The current version of this SDK is: 4.30 .0
55+ The current version of this SDK is: 5.0 .0
5556
5657Each service's artifact coordinates are listed in the table above.
5758
@@ -70,14 +71,14 @@ Here are examples for maven and gradle:
7071<dependency >
7172 <groupId >com.ibm.cloud</groupId >
7273 <artifactId >code-engine</artifactId >
73- <version >4.30 .0</version >
74+ <version >5.0 .0</version >
7475</dependency >
7576```
7677
7778### Gradle
7879
7980``` gradle
80- compile 'com.ibm.cloud:code-engine:4.30 .0'
81+ compile 'com.ibm.cloud:code-engine:5.0 .0'
8182```
8283
8384## Using the SDK
@@ -86,6 +87,187 @@ Examples and a demo are available in the [module examples](/modules/examples) fo
8687
8788For general SDK usage information, please see [ this link] ( https://github.com/IBM/ibm-cloud-sdk-common/blob/master/README.md )
8889
90+ ## Breaking Changes (March 2026)
91+
92+ - ** Method renames (pluralization) in ` CodeEngine ` service**
93+ Update list calls and their option types:
94+
95+ ``` java
96+ // before
97+ ServiceCall<AllowedOutboundDestinationList > call = codeEngine. listAllowedOutboundDestination(new ListAllowedOutboundDestinationOptions .Builder (projectId). build());
98+
99+ // after
100+ ServiceCall<AllowedOutboundDestinationList > call = codeEngine. listAllowedOutboundDestinations(new ListAllowedOutboundDestinationsOptions .Builder (projectId). build());
101+ ```
102+
103+ ```java
104+ // before
105+ ServiceCall<PersistentDataStoreList > call = codeEngine. listPersistentDataStore(new ListPersistentDataStoreOptions .Builder (projectId). build());
106+
107+ // after
108+ ServiceCall<PersistentDataStoreList > call = codeEngine. listPersistentDataStores(new ListPersistentDataStoresOptions .Builder (projectId). build());
109+ ```
110+
111+ - ** Options classes renamed**
112+ Replace imports and usage:
113+
114+ ```java
115+ // before
116+ import com.ibm.cloud.code_engine.code_engine.v2.model.ListAllowedOutboundDestinationOptions ;
117+ ListAllowedOutboundDestinationOptions opts =
118+ new ListAllowedOutboundDestinationOptions .Builder (projectId)
119+ .limit(100 )
120+ .start(" token" )
121+ .build();
122+
123+ // after
124+ import com.ibm.cloud.code_engine.code_engine.v2.model.ListAllowedOutboundDestinationsOptions ;
125+ ListAllowedOutboundDestinationsOptions opts =
126+ new ListAllowedOutboundDestinationsOptions .Builder (projectId)
127+ .limit(100 )
128+ .start(" token" )
129+ .build();
130+ ```
131+
132+ ```java
133+ // before
134+ import com.ibm.cloud.code_engine.code_engine.v2.model.ListPersistentDataStoreOptions ;
135+ ListPersistentDataStoreOptions opts =
136+ new ListPersistentDataStoreOptions .Builder (projectId)
137+ .limit(100 )
138+ .start(" token" )
139+ .build();
140+
141+ // after
142+ import com.ibm.cloud.code_engine.code_engine.v2.model.ListPersistentDataStoresOptions ;
143+ ListPersistentDataStoresOptions opts =
144+ new ListPersistentDataStoresOptions .Builder (projectId)
145+ .limit(100 )
146+ .start(" token" )
147+ .build();
148+ ```
149+
150+ - ** Pager classes renamed**
151+ Switch to the new pager types and constructors:
152+
153+ ```java
154+ // before
155+ import com.ibm.cloud.code_engine.code_engine.v2.model.AllowedOutboundDestinationPager;
156+ AllowedOutboundDestinationPager pager = new AllowedOutboundDestinationPager (codeEngine, oldOpts);
157+
158+ // after
159+ import com.ibm.cloud.code_engine.code_engine.v2.model.AllowedOutboundDestinationsPager ;
160+ AllowedOutboundDestinationsPager pager = new AllowedOutboundDestinationsPager (codeEngine, newOpts);
161+ ```
162+
163+ ```java
164+ // before
165+ import com.ibm.cloud.code_engine.code_engine.v2.model.PersistentDataStorePager ;
166+ PersistentDataStorePager pager = new PersistentDataStorePager (codeEngine, oldOpts);
167+
168+ // after
169+ import com.ibm.cloud.code_engine.code_engine.v2.model.PersistentDataStoresPager ;
170+ PersistentDataStoresPager pager = new PersistentDataStoresPager (codeEngine, newOpts);
171+ ```
172+
173+ - ** Builder parameter order changed for CIDR prototype**
174+ `AllowedOutboundDestinationPrototypeCidrBlockDataPrototype . Builder ` required- args constructor signature changed:
175+
176+ ```java
177+ // before: Builder(String type, String cidrBlock, String name)
178+ var proto = new AllowedOutboundDestinationPrototypeCidrBlockDataPrototype .Builder (
179+ " cidr_block" , " 10.0.0.0/24" , " allow-egress"
180+ ). build();
181+
182+ // after: Builder(String type, String name, String cidrBlock)
183+ var proto = new AllowedOutboundDestinationPrototypeCidrBlockDataPrototype .Builder (
184+ " cidr_block" , " allow-egress" , " 10.0.0.0/24"
185+ ). build();
186+ ```
187+
188+ > Also note: `name` is now treated as required at the base prototype level and is explicitly present on the CIDR builder.
189+
190+ - ** Patch model changes (remove `type`, new patch for Private Path)**
191+ Do ** not** set `type` in patch payloads; the field and its builder setter were removed from CIDR patch:
192+
193+ ```java
194+ // CIDR patch
195+ var patch = new AllowedOutboundDestinationPatchCidrBlockDataPatch .Builder ()
196+ .cidrBlock(" 10.0.1.0/24" )
197+ .build();
198+ ```
199+
200+ New patch class for Private Path properties:
201+
202+ ```java
203+ var ppPatch = new AllowedOutboundDestinationPatchPrivatePathServiceGatewayDataPatch.Builder()
204+ .isolationPolicy(AllowedOutboundDestinationPatchPrivatePathServiceGatewayDataPatch.IsolationPolicy.DEDICATED)
205+ .build();
206+ ```
207+
208+ - **New prototype to create Private Path destinations**
209+ Use the new prototype when creating an allowed outbound destination that connects to a VPC Private Path service:
210+
211+ ```java
212+ var ppProto =
213+ new AllowedOutboundDestinationPrototypePrivatePathServiceGatewayDataPrototype.Builder(
214+ AllowedOutboundDestinationPrototype.Type.PRIVATE_PATH_SERVICE_GATEWAY,
215+ "pps-to-service-x",
216+ "<private -path-service-gateway-crn>"
217+ )
218+ .isolationPolicy(AllowedOutboundDestinationPrototypePrivatePathServiceGatewayDataPrototype.IsolationPolicy.SHARED)
219+ .build();
220+ ```
221+
222+ > Ensure your code handles both types: `"cidr_block"` and `"private_path_service_gateway"`.
223+
224+ - **Model/enums additions affecting branching/validation**
225+ If your client code switches on type/status/isolation policy strings, update cases to include the new values:
226+
227+ ```java
228+ // AllowedOutboundDestination.Type
229+ CIDR_BLOCK
230+ PRIVATE_PATH_SERVICE_GATEWAY
231+
232+ // AllowedOutboundDestination.Status
233+ READY
234+ FAILED
235+ DEPLOYING
236+
237+ // AllowedOutboundDestination.IsolationPolicy
238+ SHARED
239+ DEDICATED
240+ ```
241+
242+ New fields were added to `AllowedOutboundDestination`:
243+
244+ - `name`
245+ - `status`
246+ - `statusDetails` (with types `AllowedOutboundStatusDetails`, `AllowedOutboundStatusDetailsPrivatePathServiceGatewayStatusDetails`)
247+ - `privatePathServiceGatewayCrn`
248+ - `isolationPolicy`
249+
250+ And new helper models:
251+
252+ - `EndpointGatewayDetails`
253+ - `PrivatePathServiceGatewayDetails`
254+
255+ - **Examples updated (if you copy/paste from `CodeEngineExamples`)**
256+ - Method usage and region tags renamed:
257+ - `listAllowedOutboundDestination` → `listAllowedOutboundDestinations` (and `begin/end` tags)
258+ - `listPersistentDataStore` → `listPersistentDataStores` (and `begin/end` tags)
259+ - Pager classes updated to plural forms.
260+ - CIDR prototype builder now sets `.name(..)` before `.cidrBlock(..)` and matches the new constructor order.
261+
262+ > **Action checklist:**
263+ >
264+ > - [ ] Rename service methods: `listAllowedOutboundDestinations`, `listPersistentDataStores`.
265+ > - [ ] Replace options classes and imports with pluralized names.
266+ > - [ ] Replace pager classes with pluralized versions and update example region tags if referenced.
267+ > - [ ] Adjust CIDR prototype builder constructor order to `(type, name, cidrBlock)`.
268+ > - [ ] Remove any `type` usage from patch builders; use CIDR or Private Path patch models as appropriate.
269+ > - [ ] Use the new Private Path prototype for creating Private Path destinations; add handling for new enums (`PRIVATE_PATH_SERVICE_GATEWAY`, status, isolation policy).
270+
89271## Questions
90272
91273If you are having difficulties using this SDK or have a question about the IBM Cloud services,
@@ -109,4 +291,4 @@ See [CONTRIBUTING](CONTRIBUTING.md).
109291## License
110292
111293The IBM Cloud Code Engine Java SDK is released under the Apache 2.0 license.
112- The license's full text can be found in [ LICENSE] ( LICENSE ) .
294+ The license's full text can be found in [LICENSE](LICENSE).
0 commit comments