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
|
Overview of changes for 1.10
==============================
• Improve the performance and reliability of the JSON tokenizer
• Improve conformance of the JSON parser
• Add conformance test suite from https://github.com/nst/JSONTestSuite
• Add JsonParser:strict to enable strict parsing [#15]
• Add `--strict` to json-glib-validate to enable strict parsing
• Deprecate the signals on JsonParser
• Port tools man pages from DocBook to reStructureText
• Add "documentation" configuration option, and deprecate "gtk_doc"
• Add JsonGenerator.take_root() [#51]
• Documentation improvements for JsonReader [!72]
• Raise parser error for malformed Unicode [#10]
• Build fixes and performance improvements
• Allow disabling installed tests [#72]
• Support parsing multiple root statements in non-strict mode [#74]
• Allow loading files >4GB with json-glib-validate
• Allow single quoted strings when running in non-strict mode [#76]
• Allow escaped characters when running in non-strict mode [#77]
• Add missing nullable annotation [!88]
Overview of changes for 1.8
==============================
• Build fixes [!55]
• Add current node accessor to JsonReader [#9]
• Make xgettext optional [!50]
• Avoid leaking memory in error paths [!46]
• Update test suite to conform with TAP [!48]
• Ensure valid output for exponential notation of numbers [#67]
• Translation updates
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
|