diff --git a/src/current/_data/releases.yml b/src/current/_data/releases.yml
index d5e12c0e3bf..e6f972b22be 100644
--- a/src/current/_data/releases.yml
+++ b/src/current/_data/releases.yml
@@ -9157,3 +9157,31 @@
docker_arm_limited_access: false
source: true
previous_release: v25.3.0-beta.1
+
+
+- release_name: v25.3.0-beta.3
+ major_version: v25.3
+ release_date: '2025-07-14'
+ release_type: Testing
+ go_version: go1.23.7
+ sha: 958b166620efe4fa6388de40588d497f17880e50
+ has_sql_only: true
+ has_sha256sum: true
+ mac:
+ mac_arm: true
+ mac_arm_experimental: true
+ mac_arm_limited_access: false
+ windows: true
+ linux:
+ linux_arm: true
+ linux_arm_experimental: false
+ linux_arm_limited_access: false
+ linux_intel_fips: true
+ linux_arm_fips: false
+ docker:
+ docker_image: cockroachdb/cockroach-unstable
+ docker_arm: true
+ docker_arm_experimental: false
+ docker_arm_limited_access: false
+ source: true
+ previous_release: v25.3.0-beta.2
diff --git a/src/current/_includes/releases/v25.3/v25.3.0-beta.3.md b/src/current/_includes/releases/v25.3/v25.3.0-beta.3.md
new file mode 100644
index 00000000000..e3da83743b4
--- /dev/null
+++ b/src/current/_includes/releases/v25.3/v25.3.0-beta.3.md
@@ -0,0 +1,25 @@
+## v25.3.0-beta.3
+
+Release Date: July 14, 2025
+
+{% include releases/new-release-downloads-docker-image.md release=include.release %}
+
+
SQL language changes
+
+- Added support for invoking a UDF from a view query. Renaming or setting the schema on the routine is currently not allowed if it is referenced by a view.
+ [#149514][#149514]
+- The session setting `optimizer_prefer_bounded_cardinality` is now enabled by default. This setting instructs the optimizer to prefer query plans where every expression has a guaranteed upper-bound on the number of rows it will process.
+ [#149675][#149675]
+
+Bug fixes
+
+- Fixed a bug that would cause a `CALL` statement executed via a portal in the extended wire protocol to result in an error like `unknown portal ""` if the stored procedure contained `COMMIT` or `ROLLBACK` statements. The bug had existed since PL/pgSQL transaction control statements were introduced in v24.1. The fix is off by default in versions prior to v25.3.
+ [#149385][#149385]
+- In v25.1, automatic partial statistics collection was enabled by default (by setting the `sql.stats.automatic_partial_collection.enabled` cluster setting to `true`). Partial statistics collection may encounter certain expected scenarios that were previously reported as failed stats jobs with PostgreSQL error code `55000`. These errors are benign and are no longer reported. Instead, the stats job will be marked as "succeeded," though no new statistics will be created.
+ [#149626][#149626]
+
+
+[#149514]: https://github.com/cockroachdb/cockroach/pull/149514
+[#149675]: https://github.com/cockroachdb/cockroach/pull/149675
+[#149385]: https://github.com/cockroachdb/cockroach/pull/149385
+[#149626]: https://github.com/cockroachdb/cockroach/pull/149626