# Java client library 3.13.0 changelog

## ObjectQueriesApi

* Added support for expanding `invoiceschedule` and `invoicescheduleitem` in queries for CreditMemoItem and InvoiceItem.


## PaymentMethodsApi

* Added support for creating payment methods with the PayPal Complete Payments gateway integration.


## CommitmentBaseAttributes

* The method getEligibleAccountConditions() is now annotated with @Nonnull, indicating it must not return null.
* `eligibleAccountConditions` is now a required field in openapiRequiredFields, which may require updates to JSON handling.


## CommitmentInput

* The field `excludeItemBookingFromRevenueAccounting` has been removed.
* The `eligibleAccountConditions` field is now required.
* The `periods` field is now optional.
* The `periodAlignmentOption` and `schedules` fields are now required.
* Added `periodAlignmentOption` field of type PeriodAlignmentOptionEnum.
* Added `specificPeriodAlignmentDate` field of type LocalDate.
* Added `schedules` field which is a list of CommitmentScheduleInput.


## CommitmentOutput

* Added new field `totalAmount` to represent the total amount of the commitment.
* Added new field `status` of type CommitmentStatusOutput to represent the status of the commitment.
* Added new field `schedules` which is a list of CommitmentOutputSchedulesInner to represent the schedules associated with the commitment.


## CommitmentStatus

* The CommitmentStatus enum has been removed, which will cause compilation errors for any code referencing this enum.


## CommonRevenueAttributes

* The entire class CommonRevenueAttributes has been removed, which will break any code relying on this class.


## ExpandedCommitment

* Removed fields: `cyclePeriodType`, `cyclePeriodLength`, `cycleDayType`, `cycleDay`, `cycleAlignmentDate`, `accountingCode`, `excludeItemBookingFromRevenueAccounting`, `prorationOption`. This may affect any code relying on these fields.
* Added new field: `status`. This allows developers to set and retrieve the status of an ExpandedCommitment.


## ExpandedCreditMemoItem

* Added new field `invoiceSchedule` of type ExpandedInvoiceSchedule.
* Added new field `invoiceScheduleItem` of type ExpandedInvoiceScheduleItem.


## ExpandedInvoiceItem

* Added new fields `invoiceSchedule` and `invoiceScheduleItem` to the ExpandedInvoiceItem class.


## GetCommitmentOutput

* The field `eligibleAccountConditions` is now required, which may require developers to update their code to ensure this field is provided.
* Added new field `periodAlignmentOption` of type PeriodAlignmentOptionEnum.
* Added new field `specificPeriodAlignmentDate` of type LocalDate.
* Added new field `schedules` which is a list of CommitmentScheduleOutput.


## UpsertCreateCommitmentInput

* Removed the field `excludeItemBookingFromRevenueAccounting`.
* Changed `eligibleAccountConditions` from @Nullable to @Nonnull, making it a required field.
* Changed `periods` from @Nonnull to @Nullable, making it optional.
* Added `periodAlignmentOption` and `schedules` as required fields.
* Added new fields `periodAlignmentOption`, `specificPeriodAlignmentDate`, and `schedules`.


## UpsertUpdateCommitmentInput

* Changed the type of the `status` field from CommitmentStatus to CommitmentStatusInput.
* Added a new field `schedules` of type List<UpsertCommitmentScheduleInput>.