Skip to content

Releases: Maxim00191/Gamepad-Mapping

v2.3.1-beta

v2.3.1-beta Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 20 Apr 10:33

Changelog v2.3.1-beta - 2026-04-20

Added

  • Profile rule clipboard workflow: Added a dedicated clipboard toolbar and view model for mapping rules, enabling copy/paste and reuse flows across compatible editor surfaces.
  • Workspace edit history behaviors: Introduced workspace mutation watchers and edit-history behaviors to improve undo/redo consistency for profile and mapping editing operations.
  • Localized catalog description infrastructure: Added CatalogDescriptionLocalizer, CultureKeyedTextResolver, and related display resolvers to better support culture-aware community/catalog text rendering.
  • Inter-letter text normalization for upload policy: Added UploadTextPolicyInterLetterNormalizer and expanded tests so upload text checks better detect obfuscated terms split by punctuation/spacing patterns.
  • Upload payload key-derivation hardening: Added deterministic key-derivation helpers for offline payload encode/decode paths and strengthened codec test coverage for safer policy payload handling.

Changed

  • Template editing UX: Improved mapping editor and template panel interaction behaviors, including selection synchronization and keyboard/radial editor flow polish.
  • Roco Kingdom templates: Refreshed bundled explore and fight templates under Assets/Profiles/templates/Roco Kingdom, and removed legacy radial JSON files.
  • README package guidance: Clarified release package installation instructions and template examples in both README.md and README_zh.md.
  • Embedded upload policy artifact: Regenerated upload_text_policy.payload to keep embedded policy data aligned with evaluator/runtime updates.

Fixed

  • Startup diagnostics metadata: Corrected startup diagnostics logger metadata usage to keep crash/environment reports accurate.
  • Upload policy codec reliability: Fixed edge cases in payload decoding/encoding and embedded payload reader handling verified by updated codec tests.

更新日志 v2.3.1-beta - 2026-04-20

新增

  • 配置规则剪贴板流程: 新增映射规则专用剪贴板工具栏与视图模型,支持在兼容编辑界面中复制/粘贴并复用规则。
  • 工作区编辑历史行为: 引入工作区变更观察与编辑历史行为,提升配置与映射编辑场景中的撤销/重做一致性。
  • 目录描述本地化基础设施: 新增 CatalogDescriptionLocalizer、CultureKeyedTextResolver 及相关显示解析器,更好支持社区/目录文本的按文化显示。
  • 上传文本策略的跨字符归一化: 新增 UploadTextPolicyInterLetterNormalizer 并扩展测试,使文本策略更易识别由标点/空白分隔的混淆词。
  • 上传载荷密钥派生加固: 为离线载荷编解码路径新增确定性密钥派生辅助逻辑,并补强 codec 测试覆盖,提升策略载荷处理稳健性。

更改

  • 模板编辑体验: 改进映射编辑器与模板面板的交互行为,包括选择同步与键盘/轮盘编辑流程优化。
  • Roco Kingdom 模板: 更新 Assets/Profiles/templates/Roco Kingdom 下的 explore 与 fight 内置模板,并移除旧版轮盘 JSON 文件。
  • README 安装说明: 在 README.md 与 README_zh.md 中完善发布包安装指引与模板示例说明。
  • 内置上传策略产物: 重新生成 upload_text_policy.payload,确保内置策略数据与评估器/运行时更新保持一致。

修复

  • 启动诊断元数据: 修正启动诊断日志的元数据使用,保证崩溃/环境报告信息准确。
  • 上传策略 codec 稳定性: 修复载荷编解码与内置载荷读取中的边界场景问题,并由更新后的 codec 测试验证。

Full Changelog: v2.3.0-beta...v2.3.1-beta

v2.3.0-beta

v2.3.0-beta Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 19 Apr 11:20

Changelog v2.3.0-beta - 2026-04-17

Note

  • Pre-release (beta): This build is intended for early feedback on the visual mapping workspace and community template submissions. Expect further polish before a stable release.

Added

  • Visual Editor workspace: New Visual Editor tab at the front of the profile workspace with a resizable split layout: a logical control → mappings list on the left and an interactive controller diagram on the right. Select inputs on the diagram to inspect or edit related mappings; the view shows mapping overlays on the controller art with configurable primary labels (action summary, physical control, or both) and optional secondary labels.
  • Controller diagram interaction: Pan and zoom the controller SVG for comfortable editing on different displays; hover and click hit-testing map diagram regions to logical controls.
  • Visual overlay & listing tools: From the visual panel, open overlay label settings and a community listing description editor (with HUD preview affordances) without leaving the visual workflow.
  • Community template submission: From the Community catalog, Upload to community opens a guided dialog to submit the selected template bundle (including linked templates), with game folder, author, listing description, and per-template inclusion. Submissions are validated locally, then sent through a Cloudflare Worker (Turnstile-backed upload ticket + JSON payload) to open a GitHub pull request against GamepadMapping-CommunityProfiles for review.
  • Upload compliance pipeline: CommunityTemplateUploadComplianceService runs multi-step checks (required metadata, profile validation, text policy including link and content rules, bundle/path sanity, and conflict hints against the published community index) before upload is allowed.
  • Settings for community upload: Advanced settings expose the community repository (owner / name / branch), worker URL, and Turnstile site key / host page / action so installs can point at the correct upload endpoint.

Changed

  • Profile workspace tabs: The mapping editor tabs are extended with the Visual Editor as the default-first tab; list/radial/community workflows remain alongside it.

更新日志 v2.3.0-beta - 2026-04-17

说明

  • 预发布(beta): 本版本用于收集可视化映射工作区与社区模板提交功能的早期反馈,稳定版发布前仍可能继续调整与打磨。

新增

  • 可视化编辑工作区: 在配置工作区最前新增 Visual Editor 标签页,采用可拖拽分栏布局:左侧为 逻辑控制 → 映射 列表,右侧为可交互的 手柄示意图。在示意图上点选输入即可查看或编辑相关映射;示意图上叠加 映射标签,主标签可在「动作摘要 / 物理键位 / 两者」之间切换,并可选显示副标签。
  • 示意图交互: 支持对手柄 SVG 平移与缩放,便于不同分辨率下编辑;通过悬停与点击命中区域将图示区域映射到逻辑控制。
  • 叠加层与上架文案工具: 在可视化面板中可直接打开 叠加标签 设置与 社区上架描述 编辑(含 HUD 预览相关能力),无需离开可视化流程。
  • 社区模板提交: 在 Community 目录中选择 Upload to community 打开引导对话框,可提交所选模板包(含关联模板),填写 游戏目录、作者、上架描述 并选择包含的模板。本地校验通过后,经 Cloudflare Worker(Turnstile 签发上传票据 + JSON 载荷)在 GamepadMapping-CommunityProfiles 仓库创建 GitHub Pull Request 供审核合并。
  • 上传合规管线: CommunityTemplateUploadComplianceService 执行多步检查(必填元数据、配置校验、文本策略含链接与内容规则、包路径合理性、与已发布社区索引的冲突提示等),通过后才允许上传。
  • 社区上传相关设置: 高级设置中可配置社区仓库(owner / name / branch)、Worker 地址 以及 Turnstile 站点密钥 / 宿主页 / action,以便不同安装环境指向正确上传端点。

更改

  • 配置工作区标签: 扩展映射编辑区标签页,将 Visual Editor 作为默认首位标签;列表 / 轮盘 / 社区等流程仍并列保留。

Full Changelog: v2.2.0...v2.3.0-beta

v2.2.0

Choose a tag to compare

@github-actions github-actions released this 14 Apr 01:37

Changelog v2.2.0 - 2026-04-14

Added

  • Human-like keyboard noise: Introduced HumanizingKeyboardEmulator to apply Perlin-based jitter to keyboard tap-hold durations (±10ms), enhancing anti-detection and natural input feel.
  • Global exception handling: Added StartupDiagnostics for centralized crash reporting, fatal error dialogs, and environment logging (OS, runtime, process path).
  • Dedicated entry point: Introduced Program.cs as the explicit [STAThread] entry point to ensure diagnostic handlers are registered before any WPF components initialize.
  • Logging robustness: Enhanced FileLogger with UTF-8 encoding and an emergency fallback to %TEMP% if the primary log directory is inaccessible.
  • Path resolution safety: Improved AppPaths with fallback logic to LocalAppData for log storage when the application root is read-only.

Changed

  • Keyboard tap duration: Increased default tap-hold duration from 30ms to 70ms and expanded the allowed range to 20ms–100ms for better compatibility with modern games.
  • Startup sequence: Refactored App.xaml.cs to wrap the entire startup process in a diagnostic-aware try-catch block.
  • Noise controller expansion: Updated IHumanInputNoiseController and its implementation to support independent phase tracking for tap-hold jitter.

Fixed

  • Startup path logging: Fixed a bug where debug path information was logged outside of the main startup try-catch block.
  • UI Tooltips: Added missing tooltips for human-like noise settings in AppSettingsView.

更新日志 v2.2.0 - 2026-04-14

新增

  • 拟人化键盘抖动: 引入 HumanizingKeyboardEmulator,通过 Perlin 噪声为键盘点按时长加入随机抖动(±10ms),增强防检测能力并提升输入自然度。
  • 全局异常处理: 新增 StartupDiagnostics 模块,实现集中化的崩溃报告、致命错误对话框以及详细的环境日志记录(操作系统、运行时、进程路径等)。
  • 专用入口点: 引入 Program.cs 作为显式的 [STAThread] 入口,确保在任何 WPF 组件初始化前优先注册诊断处理程序。
  • 日志稳健性: 增强 FileLogger,支持 UTF-8 编码,并在主日志目录不可访问时自动回退到 %TEMP% 临时目录。
  • 路径解析安全: 优化 AppPaths 逻辑,当程序根目录只读时,日志存储将自动回退至 LocalAppData。

更改

  • 键盘点按时长: 将默认点按时长从 30ms 提升至 70ms,并将可调范围扩大至 20ms–100ms,以提升与现代游戏的兼容性。
  • 启动流程重构: 重构 App.xaml.cs,将整个启动过程包裹在具备诊断能力的 try-catch 块中。
  • 噪声控制器扩展: 更新 IHumanInputNoiseController 接口及其实现,支持独立的点按抖动相位跟踪。

修复

  • 启动路径日志: 修复了调试路径信息在主启动异常捕获块之外记录的问题。
  • UI 提示: 为 AppSettingsView 中的类人化噪声设置补充了缺失的工具提示。
    Full Changelog: v2.1.5...v2.2.0

v2.1.5

Choose a tag to compare

@github-actions github-actions released this 12 Apr 05:40

Changelog v2.1.5 - 2026-04-12

Changed

  • Input Injection keyboard: InjectedKeyboardSimulator now takes an optional ISendInputChannel (defaulting to Win32SendInputChannel) and, when virtual-key-to-scan-code mapping succeeds, emits injected key events using scan codes (InjectedInputKeyOptions.ScanCode) instead of relying on virtual keys alone—matching the SendInput path’s layout mapping and improving compatibility for extended keys.

更新日志 v2.1.5 - 2026-04-12

更改

  • Input Injection 键盘: InjectedKeyboardSimulator 现可注入可选的 ISendInputChannel(默认 Win32SendInputChannel);在虚拟键到扫描码映射成功时,优先以 扫描码(InjectedInputKeyOptions.ScanCode)生成注入按键事件,与 SendInput 路径的布局映射更一致,并改善扩展键等场景的兼容性。

Full Changelog: v2.1.4...v2.1.5

v2.1.4

Choose a tag to compare

@github-actions github-actions released this 12 Apr 00:18

Changelog v2.1.4 - 2026-04-12

Added

  • Input pipeline middleware: Added AnalogTransitionMiddleware, ButtonTransitionMiddleware, and InputStateSyncMiddleware so analog/button transitions and cross-frame state stay consistent inside the input frame pipeline.
  • Gamepad source abstraction: Introduced IGamepadSource / XInputSource and refactored GamepadReader around IXInput, enabling a pluggable gamepad backend with clearer testing seams.
  • Selectable gamepad & emulation backends: Settings now expose gamepad source selection and keyboard/mouse emulation backend choice (classic SendInput vs Windows Input Injection on supported OS builds), with localized labels.
  • Win32 emulators: Replaced the legacy emulators with Win32KeyboardEmulator and Win32MouseEmulator built on SendInput, plus ISendInputChannel / Win32SendInputChannel for efficient batched INPUT submission.
  • Injection simulators: Added InjectedKeyboardSimulator and InjectedMouseSimulator for the Input Injection path, wired through InputEmulationStackFactory and InputEmulationServices.
  • Human-like mouse noise: Added Perlin-based NoiseGenerator, HumanInputNoiseController, and HumanizingMouseEmulator so mouse movement can apply smooth, configurable jitter; settings include noise parameters and stick-magnitude-aware blending.
  • Unified emulator commands: Extended IKeyboardEmulator / IMouseEmulator with Execute / ExecuteAsync so the mapping stack dispatches structured commands consistently across backends.
  • Thumbstick deadzone shape: Added ThumbstickDeadzoneShape (axial vs radial) with parser support, integrated through GamepadReader / analog processors for more predictable stick gates.
  • Mouse-look & analog tuning: Expanded AppSettings and UI for mouse-look sensitivity, smoothing, hysteresis, and magnitude-aware mouse movement; GamepadThumbstickFromValueCatalog standardizes editor thumbstick tokens, with AnalogMappingProcessor using stick magnitude for mouse-look mappings.
  • Keyboard chord taps: InputTokenResolver and ButtonMappingProcessor now support chord-style keyboard taps (e.g. modifier + key) with normalized key text.
  • UI composition: Split responsibilities out of MainViewModel into ProfileOrchestrator, SettingsOrchestrator, UpdateOrchestrator, and UiOrchestrator; added GamepadService, MappingManager, and AppTargetingState-aware AppStatusMonitor refresh behavior.
  • UI threading contract: Introduced IUiSynchronization / DispatcherUiSynchronization (and test ImmediateUiSynchronization) to replace ad-hoc Action<Action> UI marshaling in radial/mapping code paths.
  • Process name debouncing: Added Debouncer and applied it to process-name edits to reduce redundant targeting work.
  • Gamepad monitor polish: Refined GamepadMonitorWindow / GamepadMonitorView layout, sizing, and pixel snapping; improved reopen behavior when the owner window is hidden.
  • Settings & updates UI: Expanded AppSettingsView for new options; moved update UI into UpdatesPanelView and simplified MainView structure.
  • Developer docs: Added docs/input-pipeline.md and docs/emulation-parity.md describing the processing stack and emulation behavior.

Changed

  • Folder & namespace organization: Reorganized Core, Interfaces, Models, Services, and Utils into clearer subfolders (e.g. Infrastructure, Input, Storage, Update) without changing user-facing behavior by itself.
  • Radial menu controller: Reworked RadialMenuController with factory wiring and UI synchronization updates for more maintainable lifecycle and thread usage.
  • Mapping engine: Integrated middleware, command execution, chord handling, and UI sync updates; adjusted tests across mapping and radial scenarios.

Fixed

  • Repository hygiene: Fixed .gitignore rules that accidentally excluded Services/Win32 sources so Win32InputStructs.cs and related interop ship in CI builds.
  • Tests: Corrected mock/service namespaces (ISettingsService, IWin32Service) and expanded coverage for new emulation, mapping, and service behaviors.

更新日志 v2.1.4 - 2026-04-12

新增

  • 输入管线中间件: 新增 AnalogTransitionMiddleware、ButtonTransitionMiddleware 与 InputStateSyncMiddleware,在输入帧管线内统一处理模拟量/按键过渡与跨帧状态同步。
  • 手柄数据源抽象: 引入 IGamepadSource / XInputSource,并将 GamepadReader 重构为基于 IXInput,便于替换后端与单元测试。
  • 可选手柄与模拟后端: 设置中可选择手柄数据源及键鼠模拟实现(经典 SendInput 与 Windows Input Injection,在受支持系统上),并提供中英文文案。
  • Win32 模拟器: 以 Win32KeyboardEmulator、Win32MouseEmulator 替代旧实现,基于 SendInput;通过 ISendInputChannel / Win32SendInputChannel 批量提交 INPUT。
  • 注入式模拟器: 新增 InjectedKeyboardSimulator、InjectedMouseSimulator,经 InputEmulationStackFactory 与 InputEmulationServices 接入。
  • 拟人化鼠标噪声: 基于 Perlin 的 NoiseGenerator、HumanInputNoiseController 与 HumanizingMouseEmulator,支持可配置抖动;设置中包含噪声参数及与摇杆幅度联动的混合。
  • 模拟器统一命令接口: 为 IKeyboardEmulator / IMouseEmulator 增加 Execute / ExecuteAsync,映射栈以统一方式调度各后端。
  • 摇杆死区形状: 新增 ThumbstickDeadzoneShape(轴向/径向)及解析支持,并贯通 GamepadReader 与模拟量处理,使死区行为更可控。
  • 鼠标视角与模拟量调节: 扩展 AppSettings 与界面(鼠标视角灵敏度、平滑、迟滞及与幅度相关的鼠标移动);GamepadThumbstickFromValueCatalog 统一编辑器摇杆取值,AnalogMappingProcessor 对鼠标视角类映射使用摇杆幅度。
  • 组合键点按: InputTokenResolver 与 ButtonMappingProcessor 支持组合键形式的键盘点按(如修饰键+字母),并规范化按键文本。
  • 界面职责拆分: 将原 MainViewModel 中的职责拆至 ProfileOrchestrator、SettingsOrchestrator、UpdateOrchestrator、UiOrchestrator;新增 GamepadService、MappingManager,AppStatusMonitor 结合 AppTargetingState 优化状态刷新。
  • UI 线程契约: 引入 IUiSynchronization / DispatcherUiSynchronization(及测试用 ImmediateUiSynchronization),替代轮盘/映射路径中的 Action<Action> 式 UI 投递。
  • 进程名防抖: 新增 Debouncer 并用于进程名编辑,减少无效的目标进程解析。
  • 手柄监视器: 优化 GamepadMonitorWindow / GamepadMonitorView 布局、尺寸与像素对齐;改进主窗口不可见时的再次打开体验。
  • 设置与更新界面: 扩展 AppSettingsView;将更新相关 UI 独立为 UpdatesPanelView 并精简 MainView。
  • 开发文档: 新增 docs/input-pipeline.md 与 docs/emulation-parity.md,说明处理管线与模拟行为。

更改

  • 目录与命名空间: 调整 Core、Interfaces、Models、Services、Utils 子目录划分(如 Infrastructure、Input、Storage、Update),不改变对外功能语义。
  • 轮盘控制器: 重构 RadialMenuController,配合工厂装配与 UI 同步,生命周期与线程使用更清晰。
  • 映射引擎: 接入中间件、命令执行、组合键处理与 UI 同步变更,并同步更新相关单元测试。

修复

  • 仓库忽略规则: 修正误排除 Services/Win32 下源的 .gitignore,确保 Win32InputStructs.cs 等互操作代码进入 CI 构建。
  • 测试: 修正 mock/服务命名空间(ISettingsService、IWin32Service),并补充新模拟、映射与服务行为的测试覆盖。

Full Changelog: v2.1.3...v2.1.4

v2.1.3

Choose a tag to compare

@github-actions github-actions released this 10 Apr 03:23
8c0a89b

Changelog v2.1.3 - 2026-04-10

Added

  • Persistent Update Results: The updater now records a structured result (update-last-result.json) upon completion, enabling the application to detect both successful and failed update attempts.
  • Update Failure Notifications: Implemented a persistent notification system for update failures. If an update fails after the application shuts down, the user will now see a "Try Again" corner toast on the next manual launch.
  • Unified Notification Service: Introduced IUpdateNotificationService to centralize the lifecycle of update-related feedback, replacing the previous success-only implementation.
  • Debug UI Testing: Added hidden developer flags (--debug-update-success, --debug-update-failed) available in debug builds to verify corner toast UI without performing a real installation.
  • Enhanced Command-Line Parsing: Robustified argument detection for the --updated flag to support various shell-escaped formats.

Changed

  • UI Lifecycle Optimization: Refactored UpdateViewModel to remove active background polling for status files. The application now uses a more efficient check-once-on-startup model for pending toasts.

更新日志 v2.1.3 - 2026-04-10

新增

  • 持久化更新结果: 更新器现在会在完成后记录结构化结果文件 (update-last-result.json),使主程序能够准确识别更新成功或失败的具体状态。
  • 更新失败通知: 实现了针对更新失败的持久化提醒机制。如果更新在程序关闭后失败,用户在下次手动启动时将看到“请重试”的角标提示。
  • 统一通知服务: 引入 IUpdateNotificationService 统一管理更新相关的反馈生命周期,取代了原有的仅限成功提示的实现。
  • 调试 UI 测试支持: 在调试版本中增加了隐藏的开发者指令 (--debug-update-success, --debug-update-failed),无需真实安装即可验证通知 UI 的显示效果。
  • 增强型命令行解析: 加固了对 --updated 参数检测逻辑,兼容各种 shell 转义格式。

更改

  • 界面生命周期优化: 重构了 UpdateViewModel,移除了对状态文件的后台主动轮询。主程序现在采用更高效的“启动时单次检查”模式来处理待显示通知。

Full Changelog: v2.1.3-beta...v2.1.3

v2.1.1

Choose a tag to compare

@github-actions github-actions released this 08 Apr 13:27

Changelog v2.1.1 - 2026-04-08

Added

  • Trusted update quota architecture: Introduced IUpdateQuotaPolicyProvider + UpdateQuotaPolicy with a default StaticUpdateQuotaPolicyProvider so runtime limits are controlled by a policy layer rather than user-editable settings.
  • Cached latest-version fallback model: Added structured cache contracts (IUpdateVersionCacheService, CachedUpdateVersionInfo) and persisted latest successful release metadata under Updates/.
  • Trusted UTC source abstraction: Added ITrustedUtcTimeService / TrustedUtcTimeService to support network-backed UTC with local monotonic fallback for quota decisions.

Changed

  • Asset resolution hardening: Enforced whitelist matching for update packages (-fx / -single) and removed first-zip fallback to prevent selecting wrong assets when release attachments change order.
  • Update failure messaging: Unified update status-message composition so API/network error messages can also include the latest cached successful version hint.
  • Version display normalization: Current version display now strips build metadata (+...) while preserving pre-release labels (-alpha, -beta, -rc) to avoid user confusion.
  • Quota ownership migration: Runtime quota values are now policy-driven; legacy AppSettings quota fields remain for compatibility but are marked obsolete/ignored at runtime.
  • Localization: Localized cached-version fallback hint in both English and Chinese resources.

Fixed

  • Cache persistence guard: Latest-version cache is only written on successful release resolution; failed checks (timeout/network/API errors) no longer overwrite cache state.
  • Time rollback resilience: Quota state now enforces monotonic observed time to reduce bypass attempts via local clock rollback.

更新日志 v2.1.1 - 2026-04-08

新增

  • 更新配额策略架构: 引入 IUpdateQuotaPolicyProvider + UpdateQuotaPolicy,并提供默认实现 StaticUpdateQuotaPolicyProvider,使运行时限额由策略层统一控制,而不是由可编辑本地设置直接决定。
  • 最新版本缓存模型: 新增结构化缓存契约(IUpdateVersionCacheService、CachedUpdateVersionInfo),将最近一次成功检查到的版本信息持久化到 Updates/。
  • 可信 UTC 抽象: 新增 ITrustedUtcTimeService / TrustedUtcTimeService,支持网络 UTC 与本地单调时间回退,用于配额判定。

更改

  • 更新包解析加固: 对安装包实施白名单匹配(仅 -fx / -single),移除“取第一个 zip”的兜底,避免发布附件顺序变化导致误选资产。
  • 更新失败提示统一: 统一状态文案构建流程,使 API/网络错误场景也可附带“上次成功检查版本”的缓存提示。
  • 版本显示规范化: 当前版本显示仅移除构建元数据(+...),保留预发布标识(-alpha、-beta、-rc),减少用户理解歧义。
  • 配额控制权迁移: 运行时配额改为策略驱动;AppSettings 中旧配额字段仅保留兼容用途,已标记为过时且运行时忽略。
  • 本地化: 为缓存回退提示补充英文与中文资源文本。

修复

  • 缓存写入保护: 仅在成功解析 release 时写入最新版本缓存;超时/网络/API 错误不再污染缓存状态。
  • 时间回拨防护: 配额状态增加单调时间约束,降低通过本地回拨系统时间绕过限制的可能性。

Full Changelog: v2.1.0...v2.1.1

v2.1.0

Choose a tag to compare

@github-actions github-actions released this 07 Apr 10:40

Changelog v2.1.0 - 2026-04-07

Added

  • No new features in stable cut: v2.1.0 primarily promotes the v2.1.0-beta update system to stable without introducing additional user-facing features.

Fixed

  • Installer hardening: Improved installer execution safeguards for edge environments (permissions/path/process handoff) to reduce failed handoff cases during update.
  • Update UX reliability: Refined status/progress transitions and error fallback messages for clearer outcomes when update resolution or download fails.

Changed

  • Release promotion: Promoted the pre-release update pipeline from v2.1.0-beta to stable v2.1.0.
  • Version bump: Confirmed project version as 2.1.0 in release artifacts.

更新日志 v2.1.0 - 2026-04-07

新增

  • 稳定版未新增功能: v2.1.0 主要将 v2.1.0-beta 的更新系统提升为稳定版,未引入额外的用户可见新功能。

修复

  • 安装器稳健性: 针对权限/路径/进程交接等边界环境增强安装执行保护,降低更新交接失败概率。
  • 更新体验可靠性: 优化状态与进度切换及错误回退文案,使解析或下载失败时结果反馈更清晰。

更改

  • 正式版发布: 将 v2.1.0-beta 的预发布更新链路发布为稳定版 v2.1.0。
  • 版本确认: 在发布产物中确认项目版本为 2.1.0。

Full Changelog: v2.1.0-beta...v2.1.0

v2.0.0

Choose a tag to compare

@github-actions github-actions released this 06 Apr 19:53

Changelog v2.0.0 - 2026-04-07

Added

  • Advanced Input Actions: Added richer action support for profile mappings, including keyboard actions and radial-menu driven actions.
  • Template Validation: Added stronger template validation to catch malformed mapping definitions earlier.
  • Roco Kingdom Radial Templates: Added and refined radial menu templates for Roco Kingdom world and fight scenarios.

Fixed

  • Radial Menu Input Routing: Improved filtering and conflict handling between radial menu activation and standard mappings.
  • Radial HUD Stability: Fixed edge cases in radial menu rendering/layout transitions across templates.

Changed

  • Release Promotion: Promoted the 2.0 feature set from pre-release (2.0.0-alpha / 2.0.0-beta) to stable 2.0.0.
  • Version Bump: Updated project version to 2.0.0.

更新日志 v2.0.0 - 2026-04-07

新增

  • 高级输入动作: 为映射配置增加了更丰富的动作能力,包括键盘动作与基于轮盘菜单的动作。
  • 模板校验: 增强了模板校验逻辑,可更早发现不合法的映射定义。
  • 洛克王国轮盘模板: 为洛克王国探索与战斗场景新增并完善了轮盘菜单模板。

修复

  • 轮盘输入路由: 改进了轮盘激活与常规映射之间的输入过滤和冲突处理。
  • 轮盘 HUD 稳定性: 修复了模板切换过程中轮盘渲染与布局的边界问题。

更改

  • 正式版发布: 将 2.0.0-alpha / 2.0.0-beta 的预发布能力整合并发布为稳定版 2.0.0。
  • 版本更新: 将项目版本更新至 2.0.0。

Full Changelog: v2.0.0-beta...v2.0.0

v1.4.3

Choose a tag to compare

@github-actions github-actions released this 02 Apr 19:36

Changelog v1.4.3 — 2026-04-03

Added

  • Roco exploration template: RT + D-pad left/right → mouse wheel up/down; LB + RB → hold/release left mouse button (map/UI drag with right stick).
  • Roco exploration template: LT + D-pad Up → reveal mouse (LeftAlt).
  • Roco battle template: RB alone → left click; RB + D-pad (up/right/down/left) → keys 1–4; D-pad up/down → item cycle across slots 1–5.

Changed

  • Roco battle template: slot selection layout updated; bindings and copy aligned with skill slots (1–5 cycle + RB shortcuts).
  • Roco exploration: updated LeftShoulder + X to map to Q for star magic action (previously M for map).
  • Bumped app version to 1.4.3.

Note

  • Battle template no longer maps solo D-pad left/right to direct keys; slot 5 is reached via up/down cycling only.

更新日志 v1.4.3 — 2026-04-03

添加

  • Roco 探索模板:RT + 方向键左/右 → 鼠标滚轮上/下;LB + RB → 按住/释放鼠标左键(使用右摇杆进行地图/用户界面拖动)。
  • Roco 探索模板:LT + 方向键上 → 显示鼠标。
  • Roco 战斗模板:仅使用 RB 键 → 左键点击;RB 键 + 方向键(上/右/下/左)→ 对应 1-4 键;方向键上/下 → 在 1-5 个槽位间循环切换物品。

更改

  • Roco 战斗模板:槽位选择布局已更新;绑定和复制已与技能槽位对齐(1-5 循环+RB 快捷键)。
  • Roco 探索:更新 LeftShoulder + X 映射至 Q 以执行星星魔法操作(原为 M 打开地图)。
  • 将应用程序版本更新至 1.4.3。

备注

  • 战斗模板不再将单独的 D-pad 左/右映射到方向键;第 5 槽位只能通过上/下循环切换到达。

Full Changelog: v1.4.2...v1.4.3