Vix.cpp v2.1.8
Vix.cpp v2.1.8 is a cross-platform build stability release.
This release fixes a macOS build failure caused by usage of an internal spdlog header, improves logging module portability, and finalizes build consistency across Linux, macOS, and Windows.
The focus of this release is portability. Vix should rely on stable public APIs from dependencies, not internal headers whose availability may change between versions or package environments.
spdlog compatibility fix
The main fix in Vix.cpp v2.1.8 is replacing usage of:
#include <spdlog/fmt/ostr.h>with:
#include <fmt/ostream.h>The previous include relied on an internal spdlog header path. That worked in some environments but failed on macOS with newer spdlog and fmt versions.
Vix.cpp v2.1.8 moves the logging code to the official fmt API, which is a cleaner and more portable integration path.
Logging module portability
This release improves the portability of the logging module by removing reliance on spdlog internal headers.
That matters because internal dependency headers are not stable API contracts. They can change depending on package version, platform, package manager, or build configuration.
By using the official fmt header instead, Vix makes the logging module easier to build and maintain across environments.
macOS build stability
Vix.cpp v2.1.8 addresses the remaining macOS build issues exposed after the previous CI dependency fixes. The result is a more stable build path for macOS developers and CI environments. This is especially important because macOS package managers and dependency layouts can differ significantly from Linux and Windows setups.
Cross-platform consistency
This release improves overall build consistency across all supported platforms. Linux, macOS, and Windows builds now share a more reliable logging dependency path. The goal is simple: the same Vix source tree should build successfully across supported targets without platform-specific surprises caused by dependency internals.
Highlights
- Fixed macOS build failure caused by
spdloginternal header usage. - Replaced
spdlog/fmt/ostr.hwithfmt/ostream.h. - Aligned logging code with the official
fmtAPI. - Removed reliance on
spdloginternal headers. - Improved logging module portability.
- Addressed remaining macOS build issues.
- Improved build consistency across Linux, macOS, and Windows.
- Finalized cross-platform build stability after CI dependency fixes.
Compatibility
Vix.cpp v2.1.8 introduces no breaking changes.
Existing projects remain compatible.
The main difference is internal dependency portability: the logging module now uses the official fmt API instead of relying on an internal spdlog header.
Projects should benefit from more stable builds, especially on macOS environments with newer spdlog and fmt packages.
Notes
Vix.cpp v2.1.7 fixed CI dependency issues but exposed a compatibility issue with spdlog on macOS.
Vix.cpp v2.1.8 resolves that issue and stabilizes the logging dependency path across supported platforms.
This release is small, but it is important because dependency portability is part of runtime reliability. A C++ ecosystem must build cleanly across environments before higher-level developer workflows can be trusted.