More projects on the Free plan
We've increased the Free plan project limit again! The Neon Free plan now includes:
30 projects- 50 projects
This gives you even more room for side projects, prototypes, experiments, and learning new stacks.

This change applies automatically to all Free plan users. No action required. For more information about plan limits, see Neon plans.
Branch anonymization APIs
Last week, we announced Data masking for creating anonymized branches (see the November 14 changelog). This week, you'll find the APIs for this feature available in the Neon API reference.
Example request:
curl -X POST \
'https://console.neon.tech/api/v2/projects/{project_id}/branch_anonymized' \
-H 'Authorization: Bearer $NEON_API_KEY' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"masking_rules": [
{
"database_name": "neondb",
"schema_name": "public",
"table_name": "users",
"column_name": "email",
"masking_function": "anon.dummy_free_email()"
},
{
"database_name": "neondb",
"schema_name": "public",
"table_name": "users",
"column_name": "age",
"masking_function": "anon.random_int_between(25,65)"
}
],
"start_anonymization": true
}'The new APIs include:
- Create anonymized branch
- Get masking rules
- Update masking rules
- Start anonymization
- Get anonymization status
For usage examples and request/response details, see Data anonymization APIs.
Neon status page migration
We've migrated neonstatus.com to a new provider. The domain remains the same and all historical incident data has been preserved.
If you've previously subscribed to the Neon Status page via RSS, you'll need to update your feed. For instructions, see Neon status.
Fixes & improvements
-
Data masking page improvements
- The Apply masking rules button on the Data masking page is now disabled when no masking rules have been changed, preventing unnecessary reapplication of masking rules.
- Added placeholder text to the search field on the Data masking page to clarify that it searches for columns to anonymize.
-
API parameter deprecation
- A redundant
namequery parameter in the Restore snapshot API endpoint has been deprecated. Use thenamefield in the request body instead.
- A redundant
-
Drizzle Studio update
- The Drizzle Studio integration that powers the Tables page in the Neon Console has been updated to version 1.2.9. For the latest improvements and fixes, see the Neon Drizzle Studio Integration Changelog.
-
Fixes
- The Restore branch from modal displayed before completing a restore operation now only shows an expiration date extension message for branches that have an expiration date set. Previously, the message was shown for all branches, even those without an expiration date.
- Fixed an issue where timestamps shown on the Restore branch from modal were formatted inconsistently, alternating between UTC and local timezone. Timestamps now consistently display in your local timezone.
- For the Neon Data API, we fixed an issue where PostgreSQL custom types (such as ENUMs) containing capital letters in their names were not handled correctly.

