diff --git a/CHANGELOG.md b/CHANGELOG.md index 7b47f3ac..0be64428 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ ## [Unreleased] +### Changed +- _(none yet)_ + +--- + +## [3.5.0] — 2026-07-31 + ### Added - **Optional UX 3.5 console shell (Beta):** full-list sidebar + topbar chrome available via navbar switch (BETA badge) or `?ui=ux35`. **Classic icon rail remains the default and supported production UI.** Docs: `docs/wiki/UX-3.5.md`. Ships via panel update. - **FreeBSD (Tier 3 / community):** example `rc.d` scripts and install notes under `contrib/freebsd/`. Refs #310. Manual build only — no CI FreeBSD binaries or panel updater support. @@ -2497,3 +2504,4 @@ Format based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). [3.4.13]: https://github.com/UNITRONIX/BetterDesk/compare/v3.4.12...v3.4.13 [3.4.14]: https://github.com/UNITRONIX/BetterDesk/compare/v3.4.13...v3.4.14 [3.4.15]: https://github.com/UNITRONIX/BetterDesk/compare/v3.4.14...v3.4.15 +[3.5.0]: https://github.com/UNITRONIX/BetterDesk/compare/v3.4.15...v3.5.0 diff --git a/Dockerfile b/Dockerfile index c47664b6..94934dd1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -55,7 +55,7 @@ FROM node:20-alpine LABEL maintainer="UNITRONIX" LABEL description="BetterDesk — All-in-One (Go Server + Node.js Console)" -LABEL version="3.4.15" +LABEL version="3.5.0" # Install runtime packages (retry for transient DNS failures) RUN apk add --no-cache \ diff --git a/Dockerfile.console b/Dockerfile.console index 3ecbca33..d1cb9c9d 100644 --- a/Dockerfile.console +++ b/Dockerfile.console @@ -25,7 +25,7 @@ FROM node:20-alpine LABEL maintainer="UNITRONIX" LABEL description="BetterDesk Console - Web Management Panel" -LABEL version="3.4.15" +LABEL version="3.5.0" WORKDIR /app diff --git a/Dockerfile.server b/Dockerfile.server index ee960cfb..f13cd2f7 100644 --- a/Dockerfile.server +++ b/Dockerfile.server @@ -34,7 +34,7 @@ FROM alpine:3.20 LABEL maintainer="UNITRONIX" LABEL description="BetterDesk Server - RustDesk-compatible signal + relay" -LABEL version="3.4.15" +LABEL version="3.5.0" RUN apk add --no-cache \ ca-certificates \ diff --git a/README.md b/README.md index 4abd08c5..88029de6 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ ![License](https://img.shields.io/badge/license-AGPL--3.0-blue.svg) ![Go](https://img.shields.io/badge/Go-1.21+-00ADD8.svg) ![Node.js](https://img.shields.io/badge/Node.js-18+-339933.svg) -![Version](https://img.shields.io/badge/version-3.4.15-brightgreen.svg) +![Version](https://img.shields.io/badge/version-3.5.0-brightgreen.svg) ![Security](https://img.shields.io/badge/Security-TLS%20%2B%20NaCl%20%2B%20TOTP%20%2B%20E2EE-green.svg) ![Database](https://img.shields.io/badge/DB-SQLite%20%2B%20PostgreSQL-blue.svg) ![CDAP](https://img.shields.io/badge/CDAP-v1.0-orange.svg) diff --git a/VERSION b/VERSION index 0d697e4e..1545d966 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -3.4.15 +3.5.0 diff --git a/betterdesk-docker.sh b/betterdesk-docker.sh index 24878253..1131a9aa 100644 --- a/betterdesk-docker.sh +++ b/betterdesk-docker.sh @@ -1,7 +1,7 @@ #!/bin/bash #=============================================================================== # -# BetterDesk Console Manager v3.4.15 +# BetterDesk Console Manager v3.5.0 # All-in-One Interactive Tool for Docker # # Features: @@ -28,7 +28,7 @@ set -e # Version -VERSION="3.4.15" +VERSION="3.5.0" SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # Default paths (can be overridden by environment variables) diff --git a/betterdesk-server/VERSION b/betterdesk-server/VERSION index 0d697e4e..1545d966 100644 --- a/betterdesk-server/VERSION +++ b/betterdesk-server/VERSION @@ -1 +1 @@ -3.4.15 +3.5.0 diff --git a/betterdesk-server/internal/productversion/VERSION b/betterdesk-server/internal/productversion/VERSION index 0d697e4e..1545d966 100644 --- a/betterdesk-server/internal/productversion/VERSION +++ b/betterdesk-server/internal/productversion/VERSION @@ -1 +1 @@ -3.4.15 +3.5.0 diff --git a/betterdesk.ps1 b/betterdesk.ps1 index 614f9aab..978aa4b7 100644 --- a/betterdesk.ps1 +++ b/betterdesk.ps1 @@ -1,7 +1,7 @@ #Requires -RunAsAdministrator <# .SYNOPSIS - BetterDesk Console Manager v3.4.15 - All-in-One Interactive Tool for Windows + BetterDesk Console Manager v3.5.0 - All-in-One Interactive Tool for Windows .DESCRIPTION Features: @@ -102,7 +102,7 @@ param( # Configuration #=============================================================================== -$script:VERSION = "3.4.15" +$script:VERSION = "3.5.0" $script:ScriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path # Auto mode flags diff --git a/betterdesk.sh b/betterdesk.sh index 849a8e56..028e710c 100644 --- a/betterdesk.sh +++ b/betterdesk.sh @@ -1,7 +1,7 @@ #!/bin/bash #=============================================================================== # -# BetterDesk Console Manager v3.4.15 +# BetterDesk Console Manager v3.5.0 # All-in-One Interactive Tool for Linux # # Features: @@ -36,7 +36,7 @@ set -e # Version -VERSION="3.4.15" +VERSION="3.5.0" # Bump when installer control-flow changes must apply mid-session after Update (#219). BETTERDESK_SH_REVISION="20260725-console-start-306" SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" diff --git a/docker-compose.quick.macvlan.yml b/docker-compose.quick.macvlan.yml index 9e9b0819..8a43edef 100644 --- a/docker-compose.quick.macvlan.yml +++ b/docker-compose.quick.macvlan.yml @@ -34,7 +34,7 @@ services: server: - image: ghcr.io/unitronix/betterdesk-server:${BETTERDESK_IMAGE_TAG:-3.4.15} + image: ghcr.io/unitronix/betterdesk-server:${BETTERDESK_IMAGE_TAG:-3.5.0} container_name: betterdesk-server hostname: betterdesk-server command: ["/usr/local/bin/betterdesk-server", "-mode", "all", "-api-port", "21114", "-key-file", "/opt/rustdesk/id_ed25519"] @@ -73,7 +73,7 @@ services: start_period: 60s console: - image: ghcr.io/unitronix/betterdesk-console:${BETTERDESK_IMAGE_TAG:-3.4.15} + image: ghcr.io/unitronix/betterdesk-console:${BETTERDESK_IMAGE_TAG:-3.5.0} container_name: betterdesk-console # Shares server network stack — panel and RustDesk ports use MACVLAN_IPV4. network_mode: service:server @@ -110,7 +110,7 @@ services: - DOCKER=true - BETTERDESK_UPDATE_MODE=image - BETTERDESK_DOCKER_LAYOUT=split - - BETTERDESK_IMAGE_TAG=${BETTERDESK_IMAGE_TAG:-3.4.15} + - BETTERDESK_IMAGE_TAG=${BETTERDESK_IMAGE_TAG:-3.5.0} - TZ=${TZ:-UTC} depends_on: # service_started (not healthy): avoids deadlock with auth.db on first boot (#138, #186). diff --git a/docker-compose.quick.single.macvlan.yml b/docker-compose.quick.single.macvlan.yml index 08ade71d..0d7e5e42 100644 --- a/docker-compose.quick.single.macvlan.yml +++ b/docker-compose.quick.single.macvlan.yml @@ -32,7 +32,7 @@ services: betterdesk: - image: ghcr.io/unitronix/betterdesk:${BETTERDESK_IMAGE_TAG:-3.4.15} + image: ghcr.io/unitronix/betterdesk:${BETTERDESK_IMAGE_TAG:-3.5.0} container_name: betterdesk hostname: betterdesk volumes: @@ -56,7 +56,7 @@ services: - DOCKER=true - BETTERDESK_UPDATE_MODE=image - BETTERDESK_DOCKER_LAYOUT=single - - BETTERDESK_IMAGE_TAG=${BETTERDESK_IMAGE_TAG:-3.4.15} + - BETTERDESK_IMAGE_TAG=${BETTERDESK_IMAGE_TAG:-3.5.0} - AUTH_DB_PATH=/app/data/auth.db - INIT_ADMIN_USER=${ADMIN_USERNAME:-admin} - INIT_ADMIN_PASS=${ADMIN_PASSWORD:-} diff --git a/docker-compose.quick.single.yml b/docker-compose.quick.single.yml index f72bb423..6fec2f7a 100644 --- a/docker-compose.quick.single.yml +++ b/docker-compose.quick.single.yml @@ -35,7 +35,7 @@ services: betterdesk: - image: ghcr.io/unitronix/betterdesk:${BETTERDESK_IMAGE_TAG:-3.4.15} + image: ghcr.io/unitronix/betterdesk:${BETTERDESK_IMAGE_TAG:-3.5.0} container_name: betterdesk hostname: betterdesk ports: @@ -75,7 +75,7 @@ services: - DOCKER=true - BETTERDESK_UPDATE_MODE=image - BETTERDESK_DOCKER_LAYOUT=single - - BETTERDESK_IMAGE_TAG=${BETTERDESK_IMAGE_TAG:-3.4.15} + - BETTERDESK_IMAGE_TAG=${BETTERDESK_IMAGE_TAG:-3.5.0} - DB_TYPE=${DB_TYPE:-sqlite} - DATABASE_URL=${DATABASE_URL:-} - DB_URL=${DATABASE_URL:-} diff --git a/docker-compose.quick.yml b/docker-compose.quick.yml index c85b93ef..88910654 100644 --- a/docker-compose.quick.yml +++ b/docker-compose.quick.yml @@ -38,7 +38,7 @@ services: # BetterDesk Server (Go) — handles signal, relay, and API server: - image: ghcr.io/unitronix/betterdesk-server:${BETTERDESK_IMAGE_TAG:-3.4.15} + image: ghcr.io/unitronix/betterdesk-server:${BETTERDESK_IMAGE_TAG:-3.5.0} container_name: betterdesk-server hostname: betterdesk-server command: ["/usr/local/bin/betterdesk-server", "-mode", "all", "-api-port", "21114", "-key-file", "/opt/rustdesk/id_ed25519"] @@ -93,7 +93,7 @@ services: # BetterDesk Console — Web Management Interface console: - image: ghcr.io/unitronix/betterdesk-console:${BETTERDESK_IMAGE_TAG:-3.4.15} + image: ghcr.io/unitronix/betterdesk-console:${BETTERDESK_IMAGE_TAG:-3.5.0} container_name: betterdesk-console hostname: betterdesk-console ports: @@ -130,7 +130,7 @@ services: - DOCKER=true - BETTERDESK_UPDATE_MODE=image - BETTERDESK_DOCKER_LAYOUT=split - - BETTERDESK_IMAGE_TAG=${BETTERDESK_IMAGE_TAG:-3.4.15} + - BETTERDESK_IMAGE_TAG=${BETTERDESK_IMAGE_TAG:-3.5.0} networks: - betterdesk-net depends_on: diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index d9fd708d..52faee58 100644 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -8,7 +8,7 @@ set -e echo "========================================" echo " BetterDesk Console - Container Startup" -echo " Version: ${BETTERDESK_IMAGE_VERSION:-3.4.15} (Node.js)" +echo " Version: ${BETTERDESK_IMAGE_VERSION:-3.5.0} (Node.js)" echo "========================================" # Public Docker examples use ADMIN_*; the Node.js console seeds from DEFAULT_ADMIN_*. diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh index d9c5b356..07252c57 100644 --- a/docker/entrypoint.sh +++ b/docker/entrypoint.sh @@ -5,7 +5,7 @@ set -e echo "========================================" echo " BetterDesk All-in-One Container" -echo " Version: ${BETTERDESK_IMAGE_VERSION:-3.4.15}" +echo " Version: ${BETTERDESK_IMAGE_VERSION:-3.5.0}" echo "========================================" echo "" echo "Components:" diff --git a/install.sh b/install.sh index cc7383a2..13a7dfe4 100755 --- a/install.sh +++ b/install.sh @@ -15,7 +15,7 @@ # --docker | --native Installation mode (default: docker) # --split Legacy two-container layout (server + console images) # --install-dir PATH Install directory (default: /opt/betterdesk) -# --version TAG Docker image tag / release baseline (default: 3.4.15) +# --version TAG Docker image tag / release baseline (default: 3.5.0) # --branch BRANCH Git branch for native install (default: main) # --relay-mode auto|local|public Relay auto-detection strategy # --relay-servers IP[:port] Fixed relay address (overrides --relay-mode) @@ -39,7 +39,7 @@ set -euo pipefail VERSION="1.0.0" BETTERDESK_REPO="${BETTERDESK_REPO:-UNITRONIX/BetterDesk}" BETTERDESK_BRANCH="${BETTERDESK_BRANCH:-main}" -BETTERDESK_VERSION="${BETTERDESK_VERSION:-3.4.15}" +BETTERDESK_VERSION="${BETTERDESK_VERSION:-3.5.0}" BETTERDESK_RAW_BASE="${BETTERDESK_RAW_BASE:-https://raw.githubusercontent.com/${BETTERDESK_REPO}/${BETTERDESK_BRANCH}}" INSTALL_DIR="${INSTALL_DIR:-/opt/betterdesk}" INSTALL_MODE="docker" diff --git a/web-nodejs/package.json b/web-nodejs/package.json index f772903c..d88c347c 100644 --- a/web-nodejs/package.json +++ b/web-nodejs/package.json @@ -1,6 +1,6 @@ { "name": "betterdesk-console", - "version": "3.4.15", + "version": "3.5.0", "description": "BetterDesk Console - Professional Web Management Panel for BetterDesk Server", "main": "server.js", "scripts": {