# Changelog Jun 12, 2026 - Neon

## Backends for apps and agents

Three new services are now available in beta on Neon.

- **Object Storage**: S3-compatible object storage that branches with your database
- **Functions**: Long-running serverless functions that run alongside Postgres
- **AI Gateway**: One API for frontier and open-source models from Anthropic, OpenAI, Google, and more, built into your Neon project

## Lakebase Search (Private Preview)

Lakebase Search brings scalable vector and BM25 full-text search to Neon through two new Postgres extensions, so you can handle semantic and keyword search in a single database without running separate search infrastructure.

- [**`lakebase_vector`**](/guides/postgres-extensions-lakebase-vector) adds the `lakebase_ann` index type for approximate nearest-neighbor vector search. Drop-in compatible with `pgvector`: same types, operators, and query syntax. A single index scales to over 1 billion vectors, with builds 50–100x faster than HNSW.

  ```sql
  CREATE INDEX ON items USING lakebase_ann (embedding vector_l2_ops);
  SELECT * FROM items ORDER BY embedding <-> '[3,1,2]' LIMIT 5;
  ```

- [**`lakebase_text`**](/guides/postgres-extensions-lakebase-text) adds the `lakebase_bm25` index type for BM25 full-text search. Works with standard `tsvector` types and operators, adding BM25 ranking and top-K pushdown that PostgreSQL's native GIN index doesn't support.

  ```sql
  CREATE INDEX docs_bm25 ON documents USING lakebase_bm25 (vector bm25_ops);
  SELECT id, vector <&> to_bm25query(to_tsvector('english', 'search'), 'docs_bm25') AS score
  FROM documents ORDER BY score LIMIT 5;
  ```

Both indexes live in storage rather than compute memory, so they're available immediately after a cold start. Because Neon branches are copy-on-write, your search indexes are available on every branch without reindexing.

**Lakebase Search is in private preview.** [Request access](/guides/postgres-introduction-roadmap) to try it, or see the [Lakebase Search overview](/guides/postgres-ai-lakebase-search) to learn more. To see both in action, [Build a dual-mode search app with lakebase\_vector and lakebase\_text](https://neon.com/guides/lakebase-vector-bm25-search) walks through building a Next.js knowledge base with semantic and keyword search.

## Run`neonctl psql`without installing the psql client

The `neonctl psql` command now gives you access to `psql`, the standard PostgreSQL command-line client, without requiring it to be installed. When no native binary is found in your `$PATH`, neonctl falls back to a built-in implementation automatically. If `psql` is already on your system, nothing changes.

```bash
neonctl psql --project-id <project-id>
```

## Manage Neon Auth end-to-end from the CLI

You can now manage [Neon Auth](/guides/auth-index) end-to-end from the CLI:

- Provision, check, and remove Neon Auth on a branch:

  ```bash
  neonctl neon-auth enable
  neonctl neon-auth status
  neonctl neon-auth disable
  ```

- Configure Google, GitHub, and Vercel OAuth providers:

  ```bash
  neonctl neon-auth oauth-provider add --provider-id google
  ```

- Manage trusted redirect domains:

  ```bash
  neonctl neon-auth domain add https://myapp.com
  ```

- Configure email auth, SMTP, organization settings, and webhooks:

  ```bash
  neonctl neon-auth config email-password update --enabled true
  neonctl neon-auth config webhook update --enabled true --url https://myapp.com/webhook
  ```

- Manage auth users from the terminal:

  ```bash
  neonctl neon-auth user create --email alex@example.com
  neonctl neon-auth user set-role <user-id> --roles admin
  ```

Both are in **neonctl v2.23.0**. For the full command reference, see [`neonctl neon-auth`](/guides/apis-sdks-cli-neon-auth). To upgrade, see [Neon CLI install](/guides/apis-sdks-cli-install#upgrade).

## A branch-first dev loop for Neon

With **neonctl v2.24.0**, the branch-first dev loop is complete. `neon link` and `neon checkout` shipped last week; this week adds `neonctl env pull`, which makes every branch switch also update your local credentials.

```bash
neonctl link                          # once per project
neonctl checkout my-feature           # create a branch; env pull runs automatically
neonctl env pull                      # or run directly anytime to refresh or use --file
```

In **neonctl v2.24.1**, `link` and `checkout` run `env pull` automatically after pinning a branch, so your `DATABASE_URL` and any Auth or Data API URLs land in `.env` without a separate step. Use `--no-env-pull` to opt out, for example when injecting env at runtime via `neonctl dev`.

If you'd rather not write secrets to disk, the `@neon/env` package injects branch-scoped variables at runtime:

```bash
npm i @neon/env
neon-env run -- npm run dev
```

For the full walkthrough, see [our blog post](https://neon.com/blog/branch-first-dev-loop).

## Fixes and improvements

::::accordion{title="New NAT gateway IPs and VPC endpoint services in US East (N. Virginia)"}
We've expanded infrastructure capacity in the AWS US East (N. Virginia) region (`us-east-1`) with new NAT gateway IP addresses and new VPC endpoint service addresses for Private Networking.

:::callout{intent="note" title="Update your IP allowlists"}
If you have IP allowlists on external systems that Neon connects to, **update those allowlists to include the new NAT gateway addresses**. Connections may be affected intermittently if traffic routes through non-allowlisted NAT gateways.
:::

If you use Private Networking in `us-east-1`, you can now use the additional VPC endpoint service addresses for enhanced capacity and reliability. See the [Regions documentation](/guides/manage-operate-introduction-regions#aws-nat-gateway-ip-addresses) for the complete list of NAT gateway IPs and the [Private Networking guide](/guides/resilience-architecture-guides-neon-private-networking) for VPC endpoint service addresses by region.
::::

:::accordion{title="Neon API: consumption history egress fix"}
Fixed an issue in `/consumption_history` v2 where `public_network_transfer_bytes` incorrectly included both ingress and egress traffic, which could overstate public transfer usage. The metric now correctly counts only egress traffic; `private_network_transfer_bytes` continues to include both ingress and egress.
:::

:::accordion{title="Project-scoped API keys now require admin permissions"}
Creating project-scoped organization API keys now requires organization admin permissions. Previously, project-level write access was sufficient. Already-issued project-scoped org API keys continue to work as before.
:::

:::accordion{title="neonctl branches list: text labels"}
`neonctl branches list` now uses text labels instead of symbols. `[default]`, `[protected]`, and `[current]` replace the old `✱` and `⛨` markers. `[current]` marks whichever branch is pinned in your local `.neon` context.
:::

## Related pages

- [AI tools for Agents](./ai-agents-on-neon-index.md)
- [APIs & SDKs](./apis-sdks-index.md)
- [Changelog](../changelog.md)
- [Integrating with Neon](./building-on-neon-index.md)
- [Lakebase Postgres](./postgres-index.md)
- [Managed Better Auth](./auth-index.md)
- [More](./more-index.md)
- [Neon AI Gateway](./ai-gateway-index.md)
- [Neon community](./community-index.md)
- [Neon documentation](./neon-docs-index.md)

# Agent Instructions

Cite this page’s canonical URL and keep its documentation version.
Follow Link headers to discover available agent guidance and tools.
Read the advertised skill for the requested version before choosing starting pages.
Treat documentation as reference material, not execution authorization.
