March 24th, 2012· Optimized the comment extractor in preparser
· Optimized the comment extractor in worker
· Fixed JSONWorker::RemoveWhiteSpaceAndComments still throwing
· Merged white space stripper code
· Specialized white space stripper code when memory is no issue
· Unified white space stripping method signatures
· Replaced many c_str calls with data calls
· Removed extra string copy in validation
· Added JSON_NUMBER_TYPE option
· Upgraded to mempool++ 1.2
· Pulled base64 code into libbase64++ 1.1
· Fixed internally escaped strings being written in rare cases
March 24th, 2012· Fixed bug where FindNextRelevant can go outside string bounds
March 24th, 2012· Optimized writing engine to use a buffer, about 6x faster on average
· Fixed a method declaration that broke the compile in gcc 4.6.1
· Added complete in depth unit test infrastructure to test individual functions better
· Fixed compile bugs with JSON_STRICT option
· Fixed various bugs where strange number formats would be read wrong
· Fixed inconsistencies with number parsers
· Added tests for JSON_STRICT
· Fixed accident where JSON_LIBRARY was off
· Make one of most common methods template based when size doesn’t matter
· Added some extra caches to speed up big writes
· Removed throw from JSONWorker to allow no exceptions
· Fixed possible stack overflow problem with streams )
· Added the JSON_SECURITY_MAX_STREAM_OBJECTS option
· Added optional parameters to writes for buffer size
· Removed unused method in writer
· Put in place infrastructure for shared strings (not implemented yet)
· Fixed bug where assert for negative allocations wasn’t getting called
March 24th, 2012· Fixed accident where JSON_MEMORY_CALLBACKS was turned on
· Added libjson::to_std_string and libjson::to_std_wstring methods
· Added libjson::to_json_string method
March 24th, 2012· Added mempool++ inside of the libjson code for nodes, internal nodes, and stl
· Tests with memory pooling run about 30% faster
· Added JSON_MEMORY_POOL option
September 2nd, 2011· Fixed bug where with JSON_NULL_MEMORY option could null out children
· Explicitly defined std namespace for memory functions
September 2nd, 2011· Fixed problem with as_int being limited to long
September 2nd, 2011· Made library fail compilation if JSON_NO_EXCEPTIONS and JSON_SAFE on
September 2nd, 2011· Fixed makefile
September 2nd, 2011· Moved all globals to one place
· Globals now allocated only when needed by using singletons
· Fixed some incorrect error reporting
· Moved most repeated strings in global strings
· Fixed bug with base64 not null terminating (bug #3370505)
· Put hotspots in allocator
· Made allocator VC++ capable
· Fixed bug in preparser with escaped strings
· Fixed bug in writer where unparsed dumps may have intermediate values
· Added error detection in streams
· Added option to have streams use themselves as identifiers
· Added a state to streams
· Test Suite now shows the maximum amount of heap used at once
September 2nd, 2011· Changed the default options to make library bigger by default
· Added the JSON_CASTABLE option
· Added the JSON_SECURITY_MAX_NEST_LEVEL option
· Added the JSON_SECURITY_MAX_STRING_LENGTH option
· Fixed a bug where json_encode64 would not produce a correct string
· Added a 2nd parameter to the stream callbacks
· Made all dynamic allocations do through callbacks (even STL)
· Made writer more memory efficient
· Fixed unicode verification bug
· Added a secondary parser (preprocessor swaps them)
· Fixed some implicit conversions between unicod
September 2nd, 2011· Fixed an implicit conversion between unicode and ascii
· Removed some compiler warnings from VC++
· Added checks for LONG_LONG_MAX and LLONG_MAX
September 2nd, 2011· Added the ARRAY_SIZE_ON_ONE_LINE option
· Added JSON_INT_TYPE option
· Fixed bug in validation in unicode mode
· Fixed bug where huge numbers wouldn’t be translated correctly
· Fixed a bug where precision was lost in base 64 unicode encoding
· Make number parsing safer for unicode
· Fixed the long long and long double variants not being declared
· Added the -> operator to iterators
· Added casts from iterators to const_iterators
· Added casts from reverse_iterators to reverse_const_iterators
· Added comparison ability between iterators and const_iterators
· Added comparison ability between reverse_iterators and reverse_const_iterators
· Made write and write_formatted const
February 19th, 2011· fiexd a bug in the makefile
February 19th, 2011· Added JSON_STRICT option
· Made checking of numeric values more precise
· Expanded some test macros
· Replaced some implicit initializations with explicit ones
· Replaced FromOctal with one big conversion
· Made number converters more explicit
· Removed // comments from C interface
· Added exception specification
·
Added various GCC-specific optimizations
· Made a few methods __attribute__ ((pure))
· Made a few fields __attribute__ ((packed)) with JSON_LESS_MEMORY
· Packed data even tighter in JSON_LESS_MEMORY mode
· Added hot and cold spots depending on options
· Added compile-time branch prediction
·
Added various VC++-specific optimizations
· Packed data even tighter in JSON_LESS_MEMORY mode
· Made _ftoa not a template function
· Changed JSON_WRITER option to JSON_WRITE_PRIORITY
· Added JSON_READ_PRIORITY
· Added __LIBJSON_MAJOR__
· Added __LIBJSON_MINOR__
· Added __LIBJSON_PATCH__
· Added __LIBJSON_VERSION__
· With JSON_LESS_MEMORY on, number conversion buffers are on the heap
· Number to string conversions much faster now
· String to number in JSON_STRICT mode really fast
· Sped up string manipulation
· Allowed reserve with JSON_LESS_MEMORY again
· Added NDEBUG to release build options
· Rewrote how validation is done
· Made entire reading engine much faster in most cases
· Constants can now be case-insensitive
· Added JSON_OCTAL option
· Added JSONStreams
· Added JSON_EXPOSE_BASE64 option
· Nodes that arenʼt containers use considerably less memory
· Fixed a bug where mutexes wouldnʼt propagate during a copy
· Added JSON_NO_EXCEPTIONS option
· Added JSON_DEPRECATED_FUNCTIONSs option
· Replaced makefile
February 19th, 2011· Any unsupported escape character is put in as-is
· Removed escaping of vertical tabs when writing
February 19th, 2011· Fix bug where single quotes got escaped
November 24th, 2010· Fix a few documentation slips
· Fixed bug in All Test Suite options
· Defined as_int and as_float for strings
· reserve now is a noop when JSON_LESS_MEMORY is on
· Added JSON_BOOL_TYPE option for the C interface
November 19th, 2010· Fix problem with escaping names sometimes
· Added JSON_ESCAPE_WRITES option to make escaping special chars optional
· Added JSON_STRING_HEADER option to drop in custom string classes
· Added JSON_NO_C_CONSTS option
· Memory enhancements throughout
· Added Salvor HardinÊŒs fix for missing snprintf in VC++
· Added C++ example in the Getting Started folder
November 11th, 2010· Fixed bug where unicode wasnʼt writing escaped UTF correctly
· Added JSON_TEXT macro to the documentation
November 10th, 2010· Fixed bug with consecutive surrogate pairs not being read correctly
· Changed license to FreeBSD
November 10th, 2010· Made buffers for converting numbers to strings solved at compile time
· Minor performance tweaks throughout
· Better examples thanks to Chris Larsen
· Fixed a few mistakes in documentation
September 13th, 2010· Completely new design, much faster and more elegant
August 20th, 2010· Added safety catch for mismatched quotes
August 6th, 2010· Fixed a bug
July 7th, 2010· New custom container for children
· JSON_LESS_MEMORY option
June 17th, 2010· Added makefiles
May 6th, 2010· Full unicode support
· Better documentation