NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #1979 most downloaded on crates.io
JSON implementation in Rust
Last release 7 years ago
no release in 18 months
Ships unpredictably
gaps range from 4 weeks to 1.4 years
Rarely documented
notes for 9 of 52 stable releases
2 versions withdrawn
withdrawn after publishing
10 years old
54 releases · first in 2016
Fixes an issue with new macros requiring types to be copy.
Object "key" => value pair can be now written as either "key": value or key: value without quotes, as long as key is an identifier.
"key" => value pair can be now written as either "key": value or key: value without quotes, as long as key is an identifier.[foo]: value.array! or object! from within another macro.null is a keyword inside of either macro.Instead of:
let obj = object! {
"foo" => array![1, 2, json::Null],
"bar" => 42
};You can now write:
let obj = object! {
foo: [1, 2, null],
bar: 42
};One column per quarter.
Fixed a whole bunch of warnings and some formatting.
Fixes panics in string generation ( #168 ).
Simplified reading escaped unicode in strings a bit.
From<&[T]> implementation for JsonValue where T: Into<JsonValue> (closes #160).object! and array! macros will no longer re-allocate (closes #159).object! and array! macros can be now used without being imported into local scope (by using json::object! or json::array!, thanks @matthias-t).HashMap and BTreeMap conversions are now more generic, working for any pair of K key and V value where K: AsRef<str> and V: Into<JsonValue>. This means that type inference won't always work in your favor, but should be much more flexible..collect() an interator of (K, V) (with bounds same as point above) into an Object.Nothing published for this version
Nothing published for this version
Fixes an overflow that lead to a panic in extremely large integers (see issue #139 ).
Optimized away unnecessary copying in the parser stack machine, should result in parsing performance increased by up to 20%.
Deprecated Object::override_last , it was only public out of necessity before pub(crate) was introduced.
Thanks to @Yoric for contributions:
Number s created from parts are now automatically normalized, and print out expected values (Issue #114 , thanks again @lpbak ).
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →