Skip to content

Conversation

@BrewTestBot
Copy link
Member

Created by brew bump


Created with brew bump-formula-pr.

release notes
## Version 4.0.0 is a major new release

Version 4.0.0 is a major release introducing many new features. It is a wide-ranging community effort.

Builder API

We introduce a builder API that allows users to convert their data structures to JSON strings. In simple cases, you can use code as straightforward as:

std::vector<std::vector<double>> c = {{1.0, 2.0}, {3.0, 4.0}};
std::string json = simdjson::to_json(c);

Please refer to our documentation for more details.

Experimental support for C++26 static reflection

Mainstreaming compilers do not yet support C++26. You can activate support for C++26 static reflection with the SIMDJSON_STATIC_REFLECTION=ON option in CMake (or setting the macro SIMDJSON_STATIC_REFLECTION to 1). We make it easy to build and run simdjson software using docker containers, see our documentation.

https://github.com/simdjson/simdjson/blob/master/p2996/README.md

Static reflection enables parsing or serializing custom classes. For example:

struct Car {
    std::string make;
    std::string model;
    int64_t year;
    std::vector<double> tire_pressure;
};
void f() {
    Car c = {"Toyota", "Corolla", 2017, {30.0, 30.2, 30.513, 30.79}};
    std::string json = simdjson::to_json(c);
}

Or:

struct Car {
    std::string make;
    std::string model;
    int year;
    std::vector<float> tire_pressure;
};
std::string json = R"( { \"make\": \"Toyota\", \"model\": \"Camry\", \"year\": 2018,
       \"tire_pressure\": [ 40.1, 39.9 ] } )";
simdjson::ondemand::parser parser;
simdjson::ondemand::document doc = parser.iterate(simdjson::pad(json));
Car c = doc.get<Car>();

Shortcut for parsing

With simdjson::from, you can quickly deserialize a JSON string:

Car car = simdjson::from(json);
for (auto val : simdjson::from(json).array()) {
    Car c = val.get<Car>();
}

We have also added a thread-local parser, accessible via simdjson::ondemand::parser::get_parser().

Please review to the On-Demand documentation.

Corrections made

  1. Corrected “AP” to “API” in the builder API link.
  2. Corrected “deseriallization” to “deserialization” (fixed double “l”).
  3. Ensured consistent formatting and clarity in code examples and text.

What's Changed (details)

New Contributors

Full Changelog: simdjson/simdjson@v3.13.0...v4.0.0

View the full release notes at https://github.com/simdjson/simdjson/releases/tag/v4.0.0.


@github-actions github-actions bot added bump-formula-pr PR was created using `brew bump-formula-pr` long build Set a long timeout for formula testing long dependent tests Set a long timeout for dependent testing labels Sep 12, 2025
@github-actions github-actions bot added the autosquash Automatically squash pull request commits according to Homebrew style. label Sep 14, 2025
@github-actions github-actions bot removed the autosquash Automatically squash pull request commits according to Homebrew style. label Sep 14, 2025
Signed-off-by: Rui Chen <rui@chenrui.dev>
Signed-off-by: Rui Chen <rui@chenrui.dev>
Signed-off-by: Rui Chen <rui@chenrui.dev>
Signed-off-by: Rui Chen <rui@chenrui.dev>
@ZhongRuoyu ZhongRuoyu mentioned this pull request Sep 14, 2025
@ZhongRuoyu ZhongRuoyu changed the title simdjson 4.0.0 simdjson 4.0.1 Sep 14, 2025
@ZhongRuoyu
Copy link
Member

Needs nodejs/node#59883.

@fxcoudert fxcoudert mentioned this pull request Sep 15, 2025
@github-actions
Copy link
Contributor

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. To keep this pull request open, add a help wanted or in progress label.

@github-actions github-actions bot added the stale No recent activity label Sep 16, 2025
@dtrodrigues dtrodrigues added the superseded PR was replaced by another PR label Sep 17, 2025
@dtrodrigues
Copy link
Member

superseded by #243485

@github-actions github-actions bot deleted the bump-simdjson-4.0.0 branch September 17, 2025 01:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bump-formula-pr PR was created using `brew bump-formula-pr` long build Set a long timeout for formula testing long dependent tests Set a long timeout for dependent testing stale No recent activity superseded PR was replaced by another PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants