Repository navigation
New features
- #7742: Support Clang reduced-BMI compilation
- #7791: Add
xmake test --output-on-failure - #7854: Add Inno Setup packaging and
set_displayiconsupport - #7758: Support custom downloaders and improve aria2 reliability
- #7792: Support
configs.configdirsforpkgconfig::packages - #7799: Support
VERSION_PRERELEASEand semverVERSION_BUILDin config files - #7808: Support C++23 with nvcc
- #7766: Add raddbg support on Linux
- #7743: Expose more native Lua functions through
lib.lua.* - #7752: Support Unicode escapes in the pure Lua JSON decoder
Changes
- #7852: Suppress unused-argument warnings for clang-cl
- #7855: Update MATLAB version detection through R2026b
- #7767: Warn when cached project settings shadow a local project
- #7780: Remove built-in Gitee and GitCode mirrors
- #7860: Add standalone addon distribution examples
- #7800: Improve
isnaninvalid-input tests - Update the bundled tbox
- Update Ubuntu PPA targets and NetBSD CI dependencies
- Update PowerShell installer and RPM version metadata
- Add repository development conventions in
AGENTS.md
Bugs fixed
- #7750: Fix Clang modules and compilation databases with MSVC environments
- #7770: Preserve MSVC system includes in clangd compilation databases
- #7849: Remove unused include flags when compiling Clang PCMs to objects
- #7788: Fix C++ module caches across build modes and project generation
- #7815: Fix clang-cl PCH dependency tracking
- #7819: Disable compiler caching for MSVC PCH creation
- #7798: Avoid unnecessary static re-archiving and stale merged archive members
- #7820: Prevent repository updates from resetting user projects and recover interrupted clones
- #7776: Fix recognition of locally installed addons
- #7809: Fix local-repository paths when installing and upgrading addons
- #7821: Activate the required version of installed addons
- #7761: Preserve usable MSVC environments when toolset detection fails
- #7813: Fix Ascend C toolchain detection and unchecked SDK loading
- #7853: Fix
gxx/gcctool and flag matching - #7763: Enable C++ exceptions by default for clang-cl packages
- #7779: Include compiler runtime paths during Windows and MinGW package installation
- #7782: Fix MIDL detection when cross-compiling to ARM64
- #7772: Fix Qt debug library names on HarmonyOS
- #7789: Fix Homebrew package discovery for
latestversions - #7760: Fix quoted flags and Windows paths in the Conan generator
- #7857: Pass selected toolchains to Make-based package builds
- #7803: Fix incorrect
vs_runtimedeprecation warnings - #7749: Rebuild Verilator outputs when tools or flags change
- #7757: Fix version comparison and validation in
set_xmakever - #7765: Detect numeric and boolean dependency changes
- #7816: Fix escaped dollar signs in GCC dependency files
- #7753: Fix square-bracket escaping in
path.pattern - #7801: Fix hashset equality with nil members
- #7810: Fix heap ordering after non-root removal
- #7811: Return removed values from list
popandshift - #7812: Preserve isolated vertices in graph cloning and reversal
- #7825: Fix weighted Levenshtein distances for empty strings
- #7827: Fix recursive deep cloning with
table.clone(value, -1)
新特性
- #7742: 支持 Clang reduced BMI 编译
- #7791: 添加
xmake test --output-on-failure - #7854: 添加 Inno Setup 打包和
set_displayicon支持 - #7758: 支持自定义下载工具,改进 aria2 下载
- #7792: 支持为
pkgconfig::包设置configs.configdirs - #7799: 支持配置文件中的
VERSION_PRERELEASE和语义版本VERSION_BUILD - #7808: 支持 nvcc 的 C++23 标准配置
- #7766: 添加 Linux 平台的 raddbg 支持
- #7743: 通过
lib.lua.*提供更多原生 Lua 函数 - #7752: 支持纯 Lua JSON 解码器的 Unicode 转义
改进
- #7852: 抑制 clang-cl 的未使用参数警告
- #7855: 更新 MATLAB 版本检测,支持到 R2026b
- #7767: 提示缓存配置覆盖当前目录工程的情况
- #7780: 移除内置 Gitee 和 GitCode 镜像
- #7860: 添加独立的 addon 分发示例
- #7800: 完善
isnan非法输入测试 - 更新内置 tbox
- 更新 Ubuntu PPA 目标和 NetBSD CI 依赖
- 更新 PowerShell 安装脚本和 RPM 版本信息
- 添加
AGENTS.md开发规范
Bug 修复
- #7750: 修复 MSVC 环境下的 Clang 模块和编译数据库
- #7770: 保留 clangd 编译数据库中的 MSVC 系统头文件配置
- #7849: 移除 Clang PCM 编译为对象文件时的无用 include 参数
- #7788: 修复跨构建模式及工程生成时的 C++ 模块缓存
- #7815: 修复 clang-cl PCH 依赖跟踪
- #7819: 禁用 MSVC PCH 创建步骤的编译缓存
- #7798: 避免静态库无效重归档及合并归档残留旧成员
- #7820: 防止仓库更新误重置用户工程,并处理克隆中断残留
- #7776: 修复本地安装 addon 的识别
- #7809: 修复安装、升级 addon 时的本地仓库路径
- #7821: 激活已安装 addon 中工程要求的版本
- #7761: 工具集探测失败时保留可用的 MSVC 环境
- #7813: 修复 Ascend C 工具链探测及未确认 SDK 的加载
- #7853: 修复
gxx/gcc工具和参数匹配 - #7763: 为 clang-cl 包默认启用 C++ 异常
- #7779: 安装 Windows、MinGW 包时添加编译器运行库路径
- #7782: 修复交叉编译到 ARM64 时的 MIDL 检测
- #7772: 修复 HarmonyOS 上的 Qt debug 库名
- #7789: 修复 Homebrew 包
latest版本的查找 - #7760: 修复 Conan 生成器中的引号参数和 Windows 路径
- #7857: 向 Make 包构建传递所选工具链
- #7803: 修复误报的
vs_runtime弃用警告 - #7749: Verilator 工具或参数变化时重新生成输出
- #7757: 修复
set_xmakever的版本比较和校验 - #7765: 检测数值和布尔依赖值的变化
- #7816: 修复 GCC 依赖文件中的美元符号转义
- #7753: 修复
path.pattern的方括号转义 - #7801: 修复含 nil 成员的 hashset 相等判断
- #7810: 修复移除非根元素后的堆排序
- #7811: 让 list 的
pop、shift返回移除值 - #7812: 克隆、反转图时保留孤立顶点
- #7825: 修复空字符串的加权 Levenshtein 距离
- #7827: 修复
table.clone(value, -1)深拷贝
What's Changed
- add more lua native modules by @waruqi in #7743
- fix C++ modules scanning and compile_commands for Clang with MSVC environment by @damster101 in #7750
- Support Clang 23
--precompile-reduced-bmipipeline by @ryblust in #7742 - support unicode escapes in the pure lua json decoder by @zjncs in #7752
- escape brackets in path.pattern by @zjncs in #7753
- fix(verilator): Add verilator arguments as depvalues by @24bit-xjkp in #7749
- Fix quoted flags in the Conan generator by @Hanabi9248 in #7760
- fix: enable exceptions for clang-cl by default by @ShrBox in #7763
- add downloader option for download tasks and do not use aria2 UserAgent by @luadebug in #7758
- Add raddbg as Linux debugger by @ArnavMehta3000 in #7766
- check workdir by @waruqi in #7767
- fix(depend): detect changed number and boolean values by @Dev-next-gen in #7765
- Keep the default MSVC environment when a newer toolset is incomplete by @Hanabi9248 in #7761
- Improve xmakever by @waruqi in #7757
- fetch local addon by @waruqi in #7776
- qt: avoid debug suffix for Harmony libraries by @KnightJun in #7772
- remove gitee/gitcode mirror by @waruqi in #7780
- fix midl detection when cross-compiling to arm64 by @space-axel in #7782
- Preserve MSVC system includes in clangd compilation databases by @gabriel-andreescu in #7770
- Add the compiler runtime library directory to $PATH when installing p… by @gycherish in #7779
- feat: add
xmake test --output-on-failureby @space-axel in #7791 - add configdirs for pkgconfig/find_package by @waruqi in #7792
- fix #7786 Failed to find brew::XXX under macOS by @WittonBell in #7789
- Improve module cache for asan by @waruqi in #7788
- parse version_build, version_prerelease in semver by @choyy in #7799
- fix vs_runtime warning by @choyy in #7803
- Include nil members in hashset equality by @skyoyy in #7801
- Fix invalid-input checks in the isnan test by @zqzq0422 in #7800
- fix static deps by @waruqi in #7798
- Fix isolated vertices being dropped by graph clone and reverse by @NUMS-half in #7812
- Return removed items from list pop and shift by @kkxuexihenlan in #7811
- Fix heap ordering after removing a non-root element by @kkxuexihenlan in #7810
- fix addons for repo by @waruqi in #7809
- Skip the compiler cache for MSVC precompiled headers by @gabriel-andreescu in #7819
- Unescape dollar signs in gcc dependency files by @gabriel-andreescu in #7816
- Fix clang-cl PCH dependency tracking by @gabriel-andreescu in #7815
- add --std c++23 mapping to nvcc by @bolu61 in #7808
- Remove
raisefrom ascend c toolchain by @Stehsaer in #7813 - Activate the required version of installed addons by @gabriel-andreescu in #7821
- Fix Levenshtein costs for empty strings by @Hanabi9249 in #7825
- Fix documented deep table cloning by @Hanabi9249 in #7827
- add
-Qunused-argumentsfor clang-cl by @damster101 in #7852 - Xpack: add inno setup support by @choyy in #7854
- update matlab versions by @charlesseizilles in #7855
- fix git pull issues by @waruqi in #7820
- Fix unused include flags when compiling Clang module BMIs by @L-Sun in #7849
- fix(make): pass the toolchain programs if toolchains are specified by @gycherish in #7857
- fix gxx compatibility with gcc in tool detection and flag matching by @damster101 in #7853
- Add addons examples by @waruqi in #7860
New Contributors
- @ryblust made their first contribution in #7742
- @zjncs made their first contribution in #7752
- @Hanabi9248 made their first contribution in #7760
- @ArnavMehta3000 made their first contribution in #7766
- @Dev-next-gen made their first contribution in #7765
- @space-axel made their first contribution in #7782
- @gabriel-andreescu made their first contribution in #7770
- @WittonBell made their first contribution in #7789
- @skyoyy made their first contribution in #7801
- @zqzq0422 made their first contribution in #7800
- @NUMS-half made their first contribution in #7812
- @kkxuexihenlan made their first contribution in #7811
- @bolu61 made their first contribution in #7808
- @Hanabi9249 made their first contribution in #7825
- @L-Sun made their first contribution in #7849
Full Changelog: v3.1.1...v3.1.2