summaryrefslogtreecommitdiff
path: root/Changes
blob: 7cd4b8204160e929f5802740182dc91f8f166d35 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
Revision history for Perl extension JSON.

## JSON version 2.9 #####################################################

CAUTION!!!
INCOMPATIBLE CHANGE

JSON.pm had patched JSON::XS::Boolean and JSON::PP::Boolean internally
on loading time for making these modules inherit JSON::Boolean.
But since JSON::XS v3.0 it use Types::Serialiser as boolean class.
Then now JSON.pm breaks boolean classe overload features and
-support_by_pp if JSON::XS v3.0 or later is installed.

JSON::true and JSON::false returned JSON::Boolean objects.
For workaround, they return JSON::PP::Boolean objects in this version.

    isa_ok(JSON::true, 'JSON::PP::Boolean');

And it discards a feature:

    ok(JSON::true eq 'true');

In other word, JSON::PP::Boolean overload numeric only.

    ok( JSON::true == 1 );

##########################################################################

2.90  Wed Oct 30 19:48:43 2013

	**** Please see to the headline in this file. ****

	- workaround for JSON::XS version 3.0 or later installed case.

	  * the objects returned by JSON::true/false are JSON::PP::Boolean.
	  * they do not overload 'eq'.

	- changed test cases for this patch.

	   t/e02_bool.t
	   t/e03_bool2.t
	   t/x17_strange_overload.t
	   t/xe02_bool.t
	   t/xe03_bool2.t
	   t/xe12_boolean.t

	**** Please see to the headline in this file. ****


2.61  Thu Oct 17 19:38:55 2013
	- fixed return/or in _incr_parse
	  reported and patched by MAUKE, sprout and rjbs
	  https://rt.cpan.org/Public/Bug/Display.html?id=86948

2.60
	- $json->is_xs, $json->is_pp was completely broken.
	    pointed by rt#75867 and emceelam

2.59  Wed Jun  5 14:35:54 2013
	- PUREPERL_ONLY support was not supported...
	    and finally remove all PP options from Makefile.PL.
	- recommend JSON::XS instead of conditionally requiring it
	     patched by miyagaw
	  ( for example, $ cpanm --with-recommends JSON)
	- Hide more packages from PAUSE (and other stuff)
	     patched by miyagawa

2.58  Thu May 23 09:04:37 2013
	- support PUREPERL_ONLY install option. (rt#84876)
	   (PERL_ONLY and NO_XS are not yet removed)
	- stop installing JSON::XS automatically on Perl 5.18

2.57
	- t/x17_strage_overload.t didn't work correctly.

2.56  Sat Apr  6 09:58:32 2013
	- fixed t/x17_strage_overload.t (rt#84451 by Ricardo Signes)

2.55
	- update JSON::BackportPP version

2.54  Fri Apr  5 16:15:08 2013
	- fixed t/19_incr.t on perl >= 5.17.10 (wyant, rt#84154)
	    pathced by mbeijen and modified with demerphq's patch
	- Fixed some spelling (by briandfoy)
	- fixed sppeling (by Perlover)
	- enhanced documents (Thanks to Justin Hunter and Olof Johansson)
	- changed backend module loading for overloaded object behavior
	                                        (reported by tokuhirom)

2.53  Sun May 22 16:11:05 2011
	- made Makefile.PL skipping a installing XS question
            when set $ENV{PERL_ONLY} or $ENV{NO_XS} (rt#66820)

2.52  Sun May 22 15:05:49 2011
	- fixed to_json (pointed and patched by mmcleric in rt#68359)
	- backport JSON::PP 2.27200
            * fixed incr_parse docodeing string more correctly (rt#68032 by LCONS)

2.51  Tue Mar  8 16:03:34 2011
	- import JSON::PP 2.27105 as BackportPP
	- fixed documentations (pointed by Britton Kerin and rt#64738)

2.50  Mon Dec 20 14:56:42 2010
	[JSON]
	- stable release

2.49_01  Sat Nov 27 22:03:17 2010
	[JSON]
	- JSON::PP is split away JSON distributino for perl 5.14
	- JSON::backportPP is included in instead.

2.27  Sun Oct 31 20:32:46 2010
	[JSON::PP]
	- Some optimizations (gfx)
	[JSON::PP::5005]
	- added missing B module varibales (makamaka)

2.26  Tue Sep 28 17:41:37 2010
	[JSON::PP]
	- cleaned up code and enhanced sort option efficiency in encode.

2.25  Tue Sep 28 16:47:08 2010
	[JSON]
	- JSON::Backend::XS::Supportable always executed a needless process
	    with JSON::XS backend. This made encode/decode a bit slower.

2.24  Mon Sep 27 10:56:24 2010
	[JSON::PP]
	- tweaked code.
	- optimized code in hash object encoding.

2.23  Sun Sep 26 22:08:12 2010
	[JSON::PP]
	- modified tied object handling in encode. it made encoding speed faster.
	    pointed by https://rt.cpan.org/Ticket/Display.html?id=61604
	- modified t/e10_bignum.t
            for avoiding a warning in using Math::BigInt dev version

2.22  Wed Aug 25 12:46:13 2010
	[JSON]
	- added JSON::XS installing feature in Makefile.PL
	    with cpan or cpanm (some points suggested by gfx)
	- check that to_json and from_json are not called as methods (CHORNY)
	[JSON::PP]
	- modified for -Duse64bitall -Duselongdouble compiled perl.
	    11_pc_expo.t too. (these are patched by H.Merijn Brand)

2.21  Mon Apr  5 14:56:52 2010
	[JSON]
	- enhanced 'HOW DO I DECODE A DATA FROM OUTER AND ENCODE TO OUTER'
	- renamed eg/bench_pp_xs.pl to eg/bench_decode.pl
	- added eg/bench_encode.pl

2.20  Fri Apr  2 12:50:08 2010
	[JSON]
	- added eg/bench_pp_xs.pl for benchmark sample
	- updated 'INCREMENTAL PARSING' section
	[JSON::PP]
	- decode_prefix() didn't count a consumed text length properly.
	- enhanced XS compatibilty
	    in the case of decoding a white space garbaged text.

2.19  Tue Mar 30 13:40:24 2010
	[JSON]
	- fixed typo (rt#53535 by Angel Abad)
	- added a recommendation
              refering to (en|de)code_json to pod (suggested by tokuhirom)
	- added 'HOW DO I DECODE A DATA FROM OUTER AND ENCODE TO OUTER' to pod.

2.18  Tue Mar 23 15:18:10 2010
	[JSON]
	- updated document (compatible with JSON::XS 2.29)
	[JSON::PP]
	- fixed encode an overloaded 'eq' object bug (reported by Alexey A. Kiritchun)
	- enhanced an error message compatible to JSON::XS

2.17  Thu Jan  7 12:23:13 2010
	[JSON]
	- fixed a problem caused by JSON::XS backend and support_by_pp option
	  (rt#52842,  rt#52847 by ikegami)
	[JSON::PP]
	- made compatible with JSON::XS 2.27
	- patched decode for incr_parse (rt#52820 by ikegami)
	- relaxed option caused an infinite loop in some condition.

2.16  Fri Oct 16 15:07:37 2009
	[JSON][JSON::PP]
	- made compatible with JSON::XS 2.26
            *indent adds a final newline
	- corrected copyrights in JSON::PP58.

2.15  Tue Jun  2 16:36:42 2009
	[JSON]
	- made compatible with JSON::XS 2.24
	- corrected copyrights in some modules.
	[JSON::PP]
	 - modified incr_parse, pointed by Martin J. Evans (rt#46439)
	 - deleted a meaningless code

2.14  Tue Feb 24 11:20:24 2009
	[JSON]
	- the compatible XS version was miswritten in document.

2.13  Sat Feb 21 17:01:05 2009
	[JSON::PP]
	- decode() didn't upgrade unicode escaped charcters \u0080-\u00ff.
	  this problem was pointed by rt#43424 (Mika Raento)
	[JSON::PP::56]
	- fixed utf8::encode/decode emulators bugs.
	- defined a missing B module constant in Perl 5.6.0.
	  (reported by Clinton Pierce)
	[JSON::PP::5005]
	- _decode_unicode() returned a 0x80-0xff value as UTF8 encoded byte.
	[JSON]
	- added a refference to JSON::XS's document "JSON and ECMAscript".
	- fixed a typo in the document (pointed by Jim Cromie).

2.12  Wed Jul 16 11:14:35 2008
	[JSON]
	- made compatible with JSON::XS 2.22

	[JSON::PP]
	- fixed the incremental parser in negative nest level
	    (pointed and patched by Yuval Kogman)

2.11  Tue Jun 17 14:30:01 2008
	[JSON::PP]
	- fixed the decoding process which checks number.
	    regarded number like chars in Unicode (ex. U+FF11) as [\d].
	- enhanced error messages compatible to JSON::XS.

2.10  Tue Jun  3 18:42:11 2008
	[JSON]
	- made compatible with JSON::XS 2.21
	    * updated the document.
	- added an item pointed by rt#32361 to the doc.

	[JSON::PP] [JSON::PP58] [JSON::PP56] [JSON::PP5005]
	- made compatible with JSON::XS 2.21
	    * added incr_reset
	- removed useless codes.

2.09  Sun Apr 20 20:45:33 2008
	[JSON]
	- made compatible with JSON::XS 2.2
	- changed pod section totally.

	[JSON::PP] 2.20001
	- made compatible witg JSON::XS 2.2
	    * lifted the log2 rounding restriction of max_depth and max_size.
	    * incremental json parsing (EXPERIMENTAL).
	    * allow_unknown/get_allow_unknown methods.
	- the version format was changed.
	    X.YYZZZ =>  X.YY is the same as JSON::XS. ZZZ is the PP own version.
	- changed pod section totally.

2.08  Sat Apr 12 22:49:39 2008
	[JSON]
	- fixed JSON::Boolean inheritance mechanism.
            If the backend is XS with support_by_pp mode and using PP only
            support method, JSON::Boolean did not work correctly.
            Thanks to hg[at]apteryx's point.

	[JSON::PP] 2.07
	- Now split into JSON::PP58 for Perl 5.8 and lator.
	- enhanced an error message compatible to JSON::XS
            did not croak when TO_JSON method returns same object as passed.

	[JSON::PP58]
	- modified for Perls post 5.8.0 that don't have utf8::is_utf8.
	    Thanks to Andreas Koenig.

2.07  Sat Feb 16 15:52:29 2008
	[JSON]
	- experimentally added -convert_blessed_universally to define
	    UNIVERSAL::TO_JSON subroutine.

              use JSON -convert_blessed_universally;
              $json->convert_blessed->encode( $blessed );

	- and as_nonbleesed is obsoleted (not yet removed). OK?
	- fixed t/04_pretty.t.

2.06  Fri Feb  8 16:21:59 2008
	[JSON::PP] 2.06
	- enhanced the XS compatibility for pretty-printing
	    and the indent handling was broken!

2.05  Tue Feb  5 13:57:19 2008
	[JSON::PP] 2.05
	- enhanced some XS compatibilities for de/encode.
	- now decode_error can dump high (>127) chars.
	- enhanced the XS combatilbity of the decoding error.
	- fixed the utf8 checker while decoding (is_valid_utf8).
	- implemented utf8::downgrade in JSON::PP56.
	- enhanced utf8::encode in JSON::PP56.
	- made utf8::downgrade return a true in JSON::PP5005.

2.04  Sat Jan  5 16:10:01 2008
	[JSON]
	- fixed a document typo pointed by kawasaki@annocpan
	- make DATA handle closed for error mssages in support_by_pp mode.
	- switched JSON::Backend::XS::Supportable wrapper de/encode
             to changing symbolic tables for croak messages and speed.
	- fixed support_by_pp setting

	[JSON::PP] 2.04
	- enhanced the error message compatiblity to XS.

2.03  Fri Jan  4 14:10:58 2008
	[JSON]
	- fixed the description - Transition ways from 1.xx to 2.xx.
             $JSON::ConvBlessed compat => $json->allow_blessed->as_nonbleesed
	- support_by_pp supports 'as_nonbleesed' (experimental)
	- clean up the code for saving memory

	[JSON::PP] 2.03
	- Now the allo_bignum flag also affects the encoding process.
            encode() can convert Math::BigInt/Float objects into JSON numbers
	- added as_nonblessed option (experimental)
	- cleaned up internal function names (renamed camel case names)

2.02  Wed Dec 26 11:08:19 2007
	[JSON]
	- Now support_by_pp allows to use indent_length()

	[JSON::PP] 2.02
	- added get_indent_length

2.01  Thu Dec 20 11:30:59 2007
	[JSON]
	- made the object methods - jsonToObj and objToJson
          available for a while with warnings.

2.00  Wed Dec 19 11:48:04 2007
	[JSON]
	- new version!
	- modified Makefile.PL for broken Perls (when PERL_DL_NONLAZY = 1).

	[JSON::PP] 2.0104
	- clean up the document.
	- use 'subs' instead of CORE::GLOBAL for fixing join() in 5.8.0 - 5.8.2
	- enhanced decoding error messages for JSON::XS compatibility.
	- jsonToObj and objToJson warn.


1.99_05  Fri Dec 14 18:30:43 2007
	[JSON]
	- added a description about the Unicode handling to document.

	[JSON::PP] (2.0103)
	- Now the JSON::PP56 unicode handling does not require Unicode::String.
	- Now JSON::PP5005 can de/enocde properly within the Perl 5.005 world.
	- decode() always utf8::decode()ed to strings.
	- decode() returned a big integer as string though the integer is
          smaller than it is so.
	- a bad know how - added the join() wrapper for Perl 5.8.0 - 5.8.2 bug.
	- JSON::PP56 encode() did not handle Unicode properly.
	- added a section about the unicode handling on Perls to JSON::PP doc.

1.99_04  Mon Dec 10 14:28:15 2007
	[JSON]
	- modified the tests and source for Perl 5.005

	[JSON::PP] (2.0102)
	- modified some prototypes in JSON::PP5005.

1.99_03  Mon Dec 10 11:43:02 2007
	[JSON]
	- modified tests and document.
	   in Perl5.8.2 or earlier, decoding with utf8 is broken because of
           a Perl side problem. (join() had a bug.)
	- modified Makefile.PL for Perl 5.005.
	   in the version, 'require JSON' is fail....

	[JSON::PP] (2.0102)
	- modified string decode function.
	- enhanced error messages for compatibility to JSON::XS.
	- enhanced utf8::decode emulator and unpack emulator in JSON::PP56.

1.99_02  Sun Dec  9 05:06:19 2007
        [JSON::PP] (2.0101)
	- decoding with utf8 was broken in Perl 5.10
	    as the behaviour of unpack was changed.
	- added a fake in JSON::PP5005 (bytes.pm)
	- added the missing file JONS::PP::Boolean.pm

1.99_01  Sat Dec  8 12:01:43 2007
	[JSON]
	- released as version 2.0
	   this module is incompatible to 1.xx, so check the document.

        [JSON::PP] (2.01 from 0.97)
	- updated JSON::PP for compatible to JSON::XS 2.01
	- renamed from_json and to_json to decode_json and encode_json
	- added get_* to JSON::PP
	- deleted property() from JSON::PP
	- deleted strict() and added loose()
	- deleted disable_UTF8() and self_encode()
	- renamed singlequote to allow_singlequote
	- renamed allow_bigint to allow_bignum
	- max_depth and max_size round up their arguments.
	- added indent_length and sort_by


## JSON version 1.xx

1.15  Wed Nov 14 14:52:31 2007
	- 1.xx final version.

0.09  Sat Apr  9 15:27:47 2005
	- original version; created by h2xs 1.22 with options
		-XA -b 5.5.3 -n JSON