Skip to content

Release 9.0.0

Choose a tag to compare

@lucassus lucassus released this 13 Mar 15:44
· 3 commits to main since this release

Changelog: v9.0.0

Breaking Changes

  • SnapDay enum removed — The SnapDay class (with value ENUM_END = 'end') has been deleted. Subscription.snap_day changed from Object (union of Integer | SnapDay) to String. CalendarBillingSnapDay changed from OneOf[Integer, SnapDay] to OneOf[Integer, String]. UpdateSubscriptionSnapDay changed from OneOf[Integer, SnapDay] to OneOf[String, Integer] (note: order reversed). The SubscriptionSnapDay union type was removed entirely.
  • Return type changed for ComponentPricePointsController#read_component_price_point — Now returns ComponentPricePointCurrencyOverageResponse instead of ComponentPricePointResponse. The inner price_point field is now a CurrencyOveragePrices object (a superset of ComponentPricePoint with additional overage-related fields) rather than a plain ComponentPricePoint. Code that type-checks the response or destructures it by class will need updating.
  • CreateAllocation#downgrade_credit type changed from CreditType to DowngradeCreditCreditType. The accepted string values (full, prorated, none) are the same, but code referencing the CreditType enum class for this field should switch to DowngradeCreditCreditType.
  • CreateAllocation#upgrade_charge type changed from CreditType to UpgradeChargeCreditType. Same string values as before; update any references from CreditType to UpgradeChargeCreditType.

New Features

  • New SubscriptionRenewalsController — Full CRUD for scheduled renewal configurations, accessible via client.subscription_renewals. Methods:
    • create_scheduled_renewal_configuration
    • list_scheduled_renewal_configurations
    • read_scheduled_renewal_configuration
    • update_scheduled_renewal_configuration
    • schedule_scheduled_renewal_lock_in
    • lock_in_scheduled_renewal_immediately
    • unpublish_scheduled_renewal_configuration
    • cancel_scheduled_renewal_configuration
    • create_scheduled_renewal_configuration_item
    • update_scheduled_renewal_configuration_item
    • delete_scheduled_renewal_configuration_item
  • New ComponentPricePointsController#clone_component_price_point — Clone an existing component price point. Returns ComponentPricePointCurrencyOverageResponse.
  • New ProformaInvoicesController#deliver_proforma_invoice — Deliver a proforma invoice via email. Accepts DeliverProformaInvoiceRequest with recipient, CC, and BCC email lists.
  • Enhanced SubscriptionStatusController#cancel_subscription — CancellationOptions now supports cancel_at_end_of_period, scheduled_cancellation_at, and refund_prepayment_account_balance for scheduled and end-of-period cancellations.
  • Enhanced InvoicesController#send_invoice — Now supports file attachments via attachment_urls on SendInvoiceRequest (max 10 files, 10 MB each).
  • issue_invoice now supports "draft" status — The endpoint can now issue invoices that are in both "pending" and "draft" status.

New Models

  • AvailableActions
  • CloneComponentPricePoint
  • CloneComponentPricePointRequest
  • ComponentPricePointCurrencyOverageResponse
  • Contract
  • CurrencyOveragePrices
  • DeliverProformaInvoiceRequest
  • DowngradeCreditCreditType (enum)
  • Register
  • ScheduledRenewalComponentCustomPrice
  • ScheduledRenewalConfiguration
  • ScheduledRenewalConfigurationItem
  • ScheduledRenewalConfigurationItemRequest
  • ScheduledRenewalConfigurationItemResponse
  • ScheduledRenewalConfigurationRequest
  • ScheduledRenewalConfigurationRequestBody
  • ScheduledRenewalConfigurationResponse
  • ScheduledRenewalConfigurationsResponse
  • ScheduledRenewalItemRequestBodyComponent
  • ScheduledRenewalItemRequestBodyProduct
  • ScheduledRenewalLockInRequest
  • ScheduledRenewalProductPricePoint
  • ScheduledRenewalUpdateRequest
  • SendEmail
  • Status (enum — draft, scheduled, pending, canceled, active, fulfilled)
  • UpgradeChargeCreditType (enum)

Model Enhancements

  • CancellationOptions — Added cancel_at_end_of_period (Boolean), scheduled_cancellation_at (DateTime), refund_prepayment_account_balance (Boolean).
  • ComponentCustomPrice — Added list_price_point_id (Integer, nullable), use_default_list_price (Boolean).
  • CreateAllocation — Added decimal_quantity (String), previous_quantity (Float), decimal_previous_quantity (String), custom_price (ComponentCustomPrice).
  • ProductFamily — Added archived_at (DateTime).
  • ProformaInvoice — Added available_actions (AvailableActions).
  • SendInvoiceRequest — Added attachment_urls (Array[String]).
  • SubscriptionGroup — Added uid (String).
  • SubscriptionSort — New enum values: TOTAL_PAYMENTS, ID, OPEN_BALANCE, EXPIRES_AT.

Internal / Non-functional Changes

  • SDK version bumped from 8.0.0 to 9.0.0 in gemspec, user-agent string, and README.
  • Copyright year in LICENSE updated from 2014 - 2025 to 2014 - 2026.
  • Documentation updated across 84 files (+2,237 / -212 lines) to reflect new endpoints, models, and field additions.