Release candidate 4.6.7 - #2824
Open
lemire wants to merge 4 commits into
Open
Conversation
Brings the 4.6.x branch's GitHub Actions up to date with master: refreshed action versions, the VS 2022 (vs17) jobs replaced by VS 2026 (vs18), and the new freebsd, gcc16 and ubuntu24-clang20 workflows. The gcc16 autodetection job is omitted: it exercises the static reflection support that only exists on master.
…#2820) When number_as_string is enabled, visit_number copied a big integer's digit run to the string buffer without checking the character that follows, so malformed tokens like "123456789123456789123x" were silently accepted. parse_number applies this check to numbers that fit in 64 bits, but the big-integer path returns before reaching it. Add the same is_not_structural_or_whitespace check, plus a regression test covering object, negative and root-level trailing garbage. Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> (cherry picked from commit 07b3254)
* fix just_ascii errors in test/benchmark sources * make just_ascii test run in CI (cherry picked from commit 8955c2c)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release candidate for the 4.6.7 patch release, branched from
v4.6.6. Opened so that CI runs before the release is tagged.Contents
2acb85a2ci: sync workflows with master9f2952b357f4522ccdeb069ajust_asciitest (cherry-pick of #2661)1. CI modernization
.github/is byte-for-byte identical tomaster, with one deliberate exception. Refreshed action versions, the VS 2022 (vs17-*) jobs replaced by VS 2026 (vs18-*), and the newfreebsd,gcc16andubuntu24-clang20workflows.The exception is
gcc16.yml: itsautodetectionjob was dropped because it compilestests/reflection_autodetect_tests.cppand setsSIMDJSON_STATIC_REFLECTION_MODE, neither of which exists on 4.6.x — static reflection is a master-only feature. Thebuildjob is kept, so gcc 16 still builds and runs the full suite.Two other master-only options survive as inert
-Dflags (SIMDJSON_ENABLE_NAN_INFinmacos.yml,SIMDJSON_ENABLE_MEMORY_FILE_MAPPING_ON_WINDOWSinvs18-ci.yml). CMake only warns about unused variables, so those jobs pass; they simply do not exercise features this branch does not have.2. The bug fix (#2820)
Straight cherry-pick. The only conflict was cosmetic: master renamed the
visit_numberparametervaluetonum, so the hunk was reapplied againstvalue. The fix itself is unchanged:As on master,
visit_root_numberdelegates tovisit_number, so the root-level case is covered by the same check. The accompanyingrejects_trailing_garbageregression test applied cleanly.3. Version bump
include/simdjson/simdjson_version.h,CMakeLists.txtandDoxyfilemoved to 4.6.7. Being a patch release,SIMDJSON_LIB_SOVERSIONstays at33. The amalgamation was regenerated withsingleheader/amalgamate.py, refreshingsimdjson.h,simdjson.cppandsingleheader.zip.4.
just_asciiThis test was already red at
v4.6.6—tests/fractured_json_tests.cpp,tests/dom/big_integer_tests.cppandtests/builder/static_reflection_edge_cases_tests.cppcontain non-ASCII characters. Master fixed it in #2661, which never reached 4.6.x, so that commit is cherry-picked here to keep the RC's CI signal clean. It touches only tests,benchmark/partial_tweets/tweet.hand the CMake test definition — noinclude/orsrc/changes, so the shipped library and the amalgamation are unaffected.Verification
Configured with
-DSIMDJSON_DEVELOPER_MODE=ONon macOS/arm64: 109/109 tests pass. The regenerated single header compiles and runs the amalgamation demo againsttwitter.jsonandamazon_cellphones.ndjson.Note on CI coverage
31 workflows run on this branch. The 13 cross-architecture ones —
aarch64,ppc64,s390x,riscv64, the fivervv-*,freebsd,gcc16,fuzzersandubuntu24-checkperf— are gated onbranches: [master]and therefore do not run here. If that coverage is wanted before tagging, theirpush:branch filters need to name this branch temporarily.