# Changelog

> New and changed REST API endpoints and fields, Chat SDK releases, and developer tooling, newest first. Breaking changes are marked.

Source: https://developer.kustomer.com/changelog

API entries are dated by when the endpoint or field was added to the public API reference. Some of them describe behavior that was already live but undocumented, so you can rely on them from that date onward.

> **Follow along:** Read this page as [Markdown](https://developer.kustomer.com/changelog.md) to feed it to a tool or an AI assistant. For SDK releases, watch [kustomer/kustomer-ios](https://github.com/kustomer/kustomer-ios/releases) on GitHub. Android artifacts are published to Maven Central as `com.kustomer.chat:ui` and `com.kustomer.chat:core`, and React Native to npm as `@kustomer/chat-react-native`.

## November 2026

### Chat handoff and brand address updates

**November 2**

- `POST /v2.1/chat/handoff` accepts an optional `trackingId` and an optional `subStatus`. See [Import a bot conversation](https://developer.kustomer.com/docs/chat/server-chat-api#import-a-bot-conversation).
- [Brand address mappings](https://developer.kustomer.com/api/core-resources#brands) accept an `allBrands` flag, which shares an address across every brand. `PATCH` now accepts `allBrands` as well as `isDefault`.

## October 2026

### New developer docs

**October 21**

This site replaces the previous developer portal.

- The API reference covers 447 operations across 10 APIs, each with a request builder and samples for cURL, Node, Python, Go and kusty.
- New guides cover [app definitions](https://developer.kustomer.com/docs/apps/app-definition), [workflows](https://developer.kustomer.com/docs/workflows), [webhooks and the event catalog](https://developer.kustomer.com/docs/events), and the [AI and automations API](https://developer.kustomer.com/docs/ai/ai-api).
- The [Chat SDK](https://developer.kustomer.com/docs/chat) docs have been rewritten for iOS 8.3, Android 4.6 and React Native 6.3. The previous React Native pages still described React Native 0.63–0.73 and iOS 12.4.
- New [kusty CLI](https://developer.kustomer.com/docs/ai/kusty) and [MCP server](https://developer.kustomer.com/docs/ai/kusty-mcp) docs.
- Every page is available as Markdown, alongside [llms.txt](https://developer.kustomer.com/llms.txt). See [Docs for AI](https://developer.kustomer.com/docs/ai/docs-for-ai).

### API: limit email From addresses by brand

**October 20**

Admins can now restrict which email accounts each permission set may send from, based on the brands those addresses belong to.

- [Role groups](https://developer.kustomer.com/api/access-management#role-groups) accept `meta.outboundBrandVisibility` with `brandIds` and `includeUnassigned`. Send `null` to clear it. An empty list with `includeUnassigned: false` hides every address, which is different from leaving the setting unconfigured.
- [`GET /v1/outboundAccounts?applyOutboundBrandVisibility=true`](https://developer.kustomer.com/api/core-resources/get-outbound-accounts) returns only the accounts the caller may use. A user's visible brands are the union across all their permission sets, including those from teams. Users who can edit role groups are never filtered. Without the parameter, the endpoint ignores the setting.

### API: brand address mappings

**October 16**

New endpoints link support email addresses to [brands](https://developer.kustomer.com/api/core-resources#brands). An address can belong to several brands, and `isDefault` marks one of them as its default. Addresses are stored trimmed and lowercased.

- [List](https://developer.kustomer.com/api/core-resources/list-brand-address-mappings), with an optional `address` filter, and [create](https://developer.kustomer.com/api/core-resources/create-brand-address-mapping) mappings. Creating a mapping that already exists returns the existing one.
- [Update](https://developer.kustomer.com/api/core-resources/update-brand-address-mapping) or [delete](https://developer.kustomer.com/api/core-resources/delete-brand-address-mapping-by-id) one mapping, or remove every mapping [for an address](https://developer.kustomer.com/api/core-resources/delete-all-mappings-for-an-address) or [for a brand](https://developer.kustomer.com/api/core-resources/delete-all-mappings-for-a-brand).

### API: read chat history and import conversations

**October 14 to 16**

The [server-side chat API](https://developer.kustomer.com/docs/chat/server-chat-api) can now read existing chats and import conversations from another system.

- [`GET /v2.1/chat/sessions`](https://developer.kustomer.com/api/chat/list-chat-sessions) lists a customer's sessions by `customerId`, `trackingId` or both, most recent activity first, with optional `active` and `brandId` filters.
- [`GET /v2.1/chat/sessions/{id}/messages`](https://developer.kustomer.com/api/chat/list-messages-for-a-chat-session) returns a session's messages, paginated, with optional `fields` to trim the payload.
- [`POST /v2.1/chat/handoff`](https://developer.kustomer.com/api/chat/create-a-chat-session-via-handoff) creates a session together with 2 to 100 historical messages, which must include at least one inbound and one outbound message. Set `externalId` to link back to the original thread, `active: false` to import it already closed, and `custom` for custom attributes.

### iOS Chat SDK 8.3.0 (breaking)

**October 14**

- **Breaking:** JWTDecode is now 4.0.x. If your app pins JWTDecode 3.x, raise the pin to 4.0.0 or remove it.
- **Breaking:** the Swift Package Manager package needs a Swift 6 toolchain (tools version 6.0).
- **Breaking:** SnapKit is no longer a transitive dependency. If your app uses SnapKit, add it to your own dependencies. The public `KustomerChat` API is unchanged.
- Fixed: tapping an AI agent's suggested answer could leave a duplicate customer message.

iOS 7.2.10, released the same day, carries the same fix for apps that must stay on iOS 14. 8.x remains the recommended line. See [iOS](https://developer.kustomer.com/docs/chat/ios).

### React Native Chat SDK 6.3.6

**October 14**

Updates the iOS SDK to 8.3.0 and the Android SDK to 4.6.2. On iOS, this brings in the JWTDecode 4.0 requirement and removes SnapKit as a transitive pod. See [React Native](https://developer.kustomer.com/docs/chat/react-native).

### API: external attachments

**October 13**

[`POST /v1/attachments`](https://developer.kustomer.com/api/core-resources/create-attachment) accepts `externalUrl` to register a file you host instead of uploading it. Only HTTPS URLs are accepted, and URLs with embedded credentials are rejected. Kustomer doesn't fetch, scan, store or delete the file, so keeping the URL valid is up to you. Add `renderMode: metadata_only` to keep the URL out of every client response, so agents and customers see a non-interactive placeholder instead of a link.

### Android Chat SDK 4.6.2

**October 13**

The published libraries no longer force core library desugaring on your app. Only apps with `minSdk` 24 or 25 need to turn it on. See [Android](https://developer.kustomer.com/docs/chat/android).

### API: spam senders by ID

**October 7**

[Get](https://developer.kustomer.com/api/core-resources/get-a-spam-sender-by-id) and [update](https://developer.kustomer.com/api/core-resources/update-a-spam-sender-by-id) a single [spam sender](https://developer.kustomer.com/api/core-resources#spam). Senders now report `automated: true` when spam detection added them rather than a person. `createdBy` is `null` for those senders, and `modifiedBy` is `null` when the latest change was automatic.

### iOS Chat SDK 8.2.4

**October 7**

- Fixed: tapping a suggested answer could show the customer's reply twice.
- Fixed: on iOS 26 and 27, the chat navigation bar could start in a compact layout.

### API: email aliases and the chat `auto` flag

**October 2 to 5**

- [Outbound accounts](https://developer.kustomer.com/api/core-resources/get-outbound-accounts) list `aliases`: receive-only addresses on SES, Gmail and Postmark accounts, used to pre-select the From address when replying.
- [Outbound agent chat messages](https://developer.kustomer.com/api/chat/create-an-outbound-agent-chat-message) accept `auto: true` to mark a message as written by AI or automation. Those messages don't count toward first response time when the SLA only counts human replies.

### iOS Chat SDK 8.2.1 to 8.2.3

**September 30 to October 1**

- Chat now uses one long-lived real-time connection instead of two, which reduces idle traffic. No code changes are needed.
- Opening chat or the knowledge base and the setup completion callback now always run on the main thread, even if your code finishes on a background queue.
- Reconnect recovery after an unexpected disconnect now waits for the connection to settle.

## September 2026

### Android Chat SDK 4.6.1

**September 30**

Uses a single real-time client internally. No API changes.

### API: assistant greeting on session create

**September 29**

[`POST /v2.1/chat/sessions`](https://developer.kustomer.com/api/chat/create-a-chat-session) accepts `assistant`. Kustomer then posts that assistant's greeting into the new session and readies it for the customer's first reply, so you no longer need to send a placeholder inbound message to start the flow. If the greeting fails, the session is still created.

### API: Next Reply SLA metrics

**September 24 to 25**

- [SLA versions](https://developer.kustomer.com/api/core-resources/get-sla-by-id) can set **Next Reply** targets per priority. `firstResponse` and `nextReply` take `basedOnHumanInteraction`: when it's `true`, only messages sent by a person satisfy the metric. When it's omitted, any customer-visible outbound message counts, as before.
- [Conversations](https://developer.kustomer.com/api/core-resources/get-conversation-by-id) report `attributes.sla.metrics.nextReply` with the current cycle's `breachAt`, `satisfiedAt` and `remainingTime`, plus lifetime `onTimeCount` and `lateCount` tallies.

### iOS Chat SDK 8.2.0 and React Native 6.3.0

**September 23**

- The iOS SDK now uses PubNub Swift 10.2.0. If your app also depends on PubNub directly, align it to 10.2.0.
- More reliable reconnects: catch-up runs only after a successful reconnect, and auth refreshes are gentler.
- Link previews and the new-conversation controls have stable accessibility identifiers for UI tests and VoiceOver.

React Native 6.3.0 picks up these changes on iOS.

### React Native Chat SDK 6.2.0 (breaking)

**September 22**

Updates to the Android SDK 4.6 line. Your Android app now needs Kotlin 2.2 or later and core library desugaring. Since Android 4.6.2 (in React Native 6.3.6), desugaring is only needed when `minSdk` is 24 or 25. React Native 0.77 apps need a few more Gradle settings, which the [React Native guide](https://developer.kustomer.com/docs/chat/react-native#react-native-077-on-android) lists.

### Android Chat SDK 4.6.0 (breaking)

**September 21**

- **Breaking:** apps need Kotlin 2.2 or later. The SDK moved from Kotlin 1.9 to 2.2.21, with PubNub 13.4.3 and OkHttp 5.3.2.
- No public API changes. The minimum SDK is still 24.

### iOS Chat SDK 8.1.0

**September 18**

Official iOS 27 support, built with Xcode 27. The supported range is iOS 15.0 through iOS 27. No API changes.

### iOS Chat SDK 8.0.0 and React Native 6.0.0 (breaking)

**September 17**

- **Breaking:** the minimum iOS version is now 15.0. Apps that must support iOS 14 can stay on the 7.2.x maintenance line.
- Logging in or out now clears the previous identity's conversations and chat UI, including the move from anonymous to identified. The completion runs after that reset, so it's safe to open chat from it. Android and web already behaved this way.
- React Native 6.0.0 ships iOS 8.0.0 and is built and tested against React Native 0.77.

### API: attachments on article versions

**September 15**

Knowledge base [article versions](https://developer.kustomer.com/api/knowledge-base/get-article-version-by-id) include read-only `relationships.attachments`, built from the `data-media-id` attributes in `htmlBody`. They're returned by every version endpoint, but you can't set them in a request.

### API: company hierarchy

**September 8**

New endpoints [build parent and child relationships between companies](https://developer.kustomer.com/api/core-resources#companies-hierarchy): [create](https://developer.kustomer.com/api/core-resources/create-a-company-hierarchy-edge) or [delete](https://developer.kustomer.com/api/core-resources/delete-a-company-hierarchy-edge) an edge, [set a company's parent](https://developer.kustomer.com/api/core-resources/set-a-companys-parent), and read [a node](https://developer.kustomer.com/api/core-resources/get-a-company-hierarchy-node) or [its direct parent](https://developer.kustomer.com/api/core-resources/get-a-companys-direct-parent-edge).

## August 2026

### API: manage satisfaction surveys

**August 19**

You can now [create](https://developer.kustomer.com/api/settings-and-configurations/create-a-satisfaction-survey), [update](https://developer.kustomer.com/api/settings-and-configurations/update-a-satisfaction-survey) and [reorder](https://developer.kustomer.com/api/settings-and-configurations/update-satisfaction-survey-order) satisfaction surveys through the API, including channel, scale, delay and form type. The order, up to 500 surveys, decides which enabled survey is used for each channel, since they're evaluated in sequence.

### API: server-side chat

**August 7**

The [Chat](https://developer.kustomer.com/api/chat) API documents the v2.1 endpoints for running chat from your backend with an API key: create sessions, post customer, agent and assistant messages, show typing indicators and record satisfaction. See the [server-side chat API guide](https://developer.kustomer.com/docs/chat/server-chat-api).

## Earlier API additions

| Date             | Change                                                                                                                                                                                          |
| ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| July 24, 2026    | [Comments on custom objects](https://developer.kustomer.com/api/core-resources#comments), such as tasks                                                                                         |
| June 22, 2026    | `_clientRef` on bulk customer items, echoed in [bulk operation batch](https://developer.kustomer.com/api/core-resources/get-bulk-operation-batches) `results` to match each item to its outcome |
| May 8, 2026      | `include=company` on [Get customer by ID](https://developer.kustomer.com/api/core-resources/get-customer-by-id)                                                                                 |
| April 20, 2026   | [Conversation times v2](https://developer.kustomer.com/api/core-resources-v2/get-conversation-times-by-conversation-v2)                                                                         |
| March 11, 2026   | [AI summaries](https://developer.kustomer.com/api/ai#summaries) for conversations, customers and custom objects                                                                                 |
| January 23, 2026 | [AI automations and evaluations](https://developer.kustomer.com/api/ai)                                                                                                                         |

## Earlier Android releases

| Version | Date               | Change                                                                                    |
| ------- | ------------------ | ----------------------------------------------------------------------------------------- |
| 4.5.6   | August 26, 2026    | Camera fix for apps that declare the `CAMERA` permission                                  |
| 4.3.0   | December 5, 2025   | `markSessionAsRead` added; `markRead` deprecated                                          |
| 4.1.0   | September 25, 2025 | AI agent support on Android, and `firstRead` on messages                                  |
| 4.0.0   | July 11, 2025      | **Breaking:** Android SDK 35 with edge-to-edge UI. Minimum SDK raised to 24 and JVM to 17 |
| 3.4.0   | January 14, 2025   | Consumer ProGuard rules included; new `kusColorSecondary` color                           |
| 3.3.1   | November 14, 2024  | Shared customer attribute fields                                                          |
| 3.1.0   | June 4, 2024       | `useAppLocales`                                                                           |
