Changes in sssom-java 1.9.1
---------------------------

    * Updated RDF support for compliance with the latest specification.


Changes in sssom-java 1.9.0
---------------------------

    * core:
      * Add helper methods to enforce compliance with a given version.
      * Silently accept some incorrect, but non-ambiguous enum values.
    * RDF support:
      * Allow optional injection of “direct triples”.
    * SSSOM/T:
      * New `mapping_date`, `publication_date` filters.
      * New `raw_predicate` filter.
      * Removal of all support for deprecated, pre-1.0 features of SSSOM/T-OWL.
    * sssom-cli
      * New `--force-version` option.
      * New `--extensions-from-other`, `--extensions-to-other` options.


Changes in sssom-java 1.8.2
---------------------------

    * core:
      * Add support for new special cardinality value `0:0`.
      * Use special cardinality values that represent an absence of match.


Changes in sssom-java 1.8.1
---------------------------

    * core:
      * Support for set-level, propagatable `curation_rule` slot.
      * Support for set-level, propagatable `curation_rule_text` slot.
    * sssom-cli:
      * Fix behaviour of `--cardinality REMOVE` option.


Changes in sssom-java 1.8.0
---------------------------

    * core:
      * Support for the new `cardinality_scope` slot.
    * sssom-cli:
      * New option `--input-format`.
      * New option `--cardinality <REMOVE|KEEP|FORCE>`.
      * New option `--blanket-rule`.
    * robot:
      * Allow full export to SSSOM/OWL.
    * SSSOM/T:
      * New `infer_cardinality` callback function.
    * SSSOM/T-OWL:
      * Default value of the `/annots_uris` flag is now `standard_map`.


Changes in sssom-java 1.7.0
---------------------------

    * core:
      * Fix validation of `record_id` slots.
      * Add a helper class to facilitate merging two sets.
      * Allow extracting a value from a set using an abstract syntax.
      * Support URI-typed extension slots (type hint: xsd:anyURI).
    * SSSOM/T:
      * Add missing placeholders for recently introduced slots.
      * Add the `default` substitution modifier function.
      * Add the `has_extension` filter function.
    * sssom-cli:
      * Add the --no-stdout option.
      * Add the --extract option.


Changes in sssom-java 1.6.0
---------------------------

    * core:
      * New SSSOM 1.1 slots supported:
        * `record_id`,
        * `mapping_tool_id`,
        * and `mapping_set_confidence`.
      * Check for correctness of URI-typed slots (SSSOM 1.1).
      * Added set-level validation for
        * missing `mapping_set_id` slot,
        * missing `license` slot,
        * improper use of `record_id`.
      * Allow automatically generating a unique hash for a mapping.
    * RDF support:
      * Use `mapping_set_id` as the resource representing the mapping set.
      * Use `record_id` (if present) as the resource for a mapping record.
      * Serialise enum values as IRIs whenever possible.
    * SSSOM/T:
      * New filters for the new `record_id` and `mapping_tool_id` slots.
      * New filter function `is_duplicate`.
      * New special substitutions `%{hash}` and `%{serial}`.
    * sssom-cli:
      * Added the `--lax` option.


Changes in sssom-java 1.5.1
---------------------------

    * sssom-cli:
      * Add the `--assume-version` option.
      * Add the `--ignore-missing-imports` option.


Changes in sssom-java 1.5.0
---------------------------

    * sssom-core,sssom-ext:
      * Support for the new sssom_version slot in SSSOM 1.1.


Changes in sssom-java-1.4.0
---------------------------

    * sssom-core:
      * Allow pre-filling the prefix map before reading a set.
    * sssom-ext:
      * Fix EPM-based canonicalisation of IRIs.
    * sssom-cli:
      * Option --mangle-iris renamed to --epm.
      * Add a new --epm-mode option.


Changes in sssom-java-1.3.0
---------------------------

    * Allow writing mappings without sorting them.
    * Change type of see_also slot to URI rather than string.
    * SSSOM/T-OWL:
      * Render URI-typed slots with a proper xsd:anyURI datatype.
      * Add /annots_uris optional flag to generator functions.


Changes in sssom-java-1.2.0
---------------------------

    * Support for set-level `similarity_measure` slot.
    * Accept reading SSSOM/TSV files without any metadata block.
    * Read/write support for the (unofficial) SSSOM/CSV format. 


Changes in sssom-java-1.1.2
---------------------------

    * Correctly recognise a SSSOM/TSV file without an embedded metadata block.
    * Try using the filename extension to infer the format of a file.


Changes in sssom-java-1.1.1
---------------------------

    * Add support for propagation/condensation of slots in RDF/Turtle format.
    * Add support for reading non-standard metadata from RDF/Turtle.


Changes in sssom-java-1.1.0
---------------------------

    * sssom-core:
      * Support new `entity_type` value `composed entity expression`.
      * Support new `predicate_type` slot.
      * SSSOM/TSV reader: Strip trailing tabs in embedded YAML metadata block.
    * sssom-ext:
      * Add RDF/Turtle read and write support.
    * SSSOM-CLI:
      * Add reading from RDF/Turtle files.
      * Add RDF/Turtle output format.
    * SSSOM/T:
      * Allow passing an explicit inverse predicate to the `invert` function.
    * SSSOM/T-OWL:
      * Allow using the `is_a` and `exists` function on properties.


Changes in sssom-java-1.0.0
---------------------------

    * sssom-core:
      * Library split in two components: sssom-core and sssom-ext.
    * SSSOM/T:
      * Add filter and callback functions.
      * Add support for optional, named arguments in function calls.
      * Add the possibility to define variables.
      * Add placeholder substitution in function arguments.
      * Add experimental support for URI Expressions.
    * SSSOM/T-OWL:
      * Add the exists and is_a filter functions.
      * Add the annotate function.


Changes in sssom-java-0.9.0
---------------------------

    * sssom-core:
      * Add support for sssom:NoTermFound.
      * Add support for renamed semantic_similarity_* slots.
      * Add support for literal mappings.
      * Accept date and time values when a date is expected (reading only).
    * SSSOM/T:
      * Allow filtering on empty slots.
    * sssom-cli:
      * Accept positional arguments as input files.


Changes in sssom-java-0.8.0
---------------------------

    * Add JSON read/write support in the library and CLI tool.
    * Enforce [0,1.0] range of double-typed slots.


Changes in sssom-java-0.7.9
---------------------------

    * Support writing metadata into a separate file.
    * Better control for sssom-cli's --update-from-ontology option.


Changes in sssom-java-0.7.8
---------------------------

    * SSSOM/TSV writer
      * Use YAML plain-style for scalar values whenever possible.
      * Fix incorrect handling of missing extension values.
      * Allow disabling condensation of propagatable slots.
    * SSSOM/TSV parser
      * Fix parsing of unquoted scalar values.
      * Allow disabling propagation of propagatable slots.
    * sssom-cli:
      * New options --no-condensation and --no-propagation.


Changes in sssom-java-0.7.7
---------------------------

    * SSSOM/TSV writer:
      * Align the format of floating numbers with SSSOM-Py.
      * Remove propagated values from set-level metadata.
    * xref-extract:
      * Fill the subject_source field with the ontology IRI.
      * Accept multiple spaces in the --map-prefix-to-predicate option.
    * sssom-cli:
      * New --update-from-ontology option.

Changes in sssom-java-0.7.6
---------------------------

    * sssom-core:
      * Ignore empty lines when reading a SSSOM/TSV file.
    * sssom-cli:
      * Added convenience --include and --exclude options.
      * Write non-standard metadata by default.


Changes in sssom-java-0.7.5
---------------------------

    * New experimental support for non-standard metadata.
    * Allow to use non-standard metadata to annotate OWL axioms.
    * Write TSV headers when writing an empty set.
    * Fix backward compatibility with 'match_term_type' slot.


Changes in sssom-java-0.7.4
---------------------------

    * Fix the SSSOM/TSV writer to write escaped values as needed.
    * Experimental support for non-standard metadata.


Changes in sssom-java-0.7.3
---------------------------

    * sssom-core:
      * Added support for Extended Prefix Maps.
    * sssom-inject:
      * New option --use-input-prefix-map.
    * sssom-cli:
      * New output option --split.
      * Support "reconciliating" a set against an Extended Prefix Map.
      * New options to control the metadata of the result set.
      * New options to control the output prefix map.


Changes in sssom-java-0.7.2
---------------------------

    * SSSOM/T:
      * New function "assign()" to edit mapping slots with fixed values.
      * New function "replace()" to perform replacement on slot values.
      * Previously introduced function "edit()" obsoleted.
    * sssom-inject:
      * New option --error-on-unshortenable-iris.


Changes in sssom-java-0.7.1
---------------------------

    * Fix missing optional argument in SSSOM/T-OWL "direct" function.


Changes in sssom-java-0.7.0
---------------------------

    * New ROBOT command to rename entities in a OWL ontology.
    * New SSSOM/T preprocessing function to edit mappings on the fly.


Changes in sssom-java-0.6.2
---------------------------

    * Fix erroneous inversion of object_source slot.
    * sssom-cli:
      * Provide a self-executable Jar file (Unix only).
      * Add the --rule option to specify a single SSSOM/T rule.
    * sssom-inject:
      * Allow to create annotated axioms using mapping metadata.


Changes in sssom-java-0.6.1
---------------------------

    * TSV writer:
      * Write out a default license value if no license is set.
      * Write out an automically generated ID if no ID is set.
    * SSSOM/T:
      * Fix filtering on mapping cardinality.
    * xref-extract:
      * Try to infer mapping ID and license from the source ontology.
      * New options --set-id and --set-license.
    * sssom-inject:
      * Renamed to "inject".


Changes in sssom-java 0.6.0
---------------------------

    * SSSOM/T can now filter on all available slots.
    * Changes to the TSV reader:
      * Silently ignore unknown slots.
      * Recognise and convert slots from older versions.
      * Propagate slots down to individual mappings.
    * Changes to the TSV Writer:
      * Condense slots up to the level of the mapping set.
    * SSSOM-to-OWL:
      * Exclude mapping_cardinality from OWL serialisation.
      * Use dc/terms rather dc/elements/1.1 for dispatch table metadata.
    * Addition of sssom-cli, a command-line tool to manipulate sets.


Changes in sssom-java 0.5.0
---------------------------

    * Fix sssom-inject crash when using --direct option.
    * Fix parsing of multi-valued slots in mappings.
    * Make TSVWriter output fully predictable:
      * Sort mapping set metadata by "spec order".
      * Sort Curie map entries by alphabetical order.
      * Sort mappings using all available slots.
      * Write the effective Curie map only.
    * Add SlotVisitor interface.
    * Add test suite.


Changes in sssom-java 0.4.3
---------------------------

	* Update model to sssom-0.15.
	* Fix writing of date fields.
	* Fix bogus computation of mapping cardinality.
	* xref-extract:
	  * Ignore obsolete classes when extracting cross-references.
	  * Allow reusing an existing mapping set (or its metadata).


Changes in sssom-java 0.4.2
---------------------------

	* Allow filtering on mapping cardinality.
	* Add option --drop-duplicates to xref-extract.
	* Allow to set default ontology ID/version in a dispatch table.
	* Dispatch table filenames are relative to the table filename.


Changes in sssom-java 0.4.1
---------------------------

    * New options in sssom-inject:
      * --invert to invert the mapping set.
      * --no-default-prefixes to ignore ROBOT's known prefixes.
      * --bridge-iri to specify the ontology IRI of the bridge.
      * --only-subject-in to filter mappings on their subject ID.
      * --only-object-in to filter mappings on their object ID.


Changes in sssom-java 0.4.0
---------------------------

    * SSSOM/T-OWL:
      * New preprocessing functions check_(subject|object)_existence.
      * New function set_var to declare mapping-dependent variables.
    * New ROBOT command xref-extract to get mappings from xrefs.
    * sssom-inject:
      * Allow loading multiple mapping sets by repeating --sssom option.
      * New option --extract to get a mapping set from ontology xrefs.
      * New add-axiom key in dispatch table entries.


Changes in sssom-java 0.3.1
---------------------------

    * Fix missing dependency in ROBOT plugin artifact.


Changes in sssom-java 0.3.0
---------------------------

    * Project artifacts now split between sssom-core and sssom-robot.
    * Fix parsing of date fields.
    * Support for arbitrary functions in SSSOM/Transform.
    * New interface to specialise the SSSOM/Transform parser.
    * New options for the sssom-inject ROBOT command:
      * --create, to create a new ontology from mappings;
      * --hasdbxref, to create OBO-style cross-references.


Changes in sssom-java 0.2.0
---------------------------

    * Report all undeclared prefixes once parsing is over, instead of
      erroring out on the first undeclared prefix.
    * Support inversion of mappings.
    * Support filtering on many more fields.
    * New options for the sssom-inject ROBOT command:
      * --dispatch-table, to write generated axioms to different files;
      * --include-rule, to selectively enable only some rules;
      * --exclude-rule, to selectively disable some rules;
      * --direct, to generate direct OWL serialisation of mappings.
