Changelog¶
Release 1.0.3 (2026-02-14)¶
Fixes:
Reject IDs with wrong digit count during
voc4cat convert. Previously, IDs with more digits than configured (e.g. 8 digits withid_length: 7) were silently accepted because the regex matched only the trailing digits. #341
Release 1.0.2 (2026-02-09)¶
Fixes:
Allow untracked .ttl files in
--prov-from-git. Skip them with an info log instead of raising an error. #339
Release 1.0.1 (2026-01-06)¶
Fixes:
Fix git blame URLs to include partition subdirectory (e.g.,
IDs0000xxx/) matching the new partitioned storage structure. #335
Release 1.0.0 (2025-12-31)¶
Features:
Partitioned storage: The
--splitoption now organizes concept files into subdirectories by ID range (1000 IDs per directory, e.g.,IDs0001xxx/). This avoids GitHub UI limitations with large directories. The--joinoption supports both the new partitioned structure and the previous flat structure. #328Namespace prefixes in RDF: The
transformcommand now uses namespace bindings/prefixes in output (as convert already did). #327Longturtle format: Turtle files are now written in longturtle format everywhere (this was not the case in rc1/2). #327
Improved
--prov-from-git: Git history evaluation now follows file moves/renames. #329
Changes:
Improved migration guide and template update guide.
Fix BASE declaration in vp4cat profile; allow
dct:provenancewith IRI value (Req. 2.2.2). #325, #326Fix reporting for
check --detect-hierarchy-redundancy. #323Fix openpyxl warning about worksheet selection.
Fix xlsx generation to mark only one sheet as selected.
Release 1.0.0 (RC2) (2025-12-27)¶
The following changes were made to RC1 based on testing it with the voc4cat vocabulary and Skosmos 3.0.
Features:
New transform option
--prov-from-git: Addsdct:createdanddct:modifieddates to split turtle files based on git history. Created date is only added if missing; modified date is updated when different.New check option
--detect-hierarchy-redundancy: Detects redundant hierarchical relationships where a concept hasskos:broaderto both a parent and an ancestor of that parent.Added
dct:isReplacedBycolumns to Concepts and Collections sheets for specifying replacement IRIs when deprecating concepts.
Changes:
Changed
dct:identifierformat: Now uses just the local numeric ID (e.g.,0000123instead ofvoc4cat_0000123).skos:historyNotesolely for obsoletion: History notes are no longer generated from provenance data; they are now exclusively used for documenting concept obsoletion.
Release 1.0.0 (RC1) (2025-12-22)¶
Important
This is a major release with breaking changes. Vocabularies and xlsx-templates must be upgraded from xlsx template v0.43 to v1.0, see migration-to-v1.0.
Features:
New xlsx template v1.0 with pydantic-backed model for improved consistency and validation. Template generator creates files dynamically from the data model. It is no longer required to provide an xlsx-template (but still an option).
ConceptScheme metadata is now read from
idranges.tomlconfig.New validation profile vp4cat-5.2 based on vocpub-5.2, now the default profile.
Custom profile support: Accept custom SHACL profile files for validation via CLI path or config.
Improved provenance support
Improved citation of the concept’s origin by properties
prov:wasInfluencedBy,prov:hadPrimarySourceand to reference itsdct:licenseand thedct:rightsHolder. This allows to reference the source.Git blame links: Provenance information links to git blame URLs for traceability.
Dynamic
skos:historyNote: Auto-generated fromPROV.wasInfluencedByand source vocab references.
Deprecation handling: Support for
owl:deprecated, replaced-by IRIs, and obsolete markers.ID ranges sheet: New output sheet displaying ID range configuration.
Python 3.14 support added to test matrix.
Sphinx documentation including action to build and publish the docs to GitHub Pages.
Improved Skosmos support by aligning with its data model when possible.
Breaking changes:
New xlsx template format v1.0 replaces template v0.43. Migration required for existing vocabularies.
Removed CLI option
voc4cat transform --make-ids.Profile changes: Removed vocpub pre-3.0 profile; vp4cat-5.2 is now default.
Other Changes:
Code refactoring: eliminated duplication, split large modules, improved test coverage.
Removed all binary xlsx-files from the repository
Switch from codespell to typos spell checker.
Release 0.10.1 (2025-12-15)¶
This is the last release of the 0.x series.
Changes:
Removed extra code related to 1.0-series which was not used at all.
Release 0.10.0 (2025-11-29)¶
Important
Due to the change of hierarchy notation, it is not possible to use XLSX templates made for earlier versions.
Features:
BREAKING Hierarchy definition changed from ChildrenIRI to ParentIRI approach. Each concept specifies its parent concepts rather than its children concepts. (part of #300)
BREAKING Removed functionality to express concept-hierarchies by indentation in xlsx table cells. (part of #300)
Changes:
Release 0.9.2 (2025-04-24)¶
Feature:
Add a command/tool to help with reviewing (e.g. by performing sentence-transformer based similarity analysis) #279, #280
Bug fix:
Change:
Release 0.9.1 (2025-03-19)¶
Bug fixes:
Release 0.9.0 (2025-02-04)¶
Features:
In xlsx-files IRIs will now be shown as
https://example.org/001 (example 001)or (if a matching prefix exists) asex:001 (example 001). The preferred label is used as qualifier of the IRI (in round brackets). #253, #258Improve styling of generated xlsx. The style is now copied from the first data row to all following rows. The row height is auto-adjusted. #260, #264, #265
Breaking changes:
The sheet “Prefixes” is now read-only. Prefixes can now only be defined in
idranges.config. #257, #263
Changes:
New, better styled default template
src/voc4cat/blank_043.xlsx#265
Bug fixes:
Release 0.8.8 (2025-01-27)¶
0.8.8 only contains a fix for a bug introduced in 0.8.6.
Bug fixes:
Release 0.8.6 / 0.8.7 (2025-01-26)¶
0.8.7 only adds a missed commit with the CHANGENOTES and README updates.
Bug fixes:
Fix handling of mappings to external vocabularies/ontologies #242
New features:
Support Python 3.13 #234
Changes:
Release 0.8.5 (2024-03-09)¶
Bug fixes:
Release 0.8.4 (2024-03-04)¶
Bug fixes:
Fix transform join subcommand to produce vocpub-4.7-conform turtle file. #213
Release 0.8.3 (2024-02-28)¶
Bug fixes:
Release 0.8.2 (2024-02-21)¶
Bug fixes:
Release 0.8.1 (2024-02-20)¶
Bug fixes:
Add colorama as a main dependency. #204
Release 0.8.0 (2024-02-19)¶
New features:
Support for Python 3.12. #202
Changes:
Breaking changes:
Release 0.7.10 (2024-02-11)¶
New features:
Add coverage summary as job output. #197
Changes:
Release 0.7.9 (2024-02-01)¶
Bug fixes:
Release 0.7.8 (2023-10-30)¶
Bug fixes:
Release 0.7.7 (2023-10-30)¶
Changes:
Bug fixes:
Release 0.7.5 / 0.7.6 (2023-09-03)¶
In 0.7.6 we fixed the license specifier for Zenodo and the link to the changelog for PyPI.
New features:
Changes:
Release 0.7.4 (2023-08-31)¶
New features:
Expand tables to include full content. This happens every time when an xlsx-file is written. #155, #159
Changes:
Change HTML documentation to use IRI as id (anchor) in html. #156
List members in collections in alphabetical order (in HTML documentation). #162
Bug fixes:
Creator and publisher missing in generated HTML documentation. #154
Release 0.7.2 / 0.7.3 (2023-08-23)¶
First release after setting up Zenodo integration (0.7.2) and fix of Zenodo community (0.7.3).
There were no functional changes since 0.7.1.
Release 0.7.1 (2023-08-22)¶
First release to upload to PyPI.
There were no functional changes since 0.7.0.
Release 0.7.0 (2023-08-16)¶
New features:
In concept scheme sheet creator can now be ORCID, ROR ID or a predefined string; publisher can be ROR ID or a predefined string (for example
NFDI4Cat) #120, #151Support for two environment variables was added. If present they will be used with highest preference. #148
VOC4CAT_MODIFIED- Can be used to supply a modified date.VOC4CAT_VERSION- version string; it must start with “v”.
voc4cat detects if it runs in gh-actions. In gh-actions it clears the modified date to avoid tracking its changes with git. #148
Changes:
In concept scheme sheet, modified date and version are now optional. #148
Update notes xlsx-template and example files. #152
Use rotating logfiles instead of single file by default. #149, #150
Bug fixes:
Release 0.6.2 (2023-08-10)¶
New features:
Option
--ci-postof sub-commandvoc4cat checkwas improved to detect and work with split vocabularies. #146
Release 0.6.1 (2023-08-10)¶
New features:
The
merge_vocabscript gained support for directories containing vocabularies created withvoc4cat transform --split. This feature is used in gh-actions of voc4cat-template-based vocabularies. #144
Changes:
The use of logging levels was made more consistent: Success of an operation is now logged for all operation on INFO level. #145
The log file will now always be written to the given directory. Previously the log file directory depended on the presence of the
--outdiroption. #144
Bug fixes:
Release 0.6.0 (2023-08-09)¶
New features:
New command line interface
voc4catthat uses subcommandstransform,convert,checkanddocs. This was added as preview in Release 0.5.1 and is now the default. With the new CLI conversion and validation are no longer coupled but can be run separately. #140, #141New options for subcommand
transform:--splitto split a large SKOS/rdf file to a directory of files with one file per concept/collection.--joinfor the reverse operation of transforming the directory of files back to a single turtle vocabulary. #139
Changes:
Release 0.5.1 (2023-08-03)¶
New features:
New (experimental) command line interface
voc4cat-ngthat will replace the current one in 0.6.0. #128, #135When adding IDs via –make-IDs, the new CLI offers to pass a base-IRI (see help
voc4cat-ng transform --help).
Changes:
Various small changes to improve test coverage (now 96 %) and reduce the number of linter complaints (from 38 to 25).
Release 0.5.0 (2023-07-27)¶
New features:
Support for a vocabulary configuration file
idranges.toml. Via this configuration file ranges of IDs can be assigned/reserved for individual contributors. #131, #134Extended validation/checks especially useful for the CI-vocabulary pipeline of voc4cat-template. The new config provides the basis for more thorough validation. #126 #134
Support for pylode2 as new documentation generator which is also the new default. #115
Added a central logging config. Updated code to use logging instead of print() almost everywhere.
Changes:
Merged some parts from vocexcel to remove vocexcel as a dependency. #119
Adapted and revised example files. #137
Switched to ruff as code linter.
Bug fixes:
None.
Release 0.4.0 (2023-03-15)¶
First public release of voc4cat on github.
Earlier releases¶
Before 0.4.0 the code was in alpha state and kept private. See git commit log and the issues & milestones in this repository for the early history.
Just before 0.4.0 the code was migrated from a private gitlab instance to github. The transfer went OK but not perfect (gitlab-MRs were not well converted to github-PRs).