Note: This library is currently under heavy development.
We will not accept unrelated PRs until this transition is complete. If you have any idea for supporting the migration process, please contact us by posting a comment on this issue.
History: https://lists.boost.org/archives/list/boost@lists.boost.org/thread/K3EQLEQJHEUBROB6ODUKTZHFP2FDUS2E/?sort=date
X4 Release Plan
Estimated release date: Q2 2026
We will officially release X4 when all of the following conditions are satisfied. This list is provided as-is, and may change in the future.
- The policy and the status quo of the development is fully described in our new README.
- All the essential long-standing bugs and unimplemented features from the X3 era is resolved.
- No controversial semantic ambiguities remain in both the codebase and the new documentation.
- All public customization point shall be placed inside
namespace extension, or each one should be clarified (by code comments) whether it is allowed to specialize.
- Basic documentation is available to help beginners learn and use X4 in a new application.
- We are intentionally not aiming for comprehensive documentation in the initial release; the effort would be impractical.
- X4 has zero Boost dependencies, i.e., we successfully replace Boost.Variant, Boost.Fusion, and Boost.Endian.
After the above conditions are met, I will contact the core member of the Boost Organization, then our repository boostorg/spirit_x4 will be added to the boostorg/boost superproject.
Dependency PRs
Transition / Deprecation PRs
Core Feature / Core Optimization PRs
Debugging PRs
- Make
get_info::operator() static
- Improve debug print for
char32_t
- Add NatVis support
QoL PRs
Documentation / Semantic Clarification PRs
Note: This library is currently under heavy development.
We will not accept unrelated PRs until this transition is complete. If you have any idea for supporting the migration process, please contact us by posting a comment on this issue.
History: https://lists.boost.org/archives/list/boost@lists.boost.org/thread/K3EQLEQJHEUBROB6ODUKTZHFP2FDUS2E/?sort=date
X4 Release Plan
Estimated release date: Q2 2026
We will officially release X4 when all of the following conditions are satisfied. This list is provided as-is, and may change in the future.
namespace extension, or each one should be clarified (by code comments) whether it is allowed to specialize.After the above conditions are met, I will contact the core member of the Boost Organization, then our repository
boostorg/spirit_x4will be added to theboostorg/boostsuperproject.Dependency PRs
config.hpptoplevel #34boost::fusion-- @yaito3014 is working on the forkboost::variant-- We (@saki7 and @yaito3014) have finished implementing the standalone implementation on spring-summer 2025, repo at yaito3014/rvariant; pending PR.boost::endiandependency -- Remove binary parser #74Transition / Deprecation PRs
has_attribute#66alternative#50alternative#56confix_directive#61_pass(ctx), return bool directly from semantic action #68_wherecontext #72*_valcontexts to*_var#75listtodelimited_listCore Feature / Core Optimization PRs
RContext#37rcontextonly when required #57contextto make it capable of holding both lvalue/rvalue #42as<T>(...)directive #53#includeas.hpp in global header #69x4::with_local<T>[...]andx4::with_local<T, ID>[...]#73Debugging PRs
get_info::operator()staticresult_typechar32_tQoL PRs
x4::scope #44x4::attr(...)capable of holdingconstexprstring #58[[maybe_unused]]to all inline variables #70traits::andextension::, reconsider naming of concepts.clang-tidycppwarningnotifier[bot]Documentation / Semantic Clarification PRs