## 2017-04-18 (2.1.0)
* Allow passing of `decimal_class` option to specify a class as which to parse
JSON float numbers.
## 2017-03-23 (2.0.4)
* Raise exception for incomplete unicode surrogates/character escape
sequences. This problem was reported by Daniel Gollahon (dgollahon).
* Fix arbitrary heap exposure problem. This problem was reported by Ahmad
Sherif (ahmadsherif).
## 2017-01-12 (2.0.3)
* Set `required_ruby_version` to 1.9
* Some small fixes
## 2016-07-26 (2.0.2)
* Specify `required_ruby_version` for json\_pure.
* Fix issue #295 failure when parsing frozen strings.
## 2016-07-01 (2.0.1)
* Fix problem when requiring json\_pure and Parser constant was defined top
level.
* Add `RB_GC_GUARD` to avoid possible GC problem via Pete Johns.
* Store `current_nesting` on stack by Aaron Patterson.
## 2015-09-11 (2.0.0)
* Now complies to newest JSON RFC 7159.
* Implements compatibiliy to ruby 2.4 integer unification.
* Drops support for old rubies whose life has ended, that is rubies < 2.0.
Also see https://www.ruby-lang.org/en/news/2014/07/01/eol-for-1-8-7-and-1-9-2/
* There were still some mentions of dual GPL licensing in the source, but JSON
has just the Ruby license that itself includes an explicit dual-licensing
clause that allows covered software to be distributed under the terms of
the Simplified BSD License instead for all ruby versions >= 1.9.3. This is
however a GPL compatible license according to the Free Software Foundation.
I changed these mentions to be consistent with the Ruby license setting in
the gemspec files which were already correct now.
Problems found locating distfiles:
Package cabocha: missing distfile cabocha-0.68.tar.bz2
Package convertlit: missing distfile clit18src.zip
Package php-enchant: missing distfile php-enchant/enchant-1.1.0.tgz
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
2015-01-08 (1.8.2)
* Some performance improvements by Vipul A M <vipulnsward@gmail.com>.
* Fix by Jason R. Clark <jclark@newrelic.com> to avoid mutation of
JSON.dump_default_options.
* More tests by Michael Mac-Vicar <mmacvicar@gmail.com> and fixing
space_before accessor in generator.
* Performance on Jruby improvemed by Ben Browning <bbrownin@redhat.com>.
* Some fixes to be compatible with the new Ruby 2.2 by Zachary Scott <e@zzak.io>
and SHIBATA Hiroshi <hsbt@ruby-lang.org>.
2013-05-13 (1.8.0)
* Fix https://github.com/flori/json/issues/162 reported by Marc-Andre
Lafortune <github_rocks@marc-andre.ca>. Thanks!
* Applied patches by Yui NARUSE <naruse@airemix.jp> to suppress warning with
-Wchar-subscripts and better validate UTF-8 strings.
* Applied patch by ginriki@github to remove unnecessary if.
* Add load/dump interface to JSON::GenericObject to make
serialize :some_attribute, JSON::GenericObject
work in Rails active models for convenient SomeModel#some_attribute.foo.bar
access to serialised JSON data.
2013-02-04 (1.7.7)
* Security fix for JSON create_additions default value and
JSON::GenericObject. It should not be possible to create additions unless
explicitely requested by setting the create_additions argument to true or
using the JSON.load/dump interface. If JSON::GenericObject is supposed to
be automatically deserialised, this has to be explicitely enabled by
setting
JSON::GenericObject.json_createble = true
as well.
* Remove useless assert in fbuffer implementation.
* Apply patch attached to https://github.com/flori/json/issues#issue/155
provided by John Shahid <jvshahid@gmail.com>, Thx!
* Add license information to rubygems spec data, reported by Jordi Massaguer
Pla <jmassaguerpla@suse.de>.
* Improve documentation, thx to Zachary Scott <zachary@zacharyscott.net>.
2012-11-29 (1.7.6)
* Add GeneratorState#merge alias for JRuby, fix state accessor methods. Thx to
jvshahid@github.
* Increase hash likeness of state objects.
2012-05-12 (1.7.3)
* Work around Rubinius encoding issues using iconv for conversion instead.
2012-05-11 (1.7.2)
* Fix some encoding issues, that cause problems for the pure and the
extension variant in jruby 1.9 mode.
2012-04-28 (1.7.1)
* Some small fixes for building
2012-04-28 (1.7.0)
* Add JSON::GenericObject for method access to objects transmitted via JSON.
2012-04-27 (1.6.7)
* Fix possible crash when trying to parse nil value.
2012-01-15 (1.6.5)
* Vit Ondruch <v.ondruch@tiscali.cz> reported a bug that shows up when using
optimisation under GCC 4.7. Thx to him, Bohuslav Kabrda
<bkabrda@redhat.com> and Yui NARUSE <naruse@airemix.jp> for debugging and
developing a patch fix.
2011-12-24 (1.6.4)
* Patches that improve speed on JRuby contributed by Charles Oliver Nutter
<headius@headius.com>.
* Support object_class/array_class with duck typed hash/array.
2011-12-01 (1.6.3)
* Let JSON.load('') return nil as well to make mysql text columns (default to
'') work better for serialization.
2011-11-21 (1.6.2)
* Add support for OpenStruct and BigDecimal.
* Fix bug when parsing nil in quirks_mode.
* Make JSON.dump and JSON.load methods better cooperate with Rails' serialize
method. Just use: serialize :value, JSON
* Fix bug with time serialization concerning nanoseconds. Thanks for the
patch go to Josh Partlow (jpartlow@github).
* Improve parsing speed for JSON numbers (integers and floats) in a similar way to
what Evan Phoenix <evan@phx.io> suggested in:
https://github.com/flori/json/pull/103
2011-09-18 (1.6.1)
* Using -target 1.5 to force Java bits to compile with 1.5.
(Dependency to devel/ruby-spruz has gone to force coming ruby-json-utils.)
2011-09-12 (1.6.0)
* Extract utilities (prettifier and GUI-editor) in its own gem json-utils.
* Split json/add/core into different files for classes to be serialised.
2011-08-31 (1.5.4)
* Fix memory leak when used from multiple JRuby. (Patch by
jfirebaugh@github).
* Apply patch by Eric Wong <nocode@yhbt.net> that fixes garbage collection
problem reported in https://github.com/flori/json/issues/46.
* Add :quirks_mode option to parser and generator.
* Add support for Rational and Complex number additions via json/add/complex
and json/add/rational requires.
2011-06-20 (1.5.3)
* Alias State#configure method as State#merge to increase duck type synonymy
with Hash.
* Add as_json methods in json/add/core, so rails can create its json objects
the new way.
2011-05-11 (1.5.2)
* Apply documentation patch by Cory Monty <cory.monty@gmail.com>.
* Add gemspecs for json and json_pure.
* Fix bug in jruby pretty printing.
* Fix bug in object_class and array_class when inheriting from Hash or Array.
2011-01-24 (1.5.1)
* Made rake-compiler build a fat binary gem. This should fix issue
https://github.com/flori/json/issues#issue/54.
2011-01-22 (1.5.0)
* Included Java source codes for the Jruby extension made by Daniel Luz
<dev@mernen.com>.
* Output full exception message of deep_const_get to aid debugging.
* Fixed an issue with ruby 1.9 Module#const_defined? method, that was
reported by Riley Goodside.
2010-05-05 (1.4.3)
* Fixed some test assertions, from Ruby r27587 and r27590, patch by nobu.
* Fixed issue http://github.com/flori/json/issues/#issue/20 reported by
electronicwhisper@github. Thx!
2010-04-26 (1.4.2)
* Applied patch from naruse Yui NARUSE <naruse@airemix.com> to make building with
Microsoft Visual C possible again.
* Applied patch from devrandom <c1.github@niftybox.net> in order to allow building of
json_pure if extensiontask is not present.
* Thanks to Dustin Schneider <dustin@stocktwits.com>, who reported a memory
leak, which is fixed in this release.
* Applied 993f261ccb8f911d2ae57e9db48ec7acd0187283 patch from josh@github.
2010-04-25 (1.4.1)
* Fix for a bug reported by Dan DeLeo <dan@kallistec.com>, caused by T_FIXNUM
being different on 32bit/64bit architectures.
2010-04-23 (1.4.0)
* Major speed improvements and building with simplified
directory/file-structure.
* Extension should at least be comapatible with MRI, YARV and Rubinius.
2010-04-07 (1.2.4)
* Triger const_missing callback to make Rails' dynamic class loading work.
2010-03-11 (1.2.3)
* Added a State#[] method which returns an attribute's value in order to
increase duck type compatibility to Hash.
2010-02-27 (1.2.2)
* Made some changes to make the building of the parser/generator compatible
to Rubinius.
2009-11-25 (1.2.1)
* Added :symbolize_names option to Parser, which returns symbols instead of
strings in object names/keys.
2008-07-10 (1.1.3)
* Wesley Beary <monki@geemus.com> reported a bug in json/add/core's DateTime
handling: If the nominator and denominator of the offset were divisible by
each other Ruby's Rational#to_s returns them as an integer not a fraction
with '/'. This caused a ZeroDivisionError during parsing.
* Use Date#start and DateTime#start instead of sg method, while
remaining backwards compatible.
* Supports ragel >= 6.0 now.
* Corrected some tests.
* Some minor changes.
This is a implementation of the JSON specification according to RFC
4627. You can think of it as a low fat alternative to XML, if you
want to store data to disk or transmit it over a network rather than
use a verbose markup language.
The JSON generator escapes all non-ASCII an control characters with
\uXXXX escape sequences and supports UTF-16 surrogate pairs in order
to be able to generate the whole range of Unicode code points. This
means that generated JSON text is encoded as UTF-8 (because ASCII is
a subset of UTF-8) and at the same time avoids decoding problems for
receiving endpoints that don't expect UTF-8 encoded texts.
This package is a pure Ruby variant that relies on the iconv and the
stringscan extensions, which are both part of the Ruby standard library.