Skip to content

Releases: ruby-rdf/rdf

Release 3.1.1

08 Jan 21:54
Compare
Choose a tag to compare

Updates RDF::Changeset to not depend on RDF::Mutable or RDF::Writable (from @doriantaylor).

  • Creates RDF::Util::Coercions module with #coerce_statements method, used within RDF::Changeset and RDF::Mutable to iterate over things that can be statements.
  • Allows RDf::Changeset deletes to use a query pattern.

Release 3.1.0

16 Dec 20:57
Compare
Choose a tag to compare
  • Removes support for Ruby < 2.4.
  • Update calling sequences for options and keyword arguments (Ruby 2.7 compatibility)
    • Calls to Queryable#query and similar, along with RDF::Query where the first argument is of the form of a hash will typically need to explicitly enclose those members within {}, so they're not confused with keyword arguments.
    • Fixes to URI stuff, due to confusion between arguments and options.
    • Fix arguments for Reader.for and Writer.for.
    • Fix URI.intern arguments.
  • Add RDF namespace entries for string direction.
  • Adds URI.encode and URI.decode as these are deprecated in Ruby core.

Release 3.0.13

31 Oct 21:48
Compare
Choose a tag to compare
  • Improve documentation for validate CLI command.
  • Add default User-Agent header, and improve documentation on header defaults.
  • Issue deprecation notice on versions of Ruby < 2.4.
  • Update language tag validation to what BCP47 requires, not RDF, which is too liberal.
  • Fix URI#join for path-rootless, which goes away when merged with a relative path.
  • A Time should be typed as XMLSchema#dateTime
    Ruby does not have a class which represents a time without date. A Tod::TimeOfDay provided by the tod gem would justify XMLSchema#time, but the default Time class always includes a Date.

Release 3.0.12

31 Oct 21:26
Compare
Choose a tag to compare
  • Make documentation link explicit in gemspec.
  • Change most external URLs to HTTPS.

Release 3.0.11

31 Oct 21:25
Compare
Choose a tag to compare
  • Don't define vocabulary method for 'term', in addition to 'proeprty' and 'hash'.

Release 3.0.10

12 Feb 00:50
Compare
Choose a tag to compare
  • N-Triples/N-Quads:

    • Single quote (') was missing from N-Triples/Quads escaped characters.
    • Change N-Triples literal output encoding to limit the number of ECHAR escapes used based on Canonical form of N-Triples:
      • Within STRING_LITERAL_QUOTE, only the characters U+0022, U+005C, U+000A, U+000D are encoded using ECHAR. ECHAR **must not** be used for characters that are allowed directly in STRING_LITERAL_QUOTE`.
    • Fix bug in NTriples::Reader.unescape where it was overeager; now uses a string scanner to iterate through the string buffer.
  • Query:

    • Make query validation optional. (Notation-3 patterns will appear to be invalid).
    • Better support for non-distinguished variables.
    • Calculate pattern cost based on position of variables.
    • Add Solutions#dup.
    • Add existential modifier to variables. Note that this is not preserved from queries, which record the binding using the variable name, without other qualities.
    • Have solution iterators also return enumerators.
    • Guard against nil bindings in solutions.
    • Add Solutions#merge based on JOIN semantics.
  • Miscellaneous:

    • Update Repository to remember statement options along with object, and not simply the object itself. This allows inferred statements to be added to the repo, and come back as having been inferred.
    • Implement URI marshaling methods to avoid issue with serializing mutex.
    • Dup components of a URI to avoid freeze issues.
    • Support milliseconds in dateTime and time datatyped literals.

Release 3.0.9

12 Feb 00:44
Compare
Choose a tag to compare
  • Add :parameters to RemoteDocument processing all Content-Type parameters.
  • Add Writer.accept? to allow writer to examine media-type and parameters before accepting.
  • Add 2.6 to rvm build matrix.

Release 3.0.6

05 Nov 17:36
Compare
Choose a tag to compare
  • Create a mutex instance variable in URI and synchronize when freezing.
  • Guard against nil content_type when checking formats.

Release 3.0.5

05 Nov 17:35
Compare
Choose a tag to compare
  • Verify that vocabulary terms defined in snake_case are not automatically converted to camelCase.
  • Remove the ability to set the external encoding when writing N-Triples, as N-Triples requires UTF-8.

    The content encoding of N-Triples is always UTF-8

  • "Fix" syntax in vocabulary.rb that Ruby versions < 2.2.5 don't parse properly. Set Travis to test on 2.2.2, not just 2.2, which defaulted to 2.2.7 at the time of this fix.

Release 3.0.4

05 Nov 17:34
Compare
Choose a tag to compare
  • Tighten up rules on what makes an RDF::List valid.
  • Be more forgiving on rdf:type values within a list.
  • Fix issue when logging multiple invalid statements to $stderr. (@jperville)
  • Cache NTriples::Writer instance used in NTriples::Writer.serialize so that it does not re-instantiate each time it is called.
  • Reduce object allocations in RDF::NTriples::Reader (@jperville)
  • Use Regexp.match? on Ruby >= 2.4, with fallback for earlier Ruby versions (@jperville)
  • Use the same DelegateClass(IO) each time we instanciate a logger (@jperville)