serd (0.29.3) unstable;

  * 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

 -- David Robillard <d@drobilla.net>  Sun, 27 May 2018 17:51:33 +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 <d@drobilla.net>  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 <d@drobilla.net>  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 <d@drobilla.net>  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 <d@drobilla.net>  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 <d@drobilla.net>  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 <d@drobilla.net>  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 <d@drobilla.net>  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 <d@drobilla.net>  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 <d@drobilla.net>  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 <d@drobilla.net>  Wed, 25 May 2011 19:00:00 -0400

serd (0.4.0) stable;

  * Initial release

 -- David Robillard <d@drobilla.net>  Tue, 24 May 2011 23:00:00 -0400