README.md in oj-1.2.9 vs README.md in oj-1.2.10

- old
+ new

@@ -22,14 +22,22 @@ *Fast XML parser and marshaller on GitHub*: https://github.com/ohler55/ox ## <a name="release">Release Notes</a> -### Release 1.2.9 +### Release 1.2.10 - - Changed the error message for invalid keys in compat mode to identify offending type. + - Added check for circular on loading of circular dumped JSON. + - Added support for direct serialization of BigDecimal, Rational, Date, and DateTime. + + - Added json.rb to $" in mimic mode to avoid pulling in the real JSON by accident. + + - Oj is now thread safe for all functions. + + - The / (solidus) character is now placed in strings without being escaped. + ## <a name="description">Description</a> Optimized JSON (Oj), as the name implies was written to provide speed optimized JSON handling. It was designed as a faster alternative to Yajl and other the common Ruby JSON parsers. So far is has achieved that at about 2 @@ -53,11 +61,14 @@ method. If either exists that method is used for serializing the Object. The to_hash() is more flexible and produces more consistent output so it has a preference over the to_json() method. If neither the to_json() or to_hash() methods exist then the Oj internal Object variable encoding is used. -Oj is compatible with Ruby 1.8.7, 1.9.2, 1.9.3, JRuby, RBX, and the latest 2.0dev. +Oj is compatible with Ruby 1.8.7, 1.9.2, 1.9.3, JRuby, RBX, and the latest +2.0dev. Note that JRuby now disables support for extentions by default. JRuby +can be build with extensions enabled. Check the documenation for JRuby +installs in your environment. Oj is also compatible with Rails. Just make sure the Oj gem is installed and [multi_json](https://github.com/intridea/multi_json) will pick it up and use it. ## <a name="compare">Comparisons</a> @@ -350,16 +361,19 @@ 5. A `"^c"` JSON Object key indicates the value should be converted to a Ruby class. The sequence `{"^c":"Oj::Bag"}` is read as the Oj::Bag class. 6. A `"^t"` JSON Object key indicates the value should be converted to a Ruby -Time. The sequence `{"^t":1325775487.000000}` is read as Jan 5, 2012 at 23:58:07. +Time. The sequence `{"^t":1325775487.000000}` is read as Jan 5, 2012 at +23:58:07. -87. A `"^o"` JSON Object key indicates the value should be converted to a Ruby +7. A `"^o"` JSON Object key indicates the value should be converted to a Ruby Object. The first entry in the JSON Object must be a class with the `"^o"` key. After that each entry is treated as a variable of the Object where the key is the variable name without the preceeding `@`. An example is -`{"^o":"Oj::Bag","x":58,"y":"marbles"}`. +`{"^o":"Oj::Bag","x":58,"y":"marbles"}`. `"^O"` is the same except that it is +for built in or odd classes that don't obey the normal Ruby rules. Examples +are Rational, Date, and DateTime. 8. A `"^u"` JSON Object key indicates the value should be converted to a Ruby Struct. The first entry in the JSON Object must be a class with the `"^u"` key. After that each entry is is given a numeric position in the struct and that is used as the key in the JSON Object. An example is `{"^u":["Range",1,7,false]}`.