serd (1.0.0) unstable; * Add SerdBuffer for mutable buffers to keep SerdChunk const-correct * Remove useless character counting from API * Use char* for strings in public API * Rename SerdChunk to SerdStringView * Make serd_strtod API const-correct * Make nodes opaque * Remove half-baked serd_uri_to_path() * Bring read/write interface closer to C standard -- David Robillard Sat, 19 Jan 2019 13:31:12 +0100 serd (0.30.1) unstable; * Fix GCC 4 build * Fix resolving some URIs against base URIs with no trailing slash * Fix colliding blank nodes when parsing TriG * Fix missing parse error messages * Fix parsing TriG graphs with several squashed trailing dots * Fix parsing "a" abbreviation without padding whitespace * Improve documentation -- David Robillard Sat, 30 Mar 2019 12:57:54 +0100 serd (0.30.0) stable; * Upgrade to waf 2.0.9 and autowaf a328983 * Fix length of base64 encoded nodes * Clarify errors returned by serd_env_expand() * Fix reported error when reading statements with only a blank node * Fix parsing local names that end with escaped dots * Improve relative URI serialisation * Add serdi option to write ASCII output * Make serdi guess input syntax from extension if unspecified * Make serdi syntax options case-insensitive * Add basic error tolerant parsing for line-based formats * Support strict parsing of prefixed names * Report errors for all failing test cases * Use more efficient stack allocation and growth policies * Add NTriples test suite * Fix building with MSVC * Clean up testing code * Add serd_free for freeing memory allocated by serd -- David Robillard Sun, 22 Jul 2018 20:34:09 +0200 serd (0.28.0) stable; * Add support for reading from a user provided callback * Add serd_node_from_substring() * Fix strict parsing of abolute URI schemes * Fix parsing of hex escapes in file URIs (thanks Johannes Mueller) * Gracefully handle applications that write corrupt UTF-8 * Fix hangs when reading corrupt UTF-8 -- David Robillard Fri, 21 Jul 2017 08:28:47 +0200 serd (0.26.0) stable; * Add support for TriG and NQuads * Add support for braindead SPARQL PREFIX and BASE directives -- David Robillard Mon, 09 Jan 2017 20:10:35 -0500 serd (0.24.0) stable; * Add serd_node_new_relative_uri() * Fix construction and comparison of URIs with UTF-8 characters * Report I/O errors with message and return appropriate status code * Report missing statement separator errors * Fix potential out of bounds read * Fix unaligned memory access, undefined behaviour which breaks on ARM * Fix documentation generation * Update serdi man page -- David Robillard Mon, 19 Sep 2016 22:21:47 -0400 serd (0.22.0) stable; * Remove dependence on fmax() to avoid portability issues * Fix serd_reader_read_file() for URIs with escaped characters (spaces) * Add serd_reader_set_strict() and -l (lax) option to serdi to tolerate parsing URIs with escaped characters * Fix reading statements ending with a blank then dot with no space * Fix clash resolution when a blank node ID prefix is set * Fix serializing fractional decimals that would round up * Add support for Turtle named inline nodes extension * Report errors for invalid IRI characters and missing terminators * Show serdi errors in standard format * Fix warnings when building with ISO C++ compilers * Upgrade to waf 1.8.14 -- David Robillard Thu, 08 Oct 2015 15:34:18 -0400 serd (0.20.0) stable; * Support new RDF 1.1 Turtle * Don't write xsd:decimal literals to Turtle bare if they would not be read back with the same type * Fix possible crash in serd_writer_end_anon() when writing invalid lists * Generate blank names like _:b1 and _:B2 not _:genid1 _:docid2 * Correctly handle posix_memalign failure * Fix const-correctness violation for reader input string * Add -lm to pkg-config libs * Update to waf 1.7.14 -- David Robillard Fri, 08 Aug 2014 18:02:54 -0400 serd (0.18.2) stable; * Fix crash when serd_node_new_decimal is called with infinity or NaN * Fix crash when resolving against non-standard base URIs * Fix bug that caused "a" abbreviation in non-predicate position * Disable timestamps in HTML documentation for reproducible build * Fix clashing symbol "error" in amalgamation build * Update to waf 1.7.8 and autowaf r90 (install docs to versioned directory) -- David Robillard Sat, 22 Dec 2012 21:32:15 -0500 serd (0.18.0) stable; * Support digits at start of local names as per new Turtle grammar * Add incremental read interface suitable for reading from infinite streams * Add -e option to serdi to use incremental reading * Add error callback to reader and writer for custom error reporting * Add -q option to serdi to suppress all non-data output, e.g. errors * Reset indent when finishing a write * Report write size correctly when invalid UTF-8 is encountered and a replacement character is written * Strip down API documentation to a single clean page * Fix various hyper-strict warnings * Do not require a C++ compiler to build * Add option to build utilities as static binaries * Upgrade to waf 1.7.2 -- David Robillard Thu, 23 Aug 2012 00:18:34 -0400 serd (0.14.0) stable; * Use path variables in pkgconfig files * Install man page to DATADIR (e.g. PREFIX/share/man, not PREFIX/man) * Tolerate invalid characters in string literals by replacing with the Unicode replacement character * Report reason for failure to open file in serdi * Improve write performance by doing bulk writes for unescaped substrings * Add SerdBulkSink for writing bulk output and corresponding serdi -B option * Add serdi -f option to prevent URI qualification * Remove use of multi-byte peek (readahead) and use exactly 1 page for read buffer (instead of 2) * Handle a quote as the last character of a long string literal in the writer (by escaping it) rather than the reader, to avoid writing Turtle other tools fail to parse. * Add serd_strtod(), serd_node_new_decimal(), and serd_node_new_integer() for locale-independent numeric node parsing/serialising. * Add serd_file_sink for easy writing to a FILE* stream. * Add serd_chunk_sink for easy writing to a string. * Escape ASCII control characters in output (e.g. fix problems with string literals that start with a backspace) * Improve URI resolution to cover most of the abnormal cases from RFC3986 * Support file://localhost/foo URIs in serd_uri_to_path() * Support Windows file://c:/foo URIs in serd_uri_to_path() on all platforms * Add serd_node_new_blob and serd_base64_decode for handling arbitrary binary data via base64 encoding. * Support compilation as C++ under MSVC++. * Implement pretty-printing for collections. * Parse collections iteratively in O(1) space. * Report read error if both "genid" and "docid" IDs are found in the same document, to prevent silent merging of distinct blank nodes. * Handle files and strings that start with a UTF-8 Byte Order Mark. * Add serd_writer_get_env(). * Add serd_node_new_file_uri() and serd_file_uri_parse() and implement proper URI to/from path hex escaping, etc. * Add serd_uri_serialise_relative() for making URIs relative to a base where possible (by chopping a common prefix and adding dot segments). * Make URIs serialised by the writer properly escape characters. * Add serd_writer_set_root_uri() and corresponding -r option to serdi to enable writing URIs with up references (../). * Resolve dot segments in serd_uri_resolve() instead of at write time. * Add serd_reader_set_default_graph() for reading a file as a named graph. -- David Robillard Tue, 17 Apr 2012 18:23:53 -0400 serd (0.5.0) stable; * Fix pretty printing of successive blank descriptions, i.e. "] , [" * Avoid writing illegal Turtle names as a result of URI qualifying * Gracefully handle NULL reader sinks * Add serd_strerror * Add serd_env_set_prefix_from_strings for convenience * Fix erroneously equal SERD_ERR_BAD_SYNTAX and SERD_ERR_BAD_ARG * Add ability to build static library -- David Robillard Thu, 29 Sep 2011 00:00:00 -0400 serd (0.4.2) stable; * Fix compilation issues on some systems * Fix build system Python 3 compatibility -- David Robillard Wed, 25 May 2011 19:00:00 -0400 serd (0.4.0) stable; * Initial release -- David Robillard Tue, 24 May 2011 23:00:00 -0400