--- title: 50 projects on the Free plan, branch anonymization APIs, and more --- ## 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. ![Dashboard page showing 50 Free Plan projects](/docs/changelog/free_plan_projects_50.png) This change applies automatically to all Free plan users. No action required. For more information about plan limits, see [Neon plans](/docs/introduction/plans). ## Branch anonymization APIs Last week, we announced [Data masking](/docs/workflows/data-anonymization) for creating anonymized branches (see the [November 14 changelog](/docs/changelog/2025-11-14)). This week, you'll find the APIs for this feature available in the [Neon API reference](https://api-docs.neon.tech/reference/getting-started-with-neon-api). **Example request:** ```bash 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](https://api-docs.neon.tech/reference/createprojectbranchanonymized) - [Get masking rules](https://api-docs.neon.tech/reference/getmaskingrules) - [Update masking rules](https://api-docs.neon.tech/reference/updatemaskingrules) - [Start anonymization](https://api-docs.neon.tech/reference/startanonymization) - [Get anonymization status](https://api-docs.neon.tech/reference/getanonymizedbranchstatus) For usage examples and request/response details, see [Data anonymization APIs](/docs/workflows/data-anonymization#data-anonymization-apis). ## Neon status page migration We've migrated [neonstatus.com](https://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](/docs/introduction/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 `name` query parameter in the [Restore snapshot](https://api-docs.neon.tech/reference/restoresnapshot) API endpoint has been deprecated. Use the `name` field in the request body instead. - **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](https://github.com/neondatabase/neon-drizzle-studio-changelog/blob/main/CHANGELOG.md). - **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.