Skip to content

v3.0.0

Choose a tag to compare

@niteshsandal-merge niteshsandal-merge released this 14 May 00:17
· 11 commits to main since this release
d0d58ce

Merge Python SDK Release Notes - Version [3.0.0]

This release includes support for all of the latest updates to the Merge API. For more information, see https://www.merge.dev/changelog


Breaking Changes

Expand Parameter Type Changes:

Expand parameters changed from large string union enums to individual enum items that accept a single value or a list. Old pre-combined enum values (e.g. TicketsListRequestExpand.ACCOUNT_ASSIGNEES_CREATOR) have been
removed.

  # v2.x — single combined enum value
  client.ticketing.tickets.list(
      expand=TicketsListRequestExpand.ACCOUNT_ASSIGNEES_CREATOR,
  )

  # v3.x — single item or list of individual items
  from merge.resources.ticketing.resources.tickets import TicketsListRequestExpandItem

  client.ticketing.tickets.list(
      expand=[
          TicketsListRequestExpandItem.ACCOUNT,
          TicketsListRequestExpandItem.ASSIGNEES,
          TicketsListRequestExpandItem.CREATOR,
      ],
  )

  # Single expand still works
  client.ticketing.tickets.list(expand=TicketsListRequestExpandItem.ACCOUNT)

  # Passing a string is unchanged
  client.ticketing.tickets.list(expand="account,assignees,creator")

Affected types: all *ListRequestExpand and *RetrieveRequestExpand types have been replaced with *ListRequestExpandItem and *RetrieveRequestExpandItem equivalents across Accounting, ATS, Chat, CRM, File Storage,
HRIS, Knowledge Base, and Ticketing modules. The API request format (?expand=a,b,c) is unchanged — only the Python input shape changed.

ats.candidates.ignore_create Signature Change:

The reason and message keyword arguments were collapsed into a single request body model.

  # v2.x
  client.ats.candidates.ignore_create(
      model_id,
      reason=IgnoreCommonModelRequestReason.GENERAL_CUSTOMER_REQUEST,
      message="Customer requested ignore",
  )

  # v3.x
  from merge.resources.ats import IgnoreCommonModelRequest, IgnoreCommonModelRequestReason

  client.ats.candidates.ignore_create(
      model_id,
      request=IgnoreCommonModelRequest(
          reason=IgnoreCommonModelRequestReason.GENERAL_CUSTOMER_REQUEST,
          message="Customer requested ignore",
      ),
  )
  

IgnoreCommonModelRequestReason also moved from merge.resources.ats.resources.candidates to merge.resources.ats. The top-level category import works in both 2.x and 3.x; only the deep resource-scoped import path was
removed.