Imported Upstream version 1.2.4
[platform/upstream/json-glib.git] / NEWS
1 Overview of changes for 1.2
2 ==============================
3 • Add simple wrapper functions for JsonGenerator and JsonParser to
4   write and read a string from and to a JsonNode, respectively
5 • Drop use of deprecated GIO API
6 • Bump the dependency on GLib to 2.46
7 • Do not create `null` nodes for empty strings [#730803]
8 • Documentation fixes [Philip Withnall - #754384]
9 • Avoid crashes in the test suite [Iain Lane - #755977]
10 • Add simple iterator object for JSON objects [Philip Withnall - #755509]
11 • Detect missing commas in arrays
12 • Add support for g_auto* macros
13 • Allow making JSON types optionally immutable, in order to allow
14   efficient hashing and equality tests [Philip Withnal - #756121]
15 • Improve the build under MSVC [Chun-wei Fan]
16 • Add Meson build system [Thibault Saunier - #773603]
17 • Support Visual Studio 2017 [Chun-wei Fan]
18 • Allow using G_DECLARE_INTERFACE with JsonSerializable
19 • Allow empty strings as JsonObject member names [Dr. David Alan Gilbert - #747279]
20
21 Overview of changes for 1.0
22 ==============================
23 • Bump the dependency on GLib to 2.38
24 • Use the TAP driver for the test suite
25 • Improve the syntax validation in JsonPath
26 • Validate the JsonParser input to be UTF-8
27 • Add command line tools for validating and formatting JSON
28 • Improve documentation
29
30 Overview of changes for 0.16.0
31 ==============================
32 • Fixes for building with VisualStudio. [Chun-wei Fan]
33 • Allow out-of-tree builds. [Colin Walters]
34 • Bump the dependency on GLib to 2.31.
35 • Use the new deprecation system provided by GLib.
36 • Simplify the value handling inside JsonNode.
37 • Use lcov to generate coverage reports for the test suite.
38 • Check expected ABI when building.
39 • Drop dependency on gnome-autogen.sh when building from Git.
40
41 Overview of changes for 0.14.0
42 ==============================
43 • Documentation fixes
44 • Bump the dependency on GLib to 2.26
45 • Allow building on Windows using VisualStudio [Chun-wei Fan]
46 • Add JSON ↔ GVariant translation [Eduardo Lima Mitev]
47 • Improve sanity checks when (de)serializing GObject
48   properties [Tristan Van Berkom]
49 • Add missing introspection annotations [Luca Bruno]
50 • Add JsonReader.list_members()
51 • Allow using JsonReader.read_element() on JSON objects
52 • Remove all G_CONST_RETURN usage after the deprecation
53 • Allow JsonSerializable to override the introspection and
54   modification of properties
55 • Add i18n support for GError messages
56 • Do not serialize GObject properties that match their default
57   values.
58 • Make JsonReader perform a stricter validation especially when using
59   the strongly typed accessors.
60
61 Overview of changes for 0.12.0
62 ==============================
63 • Support surrogate pairs in JSON strings [Eiichi Sato]
64 • Update the test suite
65 • Add (optional) coverage reports
66 • Improve strictness of JsonParser
67 • Improve error reporting of JsonParser
68 • Add JsonBuilder, a convenience API for programmatic building
69   of JSON trees [Luca Bruno]
70 • Add methods for JsonParser and JsonGenerator to handle Input|OutputStream
71   objects coming from GIO.
72 • Add JsonReader, a convenience API for cursor-based parsing of
73   JSON trees
74 • Depend on GObject-Introspection ≥ 0.9.5
75
76 Overview of changes for 0.10.0
77 ==============================
78 • Fix generation of doubles [Cornelius Hald]
79 • Add more units to the test suite
80 • Add JsonNode macros for quick type checking
81 • Guarantee insertion order when parsing and generating JSON Objects
82 • Serialize GParamSpecObject properties
83 • Add serialization and deserialization for GBoxed types
84 • Add API for serializing GObjects to, and deserializing from, JsonNode
85 • Build environment fixes
86 • Documentation fixes
87 • Generate correct introspection data
88 • Make JsonSerializable in complete control of deserialization [Tristan Van
89   Berkom]
90
91 Overview of changes for 0.8.0
92 =============================
93 * Remove the in-tree Vala bindings: they are part of Vala, now
94 * Remove the in-tree Debian packaging
95 * Fix bug #958: JsonGenerator does not escape special characters
96 * Fix bug #965: Conditionally compile the test suite
97 * Display the filename and line inside the error messages when
98   loading from a file
99 * Fix bug #1203: Correctly terminate a string array
100 * Fix bug #1393: Regression tests fail on OpenBSD
101 * Do not leak memory on error code paths
102 * Improve and clean up the build system
103 * Make JsonNode completely opaque
104 * Conditionally generate introspection data on build
105 * Fix bug #1353: Do not overwrite when copying
106 * Deprecate json_object_add_member()
107 * Add convenience accessors for JsonObject and JsonArray
108 * Add convenience iteration functions for JsonObject and JsonArray
109 * Automatically promote integers to gint64, to compensate for the
110   lack of integer size in the JSON specificiation
111 * Disallow the inclusion of single header files: only json-glib,h
112   and json-gobject.h can be included directly
113 * Documentation fixes
114 * Clean up and remove code duplication inside the Parser object
115
116 Overview of changes for 0.6.0
117 =============================
118 * Allow deserialization of strings into enum and flag types
119 * Add the :indent-char property to JsonGenerator
120 * Add functions to retrieve copies of the nodes inside Object and Array
121 * Fix leaks and invalid accesses
122 * Use the right type for the buffer length parameter in JsonParser
123 * Provide a default implementation for JsonSerializable
124 * Provide our own JSON tokenizer (using GScanner) for the JSON-only
125   features that would have been lost by using GScanner
126 * Add a fully automated test suite, using the GTest framework
127 * Allow 'null' nodes to return a value without warnings
128 * Add support for parsing Unicode characters escaped using \uXXXX
129 * Make the deserialization of G_TYPE_STRV properties more robust
130 * Export the public symbols only
131 * Provide GTypes for the enumerations
132 * Avoid a warning when trying to copy an empty JsonNode
133 * Fix gtk-doc cross-references with GLib and GObject documentation
134
135 Overview of changes for 0.4.0
136 =============================
137 * Support parsing of negative numbers
138 * Fix parse error propagation and message
139 * More parser sanity checks
140 * GObject deserialization support
141 * Detect and parse JSON masked as a JavaScript assignment
142 * Allow using JsonNode with GObject properties and signals
143 * Add JsonGenerator:root property