From 57d1062e9115cdb0664946c84963550ac324e1f4 Mon Sep 17 00:00:00 2001 From: winlin Date: Sun, 17 May 2026 12:31:12 -0400 Subject: [PATCH] Code name: Free. v8.0.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit "Free" represents the new era of open source development empowered by AI. Both freedom and free — the AI agent is not just free labor, it is like a copy of myself, or even tens of copies, all deeply understanding this project, how to deliver high-quality code, and how to serve the community. AI handles all the dirty work — the boring tasks, the documentation, the coding — and often does it better than I could, with ten times the power. We built an AI robot for the community to answer questions and help users learn this project, and we used AI to almost entirely rewrite the SRS Proxy server — its structure, its workflow — so that AI agents can comprehensively manage and maintain it. With AI I have power, and I have choice: no longer waiting for other developers to contribute, I am free to manage this project, freed from the labor of maintaining it alone. This is a fantastic, amazing new era for building and sustaining open source projects and communities. --- README.md | 2 +- internal/version/version.go | 4 ++-- internal/version/version_test.go | 8 ++++---- memory/srs-codebase-map.md | 4 ++-- trunk/configure | 2 +- trunk/doc/CHANGELOG.md | 5 +++++ trunk/src/core/srs_core_version.hpp | 2 +- trunk/src/core/srs_core_version8.cpp | 7 +++++++ trunk/src/core/srs_core_version8.hpp | 14 ++++++++++++++ 9 files changed, 37 insertions(+), 11 deletions(-) create mode 100644 trunk/src/core/srs_core_version8.cpp create mode 100644 trunk/src/core/srs_core_version8.hpp diff --git a/README.md b/README.md index b8106c942..c4beab42d 100755 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ [![](https://img.shields.io/docker/pulls/ossrs/srs)](https://hub.docker.com/r/ossrs/srs/tags) [![](https://codecov.io/gh/ossrs/srs/graph/badge.svg?token=Zx2LhdtA39)](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