This is a major new release of codemetapy. It does introduce some backward-incompatible changes.
* Major overhaul of the entire codebase:
* Now uses an actual RDF graph with RDF triples internally (using `rdflib`) 12
* Allows for SPARQL queries
* Supports serialisation in JSON-LD, Turtle and HTML with [RDFa](https://www.w3.org/TR/rdfa-primer/)
* Implements codemeta 2.0 with some extensions (see the README)
* map developmentStatus to repostatus.org vocabulary 7
* map licenses to SPDX vocabulary 8
* The old 'entrypoints' extension to codemeta (as described in https://github.com/codemeta/codemeta#183 ) is now deprecated in favour of the newer software types extension (proposed in https://github.com/codemeta/codemeta#271 and worked out in https://github.com/SoftwareUnderstanding/software_types ).
* Supports `schema:targetProduct` to link software source code to instances of the software
* Supports extended [software types](https://github.com/SoftwareUnderstanding/software_types), on top of the ones already available in schema.org.
* See the README for more info
* Implemented support for parsing and converting Java/Maven `pom.xml` to codemeta 9
* Implemented support for parsing and converting NodeJS/npm `package.json` to codemeta 11
* Implemented support for parsing and converting remote webservices (via `targetProduct`) (https://github.com/CLARIAH/clariah-plus#92)
* Can extract `<script>` blocks with `application/json+ld` from HTML
* Parses and converts metadata in HTML `<head>` (including RDFa and microdata)
* Improved support for parsing and converting Python/setuptools/distutils to codemeta
* use `runtimePlatform` instead of `programmingLanguage` when converting pip's 'programmingLanguage' classes
* No longer requires software to be actually installed prior to parsing
* Implemented supported for parsing and converting from the GitHub API to codemeta
* Set environment variable `GITHUB_TOKEN` to your personal access token if you run into rate limitations.
* Improvements in merging/reconciliating metadata that describe the same source, but from multiple perspectives
* Improvements in joining multiple sources together in one graph (``--graph`` parameter, replaces the old ``--registry`` parameter)
* Improvements in author parsing
* Implemented support for ingesting simple textual lists of authors as is customary in files like `AUTHORS`, `CONTRIBUTORS`, `MAINTAINERS`.
* Rich HTML visualisation (with [RDFa](https://www.w3.org/TR/rdfa-primer/)!), is used primarily by [codemeta-server](https://github.com/proycon/codemeta-server) (https://github.com/CLARIAH/clariah-plus#99)
* Added a ``--strict`` option to disable codemeta extensions (the inverse of the old ``--all`` parameter that is now removed)
* Dropped support for Python 3.5 and below
This release also comes with two related projects that rely on codemetapy, together they form a powerful ensemble:
* [codemeta-server](https://github.com/proycon/codemeta-server) - Server for codemeta, in memory triple store, SPARQL endpoint and simple web-based visualisation for end-users
* [codemeta-harvester](https://github.com/proycon/codemeta-harvester) - Harvest and aggregate codemeta from source repositories and service endpoints, automatically converting known metadata schemes in the process. Wraps around codemetapy and other codemeta software.