Use the compare_schema API to monitor database schema changes in CI/CD pipelines and agentic systems

Changelog

The latest product updates from Neon

🎉 Happy New Year, everyone! 🎉

We're excited to kick off 2025 and let you know that we're shipping again! 🚢 Here's to an amazing year ahead. Let's go!

Postgres 17 for newly created Neon projects

Create PG17 project

Postgres 17 is now the default for newly created Neon projects. Neon continues to support Postgres 14, 15, and 16, if you prefer to stick with those. For Neon's Postgres version support policy, see Postgres Version Support.

Support for pg_cron

The Postgres pg_cron extension is now available on paid Neon plans upon request. This extension lets you schedule and manage periodic jobs directly in your Postgres database. To enable pg_cron, open a support ticket and include your endpoint ID and the database name where you'd like the extension enabled. Once added, you'll need to restart your compute to make it available.

Higher connection limits for autoscaling configurations

In Postgres, the max_connections setting controls the maximum number of simultaneous client connections the database server can handle. In Neon, this setting is configured based on your compute size. With Neon's autoscaling feature, max_connections is now defined by your maximum compute size rather than your minimum compute size.

This change significantly increases connection limits for autoscaling configurations. For example, consider an autoscaling configuration with these minimum and maximum compute sizes:

  • Minium: 2 CU compute size — supports up to 901 connections
  • Maximum: 8 CU compute size — supports up to 3604 connections

Previously, this autoscaling configuration of 2 CU ↔ 8 CU was limited to 901 connections. Now, the same configuration allows up to 3604 connections. In this case, a 4-fold increase!

PgBouncer default_pool_size now scales

Neon supports connection pooling with PgBouncer. Previously, Neon's PgBouncer configuration set the default_pool_size to a fixed value of 64, which limited Postgres connections to 64 per user/database pair, regardless of the compute size.

Now, the default_pool_size is dynamically set to 0.9 * max_connections, enabling significantly more concurrent Postgres connections per user/database pair. Note that larger compute sizes benefit from higher max_connections limits, which result in a proportionally larger default_pool_size.

For example, on an 8 CU compute with a max_connections limit of 3604, the default_pool_size increases from 64 to 3243 (0.9 × 3604).

More support for AI agents

Neon is now available as a tool for AI agents on both AgentStack and Composio.

AgentStack lets you create AI agent projects from the command line. The Neon tool allows agents to create ephemeral or long-lived Postgres instances for structured data storage. View the Neon tool here to see how an AI agent can create a Neon database in less than 500 ms, connect to the database, and run SQL DDL and DML statements.

@tool("Create Neon Project and Database")
def create_database(project_name: str) -> str:
  """
  Creates a new Neon project. (this takes less than 500ms)
  Args:
      project_name: Name of the project to create
  Returns:
      the connection URI for the new project
  """
  try:
      project = neon_client.project_create(project={"name": project_name}).project
      connection_uri = neon_client.connection_uri(
          project_id=project.id, database_name="neondb", role_name="neondb_owner"
      ).uri
      return f"Project/database created, connection URI: {connection_uri}"
  except Exception as e:
      return f"Failed to create project: {str(e)}"

Composio lets you connect 200+ tools to AI Agents — and it now supports Neon, enabling full integration between LLMs and AI agents and Neon's API. You can find the integration here.

Composio integration

Neon Auth.js adapter

We've introduced an Auth.js adapter for Neon, which enables storing user and session data in your Neon database. For adapter installation and setup instructions, see Neon Adapter in the Auth.js docs.

"Perplexity mode" for the Docs

We’ve added an AI-powered "perplexity mode" to the Neon Docs site, providing a conversational interface to quickly get the answers you need.

Perlexity mode for docs

Our AI chat assistant is built on various sources including the Neon Docs, the Neon Discord Server, and API docs — and it's updated daily.

Click Ask Neon AI to try it out.

Fixes & improvements
  • Drizzle Studio update

    The Drizzle Studio integration that powers the Tables page in the Neon Console has been updated. For the latest improvements and fixes, see the Neon Drizzle Studio Integration Changelog.

  • Console updates

    We adjusted billing period start dates in the console to use UTC time. Previously, timezone differences could cause the start date to display as the last day of the previous month.

  • Virtual Private Networking

    Fixed an issue where invalid VPC endpoint IDs would not be deleted. Invalid endpoint IDs are now transitioned to a deleted state after 24 hours and automatically removed at a later date.

  • Neon API

    The List branches endpoint now supports sorting and pagination with the addition of sort_by, sort_order, limit, and cursor query parameters. The sorted by options include updated_at, created_at, or name, and sort_order options include asc and desc. After an initial call, pagination support lets you list the next or previous number of branches specified by the limit parameter.

  • Neon API Client

    The TypeScript SDK for the Neon API was updated to a new version (1.11.4). The new version adds support for creating organization API keys.

  • Logical Replication

    Before dropping a database, Neon now drops any logical replication subscriptions defined in the database.

  • Fixes

    Fixed an issue that permitted installing the Neon GitHub integration for organizations or personal accounts where the integration was already installed.

Back to all changelog posts