All Versions
14
Latest Version
Avg Release Cycle
81 days
Latest Release
437 days ago

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, 2020

    Notes

    • ๐Ÿš€ 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 to json-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 a load_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 in load_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 and propagate 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 and processingMode to enhance preprocessed context cachability.
    • 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.
    • 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.
    • 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.
    • Framing:
      • Change default for requireAll from True to False.
      • Change default for 'embed' from '@last' to '@once'.
      • Add defaults for omitGraph and pruneBlankNodeIdentifiers 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.
    • 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 of raise StopIteration to terminate generator.
  • 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, 2018

    Notes

    • 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 on requests seperately. Use pyld[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, a dummy_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.