diff --git a/CHANGELOG.md b/CHANGELOG.md index 385e2179..8e5ddfee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ ## [Unreleased] +### Changed +- _(none yet)_ + +--- + +## [3.5.67] — 2026-08-29 + ### Fixed - **GHCR `:latest` stuck on 3.5.4 while #382 lived only on `:dev` (#387):** `docker-publish.yml` skipped image builds for `[version-bump]` tag pushes, never moved `latest` on Release, and `workflow_dispatch` with default `latest` published no tags. Stable releases now always build, retag `latest` (non-prerelease), and manual dispatch publishes `latest` + current `VERSION`. Prefer pinning compose/`install.sh` semver for production. @@ -3153,3 +3160,4 @@ Format based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). [3.5.64]: https://github.com/UNITRONIX/BetterDesk/compare/v3.5.63...v3.5.64 [3.5.65]: https://github.com/UNITRONIX/BetterDesk/compare/v3.5.64...v3.5.65 [3.5.66]: https://github.com/UNITRONIX/BetterDesk/compare/v3.5.65...v3.5.66 +[3.5.67]: https://github.com/UNITRONIX/BetterDesk/compare/v3.5.66...v3.5.67 diff --git a/Dockerfile b/Dockerfile index 00dda266..3fafafab 100644 --- a/Dockerfile +++ b/Dockerfile @@ -58,7 +58,7 @@ FROM node:22.23.2-alpine3.24 LABEL maintainer="UNITRONIX" LABEL description="BetterDesk — All-in-One (Go Server + Node.js Console)" -LABEL version="3.5.66" +LABEL version="3.5.67" # Install runtime packages (retry for transient DNS failures) RUN apk add --no-cache \ diff --git a/Dockerfile.console b/Dockerfile.console index 7867bf16..776f2ce0 100644 --- a/Dockerfile.console +++ b/Dockerfile.console @@ -28,7 +28,7 @@ FROM node:22.23.2-alpine3.24 LABEL maintainer="UNITRONIX" LABEL description="BetterDesk Console - Web Management Panel" -LABEL version="3.5.66" +LABEL version="3.5.67" WORKDIR /app diff --git a/Dockerfile.server b/Dockerfile.server index d0e28e55..7359823d 100644 --- a/Dockerfile.server +++ b/Dockerfile.server @@ -34,7 +34,7 @@ FROM alpine:3.22 LABEL maintainer="UNITRONIX" LABEL description="BetterDesk Server - RustDesk-compatible signal + relay" -LABEL version="3.5.66" +LABEL version="3.5.67" RUN apk add --no-cache \ ca-certificates \ diff --git a/README.md b/README.md index 98b7c39e..c49f1429 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.5.66-brightgreen.svg) +![Version](https://img.shields.io/badge/version-3.5.67-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 9bb21370..a5cf6ff3 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -3.5.66 +3.5.67 diff --git a/betterdesk-desktop/Cargo.toml b/betterdesk-desktop/Cargo.toml index 8a8f183a..ca65dc24 100644 --- a/betterdesk-desktop/Cargo.toml +++ b/betterdesk-desktop/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "betterdesk-desktop" -version = "3.5.66" +version = "3.5.67" edition = "2021" description = "Independent BetterDesk Desktop operator client" license = "AGPL-3.0-only" diff --git a/betterdesk-desktop/flutter/pubspec.yaml b/betterdesk-desktop/flutter/pubspec.yaml index 4751fb6c..6de19f86 100644 --- a/betterdesk-desktop/flutter/pubspec.yaml +++ b/betterdesk-desktop/flutter/pubspec.yaml @@ -1,7 +1,7 @@ name: betterdesk_desktop description: Independent BetterDesk Desktop operator client. publish_to: "none" -version: 3.5.66+1 +version: 3.5.67+1 environment: sdk: ">=3.4.0 <4.0.0" diff --git a/betterdesk-docker.sh b/betterdesk-docker.sh index e96d8213..2837f4a4 100644 --- a/betterdesk-docker.sh +++ b/betterdesk-docker.sh @@ -1,7 +1,7 @@ #!/bin/bash #=============================================================================== # -# BetterDesk Console Manager v3.5.66 +# BetterDesk Console Manager v3.5.67 # All-in-One Interactive Tool for Docker # # Features: @@ -28,7 +28,7 @@ set -e # Version -VERSION="3.5.66" +VERSION="3.5.67" 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 9bb21370..a5cf6ff3 100644 --- a/betterdesk-server/VERSION +++ b/betterdesk-server/VERSION @@ -1 +1 @@ -3.5.66 +3.5.67 diff --git a/betterdesk-server/internal/productversion/VERSION b/betterdesk-server/internal/productversion/VERSION index 9bb21370..a5cf6ff3 100644 --- a/betterdesk-server/internal/productversion/VERSION +++ b/betterdesk-server/internal/productversion/VERSION @@ -1 +1 @@ -3.5.66 +3.5.67 diff --git a/betterdesk.ps1 b/betterdesk.ps1 index fecb5b6b..d71b78a9 100644 --- a/betterdesk.ps1 +++ b/betterdesk.ps1 @@ -1,7 +1,7 @@ #Requires -RunAsAdministrator <# .SYNOPSIS - BetterDesk Console Manager v3.5.66 - All-in-One Interactive Tool for Windows + BetterDesk Console Manager v3.5.67 - All-in-One Interactive Tool for Windows .DESCRIPTION Features: @@ -110,7 +110,7 @@ param( # Configuration #=============================================================================== -$script:VERSION = "3.5.66" +$script:VERSION = "3.5.67" $script:ScriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path # Auto mode flags diff --git a/betterdesk.sh b/betterdesk.sh index 8e19f81d..9b3a03a5 100644 --- a/betterdesk.sh +++ b/betterdesk.sh @@ -1,7 +1,7 @@ #!/bin/bash #=============================================================================== # -# BetterDesk Console Manager v3.5.66 +# BetterDesk Console Manager v3.5.67 # All-in-One Interactive Tool for Linux # # Features: @@ -36,7 +36,7 @@ set -e # Version -VERSION="3.5.66" +VERSION="3.5.67" # 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 4974dd37..c64edd8c 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.5.66} + image: ghcr.io/unitronix/betterdesk-server:${BETTERDESK_IMAGE_TAG:-3.5.67} container_name: betterdesk-server hostname: betterdesk-server command: ["/usr/local/bin/betterdesk-server", "-mode", "all", "-api-port", "21114", "-key-file", "/opt/rustdesk/id_ed25519"] @@ -76,7 +76,7 @@ services: start_period: 60s console: - image: ghcr.io/unitronix/betterdesk-console:${BETTERDESK_IMAGE_TAG:-3.5.66} + image: ghcr.io/unitronix/betterdesk-console:${BETTERDESK_IMAGE_TAG:-3.5.67} container_name: betterdesk-console # Shares server network stack — panel and RustDesk ports use MACVLAN_IPV4. network_mode: service:server @@ -116,7 +116,7 @@ services: - PGID=${PGID:-10001} - BETTERDESK_UPDATE_MODE=image - BETTERDESK_DOCKER_LAYOUT=split - - BETTERDESK_IMAGE_TAG=${BETTERDESK_IMAGE_TAG:-3.5.66} + - BETTERDESK_IMAGE_TAG=${BETTERDESK_IMAGE_TAG:-3.5.67} - 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 3514c51e..8940aae4 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.5.66} + image: ghcr.io/unitronix/betterdesk:${BETTERDESK_IMAGE_TAG:-3.5.67} container_name: betterdesk hostname: betterdesk volumes: @@ -59,7 +59,7 @@ services: - PGID=${PGID:-10001} - BETTERDESK_UPDATE_MODE=image - BETTERDESK_DOCKER_LAYOUT=single - - BETTERDESK_IMAGE_TAG=${BETTERDESK_IMAGE_TAG:-3.5.66} + - BETTERDESK_IMAGE_TAG=${BETTERDESK_IMAGE_TAG:-3.5.67} - 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 9e6b1302..f0965ca8 100644 --- a/docker-compose.quick.single.yml +++ b/docker-compose.quick.single.yml @@ -5,7 +5,7 @@ # Go server + Node.js console in one container (recommended for all deployments). # # Image tag (aligned with CHANGELOG / git tag): -# Default: 3.5.66 | Rolling: BETTERDESK_IMAGE_TAG=latest +# Default: 3.5.67 | Rolling: BETTERDESK_IMAGE_TAG=latest # # Usage (automated — recommended): # curl -fsSL https://raw.githubusercontent.com/UNITRONIX/BetterDesk/main/install.sh | sudo bash @@ -15,7 +15,7 @@ # docker compose pull && docker compose up -d # # Pin a specific release: -# BETTERDESK_IMAGE_TAG=3.5.66 docker compose up -d +# BETTERDESK_IMAGE_TAG=3.5.67 docker compose up -d # # Web Console: http://localhost:5000 # RustDesk client API: http://localhost:21121 (Go server — all-in-one default port) @@ -35,7 +35,7 @@ services: betterdesk: - image: ghcr.io/unitronix/betterdesk:${BETTERDESK_IMAGE_TAG:-3.5.66} + image: ghcr.io/unitronix/betterdesk:${BETTERDESK_IMAGE_TAG:-3.5.67} container_name: betterdesk hostname: betterdesk ports: @@ -78,7 +78,7 @@ services: - PGID=${PGID:-10001} - BETTERDESK_UPDATE_MODE=image - BETTERDESK_DOCKER_LAYOUT=single - - BETTERDESK_IMAGE_TAG=${BETTERDESK_IMAGE_TAG:-3.5.66} + - BETTERDESK_IMAGE_TAG=${BETTERDESK_IMAGE_TAG:-3.5.67} - 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 6f32f2bd..35fd60d0 100644 --- a/docker-compose.quick.yml +++ b/docker-compose.quick.yml @@ -39,7 +39,7 @@ services: # BetterDesk Server (Go) — handles signal, relay, and API server: - image: ghcr.io/unitronix/betterdesk-server:${BETTERDESK_IMAGE_TAG:-3.5.66} + image: ghcr.io/unitronix/betterdesk-server:${BETTERDESK_IMAGE_TAG:-3.5.67} container_name: betterdesk-server hostname: betterdesk-server command: ["/usr/local/bin/betterdesk-server", "-mode", "all", "-api-port", "21114", "-key-file", "/opt/rustdesk/id_ed25519"] @@ -98,7 +98,7 @@ services: # BetterDesk Console — Web Management Interface console: - image: ghcr.io/unitronix/betterdesk-console:${BETTERDESK_IMAGE_TAG:-3.5.66} + image: ghcr.io/unitronix/betterdesk-console:${BETTERDESK_IMAGE_TAG:-3.5.67} container_name: betterdesk-console hostname: betterdesk-console ports: @@ -139,7 +139,7 @@ services: - PGID=${PGID:-10001} - BETTERDESK_UPDATE_MODE=image - BETTERDESK_DOCKER_LAYOUT=split - - BETTERDESK_IMAGE_TAG=${BETTERDESK_IMAGE_TAG:-3.5.66} + - BETTERDESK_IMAGE_TAG=${BETTERDESK_IMAGE_TAG:-3.5.67} networks: - betterdesk-net depends_on: diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index 408e59cd..be50559b 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.5.66} (Node.js)" +echo " Version: ${BETTERDESK_IMAGE_VERSION:-3.5.67} (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 e93df7e7..7d4323b1 100644 --- a/docker/entrypoint.sh +++ b/docker/entrypoint.sh @@ -9,7 +9,7 @@ ensure_betterdesk_user echo "========================================" echo " BetterDesk All-in-One Container" -echo " Version: ${BETTERDESK_IMAGE_VERSION:-3.5.66}" +echo " Version: ${BETTERDESK_IMAGE_VERSION:-3.5.67}" echo "========================================" echo "" echo "Components:" diff --git a/install.sh b/install.sh index df3f76f5..1b846f2a 100755 --- a/install.sh +++ b/install.sh @@ -18,7 +18,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.5.66) +# --version TAG Docker image tag / release baseline (default: 3.5.67) # --branch BRANCH Git branch for native install (default: this installer channel) # --relay-mode auto|local|public Relay auto-detection strategy # --relay-servers IP[:port] Fixed relay address (overrides --relay-mode) @@ -46,7 +46,7 @@ BETTERDESK_REPO="${BETTERDESK_REPO:-UNITRONIX/BetterDesk}" # --branch / BETTERDESK_BRANCH. Flip to "main" when releasing this file on main. BETTERDESK_INSTALLER_CHANNEL="dev" BETTERDESK_BRANCH="${BETTERDESK_BRANCH:-$BETTERDESK_INSTALLER_CHANNEL}" -BETTERDESK_VERSION="${BETTERDESK_VERSION:-3.5.66}" +BETTERDESK_VERSION="${BETTERDESK_VERSION:-3.5.67}" 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 d60d0978..2a7712be 100644 --- a/web-nodejs/package.json +++ b/web-nodejs/package.json @@ -1,6 +1,6 @@ { "name": "betterdesk-console", - "version": "3.5.66", + "version": "3.5.67", "description": "BetterDesk Console - Professional Web Management Panel for BetterDesk Server", "main": "server.js", "scripts": {