All checksums have been double-checked against existing RMD160 and
SHA512 hashes
Unfetchable distfiles (fetched conditionally?):
./textproc/convertlit/distinfo clit18src.zip
The motivation is to consider meson as an application, so there is only
one copy on the system, and as a python 3 program, it can build python 2
packages.
Switch to meson build system. Based on wip/json-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]
The actual fix as been done by "pkglint -F */*/buildlink3.mk", and was
reviewed manually.
There are some .include lines that still are indented with zero spaces
although the surrounding .if is indented. This is existing practice.
Problems found locating distfiles:
Package cabocha: missing distfile cabocha-0.68.tar.bz2
Package convertlit: missing distfile clit18src.zip
Package php-enchant: missing distfile php-enchant/enchant-1.1.0.tgz
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
Release JSON-GLib 1.0.4
build: Enable subdir-objects
We need to remove the path specification inside the sources listing, and
modify the enumeration type and marshallers generation rules to cope
with it (by adding the $(srcdir) when needed). This is similar to the
changes there were made to Clutter.
Added Bosnian translation
build: Enable gtkdoc-check
We can verify that the documentation is correct and up to date every
time we distcheck by turning on the gtk-doc check tool.
build: Clean up gtk-doc stanzas
We need to ensure that gtk-doc looks into both the srcdir and the
builddir in order to find all annotations.
We also don't need to have the .types file under revision control:
gtk-doc is perfectly capable of rebuilding it by itself.
docs: Add missing symbol indices
docs: Add missing annotations
configure: test(1) uses = to test for string equality
https://bugzilla.gnome.org/show_bug.cgi?id=711600https://bugzilla.gnome.org/show_bug.cgi?id=746143
Updated Slovak translation
MSVC Builds: Rename "Install" Projects
Rename the install projects as json-glib-install, so that it would be
easier for one to integrate the project set in a grand solution that can be
used to build the entire stack, such as for Clutter.
MSVC Builds: "Install" the .pdb Files
"Install" the .pdb files for the json-glib DLL and the tools to ease
debugging people developing or using json-glib, as the .pdb files are
already generated for all builds.
MSVC 2010 Projects: Clean Up "Installation"
The empty lines in the property sheets are not really needed, so remove
them.
MSVC Builds: Speed Up Release Builds
Use the multiprocessor compilation (/MP) option, which can cut down release
build times by quite a bit. This will emit a brief warning on debug
builds, but otherwise the build will proceed as normal.
Also use the /d2Zi+ option for MSVC 2010 (and later) builds so that more
useful information can be logged to the .pdb files for the release builds.
json-gvariant: Parse json doubles that are whole numbers
The json gvariant serializer encodes whole number doubles without
a dot. The deserializer needs to be able to parse these as well.
Fix problem, and add test cases.
https://bugzilla.gnome.org/show_bug.cgi?id=724319
builder: Add missing (transfer) annotation to json_builder_add_value()
Document and annotate the fact that json_builder_add_value() takes
ownership of the JsonNode passed in to it.
https://bugzilla.gnome.org/show_bug.cgi?id=743475
reader: Maintain a stack of member names
This fixes the case where, with nested objects, we call:
json_reader_read_member (reader, "outer");
// json_reader_get_member_name (reader) == "outer"
json_reader_read_member (reader, "inner");
// json_reader_get_member_name (reader) == "inner"
// do something useful
json_reader_end_member (reader);
but at the end, the following assertion no longer holds:
// json_reader_get_member_name (reader) == "outer"
even though the JsonReader state should have been reset after ending the
inner node.
Fix it by maintaining a stack of member names. This works with both
json_reader_read_member() and json_reader_read_element(). Updates to the
unit tests are included.
https://bugzilla.gnome.org/show_bug.cgi?id=741824
Handle serialization/deserialization of glong gulong and guint64
Long and unsigned long was properly serialized but not deserialized, guint64
handling is not ideal as the type is cast into a gint64, however this is
better than not handling the fundamental type at all.
https://bugzilla.gnome.org/show_bug.cgi?id=725972
Drop unnecessary '_' prefix from json_marshal
It's not public API anyway, and we use annotations instead of the '_'
prefix.
Updated Turkish translation
Updated Swedish translation
Updated Assamese translation
Updated German translation
doap category core
Clean up the enumeration type template
Include "config.h" in the enum types template
Expands the symbol annotation correctly.
Updated Greek translation
MSVC 2010+ Projects: Update "Installation" Process
Currently, due to the way that Visual Studio 2010+ projects are handled,
the "install" project does not re-build upon changes to the sources, as it
does not believe that its dependencies have changed, although the changed
sources are automatically recompiled. This means that if a part or more
of the solution does not build, or if the sources need some other fixes
or enhancements, the up-to-date build is not copied automatically, which
can be misleading.
Improve on the situation by forcing the "install" project to trigger its
rebuild, so that the updated binaries can be copied. This does trigger an
MSBuild warning, but having that warning is way better than not having an
up-to-date build, especially during testing and development.
[l10n] Update Catalan translation
Post-release version bump to 1.0.3
parser: Use the right length for parsing the stream contents
json-parser: use length parameter when validating utf-8
generator: Escape Object key names correctly
generator: Escape the control characters correctly
generator: Add tests for updated string escaping routine
build: Include enum-types.[ch] in the introspection sources
translation updates
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
"--{enable,disable}-gltest" configure option only affect to configure script
whether glib avaiablility test will be run or not, not affect to self-tests.
* drop unwanted dependency on json-c and pthread.
* enable introspection option by default.
Overview of changes for 0.16.2
==============================
• Use the -Bsymbolic-functions linker flag when available
the user to disable tests and NLS (enabled by default), and add PKG_OPTION
for gobject-introspection. EXTRACT_SUFX is now .tar.xz. Buildlink pthread
and textproc/json-c. Add PKG_BUILD_OPTIONS to buildlink3.mk. No noticeable
changes by default. PLIST uses PLIST_VARS as supplied by options.mk for
introspection and nls PKG_OPTIONS. Passes pkglint. From ChangeLog:
Translation additions/updates:
Assamese, Bengali Brazilian, British Bulgarian, Catalan, Catalan
(Valencian), Czech, Danish, English, Esperanto, Estonian, French, Galician,
German, Greek, Hindi, Hungarian, India, Indonesian, Italian, Japanese,
Korean, Kyrgyz, Latvian, Lithuanian, Norwegian (bokmal), Odia, Polish,
Portuguese, Portuguese (Brazilian), Punjabi, Russian, Serbian, Slovak,
Slovenian, Spanish, Swedish, Tadjik, Telugu, Traditional Chinese
translation (Hong Kong and Taiwan), Turkish, Ukrainian, Uyghur, Vietnamese
docs: Fix xinclude fallback for annotation glossary
variant: Fix documentation and annotations for deserialize()
Update Visual Studio Solution Files
Visual Studio Builds: Support building introspection files
Update build/win32/config.h.win32(.in)
Update Visual Studio Property Sheets
node: add (transfer none) annotations to the new typed initializers
Signed-off-by: Gheyret Kenji <gheyret@gmail.com>
path: Fix get all object members with wildcard
path: Fix get all array elements with wildcard
Using the same data as in tests, asking for $['store']['book'][*] JSON path
should return all the book objects in an array.
But that array is returned inside another array, dupped several times.
Fix VS 2008 poperty sheet
Cleanup/fix Visual C++ build files
build: Bump up the requirement for GLib
build: Use the symbols file to generate our public ABI
symbols: Re-sort
tests: Put g_type_init() under conditional compilation
Use typed initializers for JsonNode
Use the new typed JsonNode initializers
The typed setters in JsonArray and JsonObject should use the JsonNode
typed initializers.
Consolidate null handling in JsonArray and JsonObject
node: Add typed initializers
tests/reader: Improve test coverage
reader: "null" is a value
scanner: Remove unused functions
tests: Improve coverage
gobject: Use JsonSerializable API
Instead of directly accessing the vfunc from the interface vtable.
tests: Improve coverage
builder: Conform to the coding style
Function arguments should be aligned on different lines.
array: Relax preconditions on array and object methods
array: Relax add_string_element() preconditions
tests/parser: Check negative numeric values
tests/invalid: Improve test coverage
parser: Empty member names are not valid
build: Fix test-report generation
tests/invalid: Add more invalid JSON tests
tests/invalid: Check invalid assignments
parser: Use error codes for invalid assignments
tests: Move the invalid JSON unit to its own file
parser: Consolidate value parsing
parser: Show the column in the error message
parser: Fix small leak in json_parse_statement
reader: Do not do strict type validation on numeric types
node: Implicitly convert numeric types
generator: Use JsonValue, not GValue
doap: Change my email address to @gnome.org
Post-release version bump to 0.15.3
docs: Add missing symbols
build: Drop dependency on gnome-autogen.sh
Use autoreconf instead.
symbols: Add missing functions
build: Add abicheck.sh
scanner: Mark all symbols as internal
Use lcov instead of gcov for test coverage reports
With lcov we get nicer reporting tools, with HTML output.
node: Replace GValue with JsonValue
Add JsonValue
path: Pass int width for printf field width, not long
Signed-off-by: Fran Diéguez <fran.dieguez@mabishu.com>
Fix "install" paths in VS property sheets
Remove JSON_DISABLE_DEPRECATED
Prevent .po file updates on simple 'make'
autogen.sh: remove out-of-tree check
Fix VS property sheets
docs: Use markdown in the README
docs: Fix typo in JsonObject's description
Use the new GLib deprecation scheme
Use g_value_[sg]et_schar() with GLib 2.31
The non-explicitly signed variant is deprecated.
Adapt to the demise of single includes in GLib
Update VS9 property sheet
build: Fix srcdir != builddir
Overview of changes for 0.12.2
==============================
* Build fix on win32
* Implement support for bare values in JsonGenerator
* Do not require GLib 2.20 for the test suite
* Do not lose precision when serializing floating point values
* Improve introspection data
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.4
==============================
• Improve the strictness of the JsonParser code by refactoring a large
chunk of it
• Fix JsonGenerator when dumping nodes with a floating point value
• Add negative conformance test cases
Overview of changes for 0.10.2
==============================
* Documentation fixes for GBoxed transformation functions
* Zero all fields of JsonObject on creation
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
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
JSON-GLib is a library providing serialization and deserialization support for
the JavaScript Object Notation (JSON) format described by RFC 4627
JSON-GLib uses GLib native data types and the generic value container GValue for
ease of development. It also provides integration with the GObject classes for
direct serialization into, and deserialization from, JSON data streams.