From dd0fb2a8433efa9c42231fe0eafdb72617d42896 Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Fri, 1 Dec 2023 14:24:10 +0900 Subject: [PATCH 1/4] Added changes for 2.7.0 and restore entries to 2.6.3 and 2.6.2 --- CHANGES.md | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index 11fe4c9e5..934724775 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,6 +1,30 @@ # Changes -* `escape_slash` option was renamed as `script_safe` and now also escape U+2028 and U+2029. `escape_slash` is now an alias of `script_safe`. +### 2022-12-01 (2.7.0) + +* Add a strict option to Generator #519 +* `escape_slash` option was renamed as `script_safe` and now also escape U+2028 and U+2029. `escape_slash` is now an alias of `script_safe` #525 +* Remove unnecessary initialization of create_id in JSON.parse() #454 +* Improvements to Hash#to_json in pure implementation generator #203 +* Use ruby_xfree to free buffers #518 +* Fix "unexpected token" offset for Infinity #507 +* Avoid using deprecated BigDecimal.new on JRuby #546 +* Removed code for Ruby 1.8 #540 +* Rename JSON::ParseError to JSON:ParserError #530 +* Call super in included hook #486 +* JRuby requires a minimum of Java 8 #516 +* Always indent even if empty #517 + +### 2022-11-30 (2.6.3) + +* bugfix json/pure mixing escaped with literal unicode raises Encoding::CompatibilityError #483 +* Stop including the parser source __LINE__ in exceptions #470 + +### 2022-11-17 (2.6.2) + +* Remove unknown keyword arg from DateTime.parse #488 +* Ignore java artifacts by @hsbt #489 +* Fix parser bug for empty string allocation #496 ### 2021-10-24 (2.6.1) From ce4175a75878a8b836d343a5fdbfbca87acaba94 Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Fri, 1 Dec 2023 14:40:27 +0900 Subject: [PATCH 2/4] Re-generate Parser.java --- java/src/json/ext/Parser.java | 58 +++++++++++++++++------------------ 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/java/src/json/ext/Parser.java b/java/src/json/ext/Parser.java index be2d3cb20..b80c39c50 100644 --- a/java/src/json/ext/Parser.java +++ b/java/src/json/ext/Parser.java @@ -343,7 +343,7 @@ private Ruby getRuntime() { -// line 344 "Parser.java" +// line 347 "Parser.java" private static byte[] init__JSON_value_actions_0() { return new byte [] { @@ -465,14 +465,14 @@ void parseValue(ParserResult res, int p, int pe) { IRubyObject result = null; -// line 464 "Parser.java" +// line 469 "Parser.java" { cs = JSON_value_start; } // line 478 "Parser.rl" -// line 469 "Parser.java" +// line 476 "Parser.java" { int _klen; int _trans = 0; @@ -504,7 +504,7 @@ void parseValue(ParserResult res, int p, int pe) { { p += 1; _goto_targ = 5; if (true) continue _goto;} } break; -// line 501 "Parser.java" +// line 508 "Parser.java" } } @@ -676,7 +676,7 @@ else if ( data[p] > _JSON_value_trans_keys[_mid+1] ) } } break; -// line 673 "Parser.java" +// line 680 "Parser.java" } } } @@ -709,7 +709,7 @@ else if ( data[p] > _JSON_value_trans_keys[_mid+1] ) } -// line 704 "Parser.java" +// line 713 "Parser.java" private static byte[] init__JSON_integer_actions_0() { return new byte [] { @@ -826,7 +826,7 @@ int parseIntegerInternal(int p, int pe) { int cs = EVIL; -// line 819 "Parser.java" +// line 830 "Parser.java" { cs = JSON_integer_start; } @@ -834,7 +834,7 @@ int parseIntegerInternal(int p, int pe) { // line 518 "Parser.rl" int memo = p; -// line 825 "Parser.java" +// line 838 "Parser.java" { int _klen; int _trans = 0; @@ -921,7 +921,7 @@ else if ( data[p] > _JSON_integer_trans_keys[_mid+1] ) { p += 1; _goto_targ = 5; if (true) continue _goto;} } break; -// line 912 "Parser.java" +// line 925 "Parser.java" } } } @@ -963,7 +963,7 @@ RubyInteger bytesToInum(Ruby runtime, ByteList num) { } -// line 952 "Parser.java" +// line 967 "Parser.java" private static byte[] init__JSON_float_actions_0() { return new byte [] { @@ -1084,7 +1084,7 @@ int parseFloatInternal(int p, int pe) { int cs = EVIL; -// line 1071 "Parser.java" +// line 1088 "Parser.java" { cs = JSON_float_start; } @@ -1092,7 +1092,7 @@ int parseFloatInternal(int p, int pe) { // line 573 "Parser.rl" int memo = p; -// line 1077 "Parser.java" +// line 1096 "Parser.java" { int _klen; int _trans = 0; @@ -1179,7 +1179,7 @@ else if ( data[p] > _JSON_float_trans_keys[_mid+1] ) { p += 1; _goto_targ = 5; if (true) continue _goto;} } break; -// line 1164 "Parser.java" +// line 1183 "Parser.java" } } } @@ -1209,7 +1209,7 @@ else if ( data[p] > _JSON_float_trans_keys[_mid+1] ) } -// line 1192 "Parser.java" +// line 1213 "Parser.java" private static byte[] init__JSON_string_actions_0() { return new byte [] { @@ -1319,7 +1319,7 @@ void parseString(ParserResult res, int p, int pe) { IRubyObject result = null; -// line 1300 "Parser.java" +// line 1323 "Parser.java" { cs = JSON_string_start; } @@ -1327,7 +1327,7 @@ void parseString(ParserResult res, int p, int pe) { // line 621 "Parser.rl" int memo = p; -// line 1306 "Parser.java" +// line 1331 "Parser.java" { int _klen; int _trans = 0; @@ -1429,7 +1429,7 @@ else if ( data[p] > _JSON_string_trans_keys[_mid+1] ) { p += 1; _goto_targ = 5; if (true) continue _goto;} } break; -// line 1408 "Parser.java" +// line 1433 "Parser.java" } } } @@ -1494,7 +1494,7 @@ public void visit(IRubyObject pattern, IRubyObject klass) { } -// line 1471 "Parser.java" +// line 1498 "Parser.java" private static byte[] init__JSON_array_actions_0() { return new byte [] { @@ -1627,14 +1627,14 @@ void parseArray(ParserResult res, int p, int pe) { } -// line 1602 "Parser.java" +// line 1631 "Parser.java" { cs = JSON_array_start; } // line 722 "Parser.rl" -// line 1607 "Parser.java" +// line 1638 "Parser.java" { int _klen; int _trans = 0; @@ -1738,7 +1738,7 @@ else if ( data[p] > _JSON_array_trans_keys[_mid+1] ) { p += 1; _goto_targ = 5; if (true) continue _goto;} } break; -// line 1711 "Parser.java" +// line 1742 "Parser.java" } } } @@ -1768,7 +1768,7 @@ else if ( data[p] > _JSON_array_trans_keys[_mid+1] ) } -// line 1739 "Parser.java" +// line 1772 "Parser.java" private static byte[] init__JSON_object_actions_0() { return new byte [] { @@ -1916,14 +1916,14 @@ void parseObject(ParserResult res, int p, int pe) { } -// line 1885 "Parser.java" +// line 1920 "Parser.java" { cs = JSON_object_start; } // line 806 "Parser.rl" -// line 1890 "Parser.java" +// line 1927 "Parser.java" { int _klen; int _trans = 0; @@ -2047,7 +2047,7 @@ else if ( data[p] > _JSON_object_trans_keys[_mid+1] ) { p += 1; _goto_targ = 5; if (true) continue _goto;} } break; -// line 2014 "Parser.java" +// line 2051 "Parser.java" } } } @@ -2100,7 +2100,7 @@ else if ( data[p] > _JSON_object_trans_keys[_mid+1] ) } -// line 2065 "Parser.java" +// line 2104 "Parser.java" private static byte[] init__JSON_actions_0() { return new byte [] { @@ -2213,7 +2213,7 @@ public IRubyObject parseImplemetation() { ParserResult res = new ParserResult(); -// line 2176 "Parser.java" +// line 2217 "Parser.java" { cs = JSON_start; } @@ -2222,7 +2222,7 @@ public IRubyObject parseImplemetation() { p = byteList.begin(); pe = p + byteList.length(); -// line 2183 "Parser.java" +// line 2226 "Parser.java" { int _klen; int _trans = 0; @@ -2315,7 +2315,7 @@ else if ( data[p] > _JSON_trans_keys[_mid+1] ) } } break; -// line 2276 "Parser.java" +// line 2319 "Parser.java" } } } From c243fe80a3cb7d461b64c3b12c42a9d14847c599 Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Fri, 1 Dec 2023 14:46:57 +0900 Subject: [PATCH 3/4] Fix release date --- CHANGES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index 934724775..37d894d0c 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,6 +1,6 @@ # Changes -### 2022-12-01 (2.7.0) +### 2023-12-01 (2.7.0) * Add a strict option to Generator #519 * `escape_slash` option was renamed as `script_safe` and now also escape U+2028 and U+2029. `escape_slash` is now an alias of `script_safe` #525 From ca546128f2ab1a15ca295ce0918db8dd6a51f7f4 Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Fri, 1 Dec 2023 14:58:11 +0900 Subject: [PATCH 4/4] Bump up 2.7.0 --- VERSION | 2 +- lib/json/version.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/VERSION b/VERSION index ec1cf33c3..24ba9a38d 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.6.3 +2.7.0 diff --git a/lib/json/version.rb b/lib/json/version.rb index 3d4326d83..c0379d8ac 100644 --- a/lib/json/version.rb +++ b/lib/json/version.rb @@ -1,7 +1,7 @@ # frozen_string_literal: false module JSON # JSON version - VERSION = '2.6.3' + VERSION = '2.7.0' VERSION_ARRAY = VERSION.split(/\./).map { |x| x.to_i } # :nodoc: VERSION_MAJOR = VERSION_ARRAY[0] # :nodoc: VERSION_MINOR = VERSION_ARRAY[1] # :nodoc: