๐ 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
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 configuration. Previously, with Neon's autoscaling feature, max_connections
was defined by your minimum compute size only. To provide more available connections, max_connections
is now set according to both your minimum and maximum compute size, allowing for much larger connection limits. For more information about how max_connections
is configured for your Neon computes, see Parameter settings that differ by compute size.
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
).
Neon Identity is now available in Early Access
We're excited to announce Neon Identity, a new feature that automatically syncs user profiles from your auth provider straight to your Neon database. Eliminate custom integration code and focus on building.
With Neon Identity, user profiles are synchronized to the neon_identity.users_sync
table, making it easy to access user data without additional configuration.
Join the Early Access Program to try it out. Sign up here.
Check out our docs to learn more.
Currently supporting Stack Auth, more providers coming soon.
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.
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.
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.
-
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
, andcursor
query parameters. Thesorted by
options includeupdated_at
,created_at
, orname
, andsort_order
options includeasc
anddesc
. After an initial call, pagination support lets you list the next or previous number of branches specified by thelimit
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.