0.11.0
Version 0.11.0
Changelog
- Added
mbo::testing::IsElementOf(container)— element-on-the-left orientation of gmock'sContains. Iterates with rawoperator==(with astd::paircomponent-wise fallback) so heterogeneous subject types (string literals,std::string_view, etc.) compile without caller-side conversion, on both libc++ and libstdc++. - Added
mbo::testing::IsKeyOf(map)— convenience matcher for "is this value among the keys of the map?". Failure messages report"is a key of {…}". - Added
mbo::testing::IsValueOf(map)— parallel toIsKeyOffor mapped values. Failure messages report"is a value of {…}". - Bumped Bazel to 9.1.1 (
.bazelversion). - Updated module dependencies:
bazel_skylib1.8.2 → 1.9.0,platforms1.0.0 → 1.1.0,rules_cc0.2.14 → 0.2.19,rules_shell0.6.1 → 0.8.0,re22025-11-05 → 2025-11-05.bcr.1,googletest1.17.0 → 1.17.0.bcr.2,google_benchmark1.9.4 → 1.9.5,helly25_bashtest0.1.0 → 0.3.0,toolchains_llvm1.5.0 → 1.7.0,depend_on_what_you_use0.7.0 → 0.16.0, and thehedron_compile_commandspin. helly25_bashtest0.3.0 loads thesh_*rules from@rules_shelldirectly, so Bazel 9 (which no longer autoloads the legacy nativesh_*rules) needs no--incompatible_autoload_externallyworkaround.- Bumped
abseil-cpp20250814.1 → 20250814.2. Held at the 20250814 series because newer Abseil (20260107+) deprecates theabsl::MutexLock(Mutex*)constructor thatre22025-11-05 still uses, which fails under--cxxopt=-Werror. - Bumped the pinned LLVM toolchain 17.0.4 → 20.1.8. LLVM 17.0.4's bundled linker segfaults against the macOS 26 SDK when building tools in the exec configuration (e.g.
//mbo/diff:diff, which_diff_testbuilds withcfg=exec); 20.1.x links cleanly and compiles the tree without new-Werrorwarnings. - Migrated the
_diff_testis_windowsselect off the deprecated@bazel_tools//src/conditions:host_windowsto@platforms//os:windows. - Fixed compilation under clang 21 (e.g. Apple clang on macOS 26): its tightened constexpr rules reject placement-
construct_atinto a const-qualified object, sostruct_names_clang.handlimited_vector.hnow store the non-const value type.
For Bazel MODULES.bazel
bazel_dep(name = "helly25_mbo", version = "0.11.0")Using the provided LLVM
Copy llvm.MODULE.bazel to your repository's root directory and add the following line to your MODULES.bazel file or paste the whole contents into it.
include("//:llvm.MODULE.bazel")Using the provided development modules
Copy dev.MODULE.bazel to your repository's root directory and add the following line to your MODULES.bazel file or paste the whole contents into it. It provides the dev-only Hedron compile-commands extractor (generates compile_commands.json for clangd) and depend_on_what_you_use.
include("//:dev.MODULE.bazel")What's Changed
- Drop GCC 12 testing. by @helly25 in #179
- chore: track trunk meta-linter config by @helly25 in #180
- feat(testing): add IsElementOf / IsKeyOf / IsValueOf matchers by @helly25 in #181
- ci: Node 24 actions + tighten trunk vs pre-commit lint ownership by @helly25 in #182
- ci: harden
donejob into a real aggregating gate by @helly25 in #184 - chore(deps): Bazel 9.1.1 toolchain + module updates by @helly25 in #185
- Fix CI
donegate and make decompose_count clang-format-stable by @helly25 in #186 - Remove remaining WORKSPACE support; enforce done-gate job coverage by @helly25 in #187
- ci: add self-check to
donegate by @helly25 in #189 - Verify macOS clang+asan via toolchains_llvm #767 (@loader_path rpath fix) by @helly25 in #188
- feat(testing): allow StatusIs() to accept a status-code matcher by @helly25 in #190
- ci: auto-publish releases to the BCR via reusable workflow by @helly25 in #191
- ci(bcr): test on macos_arm64 and add Bazel 9.x by @helly25 in #192
Full Changelog: 0.10.0...0.11.0