This change releases Drafter 5.1 (Drafter, the API Blueprint Parser written in C/C++). This release contains existing bug fixes that had been merged a few years back and never got released. Along with numerous changes for CI to currently pass, and for the project to build in modern systems, and Node JS 16.
Both Catch (test library dev dependency) and Boost are upgraded. Boost is vendored in, this is done in its own commit to make review easier as it is a "large" change to boost source. Catch2 older version no longer allows project to be built on current compilers and faced similar issue.
NodeJS <16 is no longer supported. This brings security risk in the sense that security fixes will no longer be made.
The main branch no longer compiles passes on CI, this brings overhead to making other changes.
The project does not compile on modern compilers (like Xcode/macOS toolchain).
Criticality:
Medium
Blast radius:
Low - No change to API or ABI Compatibility. Unexpected to change any minimum compiler requirements of the project.
Expected outcome:
Not a lot changes.
Potential impact and visibility:
No expected impact.
Test results:
All existing test coverage passes (unit, integration).
Memory leak tests in Valgrind pass
macOS / Linux compatibility tests pass
GCC / Clang compatibility tests pass
GYP compatibility passes (and tested in downstream Protagonist)
I am unable to test the project still builds on windows. Appveyor (our windows CI) doesn't seem to be anything that's still being paid for. It's unlikely that Windows incompatibilities have arisen given only functional change is to boost (which they should have sufficient tests for).
What:
This change releases Drafter 5.1 (Drafter, the API Blueprint Parser written in C/C++). This release contains existing bug fixes that had been merged a few years back and never got released. Along with numerous changes for CI to currently pass, and for the project to build in modern systems, and Node JS 16.
Both Catch (test library dev dependency) and Boost are upgraded. Boost is vendored in, this is done in its own commit to make review easier as it is a "large" change to boost source. Catch2 older version no longer allows project to be built on current compilers and faced similar issue.
Why:
Overall, fighting bit rot.
Criticality:
Medium
Blast radius:
Low - No change to API or ABI Compatibility. Unexpected to change any minimum compiler requirements of the project.
Expected outcome:
Not a lot changes.
Potential impact and visibility:
No expected impact.
Test results:
All existing test coverage passes (unit, integration).
I am unable to test the project still builds on windows. Appveyor (our windows CI) doesn't seem to be anything that's still being paid for. It's unlikely that Windows incompatibilities have arisen given only functional change is to boost (which they should have sufficient tests for).