---
source_url: https://www.pubnub.com/docs/sdks/go/migration-guides/go-v9-migration-guide
title: Go SDK 9.0.0 Migration Guide
updated_at: 2026-06-12T11:25:24.542Z
sdk_name: PubNub Go SDK
sdk_version: 9.0.0
---

> Documentation Index
> For a curated overview of PubNub documentation, see: https://www.pubnub.com/docs/llms.txt
> For the full list of all documentation pages, see: https://www.pubnub.com/docs/llms-full.txt


# Go SDK 9.0.0 Migration Guide

PubNub Go SDK, use the latest version: 9.0.0

Install:

```bash
go get github.com/pubnub/go/v9@9.0.0
```

This guide summarizes the differences between versions 8.x.x and 9.0.0 and shows how to migrate to Go SDK 9.0.0.

Go SDK version 9.0.0 raises the minimum supported Go version to 1.25 and updates the module path accordingly. There are no changes to the public API surface.

:::warning No Go SDK 8.x.x support
If your application uses Go SDK 8.x.x, it continues to work. We recommend migrating to Go 9.0.0 to access ongoing improvements. Version 8.x.x receives only critical security fixes.
:::

## What has changed

See the major differences between versions:

| Feature/Area | Go SDK 8.x.x | Go SDK 9.0.0 |
| --- | --- | --- |
| Minimum Go version | 1.18 | 1.25 |
| Module path | `github.com/pubnub/go/v8` | `github.com/pubnub/go/v9` |
| Public API | — | No changes |

## Breaking changes

### Minimum Go version

Go SDK 9.0.0 requires Go 1.25 or later. If your project currently targets an earlier version, you must upgrade your Go toolchain before updating the SDK.

:::warning Go 1.25 required
Attempting to build with an older Go toolchain against `github.com/pubnub/go/v9` will produce a build error. Run `go version` to confirm the toolchain version before upgrading.
:::

###### Before (v8.x.x)

```go
module your-app

go 1.18

require github.com/pubnub/go/v8 v8.2.0
```

###### After (v9.x.x)

```go
module your-app

go 1.25

require github.com/pubnub/go/v9 v9.0.0
```

### Module path

The module path has changed from `github.com/pubnub/go/v8` to `github.com/pubnub/go/v9`. All import statements and `go.mod` entries must be updated.

#### Before (v8.x.x)

```go
import (
    pubnub "github.com/pubnub/go/v8"
)
```

#### After (v9.x.x)

```go
import (
    pubnub "github.com/pubnub/go/v9"
)
```

## Migration steps

To migrate from Go SDK 8.x.x to 9.0.0:

1. Upgrade your Go toolchain to version 1.25 or later. Download it from go.dev/dl.
2. Update the dependency: go get github.com/pubnub/go/v9
3. Update all import statements across your codebase. You can do this with a global find-and-replace: FindReplacegithub.com/pubnub/go/v8github.com/pubnub/go/v9 Or use go itself to rewrite all imports at once — this works on both macOS and Linux: go install golang.org/x/tools/cmd/goimports@latestfind . -type f -name '*.go' | xargs goimports -w Alternatively, run a plain sed replacement. The syntax differs by platform: # macOSfind . -type f -name '*.go' -exec sed -i '' 's|github.com/pubnub/go/v8|github.com/pubnub/go/v9|g' {} + # Linuxfind . -type f -name '*.go' -exec sed -i 's|github.com/pubnub/go/v8|github.com/pubnub/go/v9|g' {} +
4. Tidy your module to remove the old dependency: go mod tidy
5. Build and test your application to confirm the upgrade is complete: go build ./...go test ./...

## Additional resources

For API details, see the [Go SDK documentation](https://www.pubnub.com/docs/sdks/go). For questions or issues, contact [PubNub support](https://support.pubnub.com/).