release: panel V2.7.0 / agent line A2.6.0
CI / go-test (push) Waiting to run
CI / postgres-durable-first (push) Waiting to run
CI / codegen (push) Waiting to run
CI / govulncheck (push) Waiting to run
CI / race (push) Waiting to run
CI / fuzz-smoke (push) Waiting to run
CI / golangci (push) Waiting to run
CI / frontend (push) Waiting to run
Docs CI / build (push) Waiting to run
Release 3X-UI / build (386) (push) Waiting to run
Release 3X-UI / build (amd64) (push) Waiting to run
Release 3X-UI / build (arm64) (push) Waiting to run
Release 3X-UI / build (armv5) (push) Waiting to run
Release 3X-UI / build (armv6) (push) Waiting to run
Release 3X-UI / build (armv7) (push) Waiting to run
Release 3X-UI / build (s390x) (push) Waiting to run
Release 3X-UI / Build for Windows (amd64) (push) Waiting to run
Release 3X-UI / Publish rolling dev release (push) Blocked by required conditions
Deploy Smoke Tests / noninteractive-install (ubuntu-24.04-arm) (push) Waiting to run
Deploy Smoke Tests / noninteractive-install (ubuntu-latest) (push) Waiting to run
Deploy Smoke Tests / release-tag-install (ubuntu-24.04-arm) (push) Waiting to run
Deploy Smoke Tests / release-tag-install (ubuntu-latest) (push) Waiting to run
CodeQL Advanced / Analyze (go) (push) Waiting to run
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Docs Deploy (GitHub Pages) / build (push) Canceled after 0s
Docs Deploy (GitHub Pages) / deploy (push) Canceled after 0s
CI / go-test (push) Waiting to run
CI / postgres-durable-first (push) Waiting to run
CI / codegen (push) Waiting to run
CI / govulncheck (push) Waiting to run
CI / race (push) Waiting to run
CI / fuzz-smoke (push) Waiting to run
CI / golangci (push) Waiting to run
CI / frontend (push) Waiting to run
Docs CI / build (push) Waiting to run
Release 3X-UI / build (386) (push) Waiting to run
Release 3X-UI / build (amd64) (push) Waiting to run
Release 3X-UI / build (arm64) (push) Waiting to run
Release 3X-UI / build (armv5) (push) Waiting to run
Release 3X-UI / build (armv6) (push) Waiting to run
Release 3X-UI / build (armv7) (push) Waiting to run
Release 3X-UI / build (s390x) (push) Waiting to run
Release 3X-UI / Build for Windows (amd64) (push) Waiting to run
Release 3X-UI / Publish rolling dev release (push) Blocked by required conditions
Deploy Smoke Tests / noninteractive-install (ubuntu-24.04-arm) (push) Waiting to run
Deploy Smoke Tests / noninteractive-install (ubuntu-latest) (push) Waiting to run
Deploy Smoke Tests / release-tag-install (ubuntu-24.04-arm) (push) Waiting to run
Deploy Smoke Tests / release-tag-install (ubuntu-latest) (push) Waiting to run
CodeQL Advanced / Analyze (go) (push) Waiting to run
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Docs Deploy (GitHub Pages) / build (push) Canceled after 0s
Docs Deploy (GitHub Pages) / deploy (push) Canceled after 0s
Agent code changed in the rename batch (lui-agent binary, LUI_ env prefix, /etc/l-ui paths and services), so the agent line moves 2.5.0 -> 2.6.0 and its default-expectation tests move with it; panel version is injected at build time (V2.7.0). install-agent.sh RELEASE_BASE and install-master.sh LUI_URL move V2.6.0 -> V2.7.0. Repo name settled as rogue/l-ui (user decision 2026-10-24); the rename-batch placeholder warnings in docs/release.md, selfupdate.go and install-master.sh are closed by the Gitea rename that precedes publishing this release.
This commit is contained in:
+5
-9
@@ -1,15 +1,11 @@
|
||||
# Release process (L-UI fork)
|
||||
|
||||
> PLACEHOLDER REPO — rename batch: `rogue/l-ui` in this document,
|
||||
> in `internal/selfupdate/selfupdate.go`, in `panel.go`, in
|
||||
> `scripts/release-build.sh` and in the install scripts is a
|
||||
> placeholder, NOT yet the real Gitea repo name. The Gitea
|
||||
> repository has not been renamed in this batch. Do not publish
|
||||
> any release from this branch until the user confirms the exact
|
||||
> repo spelling and every placeholder is updated to it.
|
||||
> See RENAMING.md (pending items).
|
||||
> Repo name settled 2026-10-24: `rogue/l-ui`. The Gitea repository
|
||||
> `rogue/3x-ui-agent` is renamed to `rogue/l-ui` before this
|
||||
> release is published; the placeholder warnings from the rename
|
||||
> batch are closed by that rename.
|
||||
|
||||
Releases are published on the self-hosted Gitea (`rogue/l-ui` — placeholder, see above).
|
||||
Releases are published on the self-hosted Gitea (`rogue/l-ui`).
|
||||
Build with `scripts/release-build.sh`; this document is the rules that
|
||||
script encodes. Read it before cutting a release — several rules exist
|
||||
because violating them already caused a production incident once.
|
||||
|
||||
+1
-1
@@ -86,7 +86,7 @@ esac
|
||||
# (独立入口 cmd/lui-agent,不再是主控双模式二进制)。该资产自拆分版
|
||||
# 发行起才有——RELEASE_BASE 的升版由发版步完成,指向拆分版即可用;
|
||||
# 若需装拆分前的旧版节点,显式 LUI_URL 指回 l-ui-linux-<arch> 即可。
|
||||
RELEASE_BASE="https://git.881218.xyz/rogue/l-ui/releases/download/V2.6.0"
|
||||
RELEASE_BASE="https://git.881218.xyz/rogue/l-ui/releases/download/V2.7.0"
|
||||
LUI_URL="${LUI_URL:-${RELEASE_BASE}/lui-agent-linux-${BIN_ARCH}}"
|
||||
|
||||
ROOT="${LUI_ROOT:-}"
|
||||
|
||||
+3
-3
@@ -20,9 +20,9 @@ esac
|
||||
|
||||
# 二进制下载地址(本仓 Gitea Releases)
|
||||
# 改名对齐:旧 tag v3.7.0-agent.1 从未携带改名后的 l-ui-linux 资产,沿用它
|
||||
# 会指向不存在的发行;此处改指当前已发版的 V2.6.0(面板版本本身未动,
|
||||
# 不是升版)。仓库名 rogue/l-ui 为改名占位,Gitea 真改名前须最后确认。
|
||||
LUI_URL="${LUI_URL:-https://git.881218.xyz/rogue/l-ui/releases/download/V2.6.0/l-ui-linux-${BIN_ARCH}}"
|
||||
# 会指向不存在的发行;此处改指本批发版 V2.7.0。仓库名定为 rogue/l-ui,
|
||||
# Gitea 改名在发版前完成,占位警告随之销账。
|
||||
LUI_URL="${LUI_URL:-https://git.881218.xyz/rogue/l-ui/releases/download/V2.7.0/l-ui-linux-${BIN_ARCH}}"
|
||||
XRAY_VER="26.6.27"
|
||||
|
||||
info "创建目录..."
|
||||
|
||||
@@ -156,14 +156,14 @@ func GetMasterDisplayVersion() string {
|
||||
|
||||
// defaultAgentDisplayVersion is the agent line's version when a build
|
||||
// does not inject one. It names the last release in which agent code
|
||||
// actually changed (A2.5.0 — the V2.6.0 batch touched agent code:
|
||||
// orphan-core handle recovery and the v4 beacon; before that the line
|
||||
// stood at A2.4.0 while the panel line advanced alone). Bump it ONLY
|
||||
// together with a real agent-code change, in the same commit; panel
|
||||
// releases must never move it.
|
||||
const defaultAgentDisplayVersion = "2.5.0"
|
||||
// actually changed (A2.6.0 — the V2.7.0 rename batch touched agent code:
|
||||
// lui-agent binary, LUI_ env prefix, /etc/l-ui paths and services;
|
||||
// before that the line stood at A2.5.0 while the panel line advanced
|
||||
// alone). Bump it ONLY together with a real agent-code change, in the
|
||||
// same commit; panel releases must never move it.
|
||||
const defaultAgentDisplayVersion = "2.6.0"
|
||||
|
||||
// GetAgentDisplayVersion is the agent's display version ("A2.5.0"),
|
||||
// GetAgentDisplayVersion is the agent's display version ("A2.6.0"),
|
||||
// reported in agent telemetry and shown on agent node rows. It reads
|
||||
// ONLY the agent line's own injected version (falling back to the
|
||||
// agent-line default): changing the panel's displayVersion injection
|
||||
|
||||
@@ -68,9 +68,9 @@ func TestDisplayVersionDefaultsAndOverride(t *testing.T) {
|
||||
}
|
||||
// The two lines have independent defaults since the decoupling:
|
||||
// the panel default (2.0.0) and the agent line's own version
|
||||
// (2.5.0, its last real change) deliberately differ.
|
||||
if got := GetAgentDisplayVersion(); got != "A2.5.0" {
|
||||
t.Fatalf("default agent display version = %q, want A2.5.0", got)
|
||||
// (2.6.0, its last real change) deliberately differ.
|
||||
if got := GetAgentDisplayVersion(); got != "A2.6.0" {
|
||||
t.Fatalf("default agent display version = %q, want A2.6.0", got)
|
||||
}
|
||||
|
||||
displayVersion = "1.0.1"
|
||||
@@ -78,8 +78,8 @@ func TestDisplayVersionDefaultsAndOverride(t *testing.T) {
|
||||
t.Fatalf("injected master display version = %q, want V1.0.1", got)
|
||||
}
|
||||
// Panel injection must NOT move the agent line (decoupling lock).
|
||||
if got := GetAgentDisplayVersion(); got != "A2.5.0" {
|
||||
t.Fatalf("agent display version after panel injection = %q, want A2.5.0 (unchanged)", got)
|
||||
if got := GetAgentDisplayVersion(); got != "A2.6.0" {
|
||||
t.Fatalf("agent display version after panel injection = %q, want A2.6.0 (unchanged)", got)
|
||||
}
|
||||
|
||||
// A release build may inject the number in the master's V-form:
|
||||
@@ -88,8 +88,8 @@ func TestDisplayVersionDefaultsAndOverride(t *testing.T) {
|
||||
if got := GetMasterDisplayVersion(); got != "V1.0.2" {
|
||||
t.Fatalf("V-injected master display version = %q, want V1.0.2", got)
|
||||
}
|
||||
if got := GetAgentDisplayVersion(); got != "A2.5.0" {
|
||||
t.Fatalf("agent display version after V-form panel injection = %q, want A2.5.0 (unchanged)", got)
|
||||
if got := GetAgentDisplayVersion(); got != "A2.6.0" {
|
||||
t.Fatalf("agent display version after V-form panel injection = %q, want A2.6.0 (unchanged)", got)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -21,13 +21,10 @@ import (
|
||||
"github.com/mhsanaei/3x-ui/v3/internal/config"
|
||||
)
|
||||
|
||||
// PLACEHOLDER REPO — rename batch, NOT yet the real Gitea repo name:
|
||||
// "rogue/l-ui" below is a placeholder chosen for the rename diff.
|
||||
// The Gitea repository has NOT been renamed in this batch, and no
|
||||
// release may be published from this code until the user confirms
|
||||
// the exact repo spelling and these two constants (plus the same
|
||||
// placeholder in panel.go, scripts/release-build.sh, the install
|
||||
// scripts and docs/release.md) are updated to it. See RENAMING.md.
|
||||
// Repo name settled 2026-10-24: rogue/l-ui. The Gitea repository
|
||||
// rogue/3x-ui-agent is renamed to rogue/l-ui before the V2.7.0
|
||||
// release is published; these constants already point at the
|
||||
// settled name. See RENAMING.md.
|
||||
//
|
||||
// DefaultBaseURL is the release download base of the fork's own Gitea.
|
||||
// A release tag directory hangs directly below it, holding the panel
|
||||
|
||||
Reference in New Issue
Block a user