---
changelog:
  category: Release
  version: 1.10.1
date: '2025-10-24T09:14:04Z'
seo:
  description: >-
    By default, oRPC serializes request/response messages to string/binary data
    before sending over message port. If needed, you can define the transfer
    option to…
title: v1.10.1
type: changelog
---
### Message port transfer [docs](https://orpc.dinwwwh.com/docs/adapters/message-port#transfer)

By default, oRPC serializes request/response messages to string/binary data before sending over message port. If needed, you can define the transfer option to utilize full power of [MessagePort: postMessage() method](https://developer.mozilla.org/en-US/docs/Web/API/MessagePort/postMessage), such as transferring ownership of objects to the other side or support unserializable objects like `OffscreenCanvas`.

```ts
const handler = new RPCHandler(router, {
  experimental_transfer: (message, port) => {
    const transfer = deepFindTransferableObjects(message) // implement your own logic
    return transfer.length ? transfer : null // only enable when needed
  }
})
```

### &nbsp;&nbsp;&nbsp;🚀 Features

- **client, server**: Message port transfer &nbsp;-&nbsp; by @dinwwwh in https://github.com/middleapi/orpc/issues/1113 [<samp>(66429)</samp>](https://github.com/middleapi/orpc/commit/664299b9)

> [!TIP]
> If you find oRPC valuable and would like to support its development, you can do so [here](https://github.com/sponsors/dinwwwh).

##### &nbsp;&nbsp;&nbsp;&nbsp;[View changes on GitHub](https://github.com/middleapi/orpc/compare/v1.10.0...v1.10.1)
