Skip to content

Releases: simdjson/simdjson

Version 1.0.2

27 Oct 23:32
Compare
Choose a tag to compare

Patch for bug #1742
credit to @madhur4127 for the report.

Version 1.0.1

20 Oct 16:20
Compare
Choose a tag to compare

It is a patch release on version 1.0.1.

It fixes issue #1736 (number parse bug in get_uint64_in_string())

Credit for the bug report to @madhur4127

Version 1.0

07 Sep 21:55
Compare
Choose a tag to compare

Release 1.0.0 of the simdjson library builds on earlier pre-1.0 release that made the On Demand frontend our default. The On Demand front-end is a new way to build parser. With On Demand, if you open a file containing 1000 numbers and you need just one of these numbers, only one number is parsed. If you need to put the numbers into your own data structure, they are materialized there directly, without being first written to a temporary tree. Thus we expect that the simdjson On Demand might often provide superior performance, when you do not need to intermediate materialized view of a DOM tree. The On Demand front-end was primarily developed by @jkeiser.

If you adopted simdjson from an earlier version and relied on the DOM approach, it remains as always. Though On Demand is our new default, we remain committed to supporting the conventional DOM approach in the future, as there are instances where it is more appropriate.

Release 1.0.0 adds several key features:

  • In big data analytics, it is common to serialize large sets of records as multiple JSON documents separated by while spaces. You can now get the benefits of On Demand while parsing almost infinitely long streams of JSON records (see iterate_many). At each step, you have access to the current document, but a secondary thread indexes the following block. You can thus access enormous files while using a small amount of memory and achieve record-breaking speeds. Credit: @NicolasJiaxin.
  • In some cases, JSON documents contain numbers embedded within strings (e.g., "3.1416"). You can access these numbers directly using methods such as get_double_in_string(). Credit: @NicolasJiaxin
  • Given an On Demand instance (value, array, object, etc.), you can now convert it to a JSON string using the to_json_string method which returns a string view in the original document for unbeatable speeds. Credit: @NicolasJiaxin
  • The On Demand front-end now supports the JSON Pointer specification. You can request a specific value using a JSON Pointer within a large document. Credit: @NicolasJiaxin
  • Arrays in On Demand now have a count_elements() method. Objects have a count_fields() method. Arrays and objects have a reset method for when you need to iterate through them more than once. Document instances now have a rewind method in case you need to process the same document multiple times.

Other improvements include:

  • We have extended and improved our documentation and we have added much testing.
  • We have accelerated the JSON minification function (simdjson::minify) under ARM processors (credit @dougallj)

We encourage users of previous versions of the simdjson library to update. We encourage users to deploy it for production uses.

Version 0.9.7

31 Jul 18:01
Compare
Choose a tag to compare

Fixing an issue whereas the operator << would halt the program due to a noexcept clause when called with a simdjson_result input.

credit @teathinker

Version 0.9.6

06 Jun 21:55
Compare
Choose a tag to compare

This is a patch release fixing issue #1601 That is, users reusing the same document instance may get spurious errors in following parsing attempts because the "error" flag in the document is 'sticky'. This patch fixes the issue by modifying two lines of code.

Version 0.9.5

28 May 00:38
Compare
Choose a tag to compare

Patch release fixing issue 1588: Unexpected behavior while traversing a json array containing json objects containing a subset of known keys. This patch adds a single line. Users relying on the On Demand front-end should update.

Version 0.9.4

20 May 20:26
Compare
Choose a tag to compare

This fourth patch release is the second and final fix on an issue with the ondemand front-end where when we search for a key and it is not found, we can end up in a poor state from which follow-up queries will lead to spurious errors even with a valid JSON.

Version 0.9.3

14 May 13:24
Compare
Choose a tag to compare

Disable performance testing.

Version 0.9.2

01 Apr 15:13
Compare
Choose a tag to compare

This is a patch release which fixes a bug for users of the On Demand front-end. In some instances, when trying to access keys that are missing, the parser will fail with a generic error (TAPE_ERROR) under versions 0.9.0 and 0.9.1. Thanks to @jpalus for reporting the issue (#1521) and to @jkeiser for reviewing the patch.

Version 0.9.1

18 Mar 15:32
Compare
Choose a tag to compare

This is a patch release removing dead code (get_root_value). #1504