root / json-framework-3.2.0 / NEWS.md @ 3ebe9884
History | View | Annotate | Download (5.2 kB)
1 |
3.2.0 (January 19th, 2013) |
---|---|
2 |
========================== |
3 |
|
4 |
Version 3.2.0 was released, with no changes since rc1. |
5 |
|
6 |
3.2.0-rc1 (January 4th, 2013) |
7 |
============================= |
8 |
|
9 |
**Deprecations** |
10 |
|
11 |
* Deprecated the `JSONValue` and `JSONRepresentation` category methods. |
12 |
* Deprecated several methods that return an error through an `NSError**` argument. |
13 |
|
14 |
These will be removed in the next major version release. |
15 |
|
16 |
**Changes** |
17 |
|
18 |
* Absorb LICENSE and INSTALL files into README. |
19 |
* Remove the Xcode Workspace from the top-level source checkout; the less |
20 |
clutter the better and this doesn't seem to serve any function. |
21 |
* Change to use AppleDoc for creating API documentation. This results in |
22 |
output looking more consistent with Apple's documentation. |
23 |
|
24 |
**Bugfixes** |
25 |
|
26 |
* Replace use of INFINITY with HUGE_VAL where used as double (reported by |
27 |
Antoine Cœur) |
28 |
* Correctly parse -0.0 as a JSON number (Cary Yang) |
29 |
|
30 |
3.1.1 (August 4th, 2012) |
31 |
======================== |
32 |
|
33 |
Bugfix release. This release is special in that it mainly contains code by other people. Thanks guys! |
34 |
|
35 |
* Fix bug that could result in a long long overflow (Ole André Vadla Ravnås) |
36 |
* Make SINGLETON thread safe (Alen Zhou) |
37 |
* Updated .gitattributes to say that tests are binary files (Phill Baker) |
38 |
* Fix string formatter warning in new XCode (Andy Brett) |
39 |
* Fix issue that could lead to "bad access" or zombie errors (jonkean) |
40 |
* Update links to API docs |
41 |
|
42 |
|
43 |
3.1 (March 26th, 2012) |
44 |
===================== |
45 |
|
46 |
Automatic Reference Counting |
47 |
---------------------------- |
48 |
|
49 |
3.1 requires Xcode 4.2 to build, because previous versions did |
50 |
not have ARC support. If you can't use Xcode 4.2, or for some reason |
51 |
can't use ARC, you need to stick with version 3.0. |
52 |
|
53 |
To make this move simpler I decided to move to 64-bit only & remove |
54 |
instance variables for properties. |
55 |
|
56 |
Miscellaneous |
57 |
------------- |
58 |
|
59 |
* Added an optional comparator that is used when sorting keys. |
60 |
* Be more memory-efficient when parsing long strings containing escaped characters. |
61 |
* Add a Workspace that includes the sample projects, for ease of browsing. |
62 |
* Report error for numbers with exponents outside range of -128 to 127. |
63 |
|
64 |
|
65 |
3.0 (June 18th, 2011) |
66 |
===================== |
67 |
|
68 |
JSON Stream Support |
69 |
------------------- |
70 |
|
71 |
We now support parsing of documents split into several NSData chunks, |
72 |
like those returned by *NSURLConnection*. This means you can start |
73 |
parsing a JSON document before it is fully downloaded. Depending how you |
74 |
configure the delegates you can chose to have the entire document |
75 |
delivered to your process when it's finished parsing, or delivered |
76 |
bit-by-bit as records on a particular level finishes downloading. For |
77 |
more details see *SBJsonStreamParser* and *SBJsonStreamParserAdapter* in |
78 |
the [API docs][api]. |
79 |
|
80 |
There is also support for *writing to* JSON streams. This means you can |
81 |
write huge JSON documents to disk, or an HTTP destination, without |
82 |
having to hold the entire structure in memory. You can use this to |
83 |
generate a stream of tick data for a stock trading simulation, for |
84 |
example. For more information see *SBJsonStreamWriter* in the [API |
85 |
docs][api]. |
86 |
|
87 |
Parse and write UTF8-encoded NSData |
88 |
----------------------------------- |
89 |
|
90 |
The internals of *SBJsonParser* and *SBJsonWriter* have been rewritten |
91 |
to be NSData based. It is no longer necessary to convert data returned |
92 |
by NSURLConnection into an NSString before feeding it to the parser. The |
93 |
old NSString-oriented API methods still exists, but now converts their |
94 |
inputs to NSData objects and delegates to the new methods. |
95 |
|
96 |
Project renamed to SBJson |
97 |
------------------------- |
98 |
|
99 |
The project was renamed to avoid clashing with Apple's private |
100 |
JSON.framework. (And to make it easier to Google for.) |
101 |
|
102 |
* If you copy the classes into your project then all you need to update |
103 |
is to change the header inclusion from `#import "JSON.h"` to `#import |
104 |
"SBJson.h"`. |
105 |
* If you link to the library rather than copy the classes you have to |
106 |
change the library you link to. On the Mac `JSON.framework` became |
107 |
`SBJson.framework`. On iOS `libjson.a` became `libsbjson-ios.a`. In both |
108 |
cases you now have to `#import <SBJson/SBJson.h>` in your code. |
109 |
|
110 |
API documentation integrated with Xcode |
111 |
--------------------------------------- |
112 |
|
113 |
The *InstallDocumentation.sh* script allows you to generate [API |
114 |
documentation][api] from the source and install it into Xcode, so it's |
115 |
always at your fingertips. (This script requires [Doxygen][] to be |
116 |
installed.) After running the script from the top-level directory, open |
117 |
Xcode's documentation window and search for SBJson. (You might have to |
118 |
close and re-open Xcode for the changes to take effect.) |
119 |
|
120 |
[api]: http://stig.github.com/json-framework/api/3.0/ |
121 |
[Doxygen]: http://doxygen.org |
122 |
|
123 |
Example Projects |
124 |
---------------- |
125 |
|
126 |
These can be found in the Examples folder in the distribution. |
127 |
|
128 |
* TweetStream: An exampleshowing how to use the new streaming |
129 |
functionality to interact with Twitter's multi-document streams. This |
130 |
also shows how to link to the iOS static lib rather than having to copy |
131 |
the classes into your project. |
132 |
* DisplayPretty: A small Mac example project showing how to link to an |
133 |
external JSON framework rather than copying the sources into your |
134 |
project. This is a fully functional (though simplistic) application that |
135 |
takes JSON input from a text field and presents it nicely formatted into |
136 |
another text field. |