All Versions
14
Latest Version
Avg Release Cycle
81 days
Latest Release
1030 days ago
Changelog History
Page 1
Changelog History
Page 1
-
v2.0.3 Changes
August 06, 2020๐ Fixed
- ๐ Fix deprecation warnings due to invalid escape sequences.
-
v2.0.2 Changes
April 20, 2020๐ Fixed
- ๐ Fix inverse context cache indexing to use the uuid field.
-
v2.0.1 Changes
April 15, 2020๐ Changed
- ๐ Improve EARL output.
-
v2.0.0 Changes
April 15, 2020Notes
- ๐ This release adds JSON-LD 1.1 support. Significant thanks goes to Gregg Kellogg!
- ๐ฅ BREAKING: It is highly recommended to do proper testing when upgrading from the previous version. The framing API in particular now follows the 1.1 spec and some of the defaults changed.
๐ Changed
- ๐ฅ BREAKING: Versions of Python before 3.6 are no longer supported.
- โก๏ธ Update conformance docs.
- โ Add all keywords and update options.
- 0๏ธโฃ Default
processingMode
tojson-ld-1.1
. - โ Implement logic for marking tests as pending, so that it will fail if a pending test passes.
- 0๏ธโฃ Consolidate
documentLoader
option and defaults into aload_document
method to also handle JSON (eventually HTML) parsing. - โ Add support for
rel=alternate
for non-JSON-LD docs. - ๐ Use
lxml.html
to load HTML and parse inload_html
.- For HTML, the API base option can be updated from base element.
- Context processing:
- Support
@propagate
in context processing and propagate option. - Support for
@import
. (Some issues confusing recursion errors for invalid contexts). - Make
override_protected
andpropagate
optional arguments to_create_term_definition
and_process_context
instead of using option argument. - Improve management of previous contexts.
- Imported contexts must resolve to an object.
- Do remote context processing from within
_process_contexts
, as logic is too complicated for pre-loading. Removes_find_context_urls
and_retrieve_context_urls
. - Added a
ContextResolver
which can use a shared LRU cache for storing externally retrieved contexts, and the result of processing them relative to a particular active context. - Return a
frozendict
from context processing and reduce deepcopies. - Store inverse context in an LRU cache rather than trying to modify a frozen context.
- Don't set
@base
in initial context and don't resolve a relative IRI when setting@base
in a context, so that the document location can be kept separate from the context itself. - Use static initial contexts composed of just
mappings
andprocessingMode
to enhance preprocessed context cachability.
- Support
- Create Term Definition:
- Allow
@type
as a term under certain circumstances. - Reject and warn on keyword-like terms.
- Support protected term definitions.
- Look for keyword patterns and warn/return.
- Look for terms that are compact IRIs that don't expand to the same thing.
- Basic support for
@json
and@none
as values of@type
. - If
@container
includes@type
,@type
must be@id
or@vocab
. - Support
@index
and@direction
. - Corner-case checking for
@prefix
. - Validate scoped contexts even if not used.
- Support relative vocabulary IRIs.
- Fix check that term has the form of an IRI.
- Delay adding mapping to end of
_create_term_definition
. - If a scoped context is null, wrap it in an array so it doesn't seem to be undefined.
- Allow
- IRI Expansion:
- Find keyword patterns.
- Don't treat terms starting with a colon as IRIs.
- Only return a resulting IRI if it is absolute.
- Fix
_is_absolute_iri
to use a reasonable regular expression and some other_expand_iri issues
. - Fix to detecting relative IRIs.
- Fix special case where relative path should not have a leading '/'
- Pass in document location (through 'base' option) and use when resolving document-relative IRIs.
- IRI Compaction:
- Pass in document location (through 'base' option) and use when compacting document-relative IRIs.
- Compaction:
- Compact
@direction
. - Compact
@type
:@none
. - Compact
@included
. - Honor
@container
:@set
on@type
. - Lists of Lists.
- Improve handling of scoped contexts and propagate.
- Improve map compaction, including indexed properties.
- Catch Absolute IRI confused with prefix.
- Compact
- Expansion:
- Updates to expansion algorithm.
_expand_value
adds@direction
from term definition.- JSON Literals.
- Support
@direction
when expanding. - Support lists of lists.
- Support property indexes.
- Improve graph container expansion.
- Order types when applying scoped contexts.
- Use
type_scoped_ctx
when expanding values of@type
. - Use propagate and
override_protected
properly when creating expansion contexts.
- Flattening:
- Rewrite
_create_node_map
based on 1.1 algorithm. - Flatten
@included
. - Flatten lists of lists.
- Update
merge_node_maps
for@type
.
- Rewrite
- Framing:
- Change default for
requireAll
from True to False. - Change default for 'embed' from '@last' to '@once'.
- Add defaults for
omitGraph
andpruneBlankNodeIdentifiers
based on processing mode. - Change
_remove_preserve
to_cleanup_preserve
which happens before compaction. - Add
_cleanup_null
which happens after compaction. - Update frame matching to 1.1 spec.
- Support
@included
.
- Change default for
- ToRdf:
- Support for I18N direction.
- Support for Lists of Lists.
- Partial support for JSON canonicalization of JSON literals.
- Includes local copy of JCS library, but doesn't load.
- Lists of Lists.
- Text Direction 'i18n-datatype'.
- โ
Testing
- Switched to argparse.
- BREAKING: Removed
-d
and-m
test runner options in favor of just listing as arguments. - If no test manifests or directories are specified, default to sibling directories for json-ld-api, json-ld-framing, and normalization.
-
v1.0.5 Changes
May 09, 2019๐ Fixed
- ๐ Use
return
instead ofraise StopIteration
to terminate generator.
- ๐ Use
-
v1.0.4 Changes
December 11, 2018๐ Fixed
- Accept N-Quads upper case language tag.
-
v1.0.3 Changes
March 09, 2018๐ Fixed
- Reorder code to avoid undefined symbols.
-
v1.0.2 Changes
March 08, 2018๐ Fixed
- Missing error parameter.
-
v1.0.1 Changes
March 06, 2018๐ Fixed
- Include document loaders in distribution.
-
v1.0.0 Changes
March 06, 2018Notes
- 1.0.0!
- Semantic Versioning is now past the "initial development" 0.x.y stage (after 6+ years!).
- [Conformance](README.rst#conformance):
- JSON-LD 1.0 + JSON-LD 1.0 errata
- JSON-LD 1.1 drafts
- Thanks to the JSON-LD and related communities and the many many people over the years who contributed ideas, code, bug reports, and support!
๐ Fixed
- ๐ Don't always use arrays for
@graph
. Fixes 1.0 compatibility issue. - ๐จ Process @type term contexts before key iteration.
๐ Changed
- ๐ฅ BREAKING: A dependency of pyld will not pull in [Requests][] anymore.
One needs to define a dependency to
pyld[requests]
or create an explicit dependency onrequests
seperately. Usepyld[aiohttp]
for [aiohttp][]. - The default document loader is set to
request_document_loader
. If [Requests][] is not available,aiohttp_document_loader
is used. When [aiohttp][] is not availabke, adummy_document_loader
is used. - ๐ Use the W3C standard MIME type for N-Quads of "application/n-quads". Accept "application/nquads" for compatibility.
โ Added
- ๐ Support for asynchronous document loader library [aiohttp][].
- Added
dummy_document_loader
which allows libraries to depend on pyld without depending on [Requests][] or [aiohttp][]. - โ
The test runner contains an additional parameter
-l
to specify the default document loader. - Expansion and Compaction using scoped contexts on property and
@type
terms. - Expansion and Compaction of nested properties.
- Index graph containers using
@id
and@index
, with@set
variations. - Index node objects using
@id
and@type
, with@set
variations. - ๐ Framing default and named graphs in addition to merged graph.
- Value patterns when framing, allowing a subset of values to appear in the output.