Releases: SpacJoy/Remote-Controls
Remote Controls V3.2.0
🚀 自动构建发布 - 2026-02-07 17:37 UTC
🔄 更新内容
配置系统重构、版本号显示优化、国际化增强与 CI/CD 流程优化
Full Changelog (相对于 3.1.0): V3.0.2...V3.2.0
🏷️ 版本号系统升级
- 支持测试后缀:版本号处理逻辑现在原生支持
-test后缀(如3.2.0-test,3.2.0-test2等)。 - CI/CD 版本自动化:
dev分支推送的构建产物现在会自动带上-test后缀。- 支持从标签或工作流输入中直接提取并保留带后缀的版本号。
- 解析逻辑优化:改进了
update_version.py的解析算法,确保在保留字符串后缀的同时,数字版本元组(Major.Minor.Patch.Build)依然能被正确解析。 - GUI 显示适配:版本号显示正则现在兼容带字母和中划线的后缀。
🌍 国际化与多语言 (i18n)
- 动态语言加载:语言系统由硬编码改为动态加载
res/languages/下的 JSON 文件,支持更方便地扩展新语言。 - 改进语言检测:优化了系统语言检测逻辑,支持
zh-CN、zh-TW、en-US等标准代码。 - 语言模板:新增
template.json模板文件,方便社区贡献翻译。 - 安装包集成:更新 Inno Setup 脚本,确保安装包包含所有多语言资源文件。
- 翻译补充:更新英文翻译文件,增加了 CA 证书校验相关的多语言文本。
⚙️ 配置系统重构 (TOML-First)
- TOML 成为首选格式:全面转向
config.toml作为主要配置文件,提供更好的可读性与层级管理。 - 成熟解析器集成:C 核心(主程序与托盘)集成生产级
tomlc99解析器,替换原有的简易实现,支持完整的 TOML 规范。 - 停止生成旧版 JSON:GUI 不再主动生成
config.json,配置完全由config.toml接管,保持配置系统的纯净。 - 平滑迁移与备份:主程序采用“TOML 优先,JSON 兜底”的加载策略;GUI 支持将旧版
config.json自动迁移并备份为.bak。 - 加载日志增强:显著增强了主程序启动时的配置加载日志,方便排查路径、格式及读取错误。
💄 GUI 配置与交互体验优化
- 窗口自适应宽度:实现了切换语言时所有窗口(主窗口、亮度设置、自定义主题等)自动调整宽度的功能,解决文字显示不全问题。
- 亮度设置深度适配:为“亮度调节设置”窗口增加了语言观察者,支持下拉框选项和列表框内容的实时国际化切换。
- 启动自动提权:程序启动时会自动尝试通过 UAC 请求管理员权限;若用户拒绝,则静默退回到普通权限模式运行,兼顾功能完整性与用户选择。
- 窗口定位优化:切换语言时仅调整窗口尺寸,不再强制将窗口重新居中,保持用户操作时的视觉连续性。
- 修复语言设置丢失:修复了在 GUI 中切换语言后无法持久化保存到配置文件的问题。
- 语言选择器增强:语言选择下拉列表现在会根据
res/languages/目录下的文件自动填充。 - 智能动态注释:在
config.toml中为自定义主题自动添加详细的中文注释。 - 注释冗余优化:仅在每类主题(应用、服务、命令等)的首个项目添加注释,保持配置文件清爽。
- 文件关联优化:当通过托盘打开配置时,优先尝试使用记事本打开
config.toml,确保编辑体验一致。 - 环境兼容性提升:优化了 TOML 库的导入逻辑,确保在 Python 3.11 以下版本也能通过
tomli正常运行。
🧰 CI/CD 自动化与构建
- 标签重命名机制:修复了
dev分支推送正式标签导致主分支被误打标签的问题。现在dev分支的正式标签会自动重命名为带-test后缀的测试标签。 - 自动冲突处理:支持
-testN自动递增后缀,通过git ls-remote实时检查远程标签冲突。 - 构建任务去重:优化工作流触发逻辑,避免在推送标签时触发重复的分支构建任务,节省计算资源。
- 修复 GitHub 打包缺失依赖:解决了发布版本中缺失
tomli_w导致 GUI 无法启动的问题。 - 构建脚本适配:更新
build_main.ps1与build_tray.ps1,自动化处理tomlc99库的编译与链接。 - 单实例逻辑微调:优化了主程序的互斥体检查流程,确保配置加载过程中的稳定性。
📚 相关链接
Remote Controls V3.1.0
🚀 自动构建发布 - 2026-02-03 17:46 UTC
🔄 更新内容
全新的亮度调节系统、更完善的 GUI 交互与 CI/CD 自动化递增
Full Changelog (相对于 3.0.2): V3.0.2...V3.1.0
✨ 屏幕亮度调节系统深度重构
- 多控制模式支持:新增 WMI (系统接口)、Dxva2 (DDC/CI) 和 Twinkle Tray (第三方) 三种控制模式,适配更多显示器。
- 自定义调节顺序:支持在高级设置界面通过列表自定义不同控制方法的优先级。
- 执行策略可选:支持“同时执行 (All)”或“成功即止 (Fallback)”两种控制策略。
- 精细化目标控制:支持对 WMI 和 Dxva2 进行单显示器索引控制(如仅调节显示器 0 或 1)。
- 亮度测试功能:新增测试按钮,支持即时验证对应控制方法是否生效。
💄 GUI 布局与交互优化
- 高级设置子窗口:将繁琐的亮度配置移至独立窗口,仅保留“打开亮度调节设置”按钮,界面更清爽。
- 智能控件联动:
- Twinkle Tray 模式选择“全部显示器”时自动禁用多余输入框。
- WMI / Dxva2 增加“所有 (All)”快捷填入按钮。
- 增加“取消”按钮以防止误操作保存(方便还原修改)。
- 全界面英文适配:对亮度调节子窗口的所有文案、弹窗及提示进行了完整的国际化处理。
- 窗口居中:所有弹出窗口(包括亮度设置)均支持相对于父窗口居中显示。
🤖 CI/CD 自动化与构建
- 版本号自动递增:GitHub Actions 在
dev分支提交时支持自动根据最新 Release 递增版本号(如1.0.0->1.0.0.1)。 - 构建链路增强:
- 优化了对 Inno Setup 和 Python 环境的检测脚本。
- 新增开发环境一键部署脚本 (
setup_C_dev.ps1和setup_python_env.ps1)。
- 依赖管理:更新 Python 关键依赖验证逻辑,确保构建环境稳定性。
🛠 修复与改进
- 配置兼容性:完美兼容旧版本配置文件,支持旧版亮度模式自动迁移。
- 代码重构:优化亮度控制的 PowerShell 调用逻辑,提升 Dxva2 DDC/CI 控制的稳定性。
- 规范化:更新
LICENSE,重构.gitignore,并清理了 README 中的过时章节。
📚 相关链接
Remote Controls V3.0.3-test
🚀 自动构建发布 - 2026-02-03 17:01 UTC
🔄 更新内容
- feat(gui): 添加亮度测试按钮与测试逻辑 (6cb34d2)
- feat(gui): 改进亮度高级设置界面 (782a4f0)
- feat(brightness): 支持 target 索引与自定义策略 (c4d8fb0)
- ci(workflows): 将 Actions 引用由 SHA 改为版本标签 (d55935e)
- feat(brightness): 增加 Dxva2/WMI 亮度支持并改进 PowerShell 调用 (3d8c43b)
- docs: 更新 README 并调整 setup_C_dev 文案 (f19441c)
- feat: 添加 Python 环境脚本并增强构建工具检测 (b1f90a8)
- fix: 将默认跳过选项设为N以避免误操作 (ca68bf3)
- feat(installer): 增强 Inno Setup 检测并添加开发环境部署脚本 (becd7cb)
- chore: 重构 .gitignore 文件以改善组织结构和清晰度 (de354e6)
- ci: 移除 main 分支的自动构建触发 (b6b7644)
- ci: 更新 GitHub Actions 配置并添加超时限制 (137210f)
- ci: 优化工作流触发规则与发布条件 (743cc17)
- docs: 从README中移除快速开始章节 (80e1843)
- Update LICENSE file (d9a69ac)
- 更新 V3.0.2 版本发布日期 (675b7b8)
- 完善亮度控制策略与界面文案国际化 (27e03b8)
- 支持多种亮度控制优先级与界面国际化优化 (63245a8)
- 新增 commentTranslate 悬停翻译功能配置 (6c42873)
- 新增 VSCode 工作区设置文件 (ae63f19)
- ci(vscode): 将任务类型从cppbuild更改为process以兼容新版本 (dd7e1cb)
📚 相关链接
Remote Controls V3.0.2
🚀 自动构建发布 - 2025-12-27 08:17 UTC
🔄 更新内容
图标更新、亮度优先策略增强、Twinkle Tray 适配优化与构建链路增强
Full Changelog (相对于 3.0.1): V3.0.1...V3.0.2
🎨 图标与通知
- 更新应用图标资源(
icon.ico),统一托盘/主程序/安装包的视觉识别,并解决深色背景下看不清(看不见)图标的问题。 - 安装包图标引用调整为
icon.ico,避免与旧图标混用。 - 优化主程序通知/Toast 图标加载顺序:优先使用磁盘
res\icon.ico(便于用户替换),失败再回退到内嵌资源。
🖥 GUI / Twinkle Tray
- 更新 Twinkle Tray 下载链接,改为直达 Twinkle Tray 官方网站,解决部分环境下无法访问微软应用商店的问题。
- 优化 Twinkle Tray 默认路径检测,新增对常见安装位置
%LocalAppData%\Programs\twinkle-tray\Twinkle Tray.exe的自动识别支持。 - 修复禁用逻辑:切换到“系统接口(WMI)”后立即禁用 Twinkle Tray 相关输入(无需再次点击)。
- 缩短路径输入框宽度,避免因新增按钮导致窗口被撑宽。
- “浏览/下载”按钮与模式联动:与其它控件一起同步禁用/启用。
- 收紧“浏览/下载”按钮间距:使用内嵌容器并排布局,视觉更紧凑。
- 内置主题「屏幕亮度」新增多种控制策略,适配更多显示器与使用习惯:
- WMI (仅系统接口):仅使用系统 WMI 接口。
- Twinkle Tray (仅命令行):仅调用 Twinkle Tray 命令行,不回退到 WMI。
- WMI 优先:先尝试 WMI,失败则回退到 Twinkle Tray。
- Twinkle Tray 优先:先尝试 Twinkle Tray,失败则回退到 WMI。
- 同时控制:依次执行 WMI 与 Twinkle Tray(无论 WMI 是否成功都会继续执行)。
📝 说明文案与细节信息
- 优化「详细信息」窗口的内置主题/自定义主题/提示说明文案,术语更统一,中英文表达更准确。
- 提示说明更新:
- 日志收集建议由
logs/RC.log调整为logs/*.log,便于排查多模块日志。 - 配置变更提示调整:GUI 保存后需重启主程序以重新加载配置。
- 日志收集建议由
🧰 构建与发布
- GitHub Actions 发布流程支持多测试版标签:
V3.0.2-test1、V3.0.2-test2等,自动创建预发布(Pre-release)。 - 预发布的更新日志仍复用正式版
V3.0.2在CHANGELOG.md中的段落,保证说明一致性。 - 手动触发工作流的版本输入说明已更新,支持
3.0.2-test1等格式。 - 完善版本号解析与错误提示:支持
X.Y.Z/X.Y.Z.B,并允许追加-test/-testN(同时兼容带/不带V前缀输入)。 - 更新日志生成增强:补充
Full Changelog链接生成逻辑,并在测试标签发布时将 compare 链接指向完整测试标签(如...V3.0.2-test2)。 - 修正 CI/工作流配置中的细节问题(如版本输入描述缩进)。
📚 相关链接
Remote Controls V3.0.2-test3
🚀 自动构建发布 - 2025-12-20 09:48 UTC
🔄 更新内容
图标更新、Twinkle Tray 适配优化与构建链路增强
Full Changelog (相对于 3.0.1): V3.0.1...V3.0.2-test3
🎨 图标与通知
- 更新应用图标资源(
icon.ico),统一托盘/主程序/安装包的视觉识别,并解决深色背景下看不清(看不见)图标的问题。 - 安装包图标引用调整为
icon.ico,避免与旧图标混用。 - 优化主程序通知/Toast 图标加载顺序:优先使用磁盘
res\icon.ico(便于用户替换),失败再回退到内嵌资源。
🖥 GUI / Twinkle Tray
- 更新 Twinkle Tray 下载链接,改为直达 Twinkle Tray 官方网站,解决部分环境下无法访问微软应用商店的问题。
- 优化 Twinkle Tray 默认路径检测,新增对常见安装位置
%LocalAppData%\Programs\twinkle-tray\Twinkle Tray.exe的自动识别支持。 - 修复禁用逻辑:切换到“系统接口(WMI)”后立即禁用 Twinkle Tray 相关输入(无需再次点击)。
- 缩短路径输入框宽度,避免因新增按钮导致窗口被撑宽。
- “浏览/下载”按钮与模式联动:与其它控件一起同步禁用/启用。
- 收紧“浏览/下载”按钮间距:使用内嵌容器并排布局,视觉更紧凑。
🧰 构建与发布
- GitHub Actions 发布流程支持多测试版标签:
V3.0.2-test1、V3.0.2-test2等,自动创建预发布(Pre-release)。 - 预发布的更新日志仍复用正式版
V3.0.2在CHANGELOG.md中的段落,保证说明一致性。 - 手动触发工作流的版本输入说明已更新,支持
3.0.2-test1等格式。 - 完善版本号解析与错误提示:支持
X.Y.Z/X.Y.Z.B,并允许追加-test/-testN(同时兼容带/不带V前缀输入)。 - 更新日志生成增强:补充
Full Changelog链接生成逻辑,并在测试标签发布时将 compare 链接指向完整测试标签(如...V3.0.2-test2)。 - 修正 CI/工作流配置中的细节问题(如版本输入描述缩进)。
📚 相关链接
Remote Controls V3.0.2-test2
🚀 自动构建发布 - 2025-12-18 17:56 UTC
🔄 更新内容
图标更新与通知显示一致性优化
Full Changelog (相对于 3.0.1): V3.0.1...V3.0.2-test2
🎨 图标与通知
- 更新应用图标资源(
icon.ico),统一托盘/主程序/安装包的视觉识别,并解决深色背景下看不清(看不见)图标的问题。 - 安装包图标引用调整为
icon.ico,避免与旧图标混用。 - 优化主程序通知/Toast 图标加载顺序:优先使用磁盘
res\icon.ico(便于用户替换),失败再回退到内嵌资源。
🖥 GUI / Twinkle Tray
- 设置项新增“下载”按钮,直达微软应用商店(Twinkle Tray):https://apps.microsoft.com/detail/9pljwwsv01lk?hl=zh-cn&gl=CN。
- 当路径为空时,输入框默认显示
Twinkle Tray,便于采用自动解析(常见安装位置 / PATH 别名)。 - 修复禁用逻辑:切换到“系统接口(WMI)”后立即禁用 Twinkle Tray 相关输入(无需再次点击)。
- 缩短路径输入框宽度,避免因新增按钮导致窗口被撑宽。
- “浏览/下载”按钮与模式联动:与其它控件一起同步禁用/启用。
- 收紧“浏览/下载”按钮间距:使用内嵌容器并排布局,视觉更紧凑。
🧰 构建与发布
- GitHub Actions 发布流程支持多测试版标签:
V3.0.2-test1、V3.0.2-test2等,自动创建预发布(Pre-release)。 - 预发布的更新日志仍复用正式版
V3.0.2在CHANGELOG.md中的段落,保证说明一致性。 - 手动触发工作流的版本输入说明已更新,支持
3.0.2-test1等格式。 - 完善版本号解析与错误提示:支持
X.Y.Z/X.Y.Z.B,并允许追加-test/-testN(同时兼容带/不带V前缀输入)。 - 更新日志生成增强:补充
Full Changelog链接生成逻辑,并在测试标签发布时将 compare 链接指向完整测试标签(如...V3.0.2-test2)。 - 修正 CI/工作流配置中的细节问题(如版本输入描述缩进)。
📚 相关链接
Remote Controls V3.0.2-test1
🚀 自动构建发布 - 2025-12-18 17:08 UTC
🔄 更新内容
图标更新与通知显示一致性优化
Full Changelog (相对于 3.0.1): V3.0.1...V3.0.2
🎨 图标与通知
- 更新应用图标资源(
icon.ico),统一托盘/主程序/安装包的视觉识别,并解决深色背景下看不清(看不见)图标的问题。 - 安装包图标引用调整为
icon.ico,避免与旧图标混用。 - 优化主程序通知/Toast 图标加载顺序:优先使用磁盘
res\icon.ico(便于用户替换),失败再回退到内嵌资源。
🖥 GUI / Twinkle Tray
- 设置项新增“下载”按钮,直达微软应用商店(Twinkle Tray):https://apps.microsoft.com/detail/9pljwwsv01lk?hl=zh-cn&gl=CN。
- 当路径为空时,输入框默认显示
Twinkle Tray,便于采用自动解析(常见安装位置 / PATH 别名)。 - 修复禁用逻辑:切换到“系统接口(WMI)”后立即禁用 Twinkle Tray 相关输入(无需再次点击)。
- 缩短路径输入框宽度,避免因新增按钮导致窗口被撑宽。
- “浏览/下载”按钮与模式联动:与其它控件一起同步禁用/启用。
- 收紧“浏览/下载”按钮间距:使用内嵌容器并排布局,视觉更紧凑。
🧰 构建与发布
- GitHub Actions 发布流程支持多测试版标签:
V3.0.2-test1、V3.0.2-test2等,自动创建预发布(Pre-release)。 - 预发布的更新日志仍复用正式版
V3.0.2在CHANGELOG.md中的段落,保证说明一致性。 - 手动触发工作流的版本输入说明已更新,支持
3.0.2-test1等格式。
📚 相关链接
Remote Controls V3.0.1
🚀 自动构建发布 - 2025-12-15 11:33 UTC
🔄 更新内容
MQTT TLS 增强、构建链路更稳、GUI 体验优化
Full Changelog (相对于 3.0.0): V3.0.0...V3.0.1
🔐 MQTT / TLS
- 支持 MQTT
ssl://TLS 连接配置(与原有 broker/port 配置方式兼容)。 - 新增 TLS 证书校验开关与 CA 文件路径配置:
mqtt_tls_verify/mqtt_tls_ca_file。 - MQTT 实现收敛:移除内置 MQTT 客户端逻辑,主程序统一使用 Eclipse Paho MQTT C(减少实现分叉与行为不一致)。
🖥 GUI
- MQTT TLS 相关控件联动:未启用 TLS 或未启用证书校验时,自动禁用 CA 路径输入,避免“填了但不生效”的误配置。
🧰 构建与 CI
- GitHub Actions(Release):MSYS2 安装 Paho MQTT C(包名为
paho.mqtt.c),并设置PAHO_MQTT_C_ROOT。 - GitHub Actions(Release):使用
msys2-location输出动态拼接PATH/PAHO_MQTT_C_ROOT,兼容 MSYS2 安装在D:\a\_temp\...\msys64等非固定路径的场景(修复MQTTClient.h找不到导致的构建失败)。 - 本地构建:
build_main.ps1支持自动探测 MSYS2 常见前缀(mingw64/ucrt64),降低对环境变量的强依赖。
📖 文档与示例
- 补充配置字段与 MQTT TLS 连接说明(README 与相关文档同步更新)。
- 更新示例配置(
dome_config.json)以覆盖 TLS 相关键。
📚 相关链接
Remote Controls V3.0.0
🚀 自动构建发布 - 2025-12-15 08:47 UTC
🔄 更新内容
C 版主程序/托盘重构、全面多语言与安全增强
Full Changelog (相对于 2.4.0): V2.4.0...V3.0.0
🚀 重大变更(Breaking Changes)
- 主程序与托盘升级为 C 版实现(
RC-main.exe/RC-tray.exe),Python 端保留 GUI(RC-GUI.exe)。 - 本地构建链路调整:构建 C 版主程序/托盘需 MSYS2 + MinGW64(CI/Actions 同步更新)。
🌍 国际化(中英文)
- 主程序、托盘、MQTT 模块与 GUI 支持中英文界面与日志输出。
- 根据系统语言自动切换英文提示;开机自启等关键交互文案同步国际化。
- 完善中英文映射词条,覆盖内置主题与自定义主题窗口。
🔔 通知与托盘体验
- 统一通知气泡实现,通知链路更稳定;支持自定义显示名称。
- 主程序支持内嵌图标,并可将关键日志转发为托盘通知。
- 优化通知图标加载与窗口兼容性
- 优化托盘图标注册流程,提升 Explorer 重启等场景下的兼容性。
🛡 安全与稳定性
- 提升命令行参数安全性与健壮性;加强 payload 校验与日志输出安全。
- 增强 MQTT 日志与托盘字符串安全性;计划任务与命令执行路径更稳健。
- 适配 Python 3.15+ 与 Tcl 9 弃用 API,提前规避上游变更风险。
🧰 构建与发布
- 优化安装包构建流程与依赖打包;新增/完善 CI 自检工作流。
- 支持
-test标签自动发布为预发布版本(Pre-release)。 - 文档与脚本统一版本号与仓库信息;移除 Nuitka 支持并精简构建链路。
- 修复 C 版构建在 PowerShell + gcc 下的版本宏传参转义问题(
RC_MAIN_VERSION/RC_TRAY_VERSION),避免编译失败。 - 修复本地 PyInstaller 在
installer/build目录生成 spec 后资源相对路径错误导致图标丢失的问题(icon_GUI.ico/top.ico)。 - 顶层构建脚本支持透传
-NoPause,方便 CI/无人值守打包。 - CI 构建失败时完善日志收集与输出策略,避免“完整日志重复打印”(可通过
RC_CI_INLINE_LOG=1控制脚本内联输出)。
🎛 自定义主题与参数范围
- 命令类型支持自定义参数范围(
commandN_value_min/value_max)并完善 GUI 交互。 - 优化参数范围标签文本与输入框布局;完善刷新提示的多语言与异常处理。
📚 相关链接
Remote Controls V3.0.2-test
🚀 自动构建发布 - 2025-12-15 19:51 UTC
🔄 更新内容
图标更新与通知显示一致性优化
Full Changelog (相对于 3.0.1): V3.0.1...V3.0.2
🎨 图标与通知
- 更新应用图标资源(
icon.ico),统一托盘/主程序/安装包的视觉识别,并解决深色背景下看不清(看不见)图标的问题。 - 安装包图标引用调整为
icon.ico,避免与旧图标混用。 - 优化主程序通知/Toast 图标加载顺序:优先使用磁盘
res\icon.ico(便于用户替换),失败再回退到内嵌资源。