Releases: oknenavin/cxon
Releases · oknenavin/cxon
Release 0.64.0
CXON
: Supportstd::flat_map
,std::flat_multimap
,std::flat_set
,std::flat_multiset
(C++23
)JSON
: Introducejson::format_traits::assume_no_escapes parameter
- assume that strings to be read/written do not contain escape charactersJSON
: Correctness parameters can also be set with pre-processor macrosCXON_JSON_VALIDATE_STRING_ENCODING
,CXON_JSON_VALIDATE_STRING_ESCAPES
,CXON_JSON_PRODUCE_STRICT_JAVASCRIPT
,CXON_JSON_ASSUME_NO_ESCAPES
JSON
: Performance optimizations
Release 0.63.0
- support for
boost::charconv
Release 0.62.0
JSON
: Simplified serialization for unambiguous std::variant<> typesCXON
: Fix template parameter shadowing in class/enum implementation macrosJSON
: Allow CXON_JSON_* macros with empty member listCXON
: Fix boost:::container/static_vector<> preconditionCXON
: Address g++-13 errors (rejects-valid) and warnings (false-positives)JSON
: UTF-8 validation optimization
Release 0.61.0
CXON
: Support forstd::unique_ptr
CXON
: Support forstd::shared_ptr
CXON
: Support forstd::span
CXON
: Named parameters improvements- Common named parameters can be defined as a standalone packs
napa::make_pack
flattens its inputs- Named parameters are now comparable
JSON
: Writing can be optionally bufferedCXON
: Fixstd::optional
not havingstd::nullopt
value in case of null/nilCXON
: Fixcnt::emplace
withstd::allocator_arg
argumentCXON
: More examples
Release 0.60.0
JSON
: Optionally allow bare root objects"key1": value1, "key2": value2
JSON
: Optionally allow trailing separators for objects and arrays[ value1, value2, ]
JSON
: Optionally allow c-style comments{ // line comment "key1": 1/*, "key2": 2*/ }
JSON
: Optionally allow single-quoted strings{ 'key1': 1, 'key2': '2' }
JSON
: Optionally allowJavaScript
'sInfinity
andNaN
numbers[-Infinity, Infinity, -NaN, NaN]
JSON
: Optionally allow equal sign as a key/value separator{ "key1" = 1, "key2" = 2 }
JSON
: Optionally allow white-spaces as a object/array separators[ value1 value2 ]
CXCF
: NewJSON
-based configuration format/* CXCF requires no braces for the root * and allows c-style comments */ prop1 = 42 // the values are of arbitrary JSON type prop-array = ["one" "two" "three"] // the keys are unquoted and separated with equal signs from the values // the object/array values are separated with white-spaces prop-object = { key.1 = {} key.2 = true }
CXON
: Support forstd::vector<bool>
- Tests:
- UBSAN and ASAN tests
- 32-bit tests
- Additional benchmarks with synthetic data
Release 0.59.0
JSON
: Support for unquoted string keys (e.g.{key: "value"}
)JSON
: Fix bad partial matching of object keys and enum values- Fix wrong test execution status for some tests
C++23
related changes
Release 0.58.0
JSON
: Allow optional unquoted object keys ({1: 2, 3: 4}
vs.{"1": 2, "3": 4}
)- A lot of small fixes and other changes
- Improved branch coverage (~90%)
Release 0.57.2
- fix allocator broken propagation
Release 0.57.1
- fix 32 bit compiler warnings
- fix broken boost tests and benchmarks
Release 0.57.0
- support Boost.Container
- support boost::dynamic_bitset
- support Boost.Variant
- support Boost.Variant2