summaryrefslogtreecommitdiff
path: root/NEWS
blob: 06778ff05b27512ac29397d48c0681295965f0db (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
Overview of changes for 1.6
==============================
• Add getters with default fallback for JsonObject [Emmanuele Bassi]
• #26 - Clarify some expections of the json_object_get_*_member APIs [Debarshi Ray]
• #29 - Improve reproducibility of the build [Ravish Bhatia]
• Use json_node_unref() with g_autoptr() [Robert Ancell]
• Clarify documentation regarding programmer errors [Philip Withnall]
• Fix getting immutable root nodes from empty input [Philip Withnall]
• Fix various memory leaks [Philip Withnall, Emmanuele Bassi]
• Add `--output` option to json-glib-format [Emmanuele Bassi]
• Refresh the build [Emmanuele Bassi]
• Add glib as a fallback sub-project [Xavier Claessens]
• Don't error with MSVC C4819 warning [Seungha Yang]
• Fix nullable annotation [Niels De Graef]
• Allow disabling tests when building [Stéphane Cerveau]
• #39 - Fix default deserialization method for JsonSerializable [Jeremy Philippe]
• Stop string to GVariant conversion failing due to unrelated errno changes [Robert Ancell]
• Support loading files via memory mapping [Philip Withnall]
• #33 - Add a symbol version to all exported symbols [Simon McVittie]
• #48 - Fix build with Clang 11 [Dimitry Andric]
• Stop using deprecated g_object_newv() constructor [Emmanuele Bassi]
• Add ordered iteration to JsonObjectIter [Emmanuele Bassi]
• #46 - Document nullability of `json_from_string()` [Emmanuele Bassi]
• #45 - Properly detect multiple top-level statements [Emmanuele Bassi]
• #41, #22 - Fix library versions on Darwin [Tom Schoonjans]
• Fix build reproducibility [!33, Alexander Kanavin]
• #26 - Fix parsing of UTF-16 surrogate pairs [James Westman]
• #56 - Ignore UTF-8 BOM [Jan-Michael Brummer]
• Discover linker flags on all toolchains
• #58 - Fix memory leak [Richard Hughes]
• Use gi-docgen instead of gtk-doc for generating the API reference
• Build against newer versions of GLib

Overview of changes for 1.4
==============================
• Use Meson as the only build system
• #773504 - Avoid extra allocations [Garrett Regier]
• #780550 - meson error looking for python3 [Daniele Forghieri]
• #769206 - docs: Clarify when NULL might be returned [Matthew Leeds]
• #766281 - utils/json_from_string: Don't reset user-provided error
            argument [Heinrich Fink]
• #758580 - json_reader_is_value returns TRUE for null type but
            json_reader_get_value throws an error [Robert Ancell]
• #768788 - Incorrect account of jsonPath syntax in doc [Allin Cottrell]
• #774688 - json_from_string() could be optimized to avoid copying the
            root node [Ole André Vadla Ravnås]

Overview of changes for 1.2
==============================
• Add simple wrapper functions for JsonGenerator and JsonParser to
  write and read a string from and to a JsonNode, respectively
• Drop use of deprecated GIO API
• Bump the dependency on GLib to 2.46
• Do not create `null` nodes for empty strings [#730803]
• Documentation fixes [Philip Withnall - #754384]
• Avoid crashes in the test suite [Iain Lane - #755977]
• Add simple iterator object for JSON objects [Philip Withnall - #755509]
• Detect missing commas in arrays
• Add support for g_auto* macros
• Allow making JSON types optionally immutable, in order to allow
  efficient hashing and equality tests [Philip Withnal - #756121]
• Improve the build under MSVC [Chun-wei Fan]
• Add Meson build system [Thibault Saunier - #773603]
• Support Visual Studio 2017 [Chun-wei Fan]
• Allow using G_DECLARE_INTERFACE with JsonSerializable
• Allow empty strings as JsonObject member names [Dr. David Alan Gilbert - #747279]

Overview of changes for 1.0
==============================
• Bump the dependency on GLib to 2.38
• Use the TAP driver for the test suite
• Improve the syntax validation in JsonPath
• Validate the JsonParser input to be UTF-8
• Add command line tools for validating and formatting JSON
• Improve documentation

Overview of changes for 0.16.0
==============================
• Fixes for building with VisualStudio. [Chun-wei Fan]
• Allow out-of-tree builds. [Colin Walters]
• Bump the dependency on GLib to 2.31.
• Use the new deprecation system provided by GLib.
• Simplify the value handling inside JsonNode.
• Use lcov to generate coverage reports for the test suite.
• Check expected ABI when building.
• Drop dependency on gnome-autogen.sh when building from Git.

Overview of changes for 0.14.0
==============================
• Documentation fixes
• Bump the dependency on GLib to 2.26
• Allow building on Windows using VisualStudio [Chun-wei Fan]
• Add JSON ↔ GVariant translation [Eduardo Lima Mitev]
• Improve sanity checks when (de)serializing GObject
  properties [Tristan Van Berkom]
• Add missing introspection annotations [Luca Bruno]
• Add JsonReader.list_members()
• Allow using JsonReader.read_element() on JSON objects
• Remove all G_CONST_RETURN usage after the deprecation
• Allow JsonSerializable to override the introspection and
  modification of properties
• Add i18n support for GError messages
• Do not serialize GObject properties that match their default
  values.
• Make JsonReader perform a stricter validation especially when using
  the strongly typed accessors.

Overview of changes for 0.12.0
==============================
• Support surrogate pairs in JSON strings [Eiichi Sato]
• Update the test suite
• Add (optional) coverage reports
• Improve strictness of JsonParser
• Improve error reporting of JsonParser
• Add JsonBuilder, a convenience API for programmatic building
  of JSON trees [Luca Bruno]
• Add methods for JsonParser and JsonGenerator to handle Input|OutputStream
  objects coming from GIO.
• Add JsonReader, a convenience API for cursor-based parsing of
  JSON trees
• Depend on GObject-Introspection ≥ 0.9.5

Overview of changes for 0.10.0
==============================
• Fix generation of doubles [Cornelius Hald]
• Add more units to the test suite
• Add JsonNode macros for quick type checking
• Guarantee insertion order when parsing and generating JSON Objects
• Serialize GParamSpecObject properties
• Add serialization and deserialization for GBoxed types
• Add API for serializing GObjects to, and deserializing from, JsonNode
• Build environment fixes
• Documentation fixes
• Generate correct introspection data
• Make JsonSerializable in complete control of deserialization [Tristan Van
  Berkom]

Overview of changes for 0.8.0
=============================
* Remove the in-tree Vala bindings: they are part of Vala, now
* Remove the in-tree Debian packaging
* Fix bug #958: JsonGenerator does not escape special characters
* Fix bug #965: Conditionally compile the test suite
* Display the filename and line inside the error messages when
  loading from a file
* Fix bug #1203: Correctly terminate a string array
* Fix bug #1393: Regression tests fail on OpenBSD
* Do not leak memory on error code paths
* Improve and clean up the build system
* Make JsonNode completely opaque
* Conditionally generate introspection data on build
* Fix bug #1353: Do not overwrite when copying
* Deprecate json_object_add_member()
* Add convenience accessors for JsonObject and JsonArray
* Add convenience iteration functions for JsonObject and JsonArray
* Automatically promote integers to gint64, to compensate for the
  lack of integer size in the JSON specificiation
* Disallow the inclusion of single header files: only json-glib,h
  and json-gobject.h can be included directly
* Documentation fixes
* Clean up and remove code duplication inside the Parser object

Overview of changes for 0.6.0
=============================
* Allow deserialization of strings into enum and flag types
* Add the :indent-char property to JsonGenerator
* Add functions to retrieve copies of the nodes inside Object and Array
* Fix leaks and invalid accesses
* Use the right type for the buffer length parameter in JsonParser
* Provide a default implementation for JsonSerializable
* Provide our own JSON tokenizer (using GScanner) for the JSON-only
  features that would have been lost by using GScanner
* Add a fully automated test suite, using the GTest framework
* Allow 'null' nodes to return a value without warnings
* Add support for parsing Unicode characters escaped using \uXXXX
* Make the deserialization of G_TYPE_STRV properties more robust
* Export the public symbols only
* Provide GTypes for the enumerations
* Avoid a warning when trying to copy an empty JsonNode
* Fix gtk-doc cross-references with GLib and GObject documentation

Overview of changes for 0.4.0
=============================
* Support parsing of negative numbers
* Fix parse error propagation and message
* More parser sanity checks
* GObject deserialization support
* Detect and parse JSON masked as a JavaScript assignment
* Allow using JsonNode with GObject properties and signals
* Add JsonGenerator:root property