fastports

simdjson 4.6.3

devel/simdjson

Parsing gigabytes of JSON per second

Category
devel
Maintainer
fuz@FreeBSD.org
WWW
https://simdjson.org/ https://github.com/simdjson/simdjson/
License
APACHE20 MIT
USES
cmake:testing compiler:c++17-lang pathfix python:test

Description

JSON is everywhere on the Internet. Servers spend a lot of time parsing it.
The simdjson library uses commonly available SIMD instructions and
microparallel algorithms to parse JSON 2.5 times faster than anything
else out there.

Dependencies

Commit History

may be incomplete — full history at freebsd-ports on GitHub

Commit Credits Log message
4.6.3
76a713750b files touched
Robert Clausecker (fuz)
devel/simdjson: update to 4.6.2
A bug fix release.

Changelog: https://github.com/simdjson/simdjson/releases/tag/v4.6.3

MFH:		no (different soname)
4.6.2
d7ae48e431 files touched
Robert Clausecker (fuz)
devel/simdjson: update to 4.6.2
A bug fix release.

Changelog: https://github.com/simdjson/simdjson/releases/tag/v4.6.2
4.6.1
afb25c67c7 files touched
Robert Clausecker (fuz)
devel/simdjson: update to 4.6.1
Changelog: https://github.com/simdjson/simdjson/releases/tag/v4.6.0
Changelog: https://github.com/simdjson/simdjson/releases/tag/v4.6.1

MFH:		no (soname change)
4.5.0
f6eb22d239 files touched
Robert Clausecker (fuz)
devel/simdjson: update to 4.5.0
- note soname change

Changelog: https://github.com/simdjson/simdjson/releases/tag/v4.5.0
4.4.2
d17d38b457 files touched
Robert Clausecker (fuz)
devel/simdjson: update to 4.4.2
Changelog: https://github.com/simdjson/simdjson/releases/tag/v4.4.1
Changelog: https://github.com/simdjson/simdjson/releases/tag/v4.4.2
4.4.0
89aeb57bcd files touched
Robert Clausecker (fuz)
devel/simdjson: update to 4.4.0
Changelog: https://github.com/simdjson/simdjson/releases/tag/v4.4.0
4.3.1
f9dd1c8207 files touched
Robert Clausecker (fuz)
devel/simdjson: update to 4.3.1
Changelog: https://github.com/simdjson/simdjson/releases/tag/v4.3.1
4.3.0
a4bb526d68 files touched
Robert Clausecker (fuz)
devel/simdjson: update to 4.3.0
Changelog: https://github.com/simdjson/simdjson/releases/tag/v4.3.0
4.2.4
7eb14eaf74 files touched
Robert Clausecker (fuz)
devel/simdjson: update to 4.2.4
Changelog: https://github.com/simdjson/simdjson/releases/tag/v4.2.4
4.2.3
9e687288b0 files touched
Robert Clausecker (fuz)
devel/simdjson: update to 4.2.3
Changelog: https://github.com/simdjson/simdjson/releases/tag/v4.2.3
4.2.2
1d173ac044 files touched
Robert Clausecker (fuz)
devel/simdjson: update to 4.2.2
Changelog: https://github.com/simdjson/simdjson/releases/tag/v4.2.0
Changelog: https://github.com/simdjson/simdjson/releases/tag/v4.2.1
Changelog: https://github.com/simdjson/simdjson/releases/tag/v4.2.2

MFH:		no (soname change)
4.1.0
46243e3ba2 files touched
Robert Clausecker (fuz)
devel/simdjson: update to 4.1.0
Changelog: https://github.com/simdjson/simdjson/releases/tag/v4.1.0

MFH:		no (soname change)
4.0.7
1ee2c5487a files touched
Robert Clausecker (fuz)
devel/simdjson: update to 4.0.7
Changelog: https://github.com/simdjson/simdjson/releases/tag/v4.0.7

MFH:		2025Q4
4.0.6
6222849c0c files touched
Robert Clausecker (fuz)
devel/simdjson: update to 4.0.6
Changelog: https://github.com/simdjson/simdjson/releases/tag/v4.0.6
4.0.5
284a91f920 files touched
Robert Clausecker (fuz)
devel/simdjson: update to 4.0.5
Changelog: https://github.com/simdjson/simdjson/releases/tag/v4.0.5
4.0.3
81aea6a61b files touched
Robert Clausecker (fuz)
devel/simdjson: update to 4.0.3
Changelog: https://github.com/simdjson/simdjson/releases/tag/v4.0.0
Changelog: https://github.com/simdjson/simdjson/releases/tag/v4.0.1
Changelog: https://github.com/simdjson/simdjson/releases/tag/v4.0.2
Changelog: https://github.com/simdjson/simdjson/releases/tag/v4.0.3
3.13.0
5f1c4c23b4 files touched
Robert Clausecker (fuz)
devel/simdjson: update to 3.13.0
Changelog: https://github.com/simdjson/simdjson/releases/tag/v3.13.0
3.12.3
e03d54b44f files touched
Robert Clausecker (fuz)
devel/simdjson: update to 3.12.3
Changelog: https://github.com/simdjson/simdjson/releases/tag/v3.12.3

MFH:		2025Q2
3.12.2
8e40ecb245 files touched
Robert Clausecker (fuz)
devel/simdjson: update to 3.12.2
- license change

Changelog: https://github.com/simdjson/simdjson/releases
3.11.5
a654373a19 files touched
Robert Clausecker (fuz)
devel/simdjson: take maintainership
Grab maintainership.
Touch up port lightly.
3.11.5
01b93a6a64 files touched
Fernando Apesteguía (fernape)
devel/simdjson: update to 3.11.5
ChangeLog: https://github.com/simdjson/simdjson/releases/tag/v3.11.5

Patch for bug #2322.

Reported by:	portscout
3.11.4
59b42dc7cb files touched
Vanilla I. Shu (vanilla)
devel/simdjson: update to 3.11.4.
3.11.3
4b142fa9f1 files touched
Vanilla I. Shu (vanilla)
devel/simdjson: update 3.6.2 -> 3.11.3, also reset MAINTAINER to ports@
PR:		Älven <alster at vinterdalen.se>
Approved by:	olevole at olevole.ru
3.6.2
8c86705f8b files touched
Dimitry Andric (dim)
devel/simdjson: fix build with clang 19
With clang 19, if a port uses simdjson.h, it leads to compile errors:

    In file included from /wrkdirs/usr/ports/sysutils/intel-pcm/work/pcm-202405/src/pcm-raw.cpp:31:
    /usr/local/include/simdjson.h:6156:13: error: no member named 'print_newline' in 'base_formatter<formatter>'
     6156 |       this->print_newline();
          |       ~~~~  ^
    /usr/local/include/simdjson.h:6160:13: error: no member named 'print_indents' in 'base_formatter<formatter>'
     6160 |       this->print_indents(depth);
          |       ~~~~  ^
    /usr/local/include/simdjson.h:6164:13: error: no member named 'print_space' in 'base_formatter<formatter>'
     6164 |       this->print_space();
          |       ~~~~  ^

Upstream <https://github.com/simdjson/simdjson/commit/5d35e7ca> fixes
this, but it does not directly add the change to the generated single
header version of simdjson.h. So apply the fix to both the individual
header and the amalgamated version.

PR:		280590
Approved by:	olevole@olevole.ru (maintainer)
MFH:		2024Q3
3.6.2
1062ecb900 files touched
R. Christian McDonald (rcm)
devel/simdjson: update to v3.6.2
ChangeLogs:
https://github.com/simdjson/simdjson/releases/tag/v3.1.6
https://github.com/simdjson/simdjson/releases/tag/v3.1.7
https://github.com/simdjson/simdjson/releases/tag/v3.1.8
https://github.com/simdjson/simdjson/releases/tag/v3.2.0
https://github.com/simdjson/simdjson/releases/tag/v3.2.1
https://github.com/simdjson/simdjson/releases/tag/v3.2.2
https://github.com/simdjson/simdjson/releases/tag/v3.2.3
https://github.com/simdjson/simdjson/releases/tag/v3.3.0
https://github.com/simdjson/simdjson/releases/tag/v3.4.0
https://github.com/simdjson/simdjson/releases/tag/v3.5.0
https://github.com/simdjson/simdjson/releases/tag/v3.6.0
https://github.com/simdjson/simdjson/releases/tag/v3.6.1
https://github.com/simdjson/simdjson/releases/tag/v3.6.2

PR:		275451
Reviewed by:	garga
Approved by:	maintainer
Sponsored by:	Rubicon Communications, LLC ("Netgate")
3.1.5
208f8e954f files touched
Oleg Ginzburg (olevole)
devel/simdjson: Update to 3.1.5
Changelog: https://github.com/simdjson/simdjson/releases/tag/v3.1.5

PR:		270047
3.1.2
a07ad0927d files touched
Oleg Ginzburg (olevole)
devel/simdjson: update to 3.1.2
ChangeLog: https://github.com/simdjson/simdjson/compare/v3.1.0...v3.1.2

PR:		269774
Reported by:	olevole@olevole.ru (maintainer)
3.1.0
6fc345e93b files touched
Oleg Ginzburg (olevole)
devel/simdjson: update to 3.1.0
ChangeLog: https://github.com/simdjson/simdjson/releases

 * Disabling fallback kernel on systems where it is not needed.
 * Testing and fixing log issues.
 * complete number_in_string for documents, stringify the version macro and
   improving trailing content errors.

PR:		269155
Reported by:	olevole@olevole.ru (maintainer)
3.0.1
7e1e4e01cf files touched
Daniel Engberg (diizzy)
devel/simdjson: Update to 3.0.1
Fix "make test", it should now be available for offline testing

Changelog: https://github.com/simdjson/simdjson/releases/tag/v3.0.1

PR:		268729
Reviewed by:	Oleg Ginzburg <olevole@olevole.ru> (maintainer)
3.0.0
a0bcb23325 files touched
Dimitry Andric (dim)
devel/simdjson: Re-enable build for i386
- pet portlint

PR:		268646
3.0.0
461a3e1b92 files touched
Yuri Victorovich (yuri)
devel/simdjson: Update 2.2.0 -> 3.0.0; Add tests
PR:		265305
Approved by:	olevole@olevole.ru (mnaintainer's timeout; 115 days)
2.2.0
fb16dfecae files touched
Stefan Eßer (se)
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.

This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.

Approved by:		portmgr (tcberner)
2.2.0
b7f05445c0 files touched
Stefan Eßer (se)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.

Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.

There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.

This commit implements such a proposal and moves one of the WWW: entries
of each pkg-descr file into the respective port's Makefile. A heuristic
attempts to identify the most relevant URL in case there is more than
one WWW: entry in some pkg-descr file. URLs that are not moved into the
Makefile are prefixed with "See also:" instead of "WWW:" in the pkg-descr
files in order to preserve them.

There are 1256 ports that had no WWW: entries in pkg-descr files. These
ports will not be touched in this commit.

The portlint port has been adjusted to expect a WWW entry in each port
Makefile, and to flag any remaining "WWW:" lines in pkg-descr files as
deprecated.

Approved by:		portmgr (tcberner)
2.2.0
427feae70d files touched
Yuri Victorovich (yuri)
devel/simdjson: Update 0.9.6 -> 2.2.0
PR:		258373
Approved by:	olevole@olevole.ru (maintainer's timeout; 10 months)
0.9.6
23e267a8b7 files touched
Oleg Ginzburg (olevole)
devel/simdjson: Update to 0.9.6
Changes:	https://github.com/simdjson/simdjson/releases/tag/v0.9.6

PR:		256649
Approved by:	lwhsu (mentor, implicit)
0.9.5
dd5b5fe1a4 files touched
Piotr Kubaj (pkubaj)
devel/simdjson: fix build on powerpc64
FreeBSD uses sys/endian.h header instead of byteswap.h and bswap64() instead of bswap_64().

-mpower8-vector is necessary because the port uses new SIMD introduced in POWER8.
/wrkdirs/usr/ports/devel/simdjson/work/simdjson-0.9.5/include/simdjson/ppc64/numberparsing.h:4:10: fatal error: 'byteswap.h' file not found
0.9.5
b0c9109d48 files touched
Oleg Ginzburg (olevole)
devel/simdjson: Update to 0.9.5
PR:		256262
0.9.4
6c62973253 files touched
Oleg Ginzburg (olevole)
devel/simdjson: update to 0.9.4
Changes:	https://github.com/simdjson/simdjson/releases/tag/v0.9.4
PR:		256049
0.9.3
cdf504aa27 files touched
Oleg Ginzburg (olevole)
devel/simdjson: update to 0.9.3
Changes:	https://github.com/simdjson/simdjson/releases
PR:		255911
0.6.0
cf118ccf87 files touched
Mathieu Arnold (mat)
One more small cleanup, forgotten yesterday. Reported by: lwhsu
0.6.0
305f148f48 files touched
Mathieu Arnold (mat)
Remove # $FreeBSD$ from Makefiles.
0.6.0
57868e8798 files touched
Danilo G. Baio (dbaio)
devel/simdjson: Update to 0.6.0
Changelog:	https://github.com/simdjson/simdjson/releases/tag/v0.6.0

PR:		250751
Submitted by:	olevole@olevole.ru (maintainer)
0.5.0
16ecd38365 files touched
Fernando Apesteguía (fernape)
devel/simdjson: update to 0.5.0
From ChangeLog: https://github.com/simdjson/simdjson/releases/tag/v0.5.0

Performance

 * Faster and simpler UTF-8 validation with the lookup4 algorithm
 * We improved the performance of simdjson under Visual Studio by about 25%.
   Users will still get better performance with clang-cl (+30%) but the gap
   has been reduced.

Code usability

 * In parse_many, when parsing streams of JSON documetns, we give to the users
   runtime control as to whether threads are used (via the parser.threaded
   attribute).
 * Prefixed public macros to avoid name clashes with other libraries.
 * Better documentation regarding package managers (brew, MSYS2, conan, apt,
   vcpkg, FreeBSD package manager, etc.).
 * Better documentation regarding CMake usage.

Standards

 * We improved standard compliance with respect to both the JSON RFC 8259 and
   JSON Pointer RFC 6901. We added the at_pointer method to nodes for
   standard-compliant JSON Pointer queries. The legacy at(std::string_view)
   method remains but is deprecated since it is not standard-compliant as per
   RFC 6901.
 * We removed computed GOTOs without sacrificing performance thus improving the
   C++ standard compliance (since computed GOTOs are compiler-specific
   extensions).
 * Better support for C++20

PR:	248775
Submitted by:	olevole@olevole.ru (maintainer)
0.4.7
6923be8edb files touched
Li-Wen Hsu (lwhsu)
Update to 0.4.7
PR:		248538
Submitted by:	olevole@olevole.ru (maintainer)
0.4.6
7159f1ee7c files touched
Yuri Victorovich (yuri)
devel/simdjson: Update 0.3.1 -> 0.4.6
PR:		247669
Approved by:	olevole@olevole.ru
0.3.1
f75a9c4d1d files touched
Loïc Bartoletti (lbartoletti)
[NEW PORT] devel/simdjson: Parsing gigabytes of JSON per second
JSON is everywhere on the Internet. Servers spend a lot of time parsing it.
The simdjson library uses commonly available SIMD instructions and
microparallel algorithms to parse JSON 2.5 times faster than anything
else out there.

WWW: https://simdjson.org/

NOTA on Current, clang crashes on AMD processors before revision 359826. See: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=245745

PR:		245744
Submitted by:	Oleg Ginzburg <olevole at olevole dot ru>
Approved by:	tcberner (mentor)
Differential Revision:	https://reviews.freebsd.org/D24505