# bunqueue v2.6.48

Fixes 2 bugs. Cloud: auth via HTTP upgrade headers: WebSocket authentication now uses Authorization, X-Instance-Id, and X-Remote-Commands headers on the upgrade request (Bun-specific).

Canonical: https://bunqueue.dev/blog/bunqueue-v2-6-48/

---

<!-- Generated from changelog.md by docs/scripts/generate-release-posts.ts. Edit the changelog and regenerate. -->

Fixes 2 bugs. Cloud: auth via HTTP upgrade headers: WebSocket authentication now uses Authorization, X-Instance-Id, and X-Remote-Commands headers on the upgrade request (Bun-specific).

![](https://github.com/egeominotti.png?size=64) [egeominotti](https://github.com/egeominotti)

#### To install bunqueue v2.6.48

```bash title="bun"
bun add bunqueue@2.6.48
```

```bash title="npm"
npm install bunqueue@2.6.48
```

#### To upgrade bunqueue

```bash
bun add bunqueue@latest
```

## Changes

- **Cloud: auth via HTTP upgrade headers**: WebSocket authentication now uses `Authorization`, `X-Instance-Id`, and `X-Remote-Commands` headers on the upgrade request (Bun-specific). Eliminates the JSON handshake message and the 100ms delay workaround.
- **Cloud: removed client-side ping**: Client-side ping (every 10s) was causing false disconnects (code 4000). Keepalive now relies solely on server-side ping (25s) with bunqueue responding pong.

## Bugfixes

- **Cloud: duplicate reconnect guard**: `scheduleReconnect()` now prevents multiple concurrent reconnect timers.
- **Cloud: `onclose` logs at `info` level**: Previously `debug`, making reconnect failures invisible in production logs.

## Thanks to 1 contributor!

- [@egeominotti](https://github.com/egeominotti)

---

[← bunqueue v2.6.47](https://bunqueue.dev/blog/bunqueue-v2-6-47/) · [Release on GitHub](https://github.com/egeominotti/bunqueue/releases/tag/v2.6.48) · [Commits since v2.6.47](https://github.com/egeominotti/bunqueue/compare/v2.6.47...v2.6.48) · [Full changelog](https://bunqueue.dev/changelog/) · [All posts](https://bunqueue.dev/blog/)
