diff --git a/README.md b/README.md
index b8106c942..c4beab42d 100755
--- a/README.md
+++ b/README.md
@@ -10,7 +10,7 @@
[](https://hub.docker.com/r/ossrs/srs/tags)
[](https://codecov.io/gh/ossrs/srs)
-SRS/7.0 ([Kai](https://ossrs.io/lts/en-us/product#release-70)) is a simple, high-efficiency, and real-time video server,
+SRS/8.0 ([Free](https://ossrs.io/lts/en-us/product#release-80)) is a simple, high-efficiency, and real-time video server,
supporting RTMP/WebRTC/HLS/HTTP-FLV/SRT/MPEG-DASH/GB28181, Linux/macOS, X86_64/ARMv7/AARCH64/M1/RISCV/LOONGARCH/MIPS,
with codec support for H.264, H.265, AV1, VP9, AAC, Opus, and G.711,
and essential [features](trunk/doc/Features.md#features).
diff --git a/internal/version/version.go b/internal/version/version.go
index 6e54527b8..a3b708e90 100644
--- a/internal/version/version.go
+++ b/internal/version/version.go
@@ -6,7 +6,7 @@ package version
import "fmt"
func VersionMajor() int {
- return 7
+ return 8
}
// VersionMinor specifies the typical version of SRS we adapt to.
@@ -15,7 +15,7 @@ func VersionMinor() int {
}
func VersionRevision() int {
- return 148
+ return 0
}
func Version() string {
diff --git a/internal/version/version_test.go b/internal/version/version_test.go
index 786131059..6d8e3983e 100644
--- a/internal/version/version_test.go
+++ b/internal/version/version_test.go
@@ -9,14 +9,14 @@ import (
)
func TestVersionComponents(t *testing.T) {
- if got := VersionMajor(); got != 7 {
- t.Fatalf("VersionMajor = %d, want 7", got)
+ if got := VersionMajor(); got != 8 {
+ t.Fatalf("VersionMajor = %d, want 8", got)
}
if got := VersionMinor(); got != 0 {
t.Fatalf("VersionMinor = %d, want 0", got)
}
- if got := VersionRevision(); got <= 0 {
- t.Fatalf("VersionRevision = %d, want > 0", got)
+ if got := VersionRevision(); got < 0 {
+ t.Fatalf("VersionRevision = %d, want >= 0", got)
}
}
diff --git a/memory/srs-codebase-map.md b/memory/srs-codebase-map.md
index 6f2c9d018..4ef507e60 100644
--- a/memory/srs-codebase-map.md
+++ b/memory/srs-codebase-map.md
@@ -17,7 +17,7 @@ The C++ media server (`trunk/src/`) serves as both origin server and edge server
`core/` — Foundational definitions:
- `core` — Core includes, macros, config generated by configure
-- `core_version` through `core_version7` — Version definitions per major release
+- `core_version` through `core_version8` — Version definitions per major release
- `core_autofree` — SrsUniquePtr smart pointer (RAII)
- `core_deprecated` — Deprecated SrsAutoFree, kept for compat
- `core_performance` — Performance tuning constants (merge-read, etc.)
@@ -227,7 +227,7 @@ The next-generation server (`cmd/` + `internal/`) is written in Go and maintaine
`internal/env` — Environment-based configuration. All settings via env vars (or `.env` file parsed by an in-tree custom parser — no third-party dep; supports comments, `export` prefix, quoted values, escape sequences, and inline comments). Exposes a `ProxyEnvironment` interface (with a counterfeiter-generated fake in `envfakes/` for downstream tests) with methods for each config value. Default ports: RTMP=11935, HTTP API=11985, HTTP Stream=18080, WebRTC=18000, SRT=20080, System API=12025. Timeouts: grace=20s, force=30s. Supports Redis config and default backend config for debugging.
-`internal/version` — Version constants. Signature `SRSX`, version tracks the SRS project version (currently 7.0.x). Used in HTTP API responses and startup logging.
+`internal/version` — Version constants. Signature `SRSX`, version tracks the SRS project version (currently 8.0.x). Used in HTTP API responses and startup logging.
`internal/errors` — Error handling with stack traces, thin wrapper over stdlib `errors`. Provides `New`, `Errorf`, `Wrap`, `Wrapf`, `WithMessage`, `WithStack`, `Cause`, and re-exports `Is`/`As`/`Unwrap`/`Join`. Every error captures a stack trace at creation; `%+v` prints the full trace. `Cause()` walks the error chain to find the root error.
diff --git a/trunk/configure b/trunk/configure
index f9100c909..9c0afdb25 100755
--- a/trunk/configure
+++ b/trunk/configure
@@ -237,7 +237,7 @@ fi
MODULE_ID="CORE"
MODULE_DEPENDS=()
ModuleLibIncs=(${SRS_OBJS})
-MODULE_FILES=("srs_core" "srs_core_version" "srs_core_version7" "srs_core_autofree"
+MODULE_FILES=("srs_core" "srs_core_version" "srs_core_version8" "srs_core_autofree"
"srs_core_time" "srs_core_platform" "srs_core_deprecated" "srs_core_performance")
CORE_INCS="src/core"; MODULE_DIR=${CORE_INCS} . $SRS_WORKDIR/auto/modules.sh
CORE_OBJS="${MODULE_OBJS[@]}"
diff --git a/trunk/doc/CHANGELOG.md b/trunk/doc/CHANGELOG.md
index b8f383319..83cfc41df 100644
--- a/trunk/doc/CHANGELOG.md
+++ b/trunk/doc/CHANGELOG.md
@@ -4,6 +4,11 @@
The changelog for SRS.
+
+
+## SRS 8.0 Changelog
+* v8.0, 2026-05-17, Init SRS 8.0, code Free. v8.0.0
+
## SRS 7.0 Changelog
diff --git a/trunk/src/core/srs_core_version.hpp b/trunk/src/core/srs_core_version.hpp
index 9b4000929..c659fd12c 100644
--- a/trunk/src/core/srs_core_version.hpp
+++ b/trunk/src/core/srs_core_version.hpp
@@ -7,6 +7,6 @@
#ifndef SRS_CORE_VERSION_HPP
#define SRS_CORE_VERSION_HPP
-#include
+#include
#endif
diff --git a/trunk/src/core/srs_core_version8.cpp b/trunk/src/core/srs_core_version8.cpp
new file mode 100644
index 000000000..f035e25a1
--- /dev/null
+++ b/trunk/src/core/srs_core_version8.cpp
@@ -0,0 +1,7 @@
+//
+// Copyright (c) 2013-2026 The SRS Authors
+//
+// SPDX-License-Identifier: MIT
+//
+
+#include
diff --git a/trunk/src/core/srs_core_version8.hpp b/trunk/src/core/srs_core_version8.hpp
new file mode 100644
index 000000000..ba523fcf9
--- /dev/null
+++ b/trunk/src/core/srs_core_version8.hpp
@@ -0,0 +1,14 @@
+//
+// Copyright (c) 2013-2026 The SRS Authors
+//
+// SPDX-License-Identifier: MIT
+//
+
+#ifndef SRS_CORE_VERSION8_HPP
+#define SRS_CORE_VERSION8_HPP
+
+#define VERSION_MAJOR 8
+#define VERSION_MINOR 0
+#define VERSION_REVISION 0
+
+#endif