json 1.2.0 → 2.19.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. checksums.yaml +7 -0
  2. data/BSDL +22 -0
  3. data/CHANGES.md +783 -0
  4. data/COPYING +14 -16
  5. data/LEGAL +20 -0
  6. data/README.md +310 -0
  7. data/ext/json/ext/fbuffer/fbuffer.h +260 -0
  8. data/ext/json/ext/generator/extconf.rb +15 -8
  9. data/ext/json/ext/generator/generator.c +1675 -613
  10. data/ext/json/ext/json.h +116 -0
  11. data/ext/json/ext/parser/extconf.rb +16 -7
  12. data/ext/json/ext/parser/parser.c +1649 -1772
  13. data/ext/json/ext/simd/conf.rb +24 -0
  14. data/ext/json/ext/simd/simd.h +208 -0
  15. data/ext/json/ext/vendor/fpconv.c +480 -0
  16. data/ext/json/ext/vendor/jeaiii-ltoa.h +267 -0
  17. data/ext/json/ext/vendor/ryu.h +819 -0
  18. data/json.gemspec +62 -0
  19. data/lib/json/add/bigdecimal.rb +58 -0
  20. data/lib/json/add/complex.rb +51 -0
  21. data/lib/json/add/core.rb +11 -133
  22. data/lib/json/add/date.rb +54 -0
  23. data/lib/json/add/date_time.rb +67 -0
  24. data/lib/json/add/exception.rb +49 -0
  25. data/lib/json/add/ostruct.rb +54 -0
  26. data/lib/json/add/range.rb +54 -0
  27. data/lib/json/add/rational.rb +49 -0
  28. data/lib/json/add/regexp.rb +48 -0
  29. data/lib/json/add/set.rb +48 -0
  30. data/lib/json/add/string.rb +35 -0
  31. data/lib/json/add/struct.rb +52 -0
  32. data/lib/json/add/symbol.rb +52 -0
  33. data/lib/json/add/time.rb +52 -0
  34. data/lib/json/common.rb +1056 -254
  35. data/lib/json/ext/generator/state.rb +103 -0
  36. data/lib/json/ext.rb +35 -5
  37. data/lib/json/generic_object.rb +67 -0
  38. data/lib/json/truffle_ruby/generator.rb +755 -0
  39. data/lib/json/version.rb +3 -6
  40. data/lib/json.rb +671 -6
  41. metadata +68 -159
  42. data/CHANGES +0 -136
  43. data/GPL +0 -340
  44. data/README +0 -360
  45. data/Rakefile +0 -287
  46. data/TODO +0 -1
  47. data/VERSION +0 -1
  48. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkComparison.log +0 -52
  49. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_fast-autocorrelation.dat +0 -1000
  50. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_fast.dat +0 -1001
  51. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_pretty-autocorrelation.dat +0 -900
  52. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_pretty.dat +0 -901
  53. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_safe-autocorrelation.dat +0 -1000
  54. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_safe.dat +0 -1001
  55. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt.log +0 -261
  56. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_fast-autocorrelation.dat +0 -1000
  57. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_fast.dat +0 -1001
  58. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_pretty-autocorrelation.dat +0 -1000
  59. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_pretty.dat +0 -1001
  60. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_safe-autocorrelation.dat +0 -1000
  61. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_safe.dat +0 -1001
  62. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure.log +0 -262
  63. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails#generator-autocorrelation.dat +0 -1000
  64. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails#generator.dat +0 -1001
  65. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails.log +0 -82
  66. data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkComparison.log +0 -34
  67. data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt#parser-autocorrelation.dat +0 -900
  68. data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt#parser.dat +0 -901
  69. data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt.log +0 -81
  70. data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure#parser-autocorrelation.dat +0 -1000
  71. data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure#parser.dat +0 -1001
  72. data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure.log +0 -82
  73. data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails#parser-autocorrelation.dat +0 -1000
  74. data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails#parser.dat +0 -1001
  75. data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails.log +0 -82
  76. data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML#parser-autocorrelation.dat +0 -1000
  77. data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML#parser.dat +0 -1001
  78. data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML.log +0 -82
  79. data/benchmarks/generator_benchmark.rb +0 -165
  80. data/benchmarks/parser_benchmark.rb +0 -197
  81. data/bin/edit_json.rb +0 -9
  82. data/bin/prettify_json.rb +0 -75
  83. data/data/example.json +0 -1
  84. data/data/index.html +0 -38
  85. data/data/prototype.js +0 -4184
  86. data/ext/json/ext/generator/unicode.c +0 -180
  87. data/ext/json/ext/generator/unicode.h +0 -53
  88. data/ext/json/ext/parser/parser.rl +0 -737
  89. data/ext/json/ext/parser/unicode.c +0 -154
  90. data/ext/json/ext/parser/unicode.h +0 -58
  91. data/install.rb +0 -26
  92. data/lib/json/Array.xpm +0 -21
  93. data/lib/json/FalseClass.xpm +0 -21
  94. data/lib/json/Hash.xpm +0 -21
  95. data/lib/json/Key.xpm +0 -73
  96. data/lib/json/NilClass.xpm +0 -21
  97. data/lib/json/Numeric.xpm +0 -28
  98. data/lib/json/String.xpm +0 -96
  99. data/lib/json/TrueClass.xpm +0 -21
  100. data/lib/json/add/rails.rb +0 -58
  101. data/lib/json/editor.rb +0 -1371
  102. data/lib/json/json.xpm +0 -1499
  103. data/lib/json/pure/generator.rb +0 -443
  104. data/lib/json/pure/parser.rb +0 -303
  105. data/lib/json/pure.rb +0 -77
  106. data/tests/fixtures/fail1.json +0 -1
  107. data/tests/fixtures/fail10.json +0 -1
  108. data/tests/fixtures/fail11.json +0 -1
  109. data/tests/fixtures/fail12.json +0 -1
  110. data/tests/fixtures/fail13.json +0 -1
  111. data/tests/fixtures/fail14.json +0 -1
  112. data/tests/fixtures/fail18.json +0 -1
  113. data/tests/fixtures/fail19.json +0 -1
  114. data/tests/fixtures/fail2.json +0 -1
  115. data/tests/fixtures/fail20.json +0 -1
  116. data/tests/fixtures/fail21.json +0 -1
  117. data/tests/fixtures/fail22.json +0 -1
  118. data/tests/fixtures/fail23.json +0 -1
  119. data/tests/fixtures/fail24.json +0 -1
  120. data/tests/fixtures/fail25.json +0 -1
  121. data/tests/fixtures/fail27.json +0 -2
  122. data/tests/fixtures/fail28.json +0 -2
  123. data/tests/fixtures/fail3.json +0 -1
  124. data/tests/fixtures/fail4.json +0 -1
  125. data/tests/fixtures/fail5.json +0 -1
  126. data/tests/fixtures/fail6.json +0 -1
  127. data/tests/fixtures/fail7.json +0 -1
  128. data/tests/fixtures/fail8.json +0 -1
  129. data/tests/fixtures/fail9.json +0 -1
  130. data/tests/fixtures/pass1.json +0 -56
  131. data/tests/fixtures/pass15.json +0 -1
  132. data/tests/fixtures/pass16.json +0 -1
  133. data/tests/fixtures/pass17.json +0 -1
  134. data/tests/fixtures/pass2.json +0 -1
  135. data/tests/fixtures/pass26.json +0 -1
  136. data/tests/fixtures/pass3.json +0 -6
  137. data/tests/test_json.rb +0 -320
  138. data/tests/test_json_addition.rb +0 -164
  139. data/tests/test_json_encoding.rb +0 -67
  140. data/tests/test_json_fixtures.rb +0 -34
  141. data/tests/test_json_generate.rb +0 -120
  142. data/tests/test_json_rails.rb +0 -146
  143. data/tests/test_json_unicode.rb +0 -62
  144. data/tools/fuzz.rb +0 -139
  145. data/tools/server.rb +0 -61
metadata CHANGED
@@ -1,181 +1,90 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: json
3
- version: !ruby/object:Gem::Version
4
- version: 1.2.0
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.19.8
5
5
  platform: ruby
6
- authors:
6
+ authors:
7
7
  - Florian Frank
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
-
12
- date: 2009-11-08 00:00:00 +01:00
13
- default_executable: edit_json.rb
10
+ date: 1980-01-02 00:00:00.000000000 Z
14
11
  dependencies: []
15
-
16
12
  description: This is a JSON implementation as a Ruby extension in C.
17
13
  email: flori@ping.de
18
- executables:
19
- - edit_json.rb
20
- - prettify_json.rb
21
- extensions:
14
+ executables: []
15
+ extensions:
22
16
  - ext/json/ext/generator/extconf.rb
23
17
  - ext/json/ext/parser/extconf.rb
24
- extra_rdoc_files:
25
- - README
26
- files:
27
- - CHANGES
28
- - bin/edit_json.rb
29
- - bin/prettify_json.rb
30
- - VERSION
31
- - GPL
32
- - TODO
33
- - README
34
- - benchmarks/parser_benchmark.rb
35
- - benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure.log
36
- - benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkComparison.log
37
- - benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML#parser.dat
38
- - benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_safe.dat
39
- - benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt#parser.dat
40
- - benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_fast.dat
41
- - benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_fast-autocorrelation.dat
42
- - benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure.log
43
- - benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt#parser-autocorrelation.dat
44
- - benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails#generator-autocorrelation.dat
45
- - benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt.log
46
- - benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_fast-autocorrelation.dat
47
- - benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_fast.dat
48
- - benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails#parser.dat
49
- - benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_pretty-autocorrelation.dat
50
- - benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure#parser-autocorrelation.dat
51
- - benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_pretty.dat
52
- - benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails.log
53
- - benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt.log
54
- - benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails.log
55
- - benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkComparison.log
56
- - benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_safe.dat
57
- - benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails#generator.dat
58
- - benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_safe-autocorrelation.dat
59
- - benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_pretty.dat
60
- - benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML.log
61
- - benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML#parser-autocorrelation.dat
62
- - benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_pretty-autocorrelation.dat
63
- - benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails#parser-autocorrelation.dat
64
- - benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure#parser.dat
65
- - benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_safe-autocorrelation.dat
66
- - benchmarks/generator_benchmark.rb
18
+ extra_rdoc_files:
19
+ - README.md
20
+ files:
21
+ - BSDL
22
+ - CHANGES.md
23
+ - COPYING
24
+ - LEGAL
25
+ - README.md
26
+ - ext/json/ext/fbuffer/fbuffer.h
67
27
  - ext/json/ext/generator/extconf.rb
68
- - ext/json/ext/generator/unicode.c
69
28
  - ext/json/ext/generator/generator.c
70
- - ext/json/ext/generator/unicode.h
29
+ - ext/json/ext/json.h
71
30
  - ext/json/ext/parser/extconf.rb
72
- - ext/json/ext/parser/parser.rl
73
- - ext/json/ext/parser/unicode.c
74
31
  - ext/json/ext/parser/parser.c
75
- - ext/json/ext/parser/unicode.h
76
- - Rakefile
77
- - tools/fuzz.rb
78
- - tools/server.rb
32
+ - ext/json/ext/simd/conf.rb
33
+ - ext/json/ext/simd/simd.h
34
+ - ext/json/ext/vendor/fpconv.c
35
+ - ext/json/ext/vendor/jeaiii-ltoa.h
36
+ - ext/json/ext/vendor/ryu.h
37
+ - json.gemspec
79
38
  - lib/json.rb
80
- - lib/json/json.xpm
81
- - lib/json/Key.xpm
82
- - lib/json/String.xpm
83
- - lib/json/Numeric.xpm
84
- - lib/json/Hash.xpm
85
- - lib/json/add/rails.rb
39
+ - lib/json/add/bigdecimal.rb
40
+ - lib/json/add/complex.rb
86
41
  - lib/json/add/core.rb
42
+ - lib/json/add/date.rb
43
+ - lib/json/add/date_time.rb
44
+ - lib/json/add/exception.rb
45
+ - lib/json/add/ostruct.rb
46
+ - lib/json/add/range.rb
47
+ - lib/json/add/rational.rb
48
+ - lib/json/add/regexp.rb
49
+ - lib/json/add/set.rb
50
+ - lib/json/add/string.rb
51
+ - lib/json/add/struct.rb
52
+ - lib/json/add/symbol.rb
53
+ - lib/json/add/time.rb
87
54
  - lib/json/common.rb
88
- - lib/json/Array.xpm
89
- - lib/json/FalseClass.xpm
90
- - lib/json/pure/generator.rb
91
- - lib/json/pure/parser.rb
92
- - lib/json/TrueClass.xpm
93
- - lib/json/pure.rb
94
- - lib/json/version.rb
95
55
  - lib/json/ext.rb
96
- - lib/json/editor.rb
97
- - lib/json/NilClass.xpm
98
- - data/example.json
99
- - data/index.html
100
- - data/prototype.js
101
- - tests/test_json_encoding.rb
102
- - tests/test_json_addition.rb
103
- - tests/fixtures/pass16.json
104
- - tests/fixtures/fail4.json
105
- - tests/fixtures/fail1.json
106
- - tests/fixtures/fail28.json
107
- - tests/fixtures/fail8.json
108
- - tests/fixtures/fail19.json
109
- - tests/fixtures/pass2.json
110
- - tests/fixtures/pass26.json
111
- - tests/fixtures/pass1.json
112
- - tests/fixtures/fail3.json
113
- - tests/fixtures/fail20.json
114
- - tests/fixtures/pass3.json
115
- - tests/fixtures/pass15.json
116
- - tests/fixtures/fail12.json
117
- - tests/fixtures/fail13.json
118
- - tests/fixtures/fail22.json
119
- - tests/fixtures/fail24.json
120
- - tests/fixtures/fail9.json
121
- - tests/fixtures/fail2.json
122
- - tests/fixtures/fail14.json
123
- - tests/fixtures/fail6.json
124
- - tests/fixtures/fail21.json
125
- - tests/fixtures/fail7.json
126
- - tests/fixtures/pass17.json
127
- - tests/fixtures/fail11.json
128
- - tests/fixtures/fail25.json
129
- - tests/fixtures/fail5.json
130
- - tests/fixtures/fail18.json
131
- - tests/fixtures/fail27.json
132
- - tests/fixtures/fail10.json
133
- - tests/fixtures/fail23.json
134
- - tests/test_json_rails.rb
135
- - tests/test_json.rb
136
- - tests/test_json_generate.rb
137
- - tests/test_json_unicode.rb
138
- - tests/test_json_fixtures.rb
139
- - COPYING
140
- - install.rb
141
- has_rdoc: true
142
- homepage: http://json.rubyforge.org
143
- licenses: []
144
-
145
- post_install_message:
146
- rdoc_options:
147
- - --title
148
- - JSON -- A JSON implemention
149
- - --main
150
- - README
151
- require_paths:
152
- - ext/json/ext
153
- - ext
56
+ - lib/json/ext/generator/state.rb
57
+ - lib/json/generic_object.rb
58
+ - lib/json/truffle_ruby/generator.rb
59
+ - lib/json/version.rb
60
+ homepage: https://github.com/ruby/json
61
+ licenses:
62
+ - Ruby
63
+ metadata:
64
+ bug_tracker_uri: https://github.com/ruby/json/issues
65
+ changelog_uri: https://github.com/ruby/json/blob/master/CHANGES.md
66
+ documentation_uri: https://docs.ruby-lang.org/en/master/JSON.html
67
+ homepage_uri: https://github.com/ruby/json
68
+ source_code_uri: https://github.com/ruby/json
69
+ rdoc_options:
70
+ - "--title"
71
+ - JSON implementation for Ruby
72
+ - "--main"
73
+ - README.md
74
+ require_paths:
154
75
  - lib
155
- required_ruby_version: !ruby/object:Gem::Requirement
156
- requirements:
76
+ required_ruby_version: !ruby/object:Gem::Requirement
77
+ requirements:
157
78
  - - ">="
158
- - !ruby/object:Gem::Version
159
- version: "0"
160
- version:
161
- required_rubygems_version: !ruby/object:Gem::Requirement
162
- requirements:
79
+ - !ruby/object:Gem::Version
80
+ version: '2.7'
81
+ required_rubygems_version: !ruby/object:Gem::Requirement
82
+ requirements:
163
83
  - - ">="
164
- - !ruby/object:Gem::Version
165
- version: "0"
166
- version:
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
167
86
  requirements: []
168
-
169
- rubyforge_project: json
170
- rubygems_version: 1.3.5
171
- signing_key:
172
- specification_version: 3
173
- summary: A JSON implementation as a Ruby extension
174
- test_files:
175
- - tests/test_json_encoding.rb
176
- - tests/test_json_addition.rb
177
- - tests/test_json_rails.rb
178
- - tests/test_json.rb
179
- - tests/test_json_generate.rb
180
- - tests/test_json_unicode.rb
181
- - tests/test_json_fixtures.rb
87
+ rubygems_version: 4.0.12
88
+ specification_version: 4
89
+ summary: JSON Implementation for Ruby
90
+ test_files: []
data/CHANGES DELETED
@@ -1,136 +0,0 @@
1
- 2009-10-01 (1.2.0)
2
- * fast_generate now raises an exeception for nan and infinite floats.
3
- * On Ruby 1.8 json supports parsing of UTF-8, UTF-16BE, UTF-16LE, UTF-32BE,
4
- and UTF-32LE JSON documents now. Under Ruby 1.9 the M17n conversion
5
- functions are used to convert from all supported encodings. ASCII-8BIT
6
- encoded strings are handled like all strings under Ruby 1.8 were.
7
- * Better documentation
8
- 2009-08-23 (1.1.9)
9
- * Added forgotten main doc file extra_rdoc_files.
10
- 2009-08-23 (1.1.8)
11
- * Applied a patch by OZAWA Sakuro <sakuro@2238club.org> to make json/pure
12
- work in environments that don't provide iconv.
13
- * Applied patch by okkez_ in order to fix Ruby Bug #1768:
14
- http://redmine.ruby-lang.org/issues/show/1768.
15
- * Finally got around to avoid the rather paranoid escaping of ?/ characters
16
- in the generator's output. The parsers aren't affected by this change.
17
- Thanks to Rich Apodaca <rapodaca@metamolecular.com> for the suggestion.
18
- 2009-06-29 (1.1.7)
19
- * Security Fix for JSON::Pure::Parser. A specially designed string could
20
- cause catastrophic backtracking in one of the parser's regular expressions
21
- in earlier 1.1.x versions. JSON::Ext::Parser isn't affected by this issue.
22
- Thanks to Bartosz Blimke <bartosz@new-bamboo.co.uk> for reporting this
23
- problem.
24
- * This release also uses a less strict ruby version requirement for the
25
- creation of the mswin32 native gem.
26
- 2009-05-10 (1.1.6)
27
- * No changes. І tested native linux gems in the last release and they don't
28
- play well with different ruby versions other than the one the gem was built
29
- with. This release is just to bump the version number in order to skip the
30
- native gem on rubyforge.
31
- 2009-05-10 (1.1.5)
32
- * Started to build gems with rake-compiler gem.
33
- * Applied patch object/array class patch from Brian Candler
34
- <B.Candler@pobox.com> and fixes.
35
- 2009-04-01 (1.1.4)
36
- * Fixed a bug in the creation of serialized generic rails objects reported by
37
- Friedrich Graeter <graeter@hydrixos.org>.
38
- * Deleted tests/runner.rb, we're using testrb instead.
39
- * Editor supports Infinity in numbers now.
40
- * Made some changes in order to get the library to compile/run under Ruby
41
- 1.9.
42
- * Improved speed of the code path for the fast_generate method in the pure
43
- variant.
44
- 2008-07-10 (1.1.3)
45
- * Wesley Beary <monki@geemus.com> reported a bug in json/add/core's DateTime
46
- handling: If the nominator and denominator of the offset were divisible by
47
- each other Ruby's Rational#to_s returns them as an integer not a fraction
48
- with '/'. This caused a ZeroDivisionError during parsing.
49
- * Use Date#start and DateTime#start instead of sg method, while
50
- remaining backwards compatible.
51
- * Supports ragel >= 6.0 now.
52
- * Corrected some tests.
53
- * Some minor changes.
54
- 2007-11-27 (1.1.2)
55
- * Remember default dir (last used directory) in editor.
56
- * JSON::Editor.edit method added, the editor can now receive json texts from
57
- the clipboard via C-v.
58
- * Load json texts from an URL pasted via middle button press.
59
- * Added :create_additions option to Parser. This makes it possible to disable
60
- the creation of additions by force, in order to treat json texts as data
61
- while having additions loaded.
62
- * Jacob Maine <jmaine@blurb.com> reported, that JSON(:foo) outputs a JSON
63
- object if the rails addition is enabled, which is wrong. It now outputs a
64
- JSON string "foo" instead, like suggested by Jacob Maine.
65
- * Discovered a bug in the Ruby Bugs Tracker on rubyforge, that was reported
66
- by John Evans lgastako@gmail.com. He could produce a crash in the JSON
67
- generator by returning something other than a String instance from a
68
- to_json method. I now guard against this by doing a rather crude type
69
- check, which raises an exception instead of crashing.
70
- 2007-07-06 (1.1.1)
71
- * Yui NARUSE <naruse@airemix.com> sent some patches to fix tests for Ruby
72
- 1.9. I applied them and adapted some of them a bit to run both on 1.8 and
73
- 1.9.
74
- * Introduced a JSON.parse! method without depth checking for people who like
75
- danger.
76
- * Made generate and pretty_generate methods configurable by an options hash.
77
- * Added :allow_nan option to parser and generator in order to handle NaN,
78
- Infinity, and -Infinity correctly - if requested. Floats, which aren't numbers,
79
- aren't valid JSON according to RFC4627, so by default an exception will be
80
- raised if any of these symbols are encountered. Thanks to Andrea Censi
81
- <andrea.censi@dis.uniroma1.it> for his hint about this.
82
- * Fixed some more tests for Ruby 1.9.
83
- * Implemented dump/load interface of Marshal as suggested in ruby-core:11405
84
- by murphy <murphy@rubychan.de>.
85
- * Implemented the max_nesting feature for generate methods, too.
86
- * Added some implementations for ruby core's custom objects for
87
- serialisation/deserialisation purposes.
88
- 2007-05-21 (1.1.0)
89
- * Implemented max_nesting feature for parser to avoid stack overflows for
90
- data from untrusted sources. If you trust the source, you can disable it
91
- with the option max_nesting => false.
92
- * Piers Cawley <pdcawley@bofh.org.uk> reported a bug, that not every
93
- character can be escaped by ?\ as required by RFC4627. There's a
94
- contradiction between David Crockford's JSON checker test vectors (in
95
- tests/fixtures) and RFC4627, though. I decided to stick to the RFC, because
96
- the JSON checker seems to be a bit older than the RFC.
97
- * Extended license to Ruby License, which includes the GPL.
98
- * Added keyboard shortcuts, and 'Open location' menu item to edit_json.rb.
99
- 2007-05-09 (1.0.4)
100
- * Applied a patch from Yui NARUSE <naruse@airemix.com> to make JSON compile
101
- under Ruby 1.9. Thank you very much for mailing it to me!
102
- * Made binary variants of JSON fail early, instead of falling back to the
103
- pure version. This should avoid overshadowing of eventual problems while
104
- loading of the binary.
105
- 2007-03-24 (1.0.3)
106
- * Improved performance of pure variant a bit.
107
- * The ext variant of this release supports the mswin32 platform. Ugh!
108
- 2007-03-24 (1.0.2)
109
- * Ext Parser didn't parse 0e0 correctly into 0.0: Fixed!
110
- 2007-03-24 (1.0.1)
111
- * Forgot some object files in the build dir. I really like that - not!
112
- 2007-03-24 (1.0.0)
113
- * Added C implementations for the JSON generator and a ragel based JSON
114
- parser in C.
115
- * Much more tests, especially fixtures from json.org.
116
- * Further improved conformance to RFC4627.
117
- 2007-02-09 (0.4.3)
118
- * Conform more to RFC4627 for JSON: This means JSON strings
119
- now always must contain exactly one object "{ ... }" or array "[ ... ]" in
120
- order to be parsed without raising an exception. The definition of what
121
- constitutes a whitespace is narrower in JSON than in Ruby ([ \t\r\n]), and
122
- there are differences in floats and integers (no octals or hexadecimals) as
123
- well.
124
- * Added aliases generate and pretty_generate of unparse and pretty_unparse.
125
- * Fixed a test case.
126
- * Catch an Iconv::InvalidEncoding exception, that seems to occur on some Sun
127
- boxes with SunOS 5.8, if iconv doesn't support utf16 conversions. This was
128
- reported by Andrew R Jackson <andrewj@bcm.tmc.edu>, thanks a bunch!
129
- 2006-08-25 (0.4.2)
130
- * Fixed a bug in handling solidi (/-characters), that was reported by
131
- Kevin Gilpin <kevin.gilpin@alum.mit.edu>.
132
- 2006-02-06 (0.4.1)
133
- * Fixed a bug related to escaping with backslashes. Thanks for the report go
134
- to Florian Munz <surf@theflow.de>.
135
- 2005-09-23 (0.4.0)
136
- * Initial Rubyforge Version