All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning and Keep a CHANGELOG.
This version upgrades the implementation to support JSON-LD 1.1.
The functions on the top level JSON.LD
module now behave fully-conformant with the API
functions of the JsonLdProcessor interface as specified in the spec by supporting also
references to remote documents and contexts to be used as input.
Note: This also adapts the more strict remote document handling to reject results with invalid content-types as specified with an error.
Elixir versions < 1.15 and OTP version < 25 are no longer supported
JSON.LD.to_rdf/2
andJSON.LD.from_rdf/2
delegator functions to complete the JsonLdProcessor API interface- Support for custom Tesla-based HTTP clients
- Switched from HTTPoison to Tesla HTTP client, which means you should now configure a respective adapter in your application config.
- Extracted the default remote document loading into general
JSON.LD.DocumentLoader.RemoteDocument.load/3
function for better reuse in a customJSON.LD.DocumentLoader
implementations - Unified error handling under a single
JSON.LD.Error
exception with dedicated error creation functions for all error types from the JSON-LD spec, making it easier for users to catch and handle errors and being more close to the spec
This version is just upgraded to RDF.ex 2.0.
Elixir versions < 1.13 and OTP version < 23 are no longer supported
- Support for httpoison 2.0 (@maennchen)
- Support Link header when fetching remote contexts (@cheerfulstoic)
This version is just upgraded to RDF.ex 1.0.
Elixir versions < 1.11 are no longer supported
- the
JSON.LD.Encoder
now supports implicit compaction by providing a context as a map, aRDF.PropertyMap
or a URL string for a remote context with the new:context
option
- context maps can be given now with atom keys or as a
RDF.PropertyMap
toJSON.LD.context/2
andJSON.LD.compact/3
- the base IRI of a
RDF.Graph
or theRDF.default_base_iri/0
is used as the
default:base
in theJSON.LD.Encoder
RDF.Vocabulary.Namespace
modules can be set as base IRI
Elixir versions < 1.10 are no longer supported
- remote contexts with a list couldn't be processed correctly (but failed with a
JSON.LD.InvalidLocalContextError
)
This version mainly upgrades to RDF.ex 0.9.
- proper typespecs so that Dialyzer passes without warnings (@rustra)
Support for remote contexts (@KokaKiwi and @rustra)
This version just upgrades to RDF.ex 0.8. With that Elixir version < 1.8 are no longer supported.
No significant changes. Just some adoptions to work with RDF.ex 0.5. But together with RDF.ex 0.5, Elixir versions < 1.6 are no longer supported.
- Upgrade to Jason 1.1
- Pass options to
JSON.LD.Encoder.encode/2
andJSON.LD.Encoder.encode!/2
through to Jason; this allows to use the new Jason pretty printing options
- JSON-LD encoder can handle
RDF.Graph
s andRDF.Description
s
- Use Jason instead of Poison for JSON encoding and decoding, since it's faster and more standard conform
- Upgrade to RDF.ex 0.4.0
- Fixed all warnings (@talklittle)
- Upgrade to RDF.ex 0.3.0
- Don't support Elixir versions < 1.5, since
URI.merge
is broken in earlier versions
Initial release