# Java client library 3.5.0 changelog

## BulkUpdateOrderLineItem

* Added the `communicationProfileId` field to the BulkUpdateOrderLineItem class, allowing developers to associate a communication profile with an order line item. This field can be updated only for a sales order line item in the `Executing`, `Booked`, or `SentToBilling` state.


## CreateInvoiceRequest

* Added the `communicationProfileId` field to the CreateInvoiceRequest class, allowing developers to associate a communication profile with an invoice.


## CreateOrderCreateSubscription

* Added the `communicationProfileId` field to the CreateOrderCreateSubscription class, which allows associating a communication profile with the subscription. This feature is available only if the Flexible Billing Attributes feature is enabled.


## CreateOrderOrderLineItem

* Added the `communicationProfileId` field to the CreateOrderOrderLineItem class, allowing developers to specify a communication profile ID for an order line item.


## CreateOrderTermsAndConditions

* Added the `communicationProfileId` field to associate a communication profile with a subscription.
* Added the `clearingExistingCommunicationProfile` field to clear the existing communication profile at the subscription level.
* Added the `invoiceGroupNumber` field to associate an invoice group number with a subscription.
* Added the `clearingExistingInvoiceGroupNumber` field to clear the existing invoice group number at the subscription level.


## CreditMemo

* Added the `communicationProfileId` field to the CreditMemo class, allowing association of a communication profile with a credit memo.


## CreditMemoResponse

* Added the `communicationProfileId` field to the CreditMemoResponse class, allowing developers to associate a communication profile with a credit memo.


## DebitMemo

* Added the `communicationProfileId` field to the DebitMemo class, allowing association of a communication profile with a debit memo.


## DebitMemoResponse

* Added the `communicationProfileId` field to the DebitMemoResponse class, allowing developers to associate a communication profile with a debit memo.


## ExpandedCreditMemo

* Added the `communicationProfileId` field to the ExpandedCreditMemo class, allowing developers to set and retrieve the communication profile ID associated with a credit memo.


## ExpandedDebitMemo

* Added the `communicationProfileId` field to the ExpandedDebitMemo class.


## ExpandedInvoice

* Added the `communicationProfileId` field to the ExpandedInvoice class.


## ExpandedOrderAction

* Added the `communicationProfileId` field with associated methods.
* Added the field `clearingExistingCommunicationProfile` with associated methods.


## ExpandedProduct

* Added new fields: `state`, `version`, and `versionOrdinal` to the ExpandedProduct class.


## ExpandedProductRatePlan

* Added new fields: `state`, `version`, and `versionOrdinal` to the ExpandedProductRatePlan class.


## GetOrderLineItem

* Added the `communicationProfileId` field to the GetOrderLineItem class, allowing developers to set and retrieve the communication profile ID for an order line item.


## GetProductRatePlanResponse

* Added the `productRatePlanNumber` field to the GetProductRatePlanResponse class, which represents the natural key of the product rate plan.


## GetSubscriptionResponse

* Added the `communicationProfileId` field to the GetSubscriptionResponse class, which represents the ID of the communication profile associated with the subscription. This field is available only if the Flexible Billing Attributes feature is enabled.


## Invoice

* Added the `communicationProfileId` field to the Invoice class, allowing association of a communication profile with an invoice.


## InvoiceResponse

* Added the `communicationProfileId` field to the InvoiceResponse class, allowing developers to associate a communication profile with an invoice.


## OperationJobType

* Added a new operation job type: `REVERSE`.


## OrderActionCreateSubscription

* Added the `communicationProfileId` field to associate a communication profile with the subscription. This feature is available only if the Flexible Billing Attributes feature is enabled.
* Added the `currency` field to specify the currency of the subscription.


## OrderActionOwnerTransfer

* Added the `communicationProfileId` field to associate a communication profile with the subscription. This feature is available only if the Flexible Billing Attributes feature is enabled.
* Added the `clearingExistingCommunicationProfile` field to allow clearing the existing communication profile at the subscription level. This field is mutually exclusive with `communicationProfileId`.


## OrderActionRenewSubscription

* Added the `communicationProfileId` field to associate a communication profile with the subscription.
* Added the `clearingExistingCommunicationProfile` field to allow clearing the existing communication profile at the subscription level.


## OrderActionTermsAndConditions

* Added the `communicationProfileId` field to associate a communication profile with a subscription. This feature is available only if the Flexible Billing Attributes feature is enabled.
* Added the `clearingExistingCommunicationProfile` field to allow clearing the existing communication profile at the subscription level. This field is mutually exclusive with `communicationProfileId`.


## OrderLineItem

* Added the `communicationProfileId` field to the OrderLineItem class, allowing developers to specify and retrieve the communication profile ID associated with an order line item.


## PreviewExistingSubscriptionDiscountDetails

* Added the `discountChargeName` field to the PreviewExistingSubscriptionDiscountDetails class.


## PreviewOrderCreateSubscription

* Added the `communicationProfileId` field to associate a communication profile with the subscription. Available with the Flexible Billing Attributes feature.
* Added the `currency` field to specify the currency code for the subscription. Available with the Multiple Currencies feature.
* Added the `invoiceGroupNumber` field to associate an invoice group with the subscription. Available with the Flexible Billing Attributes feature.


## ProductRatePlanWithExternalId

* Added the `productRatePlanNumber` field to the ProductRatePlanWithExternalId class, allowing developers to set and retrieve the natural key of the product rate plan.


## ReverseInvoiceResponse

* Added new fields: `id`, `jobId`, and `jobStatus` to the ReverseInvoiceResponse class.
* Included validation for the new fields `id`, `jobId`, and `jobStatus` in JSON parsing.


## UpdateOrderLineItem

* Added the `communicationProfileId` field to the `UpdateOrderLineItem` class, allowing developers to associate a communication profile with an order line item. This field can be updated only for a sales order line item in specific states (`Executing`, `Booked`, `SentToBilling`).


## UpdateOrderLineItemRequest

* Added the `communicationProfileId` field to the UpdateOrderLineItemRequest class, allowing developers to associate a communication profile with an order line item. This field can be updated only for a sales order line item in specific states (Executing/Booked/SentToBilling).