Changelog
19.0.0 (2026-08-12)
⚠ BREAKING CHANGES
mapping: replace existing external mappings instead of adding to them (DEV-6897) (#2386 )
Enhancements
mapping: replace existing external mappings instead of adding to them (DEV-6897) (#2386 ) (9730d3e )
Maintenance
ci: bump outdated GitHub Actions to latest major versions (#2387 ) (281b396 )
start-stack: bump versions to 2026.08.02 (#2391 ) (b784e99 )
Enhancements
add support for RegionPreviewValue (DEV-6760) (#2369 ) (bb43db3 )
Bug Fixes
create: exit with code 3 from --exit-if-exists when the project already exists (DEV-6878) (#2382 ) (75176d4 )
xmlupload: only persist resumable upload state and trim stash message (#2379 ) (e151421 )
Maintenance
clients: set log level based on HTTP response code (#2377 ) (41c426c )
deps: bump the all-dependencies group across 1 directory with 22 updates (#2372 ) (0717648 )
deps: bump the all-dependencies group with 5 updates (#2385 ) (2b388ff )
start-stack: bump versions to 2026.08.01 (#2388 ) (196cf50 )
Bug Fixes
validate-data: exclude deleted resources from the list of resources that exist in the DB (DEV-6837) (#2376 ) (b42e247 )
Maintenance
Bug Fixes
guard interactive prompts against non-interactive stdin (DEV-6744) (#2367 ) (a5127aa )
xmllib: improve handling of invalid default authorship input (DEV-6762) (#2373 ) (137c1a2 )
Maintenance
Enhancements
support resource-side legal metadata (DEV-6666) (#2350 ) (198ebe2 )
Maintenance
Documentation
validate-data: add new SHACL shape creation playbook (#2362 ) (fbf6bea )
Maintenance
Documentation
add CONVENTIONS.md and REVIEW.md reference cards (DEV-6719) (#2361 ) (dc9980e )
Maintenance
add max 1GB logging file size through rotation (#2354 ) (33e3c0e )
start-stack: bump versions to 2026.06.05 (#2357 ) (392cba7 )
Maintenance
Maintenance
add .kodus-readiness.yml to skip N/A agent-readiness criteria (#2345 ) (c19dbf6 )
start-stack: bump versions to 2026.06.03 (#2348 ) (1973638 )
Enhancements
allow placeholder-file tag in bitstream tag (DEV-6580) (#2321 ) (1da35bf )
enable explicit value ordering (DEV-6596) (#2335 ) (8a7e2a3 )
parse placeholder value from xml (DEV-6581) (#2322 ) (2997c0d )
validate-data: improve error message if wrong placeholder file type is used (DEV-6594) (#2332 ) (d0105be )
validate-data: warn if placeholder is used (DEV-6583) (#2329 ) (1f6d367 )
xmllib: add PlaceholderFile option (DEV-6570) (#2333 ) (1b3b7df )
xmlupload: process placeholder bitstream (DEV-6582) (#2327 ) (55658a5 )
xmlupload: use new built-in urn placeholder for missing legal info (DEV-6571) (#2323 ) (efffa96 )
Bug Fixes
ci: make Dependabot PRs pass e2e tests without relying on Actions secrets (#2330 ) (4b53172 )
ci: skip uv.lock update when no release PR is open (#2331 ) (e407a27 )
Maintenance
bump-stack-versions: use PAT so version-bump PR triggers tests (#2328 ) (2602078 )
start-stack: bump versions to 2026.06.02 (#2343 ) (bba504f )
Documentation
Enhancements
dispatch dsp-docs bump on release publish (DEV-6438) (#2303 ) (6cdda44 )
Maintenance
change parsing and processing of FileValues (#2318 ) (96c73e1 )
split KnoraValueType enum (#2317 ) (2359090 )
start-stack: bump versions to 2026.06.01 (#2324 ) (7cfa28d )
xmlupload: make one field for FileValue instead of two (#2319 ) (4afe1b7 )
xmlupload: optimise FileValue graph creation (#2320 ) (744d5bd )
Documentation
Enhancements
create: extend limited_view to MovingImageRepresentation and AudioRepresentation (DEV-6308) (#2281 ) (e8c1f4d )
validate-data: prevent resources from linking to themselves (DEV-6323) (#2299 ) (d332c62 )
xmlupload: improve error message when no project with the shortcode exists (DEV-6530) (#2302 ) (a6f728e )
Bug Fixes
validate-data: parse stand-off link to resources in footnotes (DEV-6332) (#2295 ) (36c1f43 )
validate-data: use correct printing message for yaspin (DEV-6548) (#2301 ) (e2fa6ac )
Maintenance
bump dependencies (#2309 ) (16644f5 )
cli: add ingest health check before commands that may handle assets (#2308 ) (56087a8 )
client: remove token from logging in authentication client (#2292 ) (c3523cd )
start-stack: bump versions to 2026.05.02 (#2311 ) (322b0f7 )
xmlupload: add log statements to stash generation (#2297 ) (bec68d6 )
xmlupload: log ingest server response on upload failure (#2304 ) (c33fe6f )
Enhancements
validate-data: improve validation time (DEV-6310) (#2284 ) (f94fc3d )
Bug Fixes
validate-data: add user ID to shacl-cli command to enable file access on some systems (DEV-6431) (#2290 ) (ac48128 )
Maintenance
clients: improve error message for 400 status code in AuthenticationClient (#2287 ) (8c8aefe )
start-stack: bump versions to 2026.05.01 (#2291 ) (59ac724 )
Enhancements
add spinner to long process in validate-data and xmlupload (DEV-6318) (#2282 ) (1d4d12c )
migration: add progress spinner during ZIP upload in import phase (DEV-6307) (#2275 ) (b8a59c5 )
Bug Fixes
validate-data: change Docker Volume Mount Path to make it SELinux save (DEV-6303) (#2276 ) (9a905f3 )
xmlupload: resolve internal links inside footnote content (DEV-6289) (#2274 ) (c2e8d3c )
Maintenance
adapt dsp-app-config.json to template in ops-deploy repo (#2273 ) (3bb3a37 )
start-stack: bump versions to 2026.04.03 (#2285 ) (6a63860 )
Enhancements
mapping: add mapping config and mapping add commands (DEV-6180) (#2247 ) (098cd30 )
Maintenance
codecov: fix premature coverage status check and add threshold (#2266 ) (a9a4900 )
deps: bump the all-dependencies group across 1 directory with 17 updates (#2269 ) (6596aa4 )
start-stack: bump versions to 2026.04.02 (#2272 ) (c99358f )
Documentation
migration: add information about user account restrictions (#2270 ) (42a0a0d )
Enhancements
start-stack: retrive fuseki version from API main branch when using --latest flag (DEV-6218) (#2260 ) (d8ad337 )
Maintenance
dependabot: limit to one open PR at a time (#2264 ) (d61bf28 )
deps: bump the all-dependencies group across 1 directory with 15 updates (#2253 ) (37e4460 )
start-stack: bump versions to 2026.04.01 (#2263 ) (ed232b7 )
utils: combine HTTP status code check util functions (#2255 ) (b341912 )
xmlupload: remove Connection from uploading stash (DEV-6021) (#2258 ) (716d5f7 )
xmlupload: replace execute upload function with new version without Connection (DEV-6007) (#2257 ) (1a13748 )
xmlupload: upload resources with new ResourceClient (DEV-6006) (#2219 ) (83012bc )
Bug Fixes
Maintenance
exceptions: replace UnknownDOAPException control flow with warnings (DEV-6161) (#2241 ) (c390078 )
start-stack: bump versions to 2026.03.05 (#2252 ) (ccb3fdb )
workflows: change input for version bumping workflow (DEV-6196) (#2250 ) (44d5988 )
Enhancements
data types: add support for importing svg files (DEV-5966) (#2217 ) (f5e15cc )
Maintenance
ci: bump versions of github actions (#2222 ) (7360a8d )
create script to automate version bumping (#2236 ) (34a7373 )
exceptions: add KeyboardInterrupt handler to entry point (DEV-6165) (#2232 ) (3b23150 )
exceptions: do not call InternalError or UserError directly (#2226 ) (0071a32 )
exceptions: finalize error guideline document (DEV-5833) (#2225 ) (bb6bb95 )
exceptions: make InternalError and UserError the only allowed subclasses of BaseError (#2224 ) (0667e86 )
exceptions: reclassify XmllibInternalError as InternalError (DEV-6169) (#2230 ) (e8af3c3 )
exceptions: replace bare BaseError raises with specific subclasses (DEV-6164) (#2233 ) (2522599 )
fix small errors (#2239 ) (12c5336 )
remove PermanentTimeOutError class (DEV-6168) (#2231 ) (669e26e )
remove redundant "ERROR:" prefix from exception messages (#2229 ) (bd57cb6 )
start-stack: bump version to 2026.03.04 (#2242 ) (4e09289 )
workflows: fix permission handling in automated bump versions (#2238 ) (bfa1fe1 )
Documentation
rename Contributing to Documentation section heading (#2227 ) (c4e394e )
18.9.0 (2026-03-18)
Enhancements
clients: implement new ResourceClient (DEV-6005) (#2216 ) (0773094 )
Bug Fixes
ci: workaround for markdown-link-validator (#2221 ) (5bda90b )
Maintenance
18.8.0 (2026-03-11)
Enhancements
migration: add option to exclude assets in the export (DEV-5958) (#2213 ) (3fd5713 )
migration: implement all-in-one migration command (DEV-5945) (#2205 ) (a3b774c )
migration: merge export and download commands (DEV-5974) (#2209 ) (ae5ffa4 )
Maintenance
migration: merge the export and download files (#2208 ) (4b491f8 )
start-stack: bump versions to 2026.03.02 (#2214 ) (0efe709 )
Documentation
CLI: list all existing commands in the documentation overview (DEV-5998) (#2212 ) (33d3ba6 )
migration: add user documentation (DEV-5993) (#2211 ) (010a94d )
18.7.0 (2026-03-04)
Enhancements
migration: add CLI command clean-up (DEV-5912) (#2200 ) (b08d2d1 )
migration: add CLI command to create config file (DEV-5908) (#2192 ) (183cdf4 )
migration: create migraion export and import clients (DEV-5905) (#2191 ) (05a9d07 )
migration: fine-tune error messages and improve handling of common errors (DEV-5932) (#2201 ) (025afab )
migration: implement CLI import (DEV-5911) (#2197 ) (eec3b91 )
migration: implement CLI migration export (DEV-5909) (#2193 ) (dea32b3 )
migration: implement CLI command download (DEV-5910) (#2196 ) (50987e0 )
migration: write export/import IDs to file for future reference (DEV-5936) (#2198 ) (3bfea4b )
Maintenance
start-stack: bump versions to 2026.03.01 (#2204 ) (250e935 )
validate-data: check if project exists before starting validation (#2188 ) (ee8c11d )
18.6.3 (2026-02-19)
Bug Fixes
validate-data: remove duplicate violation messages (DEV-5894) (#2185 ) (9b8ddec )
Maintenance
Documentation
project-migration: create architectural overview (DEV-5892) (#2184 ) (a133e84 )
18.6.2 (2026-02-11)
Maintenance
18.6.1 (2026-01-29)
Bug Fixes
get: retry in case of API rate limiting (DEV-5805) (#2171 ) (2a689ee )
Maintenance
18.6.0 (2026-01-14)
Enhancements
create: check for duplicate properties in cardinality section (RDU-157) (#2145 ) (1edc1f5 )
Maintenance
create: improve user message when property is used with the wrong class (#2144 ) (373188d )
remove darglint from linters and reconfigure ruff (#2149 ) (6e15ea0 )
separate exceptions and move to dedicated file (#2146 ) (9f21600 )
start-stack: bump versions to 2026.01.02 (#2154 ) (a84dd76 )
update all dependencies (#2153 ) (82865f2 )
18.5.0 (2026-01-07)
Enhancements
validate-data: add check to warn against potential circle in data with mandatory properties (RDU-147) (#2123 ) (b2681d9 )
Bug Fixes
xmllib: find_dates_in_string(): make checks consistent if start date < end date (RDU-146) (#2120 ) (a845a48 )
Maintenance
create: change permissions parsing (#2111 ) (c1e90df )
create: check for mandatory link cardinalities with knora-api as object constraints (DEV-5761) (#2134 ) (b535e7d )
create: create CLAUDE.md (#2128 ) (ddd7b3a )
create: remove redundant duplicate list node name check (#2130 ) (fd149c8 )
create: search for circular inheritance (DEV-5754) (#2135 ) (89b656a )
create: use ParsedCardinality for circular checks (#2119 ) (6571cd3 )
create: use ParsedOntology to check if references exist (#2110 ) (db86ea9 )
create: use ParsedProject for further validation (#2118 ) (522bed6 )
create: validate if permissions overrule are correct (#2127 ) (8b250c1 )
deps: bump deps and move dotenv handling into function (#2116 ) (0384f95 )
ensure backwards-compatibility with Python 3.12 (RDU-148) (#2126 ) (31558b9 )
nightly python version check: run only essential linters (#2132 ) (7cf4cd6 )
python version testing needs secret (#2136 ) (e870b62 )
readme: describe Claude Code setup (RDU-143) (#2125 ) (2ec011d )
start-stack: bump versions to 2026.01.01 (#2141 ) (b252c75 )
unpin python version (#2122 ) (f5fd6f3 )
update CLAUDE.md files (RDU-143) (#2124 ) (47b4470 )
validate-data: reorganise top-level validation code flow (#2131 ) (76571d2 )
xmlupload: collect all missing multimedia files before raising an error (#2115 ) (f4170ae )
Documentation
18.4.0 (2025-12-11)
Enhancements
CLI: print dsp-tools verion info (DEV-5697) (#2112 ) (aec2c1e )
create: add flag --exit-if-exists to gracefully stop create if the project exists (DEV-5696) (#2113 ) (cdad15a )
Bug Fixes
set upper bound of 3.14.0 for python (RDU-144) (#2102 ) (9a06cab )
Maintenance
add standard logging to BulkIngestClient (#2093 ) (744c81a )
create: aggregate identified problems instead of raising errors (#2104 ) (b5d925a )
create: change parsing and validation code structure (#2107 ) (db50f78 )
create: change pattern to handle the result of the project parsing (#2108 ) (b5a19d4 )
create: modularise json validation functions (#2099 ) (5c9853e )
create: remove union path or parsed option from functions (#2098 ) (51b3398 )
create: reorganise directory structure (#2092 ) (6207a05 )
create: use ParsedOntology for duplicate IRI check (#2109 ) (d48d1e6 )
deps: bump the all-dependencies group across 1 directory with 14 updates (#2103 ) (84af80d )
deps: replace abandoned dotenv, specify version constraints for libraries <1.0 (#2101 ) (e354551 )
move all RDF prefixes into constants file (#2096 ) (7105381 )
move vulture to other linters (#2106 ) (52ba272 )
start-stack: bump versions to 2025.12.02 (#2114 ) (3ed3728 )
18.3.0 (2025-12-03)
Enhancements
update legal info in XML to new format (DEV-4838) (#1680 ) (8c3ba81 )
Maintenance
create: add code to create properties on server (#2072 ) (78b4115 )
create: add create new ontology route to client (#2085 ) (b6b5514 )
create: add post project route to client (#2088 ) (a2f59f9 )
create: create code to make project on server (#2089 ) (785ac50 )
create: create ontologies on server (#2086 ) (a04641e )
create: integrate code to create project (DEV-5511) (#2090 ) (21637ba )
create: integrate new classes route into command (#2080 ) (0dc0af5 )
create: integrate new property creation into command (#2073 ) (ec82cb1 )
create: integrate ontology creation into command (DEV-5509) (#2087 ) (d28dfac )
create: make create classes on server (#2079 ) (eea7158 )
create: make create new classes route (#2078 ) (2261217 )
create: parse and serialise classes (#2074 ) (958e392 )
start-stack: bump versions to 2025-12-01 (#2091 ) (0ffad4f )
xmlupload: inform user when SHACL validation starts (#2083 ) (bf4ebdd )
18.2.1 (2025-11-26)
Maintenance
18.2.0 (2025-11-21)
Enhancements
xmlupload: disallow whitespaces in restype and property name in XSD schema (DEV-5589) (#2050 ) (f97b8b1 )
Bug Fixes
find .env file also when using uv (RDU-133) (#2066 ) (c7d35c1 )
start-stack: app doesn't load due to missing faro settings (#2044 ) (ed7fc1d )
start-stack: handle ConnectionError during the CLI call (DEV-5608) (#2051 ) (2961978 )
xmllib: ensure that all empty values are removed before serialisation (DEV-5578) (#2046 ) (a64b142 )
xmlupload: add upper limit to IIIF-URI validation (DEV-5628) (#2065 ) (a08cd63 )
xmlupload: don't check docker in case of --skip-validation (DEV-5609) (#2053 ) (5094906 )
Maintenance
clients: handle non-ok request status codes and exceptions consistently (#2034 ) (9055200 )
consolidate code paths in XSD validation (DEV-5593) (#2048 ) (f9b75d8 )
create: add code to create all users (#2057 ) (62f8c50 )
create: add create property route to OntologyCreateClient (#2063 ) (383aa2e )
create: add groups client (#2045 ) (26af604 )
create: create UserClient (#2056 ) (b7e29e1 )
create: implement detailed parsing and serialisation of users and groups (#2043 ) (ef9b17c )
create: integrate new code for user creation (DEV-5512) (#2058 ) (78b4e04 )
create: integrate new groups creation (DEV-5513) (#2054 ) (009a2e0 )
create: parse properties (#2061 ) (c3afc14 )
create: reorganise user problems (#2062 ) (6ee9755 )
deps: bump the all-dependencies group across 1 directory with 9 updates (#2047 ) (23c3d3d )
start-stack: bump versions to 2025.11.02 (#2068 ) (be29843 )
use 401 vs 403 response codes correctly in all clients (DEV-5615) (#2059 ) (30c83b3 )
use support@dasch.swiss when printing errors (DEV-5590) (#2060 ) (be1209c )
validate username in json schema (#2029 ) (3a50e8c )
xmlupload: remove redundant ProjectClient (#2038 ) (c5cdbf8 )
Documentation
link to daschland-scripts instead of deprecated repos (RDU-136) (#2067 ) (3d74760 )
validate: adapt wording (DEV-5596) (#2052 ) (419686d )
18.1.0 (2025-11-05)
Enhancements
xmllib: add "Rightsstatements: No Copyright - Non-Commercial Use Only" License (DEV-5562) (#2036 ) (183c323 )
Bug Fixes
xmllib: do not crash if resource id or type are NaN values (DEV-5569) (#2035 ) (acb684a )
Maintenance
CLI: rename --id2iri-file flag (DEV-5497) (#2030 ) (c30d561 )
cli: use check_input_dependencies() consistently (#2028 ) (019f562 )
create: make request exception handling consistent (#2032 ) (b4609af )
start-stack: bump versions to 2025.11.01 (#2037 ) (4902243 )
18.0.0 (2025-10-30)
⚠ BREAKING CHANGES
excel2json: remove gui-attributes that do not have an effect in the APP (DEV-5482) (#1985 )
Enhancements
CLI: check if provided filepaths or directories exist before call (DEV-5536) (#2013 ) (b06ccfd )
create: allow default user passwords through an .env file (DEV-5496) (#1995 ) (f42da0c )
create: disallow properties that reference a class from another project (DEV-5449) (#1992 ) (125cd2c )
excel2json: allow null values for user passwords (DEV-5495) (#1996 ) (3a3bbfc )
excel2json: remove gui-attributes that do not have an effect in the APP (DEV-5482) (#1985 ) (dc69b79 )
improve error message when local stack is not running (DEV-5526) (#2001 ) (5457073 )
integrate id2iri replacement functionality in xmlupload and validate-data (DEV-5201) (#1982 ) (4dbee13 )
validate-data: create metadata client (DEV-5528) (#2009 ) (ac7b813 )
validate-data: handle IRI validation check based on successful metadata request (DEV-5529) (#2017 ) (26cf470 )
validate-data: resources in DB are included as checks for link targets (DEV-5527) (#2012 ) (47e96dc )
Bug Fixes
create: better error message if default_permissions is missing in the JSON file (DEV-5479) (#1991 ) (d7866cb )
create: cardinality check used https in ontology IRI should be http (DEV-5541) (#2016 ) (16242e3 )
Maintenance
CLI: clean up call actions (DEV-5527) (#2019 ) (f18c2a9 )
create: add api call to create cardinalities (#2003 ) (91792a9 )
create: check new create with vulture (#2023 ) (2475d95 )
create: extend parsing the list section from project json (#2021 ) (b65bea2 )
create: implement new list creation route in create --lists-only (DEV-5551) (#2022 ) (1ae9d4b )
create: integrate new cardinality creation (DEV-5502) (#2004 ) (8017d30 )
create: integrate new create lists section into main code (DEV-5552) (#2025 ) (2dbb41e )
create: make models for ParsedProject (DEV-5505) (#1999 ) (995c0a7 )
create: make print messages consistent (#2026 ) (206ef0a )
create: refactor adding cardinalities (DEV-5502) (#1997 ) (83066fc )
deps: bump all dependencies (#1993 ) (2b5c51c )
deps: bump the all-dependencies group across 1 directory with 5 updates (#2011 ) (290c62a )
deps: bump the all-dependencies group across 1 directory with 6 updates (#1984 ) (01a6ea5 )
start-stack: bump versions to 2025.10.02 and use HttpWaitStrategy in testcontainers instead of waiting for logs (#2027 ) (c25c0c0 )
validate-data: move API clients to general clients folder (#2018 ) (e5b82cc )
Documentation
lint: markdown-link-validator: ignore w3.org (#2014 ) (13a739d )
lint: markdownlint: unignore readme (#2015 ) (9d252e6 )
new architecural design of the create command (DEV-5506) (#1998 ) (ba16373 )
remove all possible CLI options from documentation to make it more readable (#2024 ) (d680b5f )
17.0.0 (2025-10-08)
⚠ BREAKING CHANGES
remove rosetta CLI command (DEV-5384) (#1978 )
exce2xml: remove excel2xml CLI command (DEV-5386) (#1975 )
xmllib: raise error when using create_list_from_string (DEV-5253) (#1973 )
Enhancements
add functionality to replace ids with iris from mapping dynamically (DEV-5473) (#1980 ) (4aec235 )
exce2xml: remove excel2xml CLI command (DEV-5386) (#1975 ) (4dff27f )
remove rosetta CLI command (DEV-5384) (#1978 ) (33274db )
validate-data: prevent cross-project resource links (DEV-5450) (#1970 ) (a50dcbf )
xmllib: raise error when using create_list_from_string (DEV-5253) (#1973 ) (68b8e7b )
xmlupload: remove HTML 404 response text during IIIF-URI validation (DEV-5436) (#1972 ) (46a2492 )
Maintenance
start-stack: bump versions to 2025.10.01 (#1983 ) (d28dc7f )
xmlupload: replace internal ids with iris in formatted text value (DEV-5469) (#1979 ) (353f778 )
Documentation
remove gui-attributes that have no effect in the APP from the documentation (DEV-5476) (#1981 ) (c3d2a72 )
Maintenance
Bug Fixes
excel2json: make list sorting consistent across OS (#1963 ) (a02d434 )
validate: handle absent key gracefully (DEV-5428) (#1960 ) (8e0c563 )
Maintenance
Enhancements
create: allow reusing props from another onto (DEV-5418) (#1956 ) (66aa897 )
remove template CLI command (DEV-5385) (#1958 ) (e31d07e )
xmlupload: implement warning for large fuseki bloating on localhost (DEV-5402) (#1952 ) (00da0ef )
Bug Fixes
excel2json: enable references to other ontologies in resource cardinalities (DEV-5416) (#1954 ) (0d6de05 )
xmllib: add missing Umlaute to xsd:ID regex (DEV-5382) (#1957 ) (f21ddb3 )
Maintenance
Enhancements
get: support legacy permissions (DOAPs) (DEV-5346) (#1945 ) (7c2804d )
validate-data: ensure that integers are within the range specified for xsd:int (DEV-5391) (#1951 ) (0512a01 )
Bug Fixes
validate-data: implement sh:DatatypeConstraintComponent in validation (DEV-5387) (#1950 ) (e7d9e6c )
xmllib: replace usage of the deprecated create_list_from_string with create_list_from_input (DEV-5397) (#1949 ) (de0dc8c )
Maintenance
Enhancements
excel2json: guarantee sorting of labels/comments in output (DEV-5369) (#1942 ) (cda7db7 )
Bug Fixes
get: don't crash when no credentials are given (DEV-5347) (#1940 ) (272dc59 )
start-stack: asset download on localhost broken (DEV-5362) (#1939 ) (263de95 )
Maintenance
start-stack: remove fuseki initialization and bump versions to 2025.09.01 (DEV-5297) (#1937 ) (6a06645 )
Documentation
reorganisation documentation structure (DEV-5371) (#1946 ) (abb5407 )
xmllib: create overview of xmllib (DEV-5291) (#1930 ) (5a4391a )
xmllib: fix links after renaming files and update CLAUDE.md (DEV-5370) (#1943 ) (309c418 )
16.9.0 (2025-08-27)
Enhancements
get: retrieve class-wise and property-wise DOAPs (DEV-5120) (#1919 ) (30d0a67 )
xmllib: create functions to explicitly add textareas to a resource (DEV-5305) (#1936 ) (6daf503 )
xmllib: improve message of deprecation warning (DEV-5300) (#1932 ) (81d76da )
Bug Fixes
empty log files written during long-lived debugging sessions (DEV-5281) (#1931 ) (3b19134 )
excel2json: put "default_permissions_overrule" at correct position (DEV-5345) (#1935 ) (7a94bbc )
xmllib: consider permissions of values and files when evaluating which are referenced (DEV-5290) (#1927 ) (46942aa )
Maintenance
Documentation
excel2json: better explanation of default_permissions_overrule (#1934 ) (6506fc5 )
xmllib: split up configuration options and improve grouping of sections (DEV-5302) (#1933 ) (8d51d6f )
16.8.0 (2025-08-20)
Enhancements
add docker health check to all CLI-commands if they are on localhost and require a stack (DEV-5227) (#1924 ) (c66a19a )
excel2json: add support for overruling default permissions for classes/properties (DEV-5032) (#1915 ) (69a20ee )
Maintenance
Documentation
improve the wording for the text value in the ontology (DEV-5279) (#1920 ) (bd503c4 )
xmllib: add tips and links to helper functions (#1922 ) (16e4352 )
16.7.0 (2025-08-13)
Enhancements
change organisation of log files (DEV-5228) (#1895 ) (830836c )
create: add support for classes/property specific default permissions (DOAPs) (DEV-5038) (#1900 ) (653498e )
xmllib: add deprecation warning to create_list_from_string (DEV-5252) (#1909 ) (9df7b9d )
xmllib: helper function create list if the input is non-empty (DEV-5249) (#1906 ) (6bc7aa4 )
xmllib: level of user info that is printed configurable in the .env (DEV-5254) (#1910 ) (b261276 )
Bug Fixes
upload-files: enable extension ".json" (was forgotten) (#1899 ) (86017ee )
xmllib: don't crash if the listnode lookup does not find a label with the specified language (DEV-5247) (#1902 ) (583d273 )
xmllib: make the function create_list_from_input importable (DEV-5250) (#1908 ) (53ba941 )
Maintenance
16.6.1 (2025-08-06)
Maintenance
16.6.0 (2025-07-30)
Enhancements
create: allow only subclasses of StillImageRepresentation in default_permissions_overrule.limited_view (DEV-5179) (#1881 ) (67d1b46 )
validate-data: add flag to ignore ontology validation (DEV-5200) (#1892 ) (1ee25c4 )
validate-data: include standoff links to IRIs in validation (DEV-4944) (#1888 ) (f6aba7c )
Maintenance
bump start-stack to 2025.07.05 (#1896 ) (fcd7a6b )
validate-data: separate queries and reformatting of validation results (#1894 ) (1feaf55 )
Documentation
bulk ingest: remove "experimental" warning, add "SystemAdmin" warning (#1889 ) (323a27e )
16.5.0 (2025-07-23)
Enhancements
improve message if file path from user is not found (DEV-5171) (#1874 ) (3c6cfe5 )
validate-data: Create CLAUDE.md (DEV-5107) (#1829 ) (405c8ae )
validate-data: ensure that the end date is equal or after the start date (DEV-5173) (#1879 ) (db32e38 )
validate-data: ensure that the end date is not BCE when the start date is CE (DEV-5176) (#1878 ) (6f9b136 )
validate-data: find dates that have an invalid month or year number (DEV-5175) (#1876 ) (66ec5ce )
validate-data: improve user message if the file value is wrong (DEV-5122) (#1873 ) (758d323 )
validate-data: parse DateValue into xsd compatible date datatypes (DEV-5172) (#1875 ) (7f7f42e )
validate-data: raise validation severity of duplicate files from INFO to WARNING (DEV-5167) (#1868 ) (e36893d )
Bug Fixes
ingest-files: save latest mapping without timestamp (DEV-5163) (#1866 ) (66a78ba )
start-stack: don't crash if stop-stack is called multiple times (#1884 ) (e638620 )
validate-data: turn all dates into full dates for validation to allow for comparison (DEV-5180) (#1880 ) (7c64869 )
xmlupload: use slightly shorter timeout than traefik's 10 min (#1883 ) (f78cc2f )
Maintenance
bump start-stack to 2025.07.04 (#1887 ) (e0815a8 )
make dependabot functional again (#1855 ) (9dec12a )
run e2e tests in parallel (#1882 ) (e81520c )
validate-data: always check for duplicates with python logic (DEV-5158) (#1856 ) (3d33663 )
validate-data: delete unnecessary code to filter out multiple duplicate file warnings (DEV-5168) (#1872 ) (1abd25b )
validate-data: remove unnecessary file duplicate reformatting (DEV-5159) (#1869 ) (72d8734 )
validate-data: remove unused turtle files for duplicate check (DEV-5164) (#1870 ) (5b26b7e )
xmllib: create designated xmllib error classes (DEV-5098) (#1865 ) (5620780 )
16.4.0 (2025-07-16)
Enhancements
validate-data: consistently save or print validation results based on total number found (DEV-5135) (#1848 ) (ef37b87 )
validate-data: eable multiple parallel calls at the same time without conflicts (DEV-5137) (#1836 ) (26a4599 )
validate-data: prevent crash if too many duplicate files are in the data (DEV-5140) (#1841 ) (4bf4fa0 )
validate-data: use the SHACL CLI for all validation calls (DEV-5127) (#1831 ) (687adfe )
xmlupload: always write id2iri to ".dsp-tools" folder (DEV-5162) (#1862 ) (08b050b )
Maintenance
align folder naming of ingest docker folders with naming on servers (#1849 ) (1f0cdd4 )
bump start-stack to 2025.07.03 (#1864 ) (71f1f28 )
reorganise GitHub workflow files (DEV-5154) (#1851 ) (8a3fa56 )
validate-data: allow InputProblems without resource ID and type (#1857 ) (10a462c )
validate-data: create validation folder (#1843 ) (ae24254 )
validate-data: group files into categories (#1837 ) (00f6ade )
validate-data: improve edge cases e2e tests (#1859 ) (d23e389 )
validate-data: improve generic violations e2e tests (#1860 ) (df78c39 )
validate-data: improve warnings and info e2e tests (#1861 ) (d8e80f1 )
validate-data: move check for unknown resources classes to own file (#1844 ) (1b15119 )
validate-data: move get ontology validation message to correct file (#1845 ) (bd1eb96 )
validate-data: move get validation report to own file (#1846 ) (7669828 )
validate-data: only use pytest.fixtures in e2e tests when needed (#1863 ) (77f924f )
validate-data: read shacl-cli docker image from file (#1850 ) (4c4daf2 )
validate-data: remove unused parameter asset_value from RdfLikeResource (#1839 ) (a2dc2d4 )
validate-data: restructure function calls internally (#1840 ) (8a9847c )
validate-data: separate printing of messages and creating the validation result (#1858 ) (a80596f )
Documentation
validate-data: add validation logic diagram to developers' docs (#1847 ) (6cd508a )
16.3.0 (2025-07-09)
Enhancements
get: retrieve default permissions (DEV-5076) (#1825 ) (4414149 )
validate-data: run validation locally with a docker container (DEV-5062) (#1827 ) (343bfda )
xmllib: prevent conversion of null values into strings (DEV-5117) (#1822 ) (877af93 )
xmllib: remove functionality to set default permissions on write_file (DEV-5105) (#1823 ) (c44fb5c )
xmllib: rename permissions open/restricted/restricted view to public/private/limited_view (DEV-5079) (#1820 ) (569e2bf )
Bug Fixes
allow hexadecimal letters in resource iri check (DEV-5118) (#1824 ) (2f90826 )
xmllib: remove duplicate warning if an empty value is added in Simpletext (DEV-5121) (#1826 ) (78c2618 )
Maintenance
Documentation
create: add default_permissions_overrule to test data, docs, and JSON schema (DEV-5031) (#1828 ) (ebfaf60 )
16.2.0 (2025-07-02)
Enhancements
create: rename "project_default_permissions" to "default_permissions" (DEV-5091) (#1811 ) (32e4b2d )
excel2json: set project default permissions in Excel (DEV-5036) (#1808 ) (ffcdf8e )
remove default for project_default_permissions (DEV-5087) (#1806 ) (576b147 )
Bug Fixes
remove dataclass decorator from enum class (DEV-5073) (#1818 ) (1768840 )
start-stack: prevent sipi data from filling up storage (DEV-5065) (#1810 ) (5bc0e80 )
validate-data: allow stand-off links for resources (DEV-5101) (#1816 ) (6ad6f0e )
xmlupload: add more retries to account for 45 min and more fuseki compaction (DEV-5094) (#1812 ) (d716e08 )
xmlupload: retry during ca. 15min (DEV-5089) (#1809 ) (0dd91a2 )
Maintenance
bump start-stack to 2025.07.01 and remove api-config workaround (DEV-5106) (#1817 ) (a508526 )
start-stack: subpar bind mount in docker-compose.yml (DEV-5096) (#1813 ) (bb030ac )
Documentation
xmllib: fix some mistakes in documentation of helpers and converters (#1814 ) (8093557 )
16.1.0 (2025-06-24)
Enhancements
create: set project default permissions in JSON (DEV-5035, DEV-5037) (#1801 ) (16fc473 )
xmlupload: add support for HTML and EPUB files (DEV-5084) (#1805 ) (007f641 )
Maintenance
apply new permissions terminology - everywhere except xmllib (DEV-5077) (#1804 ) (ff0e1fa )
bump dependencies (#1799 ) (bb99e6d )
Documentation
xmlupload: reflect the new project default permissions (DEV-5078) (#1803 ) (0bb0037 )
16.0.0 (2025-06-18)
⚠ BREAKING CHANGES
create: disallow creation of SystemAdmin (DEV-5009) (#1787 )
Enhancements
allow that images are part of multiple compound objects (DEV-5070) (#1796 ) (70e6371 )
create: disallow creation of SystemAdmin (DEV-5009) (#1787 ) (08dac08 )
create: link existing users to project (DEV-5052) (#1793 ) (4ff19ae )
reformat and write large xsd schema validation results into a file (DEV-4998) (#1775 ) (b3ada62 )
validate-data: add flag to ignore duplicate image warnings (DEV-5060) (#1791 ) (2d8a701 )
validate-data: don't shorten user input if it is a ListValue (DEV-5048) (#1782 ) (2bcd9d5 )
validate-data: print out longer user input in validation message and don't shorten if info if it is a link (DEV-5047) (#1781 ) (a4c94ef )
xmllib: add function to reformat dates from a known format (DEV-5054) (#1786 ) (3e6e596 )
xmllib: check if the Resource ID is already used when adding a new one to the XmlRoot (DEV-4997) (#1785 ) (748cc18 )
xmllib: validate that the resource ids are correct (DEV-4996) (#1780 ) (c0e938e )
xmlupload: add flag to skip SHACL validation (DEV-5058) (#1790 ) (a24cb0e )
Bug Fixes
validate-data: prevent the same prefix to be used for different IRIs in the serialisation (DEV-5053) (#1784 ) (f21688a )
validate-data: set higher timeouts for operations that could last long - 360s (DEV-5049) (#1788 ) (65edb79 )
validate-data: set higher timeouts for operations that could last long (DEV-5049) (#1783 ) (03a24cd )
xmllib: don't warn if the list name is empty if the node is an absolute iri (DEV-5019) (#1774 ) (b5fb167 )
xmllib: remove duplicate warnings for empty input when creating a new Resource (DEV-5057) (#1789 ) (57e0431 )
xmlupload: allow more special characters (#1794 ) (f245f80 )
Maintenance
add CLAUDE.md to fine-tune Claude Code instances (#1792 ) (cc4f9c7 )
bump start-stack to 2025.06.02 (#1795 ) (41b21d9 )
start-stack: add more logging (#1777 ) (4eacc50 )
start-stack: add more logging (DEV-5071) (#1797 ) (19c2092 )
start-stack: capture and log API logs in case of failure (DEV-5071) (#1798 ) (36dff9f )
validate-data: remove erroneous logging statement (#1778 ) (dcc312c )
15.1.0 (2025-06-04)
Enhancements
create: enable licenses on a per-project base (DEV-4864) (#1744 ) (27004a6 )
migrate warning about angular brackets in simpletext from xmplupload to xmllib (DEV-4943) (#1750 ) (c48d041 )
validate-data: add more logging statements to find out slow process (DEV-4977) (#1763 ) (cad440c )
validate-data: check that only enabled licenses are referenced in the xml (DEV-4951) (#1755 ) (dd42602 )
validate-data: don't shorten user input in print out if it is a file paht (DEV-5008) (#1769 ) (208b049 )
validate-data: ensure that only defined permissions are used (DEV-4939) (#1748 ) (8009778 )
validate-data: serialise the rdflib graphs into strings before concatenation with other graphs (DEV-5001) (#1768 ) (ea8ead7 )
validate-data: warn if bitstreams/iiif-uri are duplicated (DEV-4665) (#1752 ) (741223c )
validate-data: warnings give a validation failure if it is on a prod server (DEV-4948) (#1754 ) (a8006fb )
xmllib: accept Italian "sì" as boolean (RDU-94) (#1746 ) (322fa00 )
xmllib: don't print out warnings if they are saved into a csv (DEV-5011) (#1772 ) (bec6807 )
xmlupload: add dummy legal info when none provided and not on prod server (DEV-4926) (#1757 ) (17a7fd0 )
xmlupload: show progress bar on CLI when uploading stash (DEV-4935) (#1747 ) (7fd490c )
xsd file should validate that a <resptr> only contains valid characters (DEV-4999) (#1771 ) (452c4bc )
Bug Fixes
remove erroneous mandatory gui attribute of Spinbox (DEV-4679) (#1764 ) (fecfabf )
validate-data: add missing API URLs to the list of production servers (DEV-4995) (#1767 ) (b3ebb95 )
validate-data: validate with list IRIs instead of names (DEV-4470) (#1741 ) (678164f )
Maintenance
describe yamlfmt installation in readme and bump markdownlint version (#1753 ) (b3a712f )
improve boolean arguments (#1765 ) (e97c0aa )
start-stack: bump versions to 2025.06.01 (#1773 ) (6f1f38a )
validate-data: change list node extraction (#1742 ) (83fdd6d )
xmlupload: change processing of ParsedFileValue (#1758 ) (92c8abd )
xmlupload: clean up RDF creation of legal info (DEV-4959) (#1766 ) (9d4fcb4 )
xmlupload: remove redundant check if link targets exist (DEV-4942) (#1751 ) (e7cee5b )
xmlupload: remove unnecessary conversion checks (DEV-4934) (#1745 ) (cea1509 )
xmlupload: remove unnecessary permissions error handling (DEV-4940) (#1749 ) (0fabaf2 )
Documentation
add explanation of TextValue types (DEV-5013) (#1770 ) (1f830fa )
15.0.0 (2025-05-21)
⚠ BREAKING CHANGES
rename find_date_in_string() to find_dates_in_string() (RDU-93) (#1738 )
find_date_in_string() returns list[str] instead of Optional[str] (DEV-4900) (#1733 )
Enhancements
find_date_in_string() returns list[str] instead of Optional[str] (DEV-4900) (#1733 ) (53c7d75 )
rename find_date_in_string() to find_dates_in_string() (RDU-93) (#1738 ) (05c99b1 )
retrieve licenses of project and add authentication to validate-data (DEV-4906) (#1725 ) (fc17405 )
start-stack: add parameter for a custom host (DEV-4907) (#1675 ) (ea3a89e )
validate-data: validate that only existing licenses are used (DEV-4862) (#1729 ) (930a92d )
xmllib: add None as a default for legal info (DEV-4927) (#1737 ) (57e9de5 )
xmllib: add new LicenseOther licenses to find_license_in_string() (DEV-4876) (#1716 ) (e7db46f )
xmllib: change .env variable name to save warnings file (RDU-91) (#1723 ) (4eb75e5 )
xmllib: enable sorting of resources and values during serialisation (RDU-89) (#1730 ) (fb386b3 )
xmlupload: add CLI args to configure which validation severity level should be printed out (DEV-4901) (#1732 ) (0282cdc )
xmlupload: validate XML input with validate-data (DEV-4461) (#1722 ) (93c2345 )
Bug Fixes
allow all licenses, not only the recommended ones (DEV-4903) (#1724 ) (82a3214 )
validate-data: allow values of the same property to have identical comments (DEV-4905) (#1727 ) (f35bd93 )
validate-data: reorganise user print messages and fix validation bool (DEV-4898) (#1718 ) (899f74b )
Maintenance
start-stack: bump versions to 2025.05.02 (#1739 ) (5787d3a )
valiate-data: extract get project info from api (#1740 ) (b88e59e )
validate-data: add validate config (#1726 ) (98ac8d6 )
validate-data: extract parsing of resources from validation command (#1720 ) (b591d1e )
validate-data: rename AllProjectLists to more generic name (#1728 ) (f338b26 )
waypaver for next PR (#1735 ) (b62b1fd )
xmlupload: separate parsing of processing of resources (#1721 ) (54c9b08 )
Documentation
validate-data: add all the flags and add explanation (DEV-4915) (#1731 ) (ab40324 )
14.0.0 (2025-05-15)
⚠ BREAKING CHANGES
remove old create label to list node name mapper function (DEV-4850) (#1690 )
Enhancements
excel2json: create enabled license array in json with excel (DEV-4865) (#1697 ) (9e93009 )
include enabled licenses in json (DEV-4805) (#1696 ) (2fb7739 )
remove old create label to list node name mapper function (DEV-4850) (#1690 ) (c572e3c )
validate-data: check that SimpleText gui elements do not contain linebreaks (DEV-4840) (#1681 ) (1eafc90 )
validate-data: downgrade the severity of missing legal information to warning (DEV-4897) (#1714 ) (2412948 )
validate-data: filter out violations when Links reference resources in DB (DEV-4819) (#1689 ) (6932358 )
validate-data: validate authorship string (DEV-4896) (#1713 ) (222f4f7 )
xmllib: add new license IRIs (DEV-4873) (#1707 ) (17b4672 )
xmllib: add the option to overwrite the Permissions.PROJECT_SPECIFIC_PERMISSIONS with a custom default permissions (DEV-4877) (#1710 ) (56e3e55 )
xmllib: enable to save warning messages in csv through an .env configuration (DEV-4853) (#1692 ) (99c65ba )
xmllib: helper function to parse licenses (DEV-4800) (#1640 ) (35c4f3a )
xmllib: support polars null values in is null checks (DEV-4841) (#1673 ) (8f0d416 )
Bug Fixes
xmllib: prevent data loss in find_date_in_string() (DEV-4839) (#1684 ) (edd5740 )
xmllib: values of dsp in built resources should inherit permissions of the resource if it is not possible to specify them individually (DEV-4888) (#1711 ) (648879e )
xmlupload: characters that are escaped in the XML should not be escaped in the string after parsing (DEV-4835) (#1671 ) (f1e1552 )
Maintenance
autofix pyupgrade linting rules (#1679 ) (e236a73 )
deduplicate helpers from excel2xml and xmllib (#1683 ) (e464967 )
explain dmypy restart in readme (DEV-4833) (#1688 ) (e2f5618 )
resolve warnings in tests (#1709 ) (e693b77 )
some small fixes (#1685 ) (54bea5e )
start-stack: bump versions to 2025.05.01 (#1715 ) (edc0fa0 )
validate-data: improve code structure of user message communication (#1695 ) (75b1907 )
validate-data: re-organise validation message for user (#1693 ) (dd314dd )
xmllib: change order of warnings util functions (#1691 ) (05c5a9e )
xmllib: create factory methods for FileValues (#1668 ) (4b8b347 )
xmllib: integrate warning utils (#1677 ) (919669e )
xmllib: move internal code into separate folder (#1676 ) (b0b3dbc )
xmllib: move raising of errors out of richtext serialisation (DEV-4832) (#1686 ) (7ee2605 )
xmllib: remove resource id from Value (#1672 ) (5b28a47 )
xmllib: reorganise and streamline internal util functions (#1678 ) (792880d )
xmlupload: remove duplicate file type identification (DEV-4455) (#1717 ) (41a71ef )
Documentation
13.1.0 (2025-04-30)
Enhancements
validate-data: ensure that properties that should only be single line do not contain line breaks (DEV-4808) (#1635 ) (21efebb )
validate-data: remove whitespaces from TextValues to better detect duplicates (RDU-78) (#1651 ) (c099421 )
xmllib: create function to remove redundant whitespaces and newlines from string (DEV-4801) (#1633 ) (7167890 )
xmllib: search and warn potentially empty input string (DEV-4827) (#1662 ) (ed348bd )
xmlupload: allow list IRIs to be referenced in the XML (DEV-4831) (#1664 ) (3497f9d )
Bug Fixes
distinguish between strings/regexes in KNOWN_XML_TAGS (DEV-4781) (#1619 ) (0c7c5d7 )
id2iri: include segment resources for id replacement (DEV-4797) (#1630 ) (c6ba599 )
SyntaxWarning: invalid escape sequence '\p' (#1618 ) (d279c92 )
xmllib: do not warn if comment on values are left empty (DEV-4834) (#1669 ) (f848d73 )
xmllib: new warnings: pair programming results (#1661 ) (ae70ba8 )
xmllib: replace namedentities package (DEV-4755) (#1611 ) (fbd8b44 )
xmlupload: convert HTTPS api url to HTTP url for ontology IRI construction (DEV-4803) (#1634 ) (a81888c )
xmlupload: correctly communicate if text val contains invalid chars (#1650 ) (d5950e5 )
xmlupload: user friendly message for duplicate res IDs (DEV-4747) (#1643 ) (46d8015 )
xmlupload: validate link target IDs of Segment resources (DEV-4794) (#1625 ) (6cd2a27 )
Maintenance
add deprecation warning to excel2xml.write_xml() (DEV-4783) (#1641 ) (3b4353b )
bump dependencies (#1652 ) (51903a5 )
consolidate duplications of is_nonempty_value() and is_string_like() (DEV-4788) (#1621 ) (b501cd9 )
consolidate xml parsing and cleaning functions (#1632 ) (1b309c3 )
copy tests from excel2xml to xmllib (#1629 ) (8846c5b )
implement vulture to find dead code (#1626 ) (bf53313 )
ingest-xmlupload: use ParsedResource instead of XMLResource (#1622 ) (4ab3fd8 )
refactor _handle_non_ok_responses() (#1646 ) (206a7f8 )
remove XMLResource (#1624 ) (1a7289d )
remove get used IRIs from get_parsed_resources (#1645 ) (932d756 )
remove whitespaces when creating ParsedResource (#1623 ) (1d86782 )
rename get_data_deserialised file (#1627 ) (9d445d7 )
resolve warnings and bump dependencies (#1636 ) (f00aa31 )
resolve warnings in tests (#1647 ) (713a2b3 )
start-stack: bump versions to 2025.04.03 (#1670 ) (4c8c51e )
validate-data: clean up and add logging statements (#1660 ) (e0cb871 )
validate-data: create DataDeserialised from ParsedResource (#1628 ) (ffc6192 )
validate-data: integrate get data deserialised from ParsedResource into code (#1631 ) (748bf92 )
validate-data: optimise check if only known resource classes are used in file (#1644 ) (ce01b6f )
validate-data: rename ResourceDeserialised into RdfLikeResource (DEV-4817) (#1654 ) (a08b472 )
validate-data: reorganise parsing of XML file and data construction (#1642 ) (58d0f86 )
xmllib: change construction of warnings messages (DEV-4793) (#1656 ) (d70346b )
xmllib: change find function trace (#1658 ) (01b0cd3 )
xmllib: change input type mismatch warning (#1659 ) (cadcb56 )
xmllib: change warning and error messages in helper functions (#1667 ) (f5d1e01 )
xmllib: create all values with factory method (#1666 ) (a9b45ce )
xmllib: create factory method for BooleanValue (#1663 ) (f243e60 )
xmllib: create factory method for Richtext (#1665 ) (44d1278 )
xmllib: create separate warning classes (DEV-4819) (#1655 ) (ed40e78 )
xmllib: integrate warning utils into dsp base resources (DEV-4823) (#1657 ) (af6fb77 )
xmlupload: move create lookup functions into utils (#1638 ) (8f642f2 )
xmlupload: rename IntermediaryResource into ProcessedResource (DEV-4816) (#1653 ) (0f65f38 )
xmlupload: use ParsedResource instead of XMLResource (#1617 ) (f5f293a )
13.0.0 (2025-04-09)
⚠ BREAKING CHANGES
change structure of PreDefinedLicenses config in xmllib (DEV-4762) (#1605 )
Enhancements
change structure of PreDefinedLicenses config in xmllib (DEV-4762) (#1605 ) (7319985 )
downgrade warning level if angular brackets were found in Simpletext (DEV-4746) (#1593 ) (16d875a )
xmllib: create additional label to list name helper functions and lookups (DEV-4753) (#1598 ) (da67e9a )
xmllib: support BCE dates in find_date_in_string() (RDU-83) (#1596 ) (5361bc6 )
Bug Fixes
correct rdflib import (DEV-4765) (#1612 ) (67d6770 )
xmllib: allow additional header tags that can be displayed in the app (DEV-4756) (#1599 ) (700ccbb )
Maintenance
bump start-stack to 2025.04.02 (#1616 ) (486855f )
consolidate code duplications (DEV-4780) (#1613 ) (432364d )
create new classes to parse XML (#1591 ) (6b8fce1 )
parse XML into ParsedResource (#1594 ) (dfb4ff3 )
PR checks should be triggered on PRs from forks (#1608 ) (164b2f9 )
start-stack: switch docker command parts to match documentation (#1606 ) (bdb93c2 )
xmlupload: create functionality to transform resources from ParsedResource into ResourceIntermediary (#1601 ) (1cfdc8d )
xmlupload: deserialise list-prop as tuple and not string (#1597 ) (22d7fcf )
xmlupload: extract validation functions that use the root (#1614 ) (2df357f )
xmlupload: move creation of intermediary lookup (#1610 ) (4b6d708 )
xmlupload: move transform rich- and simpletext values (#1603 ) (cb98c3c )
xmlupload: rename transform into intermediary resources files (#1602 ) (f3394f7 )
Documentation
fix typo and display in architecture.md (#1600 ) (9ef3743 )
xmlupload: fix attribute of hasSegmentBounds (<video-segment> / <audio-segment>) (#1595 ) (472a0b9 )
12.1.0 (2025-04-02)
Enhancements
xmllib: use UUID for authorship ID instead of number (DEV-4739) (#1584 ) (7b8fa4a )
Bug Fixes
xmlupload: add comment on value to shashed links and texts (DEV-4730) (#1573 ) (3670754 )
Maintenance
bump start-stack to 2025.04.01 (#1583 ) (794b842 )
delete dead code (#1577 ) (0205c59 )
move rdflib constants to one file (#1589 ) (78070eb )
optimise just clean (#1570 ) (8347fe3 )
test: Use real iris in xmlupload integration tests (#1582 ) (634a8b4 )
xmlupload: add option to use own value IRI in graph (#1575 ) (cf1927b )
xmlupload: change order of code (#1574 ) (5b7d657 )
xmlupload: create minimal XML parsing and validation function (#1590 ) (b0f51d6 )
xmlupload: extract json-ld serialisation (#1580 ) (b961d9c )
xmlupload: integrate create upload order from ResourceIntermediary (#1550 ) (b279e68 )
xmlupload: move resolve ID to IRI outside of function when creating a LinkValue (#1581 ) (aed3ff2 )
xmlupload: remove old code and rename files (#1572 ) (cbd14de )
xmlupload: remove redundant JsonldContext (#1586 ) (2827881 )
xmlupload: serialise LinkValueStashItem with rdflib (#1579 ) (041c6c3 )
xmlupload: serialise StandoffStashItem with rdflib (#1576 ) (53de9d4 )
Documentation
12.0.0 (2025-03-26)
⚠ BREAKING CHANGES
rename old and new excel2json/excel2lists commands (RDU-80) (#1558 )
Enhancements
rename old and new excel2json/excel2lists commands (RDU-80) (#1558 ) (5788aba )
Bug Fixes
delete warning.log if empty (DEV-3438) (#1559 ) (41ff3ed )
xmlupload: disallow the combination of eras and Islamic calendar dates (RDU-77) (#1557 ) (36206ea )
Maintenance
Documentation
fix UI bug: admonition is not supported on pypi.org (DEV-4715) (#1556 ) (98bdc97 )
11.0.0 (2025-03-19)
⚠ BREAKING CHANGES
create: remove Excel folder reference from JSON project file (DEV-4687) (#1521 )
Enhancements
create: remove Excel folder reference from JSON project file (DEV-4687) (#1521 ) (8185e12 )
validate-data: verify that the used license is allowed (DEV-4659) (#1492 ) (8701bf9 )
Bug Fixes
ci: trigger tests in release PR (DEV-4675) (#1502 ) (c2d0127 )
create: prevent duplicate list nodes (DEV-3531, DEV-3632) (#1507 ) (f60badb )
ingest-xmlupload: handle pretty-printed bitstream paths (#1522 ) (254b2f6 )
validate-data: correct the way Values are targeted in the SHACL shapes (DEV-4672) (#1499 ) (3db100f )
validate-data: recognise if DateValue is used instead of SimpleText (DEV-4681) (#1511 ) (192af3f )
xmlupload: Better Error Message when API returns NotFoundException (DEV-4631) (#1506 ) (e100ce2 )
Maintenance
_handle_non_ok_responses() (#1505 ) (193d971 )
add some just linting commands (#1509 ) (1071e7f )
auto-fix ruff violations in just format (#1553 ) (c48aca8 )
ci: trigger tests in release PR, the second (#1508 ) (8909f91 )
create: rename 1 directory and 1 file (#1543 ) (0071b3d )
don't spam log file with stack traces (DEV-4607) (#1544 ) (6011562 )
remove unused markdownlint containers (#1526 ) (499c745 )
reorganise justfile (#1512 ) (3385226 )
speed up mypy with daemon (DEV-4684) (#1516 ) (d9bec53 )
Update versions 2025.03.02 (#1551 ) (4f8c372 )
validate-data: add property shapes to Values (#1513 ) (101313d )
validate-data: change creation of cardinalities for file value property (#1536 ) (eb1d8fe )
validate-data: change extraction of resource IRI and type (#1530 ) (764ed53 )
validate-data: change ID names in test data (#1510 ) (2a30bdc )
validate-data: change resource IRI and type extraction during result queries (#1525 ) (2edb389 )
validate-data: change targeting of knora-api:Values (DEV-4690) (#1528 ) (77a9a54 )
validate-data: group property and nodeshapes better together (#1534 ) (3107c93 )
validate-data: harmonise file value shapes (#1494 ) (dad04de )
validate-data: make name property shapes for ontology properties instead of blank nodes (#1537 ) (3452180 )
validate-data: make order of information in turtle files consistent (#1532 ) (146d217 )
validate-data: move FileValue cardinalities (#1535 ) (da4a933 )
validate-data: re-organise SHACL property shapes of dsp in-built resources (#1540 ) (d00bb3a )
validate-data: remove duplication of file value errors (#1527 ) (a9fb0d1 )
validate-data: rename class parameter (#1523 ) (67be1b6 )
validate-data: validate metadata of values directly on the value (#1533 ) (5e56bc4 )
xmllib: don't manually interfere with xml serialisation (DEV-4230) (#1503 ) (50c4c67 )
xmlupload: reorganise functions to create the upload order (#1552 ) (4db08fe )
xmlupload: take apart the function to create the upload state (#1549 ) (756e633 )
Documentation
add deprecation notes with admonitions (#1514 ) (c95947d )
communicate supported Python versions (DEV-4680) (#1515 ) (6f4ab31 )
xmlupload: describe how to add authorship data (#1542 ) (005bcb3 )
10.6.0 (2025-03-05)
Enhancements
validate-data: validate if legal info exists for images (DEV-4655) (#1490 ) (4fdf287 )
validate-data: validate if legal info is there for files (DEV-4654) (#1487 ) (6ff6d3f )
xmlupload: add LegalInfoClient to post copyright holders (DEV-4639) (#1478 ) (a4f9e6d )
xmlupload: integrate create copyright holders into xmlupload (DEV-4650) (#1485 ) (7a3aba5 )
xmlupload: map authorship ids to actual values (DEV-4637) (#1476 ) (99cfaee )
xmlupload: parse legal info for files from XML (DEV-4635) (#1473 ) (ef6df7f )
xmlupload: Upload the legal info of the file values during the xmlupload (DEV-4638) (#1484 ) (29e59b5 )
Bug Fixes
validate-data: add problem message to csv (DEV-4663) (#1493 ) (63c587f )
xmllib: allow pathlib.Path as input for Resource.add_file() (#1486 ) (63d5fd6 )
xmllib: disallow colon as range separator in find_date_in_string() (#1480 ) (a908714 )
xmllib: is_nonempty_value(" ") should be false (#1474 ) (2550e80 )
xmlupload: communicate invalid filename (#1497 ) (1557894 )
xmlupload: text encoding check should handle onto prefix in text properties (DEV-4664) (#1495 ) (e218b3b )
Maintenance
bump stack to 2025.03.01 (#1491 ) (64b87e0 )
fix typo (#1489 ) (e52c9bf )
move generic and static logging functions out from ConnectionLive to separate file (#1479 ) (2dd238a )
move logging of request out of ConnectionLive into generic file (#1482 ) (9250b01 )
use simpler loguru syntax (DEV-4615) (#1501 ) (9c7dbf8 )
validate-data: add legal info to the validation (#1488 ) (209a1d1 )
xmlupload: make error handling clearer/simpler (#1500 ) (6199201 )
xmlupload: make file value graph (#1483 ) (689c0c8 )
Documentation
xmllib: clarify that find_date_in_string() finds only 1 date (#1477 ) (b4210dc )
10.5.0 (2025-02-26)
Enhancements
allow legal info in XML (DEV-4599) (#1431 ) (c3f1b15 )
parse migration metadata in DataDeserialised (DEV-4612) (#1457 ) (412a747 )
xmllib: implement license and copyright (DEV-4354) (#1427 ) (f48b827 )
xmllib: support "15 Jan 2025" in find_date_in_string() (RDU-75) (#1461 ) (1b17163 )
xmllib: support german month names in find_date_in_string() (RDU-76) (#1462 ) (81aa0b9 )
xmlupload: change name of id2iri mapping file (DEV-4601) (#1438 ) (dd079ff )
Bug Fixes
excel2xml: filter out blanks-only strings from create_json_excel_list_mapping() (#1472 ) (8ba9a18 )
xmllib: don't spam user with dsp-tools internal logging/printing (DEV-4595) (#1430 ) (e7f6449 )
xmllib: don't spam user with dsp-tools internal logging/printing, the second (DEV-4595) (#1459 ) (9b0847a )
xmllib: fix authorship block (#1460 ) (a32f0af )
Maintenance
add a UUID to the ValueInformation when parsing the XML (DEV-4617) (#1458 ) (b908d48 )
bump dependencies (#1432 ) (cd703e8 )
bump stack to DSP 2025.02.03 (#1440 ) (fb7ff98 )
bump versions of GitHub actions (#1433 ) (3eb0be9 )
create: change structure of parsed project (#1425 ) (1a360fb )
create: move ontology creation to separate file (#1426 ) (3e4f23f )
create: reorganise code (#1424 ) (decfa24 )
enable darglint only in xmllib (#1449 ) (dc91e54 )
fix too many blank lines for test-latest-be.yml (#1429 ) (28d36ec )
move typing-extensions to dev-dependencies (#1436 ) (86f3415 )
move xml parsing and validation files (#1445 ) (7cd763f )
release-please: update uv.lock automatically (DEV-4596) (#1435 ) (5adaf04 )
release-please: update uv.lock automatically, 2nd attempt (DEV-4596) (#1446 ) (4bdac59 )
release-please: update uv.lock automatically, 3rd attempt (DEV-4596) (#1453 ) (33842e4 )
remove copyright and license tags from xsd (#1423 ) (6bdf2c6 )
remove redundant text encoding check (#1452 ) (d504513 )
reorganise XML cleaning functions (#1456 ) (da07379 )
separate asset value from others in deserialise xml (DEV-4610) (#1448 ) (b7467d8 )
unpin dependencies (#1439 ) (4a88d10 )
Update uv.lock after version pinning is removed from pyproject.toml (#1441 ) (db5c1ee )
Update uv.lock with new version number (#1421 ) (e049458 )
validate-data: move parsing files to utils (#1447 ) (a61d7b6 )
xmllib: move file value serialisation out of the classes (#1434 ) (51b0414 )
xmllib: move resource serialisation out of the class (#1437 ) (e52539e )
xmlupload: create Stash from IntermediaryResource (#1467 ) (96afbc2 )
xmlupload: create info for graph from DataDeserialised (DEV-4622) (#1464 ) (568f526 )
xmlupload: extract information from graph from IntermediaryResource (#1468 ) (bb97e76 )
xmlupload: make listnode lookup congruent with DataDeserialised (#1471 ) (f3f784a )
xmlupload: move resource transformation files (#1469 ) (c379a66 )
xmlupload: move transformed resource into the UploadState (#1444 ) (47577c2 )
xmlupload: re-organise circular reference files (#1463 ) (92a4465 )
xmlupload: remove creation of UUID from circular references models constructor (#1466 ) (9cc0d80 )
xmlupload: use IntermediaryFileValue for ingest upload (#1443 ) (c3c121e )
xmlupload: wrap info for circular references in class (#1465 ) (258f871 )
10.4.0 (2025-02-12)
Enhancements
excel2json: allow list names to contain colons (DEV-4580) (#1418 ) (5007fb2 )
Maintenance
bump stack to 2025.02.02 (#1420 ) (0ebe609 )
optimise release process: deduce api commit hash from version tag (#1410 ) (ee1b39e )
test: don't print user facing warnings during test runs (#1415 ) (55bff2e )
Update uv.lock (#1404 ) (8e48113 )
validate-data: class structure of InputProblem (#1406 ) (7c6b6a6 )
validate-data: harmonise datatype of ValidationResult parameters (#1416 ) (1ff12ac )
validate-data: make instance variable names uniform (#1407 ) (b02bd1e )
validate-data: move mappers and constants to own file (#1409 ) (4057609 )
validate-data: simplify cardinality message construction (#1417 ) (29bccf7 )
validate-data: simplify mapping from violation to user facing problem (#1411 ) (06c0bc7 )
validate-data: simplify validation query class structure (#1408 ) (2319e6b )
10.3.0 (2025-02-05)
Enhancements
start-stack: remove special docker compose for validation (DEV-4548) (#1386 ) (a0f8116 )
validate-data: add AudioSegment and VideoSegment (DEV-4464) (#1384 ) (0106a35 )
validate-data: add permissions cardinalities (DEV-4528) (#1381 ) (2534792 )
validate-data: validate target of stand-off links (DEV-4443) (#1392 ) (b37d43c )
xmllib: add footnotes helper functions (DEV-4561) (#1398 ) (c53aca8 )
xmllib: add helper function to create standoff link tags (DEV-4563) (#1401 ) (5714ba4 )
Bug Fixes
validate-data: add correct query parameter for requesting lists (DEV-4550) (#1388 ) (443a8da )
validate-data: include LinkValueProperty in knora-subset and remove witespaces (DEV-4547) (#1385 ) (28699b6 )
Maintenance
Documentation
10.2.0 (2025-01-23)
Enhancements
validate-data: seqnum and isPartOf (DEV-4242) (#1373 ) (832fc4f )
validate-data: improve performance time for SHACL construction (DEV-4523) (#1378 ) (a9bdaac )
validate-data: prevent erroneous ontology for seqnum and isPartOf(DEV-4517) (#1374 ) (070fef7 )
validate-data: validate hasComment on values (DEV-4472) (#1371 ) (33f6339 )
validate-data: validate knora-api:Region (DEV-4462) (#1380 ) (0b954d6 )
Maintenance
bump dependencies / fix new linter errors / format according to new formatter rules (#1368 ) (4d32cfb )
bump versions for 2025.01.02 DSP release (#1379 ) (65f57e8 )
upgrade rdflib and fix typing (#1370 ) (adbe88c )
validate-data: add logging (#1377 ) (92f36c7 )
validate-data: change SHACLValidator structure (#1375 ) (57df7eb )
validate-data: improve user message (#1363 ) (77684f0 )
validate-data: simplify internal representation of file values (#1367 ) (c9665ca )
10.1.1 (2025-01-15)
Maintenance
validate-data: simplify internal Python representation of values (#1362 ) (3058055 )
Documentation
10.1.0 (2025-01-15)
Enhancements
xmllib: dsp-base resources: add checks and improve robustness of serialisation (DEV-4485) (#1354 ) (5b20bc0 )
xmllib: make checks for non-empty input consistent (DEV-4435) (#1353 ) (0acc6dd )
Maintenance
Documentation
10.0.0 (2024-12-18)
⚠ BREAKING CHANGES
remove support for knora-base:Annotation (DEV-4430) (#1314 )
Enhancements
remove support for knora-base:Annotation (DEV-4430) (#1314 ) (469473a )
validate-data: knora-api:LinkObj (DEV-4463) (#1342 ) (f9dee0f )
validate-data: change message for files added to resources without representation (DEV-4453) (#1333 ) (738ad7f )
validate-data: validate DocumentRepresentation, ArchiveRepresentation, TextRepresentation (DEV-4334) (#1331 ) (c3d69d2 )
validate-data: validate StillImageRepresentation (DEV-4336) (#1330 ) (15cdf26 )
validate-data: validate AudioFileValue (DEV-4332) (#1326 ) (e0988c6 )
xmllib: add examples to docstrings (DEV-4423) (#1316 ) (bfbc2ed )
xmllib: ensure that non-empty lists are found during add multiple values (DEV-4421) (#1311 ) (44b1418 )
xmllib: expose lib through init and enable colored printing (RDU-39) (#1315 ) (c5f594d )
xmllib: remove add_comment method from base resources if they are mandatory (DEV-4415) (#1307 ) (fc0f143 )
xmllib: simplify creation of geometry-prop with classes (RDU-55) (#1300 ) (b8fb42f )
xmlupload: add license / copyright as optional attributes in iiif-uri and bitstream (DEV-4355) (#1293 ) (d401a49 )
Bug Fixes
ingest-xmlupload: remove leading slash (#1321 ) (ca3b2aa )
remove wrong min cardinality for hasComment in LinkObj(DEV-4465) (#1343 ) (0f0aa2e )
start-stack: allow erasing project on localhost (DEV-4422) (#1338 ) (0783bde )
validate-data: ensure turtle files are in the distribution (DEV-4423) (#1313 ) (37846cf )
validate-data: message of LinkValue in SHACL (DEV-4471) (#1344 ) (b90f043 )
xmllib: allow single quotes and plus in URI (#1332 ) (8285bb3 )
xmllib: check if richtext input is string like before value conversion (DEV-4418) (#1308 ) (5d35058 )
xmllib: correct LinkObj cardinalities according to knora-base (DEV-4434) (#1317 ) (144d779 )
xmllib: don't crash if comment input is nan (DEV-4399) (#1297 ) (d16769f )
xmllib: parse richtext correctly (DEV-4419) (#1309 ) (5a9d9e7 )
xmllib: remove outdated information in docstring (RDU-66) (#1347 ) (ac36864 )
xmlupload: inform user if resource transformation failed (DEV-4456) (#1336 ) (c797d78 )
xmlupload: stop complete crash if an error ocurrs during serialisation (DEV-4419) (#1310 ) (88b8350 )
Maintenance
bump start-stack to 2024.12.01 (#1329 ) (502b9f9 )
just: just clean: ignore errors (#1334 ) (4c0df87 )
upgrade deps / fix new typing errors of types-lxml / resolve 1 warning (#1323 ) (7253422 )
validate-data: change deserialisation in preparation for dsp in-built resource validation (#1340 ) (fd92906 )
validate-data: change exclusion of properties from gui-order to isEditable (DEV-4281) (#1337 ) (d8867cd )
validate-data: change graph creation (#1346 ) (c0435bd )
validate-data: rename cardinality turtle file (#1341 ) (acfd1f1 )
xmllib: change boolean conversion (#1324 ) (363fbb6 )
xmlupload: adapt intermediary resource transformation (#1319 ) (087ac5e )
xmlupload: allow pretty printing bitstream and iiif-uri (DEV-4404) (#1306 ) (0e46387 )
xmlupload: correct isSegmentOf into the correct property name when parsing the XML (#1305 ) (a8098e8 )
xmlupload: create intermediary class structure for data (#1304 ) (207a04f )
xmlupload: create resource with rdflib (#1339 ) (f5d66a5 )
xmlupload: group file for the preparation of an upload (#1328 ) (78717d3 )
xmlupload: integrate intermediary class structure into upload (#1320 ) (9889219 )
xmlupload: serialise file values with rdflib (#1288 ) (e47d38c )
Documentation
9.2.0 (2024-11-25)
Enhancements
allow uploading JSON files as assets (DEV-4327) (#1267 ) (8f6be06 )
rename CLI command xml-validate to validate-data (DEV-4219) (#1203 ) (8c10f83 )
start-stack: make api version necessary for validation accessible through a flag (DEV-4200) (#1194 ) (081a6f2 )
validate-data: add unique value constraint (DEV-4202) (#1236 ) (595bb11 )
validate-data: check file value cardinality (DEV-4338) (#1264 ) (cefc466 )
validate-data: ensure only known resources are used (DEV-4268) (#1263 ) (dbbaefe )
validate-data: make content validation conform with dash syntax (DEV-4233) (#1211 ) (2af7a69 )
validate-data: validate MovingImageRepresentation (DEV-4333) (#1268 ) (4594ff9 )
validate-data: validate cardinality with dash:closedByTypes (DEV-4231) (#1209 ) (e883cbb )
validate-data: validate generic content of values (DEV-4225) (#1208 ) (86042ff )
validate-data: validate link value class type (DEV-4237) (#1215 ) (9e306c2 )
validate-data: validate list nodes (DEV-4131) (#1240 ) (332387a )
validate-data: validate text value type (DEV-4209) (#1205 ) (cafca60 )
xmllib: add create_label_to_name_list_node_mapping() to lib (DEV-4293) (#1245 ) (c0cdbeb )
xmllib: add english and german to boolean value converter (DEV-4311) (#1260 ) (9b70810 )
xmllib: add factory method to resources (DEV-4189) (#1185 ) (99c76ea )
xmllib: add helpers from excel2xml to xmllib (DEV-4316) (#1261 ) (fb88558 )
xmllib: add migration metadata to resources (DEV-4194) (#1190 ) (1784065 )
xmllib: add optional value to dsp base resource (DEV-4289) (#1244 ) (ef309ba )
xmllib: change order of parameters in add values (DEV-4255) (#1232 ) (44b3d44 )
xmllib: check tags of richtext values (RDU-58) (#1282 ) (289251a )
xmllib: create permissions (DEV-4192) (#1191 ) (cfe95aa )
xmllib: rename add multiple function (DEV-4249) (#1223 ) (df5f87f )
xmllib: rename default permissions enum (DEV-4248) (#1222 ) (8b5f858 )
xmllib: replace newline with XML tag (DEV-4195) (#1189 ) (3419b34 )
xmlvalidate: add CLI command (DEV-4119) (#1193 ) (1db3135 )
xmlvalidate: add save graph flag to CLI (DEV-4206) (#1199 ) (aa55a2f )
xmlvalidate: reformat validation results graph (DEV-4133) (#1187 ) (e655d98 )
xmlvalidate: save large number of errors as csv (DEV-4208) (#1200 ) (841975a )
xmlvalidate: send validation request to API (DEV-4177) (#1186 ) (57099e4 )
xmlvalidate: value type checks (DEV-4122) (#1197 ) (bf509cd )
Bug Fixes
add missing dependency in xmllib (DEV-4254) (#1228 ) (26bd3dc )
ci: pin the python version used in the CI (#1230 ) (ec75682 )
create: always respect admin status of user in JSON file (DEV-4239) (#1217 ) (0e3c654 )
ingest-xmlupload: correctly encode special chars / support absolute paths (DEV-4156, DEV-4166) (#1247 ) (435e283 )
ingest-xmlupload: strip leading / of absolute paths before sending to ingest (DEV-4300) (#1252 ) (695b189 )
ingest: escape slash in filepath / improve error communication (#1291 ) (b580f89 )
validate-data: don't crash if list nodes have special characters (DEV-4299) (#1251 ) (e7871fc )
validate-data: enable usage of other ontologies besides the default ontology (DEV-4263) (#1235 ) (a2f7959 )
validate-data: extract richtext as string if it starts with a tag (DEV-4280) (#1250 ) (71eaa23 )
validate-data: fix inheritance cardinality violations in properties (DEV-4278) (#1241 ) (e745e2a )
validate-data: prevent SimpleText Class shape to be used at the wrong place (DEV-4224) (#1206 ) (e0e686f )
validate-data: revert to exclusion of properties through gui-order (DEV-4279) (#1242 ) (e78f4f8 )
xmllib: make permission serialisation into correct string (DEV-4256) (#1225 ) (1be649a )
xmllib: resolve typing issues (RDU-57) (#1270 ) (172054c )
xmllib: turn Resource.new() into staticmethod (DEV-4250) (#1220 ) (00a66d9 )
xmlupload: downgrade fuseki to prevent backend from crashing (#1201 ) (12ebe12 )
xmlvalidate: duplicate cardinalities of LinkValues (DEV-4203) (#1198 ) (a8a67ab )
Maintenance
bump dependencies (#1231 ) (bb10677 )
bump start-stack to 2024.11.01 (#1290 ) (4de93b8 )
change default permissions to new standard (RDU-48) (#1180 ) (8dedbe2 )
ci: delegate python installation to uv (#1218 ) (0d7f91c )
ci: use uv publish instead of twine (#1219 ) (39f91d8 )
fix just clean recipe (#1269 ) (5ce8b6f )
make info string of schema validation more precise (#1202 ) (59bd01a )
Move authentication out of general purpose connection (DEV-3762) (#1238 ) (4456c56 )
remove obsolete python version definitions (#1221 ) (a34b45d )
remove some pre-commit-hooks (DEV-4295) (#1243 ) (f1e7894 )
rename folder with test data (#1204 ) (e147d55 )
tidy up generated data after ingest e2e tests (#1275 ) (8599250 )
validate-data: change base info extraction from validation report (DEV-4258) (#1227 ) (c1f78a2 )
validate-data: change identification of FileValue cardinality violation (DEV-4342) (#1286 ) (bd85640 )
validate-data: change identification of property from guiOrder to isEditable (DEV-4241) (#1234 ) (ec57ba1 )
validate-data: extract requests to api from clients (DEV-4294) (#1246 ) (84df21c )
validate-data: include onotlogy name in LinkValue violation message (DEV-4275) (#1262 ) (d42b363 )
validate-data: make abstract methods explicit (#1276 ) (cd2f940 )
validate-data: move prefix constants to separate file (#1210 ) (a4b08f7 )
validate-data: optimise queries for user results (DEV-4244) (#1224 ) (2e42602 )
validate-data: refactor ShaclValidator (DEV-4199) (#1239 ) (f0cb819 )
validate-data: separate cardinality and content validation (DEV-4217) (#1207 ) (c0b057e )
xmllib: check and convert erroneous input datatypes (DEV-4190) (#1184 ) (8ea7914 )
xmllib: fix typing in XMLRoot (#1229 ) (2f60f0e )
xmllib: improve decimal checks (#1195 ) (324e7ca )
xmllib: remove "title" parameter from (Video|Audio)SegmentResource.create_new() (#1258 ) (99478f1 )
xmlupload: bundle resource serialisation scripts (#1289 ) (b3960a4 )
xmlupload: change serialisation of date value (#1277 ) (2b31398 )
xmlupload: change serialisation of file value (#1273 ) (a8b1b68 )
xmlupload: change serialisation of values (#1279 ) (f82383a )
xmlupload: change serialisation of values with rdflib (#1274 ) (ec14df4 )
xmlupload: make value transformers (#1280 ) (f8466e2 )
xmlupload: move create resource out of resource_create_client (#1283 ) (7f66210 )
xmlupload: serialise all values with rdflib (#1287 ) (3728089 )
xmlupload: serialise color prop in class (#1271 ) (46ce0d1 )
xmlupload: serialise resource (#1278 ) (839bb2e )
xmlupload: serialise values in classes (#1272 ) (0279615 )
xmlvalidate: ignore built-in dsp-properties (DEV-4191) (#1192 ) (3c01cfb )
xmlvalidate: improve error message (DEV-4201) (#1196 ) (6b386e9 )
Documentation
fix documentation of --no-iiif-uri-validation (#1237 ) (755a8f0 )
start-stack: describe how to login in locally running DSP-APP (RDU-54) (#1266 ) (6ae63d1 )
xmllib: add minimal docstrings (DEV-4297) (#1257 ) (4c029f1 )
xmllib: make args consistent (DEV-4314) (#1259 ) (fb5f5a9 )
xmllib: serve docstrings on docs.dasch.swiss (DEV-4298) (#1256 ) (7db2f94 )
9.1.0 (2024-10-01)
Enhancements
validate: reformat input XML data (DEV-4124) (#1164 ) (45af782 )
validate: Write SHACL Shapes Turtle File (api-shapes) (DEV-4120) (#1163 ) (afb2a21 )
xmllib: new functionality (RDU-38) (#1129 ) (1dc09f8 )
xmlvalidate: add cardinalitiy restrictions to resource (DEV-4121) (#1178 ) (d2536c7 )
xmlvalidate: get ontologies from API (DEV-4150) (#1171 ) (2e599bd )
xmlvalidate: SPARQL create resource SHACL (DEV-4123) (#1174 ) (ff550b3 )
Bug Fixes
excel2json: write newlines correctly into the "description" field of the JSON file (RDU-45) (#1170 ) (889d11f )
ingest-xmlupload: only convert absolute path from mapping CSV to relative path if necessary (#1176 ) (72ee250 )
progress bar recovers after resizing the Terminal window (DEV-4110) (#1161 ) (7b4cc12 )
start-stack: --latest flag ships latest versions of all backend components, instead of only API (DEV-4100) (#1159 ) (6bbec2c )
xmlupload: allow more URLs (#1177 ) (f9aa882 )
xmlupload: increase timeout for file uploads to 10 min (#1169 ) (a5766ee )
xmlupload: subpar output of onto consistency check (DEV-3727) (#1143 ) (edb58a9 )
Maintenance
bump ruff (#1172 ) (e65c753 )
bump stack to 2024.09.01 (#1183 ) (28a9f1c )
deps-dev: bump the all-dependencies group across 1 directory with 9 updates (#1148 ) (07910b6 )
migrate from poetry to uv (DEV-4040) (#1160 ) (6845b1a )
Revert "chore: Fix tests not being executed on release-please branch" (#1158 ) (3af3d91 )
xmllib: make dsp built-in resources interface consistent (DEV-4186) (#1182 ) (1f10fb3 )
xmlupload: remove lineColor key from geometry value JSON object (DEV-4132) (#1166 ) (8169cce )
xmlvalidate: change qname transformation (#1168 ) (9efe030 )
xmlvalidate: change structure of XML deserialisation (DEV-4125) (#1173 ) (50a35e3 )
xmlvalidate: rename test fixtures files (#1175 ) (b023c6d )
xmlvalidate: replace value BN with IRI (DEV-4187) (#1181 ) (1a34288 )
Documentation
9.0.2 (2024-09-04)
Maintenance
Add comment to CI so that this does not get broken again (#1156 ) (7e3c2ec )
Attempt to fix release issues by bringing back the GH_TOKEN (#1153 ) (0853e25 )
Fix release issues by using DASCHBOT PAT (#1154 ) (4684c91 )
9.0.1 (2024-09-04)
Bug Fixes
Maintenance
Fix releasing to PyPI (DEV-3972) (#1151 ) (b1ba08b )
Fix tests not being executed on release-please branch (#1152 ) (325006b )
9.0.0 (2024-09-03)
⚠ BREAKING CHANGES
xmlupload: change representation of and in XML due to XSD schema validation problems (DEV-3964) (#1101 )
Enhancements
xmlupload: add resource type to error message when checking for encoding mistakes (RDU-25) (#1145 ) (7279b69 )
Bug Fixes
excel2json-lists: remove erroneous warning if comments column exist (RDU-23) (#1141 ) (4ed0a7e )
excel2json: don't crash if json_header.xlsx is present when using the default command (RDU-24) (#1144 ) (4c4738e )
xmlupload: change representation of <video-segment> and in XML due to XSD schema validation problems (DEV-3964) (#1101 ) (1476eca )
xmlupload: don't rely on requests.Response.json() in case of unsuccessful request (DEV-4035) (#1132 ) (ff0b1de )
Maintenance
bump stack to 2024.08.02 (#1147 ) (86e764b )
don't ignore ARG001 in pre-commit hooks (#1136 ) (7ea83f7 )
remove codecov-integration (DEV-4043) (#1142 ) (042cf06 )
start-stack: change message for docker prune (DEV-4027) (#1126 ) (73c7823 )
surround angular brackets in docstrings by backticks (DEV-4014) (#1135 ) (7e746e2 )
turn XMLResource and XMLProperty into dataclasses (#1137 ) (6c4fe5d )
Documentation
excel2xml: fix params of make_hasSegmentBounds_prop() (#1138 ) (95b7a84 )
mention fixed order of video/audio segments (#1139 ) (7ed7b93 )
8.5.0 (2024-08-21)
Enhancements
exce2xml-lib: make xsd compatible string without uuid (DEV-4026) (#1127 ) (50ef476 )
excel2json-lists: enable to add comments to list nodes (RDU-18) (#1111 ) (54ba206 )
Bug Fixes
cli: resume-xmlupload --skip-first-resource now works (DEV-3744) (#1084 ) (7f99287 )
xmlupload: allow non-prefixed custom groups, and custom groups with dash (DEV-3979) (#1098 ) (e5a19eb )
Maintenance
bump dependencies and fix new linter errors (#1122 ) (212e6e5 )
bump stack to 2024.08.01 (#1128 ) (400ddbe )
excel2json-lists: access columns differently (#1109 ) (154f88f )
excel2json-lists: add excel name to lists problem classes (#1089 ) (6112506 )
excel2json-lists: add filename to sheet class (#1090 ) (2f9e30e )
excel2json-lists: change error message format (#1118 ) (f479aa4 )
excel2json-lists: change find missing translations (#1112 ) (ab54d96 )
excel2json-lists: change location of column info extraction (#1115 ) (bd163cf )
excel2json-lists: change paramter to ExcelSheet in functions (#1091 ) (a4086c2 )
excel2json-lists: change sorting of columns (#1110 ) (4670085 )
excel2json-lists: remove dead check (#1120 ) (463c992 )
excel2json-lists: remove file hierarchy from code (#1094 ) (3b554a3 )
excel2json-lists: remove file hierarchy from Problem classes (#1093 ) (56bd84d )
excel2json-lists: remove unnecessary checks (#1107 ) (71339f7 )
excel2json-lists: wrap file structure in classes (#1086 ) (e60002a )
excel2json-new-lists: change order of functions (#1100 ) (0b9a429 )
excel2json-new-lists: extract fixtures for compliance tests (#1104 ) (f2b05ac )
excel2json: lists delete duplicate tests (#1082 ) (90280c1 )
github-action: allow referencing RDU tickets in PR titles (RDU-13) (#1095 ) (c0f360c )
new-lists: reorganise files (#1096 ) (866f6bd )
preparation for new <video-segment> (#1125 ) (57dd646 )
send X-Asset-Ingested header only when needed (#1117 ) (a5279f1 )
small adaptions to docs + docstrings (#1121 ) (705c2f7 )
tidy up readme (#1106 ) (6663276 )
Documentation
CLI: add flag for IIIF validation in xmlupload in documentation (#1103 ) (d00f1cf )
excel2json: mention old and new at the top (#1123 ) (cc58c68 )
8.4.0 (2024-08-07)
Enhancements
excel2json: add option to create header with Excel file (DEV-3898) (#1065 ) (353d8e9 )
New workflow for big xmluploads: add commands upload-files and ingest-files (DEV-3905) (#1067 ) (b4c2912 )
Bug Fixes
don't use copyrighted testdata any more (DEV-3906) (#1068 ) (1558408 )
ingest-xmlupload: allow uppercased file extensions (DEV-3963) (#1075 ) (51a4703 )
Urlencode filenames when uploading files to ingesta (DEV-3865) (#1045 ) (4edfbd3 )
Maintenance
add logging of requests made in DspIngestClientLive (DEV-3761) (#1064 ) (84c6101 )
bump start-stack to 2024.07.02 (#1078 ) (2a74978 )
deps: bump the all-dependencies group with 16 updates (#1071 ) (a893aca )
excel2json: change serialisation json header (DEV-3877) (#1046 ) (f4c6088 )
excel2json: find duplicate excel sheet names (#1054 ) (83bb96a )
excel2json: generalise InvalidContentInSheetProblem (#1051 ) (c55603c )
excel2json: improve checks for classes sheet in resources.xlsx (#1061 ) (1839d98 )
excel2json: move list problems to separate file (#1049 ) (353c002 )
excel2json: properties collect problems before raising error (#1063 ) (5ba6fc1 )
excel2json: reorder the functions in resources.py (#1060 ) (6295b02 )
excel2json: replace ListExcelProblem with ExcelFileProblem (#1052 ) (b84a185 )
excel2json: restructure and rename find missing values function (DEV-3909) (#1070 ) (d42595e )
excel2json: serialise property with dataclass (#1059 ) (0e33238 )
excel2json: serialise resources with dataclass (#1062 ) (df11148 )
excel2json: validate classes sheet in resources.xlsx (#1057 ) (96b38f7 )
ignore ARG001 (unused function argument) in .pre-commit-config.yaml (#1066 ) (06b41d9 )
performance: add initial k6 excel2json performance test (DEV-3885) (#1056 ) (3625c62 )
test: renaming (#1048 ) (a7f0bca )
test: take apart assertions for test_project.py (#1055 ) (da31d19 )
upload-files: adapt timeout, so that big files don't fail (#1077 ) (1f7b43b )
xmlupload: video-segment and audio-segment: clarify docs / allow custom creation date (#1076 ) (1196afc )
Documentation
8.3.0 (2024-07-11)
Enhancements
excel2json: creating classes without any cardinalities (DEV-3755) (#1029 ) (9e19aa1 )
Bug Fixes
excel2json-lists: assignment of wrong parent ID if the node names are identical (DEV-3844) (#1040 ) (51af556 )
harmonize supported file extensions in docs, test data, and prod code (DEV-3788) (#1028 ) (728b782 )
new-excel2json: don't crash when Excel files are upper-cased (DEV-3808) (#1032 ) (2a5cc31 )
xmlupload: allow angular brackets in SimpleText (DEV-3814) (#1033 ) (cf8e410 )
xmlupload: don't omit any stashed links (DEV-3827) (#1037 ) (20e7eac )
Maintenance
Add db configuration to ingest container (#1039 ) (48e39ea )
bump ruff (#1035 ) (720d7e9 )
bump start-stack to 2024.07.01 (#1043 ) (af6ad29 )
create: inform user that project membership has to be assinged manually (DEV-3800) (#1030 ) (5494267 )
deps: bump certifi from 2024.6.2 to 2024.7.4 (#1041 ) (550b1cf )
deps: bump the all-dependencies group with 12 updates (#1036 ) (797f351 )
don't crash when offline (#1034 ) (c39d610 )
downgrade pytest, until Assertion Rewriting is fixed (DEV-3786) (#1026 ) (d2c8ede )
downgrade pytest, until Assertion Rewriting is fixed (DEV-3786) (#1038 ) (d8d8d72 )
Enable erasing projects locally (#1042 ) (807db71 )
improve error messages according to consulting with RDU (#1031 ) (e9c9507 )
8.2.0 (2024-06-19)
Enhancements
add flag to suppress warning when using old dsp-tools version (DEV-3707) (#1001 ) (e28ba2e )
display progress in xmlupload as progress bar (DEV-3708) (#1022 ) (4ccf628 )
Bug Fixes
ci: bump release-please action (DEV-3526) (#992 ) (891a889 )
ci: fix flaky CI tests in rosetta repo (DEV-3733) (#990 ) (544923f )
ci: fix release-please (DEV-3730) (#999 ) (4798d77 )
ci: move changelog (DEV-3730) (#1000 ) (0fae3e7 )
ci: use GITHUB_TOKEN instead of GH_TOKEN, move CHANGELOG.md back (DEV-3730) (#1002 ) (1f149de )
excel2xml: support backslash in make_text_prop() (DEV-3377) (#991 ) (6e301d0 )
excel2xml: support named character references in make_text_prop() (DEV-3738) (#1007 ) (324c00a )
remove GH_TOKEN from release workflows (DEV-3737) (#1006 ) (1c4f6f1 )
start-stack: fix display issue in DSP-APP on localhost (DEV-3745) (#1008 ) (b2d51ca )
xmlupload: OntologyConstraintException should not interrupt an xmlupload (DEV-3724) (#995 ) (50ab6bf )
Maintenance
add yamlfmt to pre-commit (#1009 ) (569c161 )
bump start-stack to 2024.06.01 (#1024 ) (991c6bc )
ci: after every PR merge, upload test coverage report for main (DEV-3731) (#1010 ) (c76b787 )
ci: only post codecov comment if coverage changes (#1015 ) (8bee0ec )
deps-dev: bump the all-dependencies group with 6 updates (#998 ) (99ef810 )
deps: bump the all-dependencies group with 4 updates (#1013 ) (5a1ac6e )
deps: bump urllib3 from 2.2.1 to 2.2.2 (#1023 ) (bac6c69 )
fix some low-hanging linter warnings (#1019 ) (70beea3 )
fix typo (#1018 ) (df59932 )
replace deprecated PR title checker (DEV-3750) (#1016 ) (e4cd784 )
start-stack: don't print that stack is ready before it is ready (#997 ) (9317df2 )
test: add typing for test_ingest.py (#1020 ) (c959d31 )
use yamllint (#1011 ) (ddb47fd )
xmlupload: serialise boolean value (DEV-3713) (#988 ) (92d3c64 )
Documentation
8.1.0 (2024-06-04)
Enhancements
add IIIF image support (DEV-3507) (#946 ) (aa3eabb )
xmlupload: interrupt if a resource cannot be created due to server failure (DEV-3444) (#954 ) (debc0b3 )
Bug Fixes
xmlupload: improve ingest performance by reusing session (DEV-3714) (#986 ) (d818f5d )
Maintenance
deps: bump the all-dependencies group with 9 updates (#984 ) (1611d65 )
fix poetry exec clean (#983 ) (1721b1c )
start-stack: print useful error if Docker is not running (#980 ) (25c036c )
start-stack: remove network from docker-compose.yml (#981 ) (ea6fa08 )
start-stack: remove unnecessary config from docker-compose.yml (#982 ) (549d053 )
update dependencies (#977 ) (9473a7e )
Documentation
create: fix: descriptions are required in JSON (#985 ) (00c8072 )
8.0.0 (2024-05-22)
⚠ BREAKING CHANGES
add support for video and audio segments, remove isSequenceOf and standalone interval value (DEV-3439) (#933 )
Enhancements
add support for video and audio segments, remove isSequenceOf and standalone interval value (DEV-3439) (#933 ) (391da7f )
Bug Fixes
excel2json: erroneous groupby in new-excel2json lists (DEV-3660) (#963 ) (46fbe95 )
excel2json: resources don't crash if optional columns are missing (DEV-3516) (#974 ) (db2df0a )
mypy: prevent possibly unbound variables (DEV-3657) (#962 ) (1be2259 )
xmlupload: permission for uri value serialise (DEV-3630) (#958 ) (79a11bb )
Maintenance
bump start-stack to 2024.05.02 (#975 ) (6c02a6a )
deps: bump requests from 2.31.0 to 2.32.0 (#972 ) (092d4f7 )
do not use ingest client in bulk upload scenario (DEV-3665) (#966 ) (8614bbe )
fix unbound variable error (#961 ) (7c41507 )
reduce number of arguments in some functions (#967 ) (f38f6b4 )
ruff: Update ruff to 0.4.4 (#951 ) (316a736 )
streamline shared logic between upload workflows (#969 ) (17750e0 )
Use dsp-ingest instead of sipi for upload of assets (DEV-3620) (#959 ) (c797010 )
xmlupload: add serialise value for URI (DEV-3624) (#955 ) (0289294 )
xmlupload: disallow +/- in interval property (#952 ) (871f312 )
xmlupload: handle error wider above in the call stack (#960 ) (c7ba637 )
xmlupload: refactor resource creation (#917 ) (cdad095 )
xmlupload: reorganise models file (#953 ) (6d90b8f )
xmlupload: serialise int value with rdflib (DEV-3626) (#957 ) (0150fd6 )
xmlupload: value models (#949 ) (c69c963 )
7.2.0 (2024-05-08)
Enhancements
excel2xml: if value is not valid, print warning instead of raising an error (only where it is possible) (DEV-3571) (#938 ) (3ae536d )
new-excel2json: new lists section and excel (DEV-3462) (#916 ) (92cf58d )
start-stack: make pre-loaded projects on localhost optional (DEV-3560) (#932 ) (d8ab847 )
Bug Fixes
warning_config recursive calls (DEV-3542) (#929 ) (20b8517 )
Maintenance
7.1.3 (2024-04-24)
Bug Fixes
allow slashes and semicola in query part of URL (DEV-3480) (#910 ) (af02895 )
Maintenance
Deprecated
7.1.2 (2024-04-10)
Bug Fixes
excel2json: if gui_order is empty no warning is longer displayed (DEV-3469) (#908 ) (a278e3e )
excel2properties no longer crashes if optional columns are missing (DEV-3468) (#907 ) (523d55b )
Maintenance
add type annotations for pandas and networkx (#896 ) (bb0b3c6 )
bump start-stack to 2024.04.01 (#905 ) (04faeec )
deps: bump the all-dependencies group with 10 updates (#894 ) (0e66199 )
remove .gitmodules file (#897 ) (64e4fe3 )
set api log level in docker-compose.yml (#899 ) (2a8d574 )
Documentation
7.1.1 (2024-03-27)
Maintenance
7.1.0 (2024-03-27)
Enhancements
excel2xml: allow for single tags in XML text (DEV-3427) (#885 ) (c73b126 )
save warnings and errors in second file with loguru (DEV-3406) (#883 ) (7818325 )
Bug Fixes
create: fix crash when no project is on the server new error (DEV-3420) (#882 ) (ca9a674 )
xmlupload: don't stop xmlupload when resource is wrong (DEV-3419) (#880 ) (86795ec )
Maintenance
Documentation
reformulate text-property and gui element (#890 ) (8d7bb79 )
7.0.0 (2024-03-13)
⚠ BREAKING CHANGES
remove --verbose flag from xmlupload (DEV-3389) (#869 )
Enhancements
prompt before continuing when using an outdated version (DEV-3350) (#850 ) (38907fa )
remove --verbose flag from xmlupload (DEV-3389) (#869 ) (1e2e170 )
resume an interrupted xmlupload (DEV-3323) (#853 ) (4acf841 )
resume-xmlupload: add option to skip the first resource (DEV-3412) (#878 ) (a53785f )
Bug Fixes
add "packaging" as dependency (DEV-3368) (#856 ) (81508b0 )
create: fix crash when no project is on the server (DEV-3405) (#875 ) (9607799 )
don't retry on 404 project not found (DEV-3362) (#857 ) (5c19f60 )
don't retry on errors in the 400 range (DEV-3349) (#877 ) (c543274 )
ingest: ingest container must be part of knora-net (DEV-3370) (#858 ) (cd018ee )
pypi: prevent that PR merged into PR is published to pypi (DEV-3394) (#871 ) (3d5e071 )
release-please: adapt version check (DEV-3363) (#854 ) (d04b731 )
resume-xmlupload: make it impossible to resume after all resources have been created (DEV-3398) (#865 ) (8aa5d30 )
resume-xmlupload: make resource counting more user friendly (DEV-3397) (#864 ) (2b5295d )
xmlupload: don't crash if the project has more than 50 errors (DEV-3364) (#855 ) (a0be38e )
xmlupload: don't loose elements when stashing standoff properties (DEV-3151) (#870 ) (c8e8966 )
xmlupload: exit with code 0 if xmlupload finishes with batch (DEV-3396) (#863 ) (8a15973 )
xmlupload: fix xmlupload text as xml when uploading stash (DEV-3361) (#851 ) (79a643a )
Maintenance
bump start-stack to 2024.03.01 (#879 ) (b1c8262 )
connection: call specific error response codes (DEV-3339) (#832 ) (d8531bd )
deps-dev: bump the all-dependencies group with 5 updates (#849 ) (4c8b942 )
excel2xml: better error message for invalid text values (#861 ) (914acd8 )
fix test_xml_validation_low_level.py (#837 ) (3e758c7 )
project create: add erroneously removed exc_info in logging (DEV-3294) (#866 ) (19d1f25 )
ruff reformatting (#867 ) (5ed62fc )
ruff.lint.isort: force-single-line (#840 ) (fb3c1d9 )
test: make integration test excel2json (#841 ) (e5b0206 )
test: make integration test excel2xml (#842 ) (8b12f8b )
test: make integration test general commands (#846 ) (0e61eef )
test: make integration test ingest-xmlupload (#843 ) (fb58779 )
test: make integration test project (#844 ) (a7e0fc6 )
test: make integration test utils (#847 ) (089c41d )
test: make integration test xmlupload (#845 ) (f80cc90 )
xmlupload (#852 ) (c8e6284 )
Documentation
add guarantee note for resume-xmlupload (#868 ) (8747edd )
excel2xml: code examples in docstrings: prepend function names with their namespace (#859 ) (7923a8c )
6.0.0 (2024-02-28)
⚠ BREAKING CHANGES
Remove fast-xmlupload command (DEV-3324) (#830 )
Enhancements
Remove fast-xmlupload command (DEV-3324) (#830 ) (0c9d077 )
xmlupload: check if text encoding in data conforms to type specified in ontology (DEV-3279) (#821 ) (449f780 )
xmlupload: check if the encoding in the text-prop is consistent (DEV-3296) (#818 ) (4ae8469 )
Bug Fixes
don't crash when dsp-tools is run offline (DEV-3338) (#833 ) (901b86d )
excel2json: allow resources to have no cardinalities (DEV-3333) (#834 ) (b55224a )
Maintenance
bump start-stack to 2024.02.02 (#836 ) (f83ce78 )
correct docs in regard to gui-element of hasComment (#816 ) (3f869d9 )
fix typo in check_consistency_with_ontology.py (#813 ) (bc01027 )
ontology_client: make retrieval of ontologies more flexible (DEV-3308) (#820 ) (327f61e )
refactor validate xml in preparation for extension (#814 ) (652aa9f )
remove docker as dependency (#835 ) (7f98945 )
renaming functions of ontology checks in xmlupload (#817 ) (e6b0e7d )
test_xmlupload: separate tests (#824 ) (7333136 )
test: add pytest entrypoint (#823 ) (e31da78 )
test: test_shared.py turn into pytest (#826 ) (46e7743 )
test: test_upload_stashed_xml_texts.py turn into pytest (#825 ) (755323f )
test: turn into pytest test_xmlupload.py (#827 ) (c0d1c97 )
test: turn xml_utils.py into pytest (#828 ) (e97084f )
update data.xsd regarding TextValue encoding for hasComment (#811 ) (af86b94 )
xml_validation: turn into pytest (#815 ) (516a2de )
xmlupload: improve parse xml function (#819 ) (9947607 )
Documentation
DSP-API uses "just" instead of "make" (DEV-3212) (#753 ) (d5c8f97 )
5.8.1 (2024-02-14)
Maintenance
bump start-stack to 2024.02.01 (#806 ) (9080f47 )
models-project: remove all project update code (#802 ) (1aa39a1 )
models-user-project: delete dead code (#800 ) (12813bc )
remove dead parameter in ontology client (#809 ) (8095ba3 )
remove sourcery (#805 ) (c3ccc36 )
rename value.py file into formatted_text_value.py (#807 ) (90af390 )
renaming functions in preparation for TextValue verification (#808 ) (9f06f3f )
test-create-project: turn unittests into pytests (#804 ) (8c667a6 )
5.8.0 (2024-02-01)
Enhancements
excel2json: add optional column "subject" to properties.xlsx (DEV-3253) (#777 ) (cf491e9 )
Bug Fixes
don't crash if pip is not found (DEV-3256) (#791 ) (15f6e31 )
xmlupload: don't retry on OntologyConstraintException (DEV-3255) (#783 ) (ef577ac )
Maintenance
bump start-stack to hotfixed 2024.01.01 (#801 ) (b721fdd )
delete dead code fragments (#792 ) (c5b9872 )
deps: bump the all-dependencies group with 8 updates (#787 ) (0c1a5e2 )
excel2json-lists: fix two ruff PLW0603 (#778 ) (5f53c38 )
model-project: fix one ruff PLR0912 (#782 ) (25ad02d )
models-group: delete unnecessary action object (#794 ) (24fdc9f )
models-listnode: delete actions object (#795 ) (f7a2ec9 )
models-listnode: delete dead code (#797 ) (fea23fd )
models-ontology: delete actions object (#796 ) (28299fa )
models-project: delete dead code (#798 ) (dcdbaaf )
models-propertyclass: fix PLR0912 (#784 ) (51d4265 )
models-resourceclass: fix ruff PLR0912 (#788 ) (ed10c27 )
models-user: fix three ruff PLR0912 (#780 ) (820fc25 )
project_client: delete dead code (#793 ) (b5963de )
project_validate: fix one ruff PLR0912 (#781 ) (9ccd2a7 )
propertyclass-resourceclass: delete dead code (#799 ) (d17b656 )
remove dead code with vulture (#790 ) (aba9aef )
remove ruff ignore PLR0912 (Too many branches) (#789 ) (e93b049 )
test_create_get_xmlupload: fix one ruff PLR0912 (#785 ) (c09c0c6 )
use pytest's tmp_path fixture (#786 ) (c01a08f )
5.7.0 (2024-01-31)
Enhancements
excel2xml: find_date_in_string(): allow time spans of 1 day (DEV-3154) (#720 ) (59b5d16 )
excel2xml: make_bitstream_prop(): make file existence check opt-in (DEV-3113) (#709 ) (1f68943 )
excel2xml: support 2-digit-years in find_date_in_string() (DEV-2633) (#711 ) (15d3493 )
ingest-upload: create new ingest xmlupload cli command (DEV-3019) (#670 ) (5745190 )
ingest-xmlupload: add support for dumping HTTP requests (DEV-3167) (#729 ) (a02dda5 )
option for custom headers in HTTP requests (DEV-3145) (#702 ) (0cbc78a )
Bug Fixes
add termcolor as main dependency (DEV-3149) (#706 ) (4f6cd6d )
don't retry login when credentials are invalid (DEV-3224) (#763 ) (41d8217 )
excel2xml, xmlupload: allow commas in URLs (DEV-3183) (#742 ) (1ee6e36 )
excel2xml: make_text_prop: allow <, >, & in rich texts (DEV-3131) (#691 ) (228c79f )
fix wrong resolution of merge conflict (DEV-3161) (#726 ) (c81c94d )
fully mask passwords in logfile (DEV-3225) (#761 ) (87c03d4 )
include stack trace in log file (DEV-3157) (#723 ) (9046792 )
increase timeout to prevent doubled resources (DEV-3114) (#698 ) (930df8f )
ingest-xmlupload: apply mapping.csv even if extension has wrong casing (DEV-3197) (#749 ) (bac7c79 )
ingest-xmlupload: file check: handle absolute vs. relative paths, save feedback file correctly (DEV-3162) (#727 ) (c6d2169 )
prevent crash when venv isn't activated correctly (DEV-3233) (#765 ) (6d339ed )
properly log requests and their responses (DEV-3186) (#745 ) (8296254 )
restore authorization header after ConnectionError (DEV-3190) (#744 ) (d03be2a )
retry mechanism again catches return codes in the 500 range (DEV-3177) (#740 ) (c927c21 )
xmlupload: retry on all non-OK response statuses (DEV-3214) (#754 ) (b85e806 )
Maintenance
add PermanentConnectionError to make BaseError slimmer (DEV-3192) (#741 ) (ed60319 )
add permission to test data (#768 ) (a4d93fc )
add ruff rule to prevent TODO comments (#738 ) (e897496 )
add User-Agent header to HTTP requests (#737 ) (85e363b )
avoid mutable default values in class attributes (DEV-3234) (#764 ) (1d9e5de )
bump all dependencies (#734 ) (d3e238b )
bump GitHub actions that use a deprecated NodeJS version (#766 ) (84e8ec0 )
bump start-stack to 2024.01.01 (#771 ) (2997c05 )
ci: move setup into reusable workflow (#715 ) (a3799ce )
ci: revert changes related to merge queue (#719 ) (ff0e4fe )
ci: set up merge queue (#717 ) (1c13f5f )
connection: content type doesn't have to be parametrized (#752 ) (2c0febb )
create: in normal workflow, don't rely on failing request (DEV-3220) (#757 ) (f9b9677 )
define poetry exec targets for all tools (#695 ) (c04356b )
delete dead code in project context (#770 ) (5159b8d )
don't log errors multiple times (DEV-3195) (#769 ) (0025784 )
don't send chat notification on post releases / release only on "feat" or "fix" (DEV-3148) (#707 ) (fd9b148 )
excel2json-properties: reorganise file (#776 ) (4b8c060 )
fix pypi.org publishing (#708 ) (ea56066 )
fix ruff PLR5501 (#774 ) (1f88112 )
get rid of dead code (#751 ) (f67eac2 )
get rid of http_call_with_retry (#694 ) (70f6808 )
get rid of shared.login() function (#714 ) (28806a0 )
hide stack trace from user (DEV-3158) (#724 ) (808c01c )
improve package structure of unittests/cli (#713 ) (111c6df )
improve performance with requests.Session object (DEV-3174) (#739 ) (43caaf9 )
log all HTTP requests, get rid of --dump flag (DEV-3171) (#731 ) (e2b0598 )
log all requests, also during retry (DEV-3213) (#759 ) (fd05080 )
make dev-release to pypi.org on every commit to main (DEV-3130) (#699 ) (b05690b )
make post releases instead of dev releases (DEV-3130) (#705 ) (94b289d )
make XmlUploadError a subclass of BaseError (#746 ) (12e406f )
move session renewal into own method (#755 ) (7adc837 )
move to Python 3.12 (#696 ) (60f64a2 )
project_validate: fix one ruff PLR0912 (#775 ) (d7060d6 )
project-create: clean up one ruff PLR0912 and one PLR0913 (#772 ) (7902840 )
project-get: fix ruff PLR0915 (#773 ) (71b9b2a )
PyPI authentication via API token (DEV-3143) (#703 ) (dd16ef4 )
refactor test_find_date_in_string (#710 ) (630df2c )
remove duplicated & outdated docstrings from Connection protocol (#758 ) (2a04f5a )
remove unused code (DEV-3152) (#712 ) (43cba62 )
replace bandit action by ruff's bandit ruleset (DEV-3026) (#722 ) (76203cf )
resolve PLR0911 in call_requested_action() (#701 ) (855231e )
split up models/helpers.py (#760 ) (f97cce8 )
tidy up connection class (#747 ) (eaa1158 )
tidy up Connection class (DEV-3191) (#748 ) (bd915ef )
tidy up exceptions (#762 ) (03213ed )
5.6.0 (2023-12-19)
Enhancements
excel2xml: support French BC dates in find_date_in_string() (DEV-3099) (#680 ) (610f064 )
Bug Fixes
excel2json: support uppercase classes sheet in resources.xlsx (DEV-3109) (#683 ) (71205f8 )
excel2xml: find_date_in_string() must not return invalid date (DEV-3116) (#688 ) (71b754d )
xmlupload: saving the csv file if there are more than 50 problems with the ontology names (DEV-3112) (#685 ) (a7d2e59 )
Maintenance
add pytest-sugar (#692 ) (1d22716 )
downgrade start-stack to 2023.11.02 (#693 ) (09f50ff )
move retry logic into the connection implementation (DEV-3110) (#686 ) (f1a7051 )
replace pylint, isort, black with ruff (DEV-2972) (#653 ) (2594d36 )
resolve Ruff warnings A003, B023, D103 and PLR0911 (#684 ) (b0f598c )
start-stack: adapt docs of --max_file_size flag (DEV_3093) (#689 ) (af46da8 )
5.5.0 (2023-12-13)
Enhancements
cli: change user output when handling errors (DEV-3067) (#672 ) (71a1737 )
excel2json: new error implementation for json validation (DEV-3047) (#664 ) (fdbc545 )
excel2json: new user error (InputError) implementation in properties section (DEV-3037) (#654 ) (b1703e1 )
xmlupload: improve error message if ontology is unknown (DEV-3024) (#674 ) (5319ff3 )
Bug Fixes
date validation forbids legal values (DEV-3059) (#668 ) (13131ff )
excel2json: find hidden worksheets in excel (DEV-1483) (#679 ) (ffbf0c0 )
xmlupload: allow dots in filenames (DEV-3058) (#676 ) (ad0c37c )
xmlupload: allow external link in text value (DEV-3054) (#666 ) (08f7b93 )
xmlupload: support uppercase file extensions (DEV-3095) (#678 ) (24cb320 )
Maintenance
bump start-stack to 2023.12.01 (DEV-3105) (#681 ) (ddd0078 )
cli: modularise cli.py (DEV-3068) (#673 ) (f0da1ca )
deps: bump the all-dependencies group with 8 updates (#662 ) (6e307c2 )
docs: fix outdated link (#669 ) (5b333c2 )
excel2json: modularise unittests (DEV-3040) (#659 ) (107b1b0 )
excel2json: new excel reader (DEV-3049) (#665 ) (a0d5776 )
pandas future warning in unittest (DEV-3060) (#671 ) (b3f75f4 )
process-files: diverse improvements (#656 ) (692ad40 )
remove tabs (DEV-3043) (#661 ) (286abf8 )
update poetry.lock (DEV-3081) (#675 ) (cd85836 )
xmlupload: clean up handle media information (DEV-3086) (#677 ) (93fb71f )
5.4.0 (2023-11-29)
Enhancements
xmlupload: check consistency with ontology on server (DEV-2921) (#630 ) (a563c07 )
5.3.0 (2023-11-29)
Enhancements
excel2xml: add support for 3-digit-years in find_date_in_string() (DEV-3005) (#652 ) (1afee03 )
Bug Fixes
process-files: fix resource leak, try omitting restart of python (DEV-2986) (#651 ) (7347be7 )
upload-files: use a new ThreadPoolExecutor for every batch (DEV-2973) (#650 ) (431a755 )
Maintenance
5.2.0 (2023-11-15)
Enhancements
xmlupload: add check if links point to valid resource ID (DEV-2902) (#639 ) (803c9f6 )
xmlupload: id2iri mapping contains servername (DEV-1889) (#628 ) (19a3f29 )
Bug Fixes
retain value permissions if a link gets stashed because of circular dependencies (DEV-1489) (#623 ) (3ccb75b )
upload-files: handle JSONDecodeError (DEV-2907) (#621 ) (40000a8 )
upload-files: prevent crash (DEV-2918) (#626 ) (19d179e )
xmlupload: fix non-initialized variable (DEV-2922) (#629 ) (afb16b1 )
xmlupload: print reason of failure if resource cannot be created (DEV-2925) (#637 ) (e3a194a )
Maintenance
add clean script to remove unnecessary files (#631 ) (7f98045 )
add more logs and timestamps (#627 ) (21ed1d8 )
bump start-stack (apply DSP-APP fix) (#641 ) (f901399 )
bump start-stack to 2023.11.01 (#633 ) (81daf2a )
excel2xml: suppress irrelevant warnings, turn non-fatal errors into warnings (DEV-2917) (#625 ) (b6943a2 )
remove unused code (DEV-2950) (#638 ) (fbbafec )
reorganize excel2xml (#635 ) (6773513 )
reorganize excel2xml unit tests (#636 ) (d015f9f )
replace resource instance factory (DEV-2876) (#594 ) (906a211 )
restructure repository (#632 ) (8a05b2c )
restructure stash-related files (#640 ) (a49fa59 )
upload-files: thread-safe logging of bullet point lists (#619 ) (37040a6 )
Documentation
replace admin.dasch.swiss by app.dasch.swiss (#634 ) (ae06161 )
5.1.0 (2023-11-01)
Enhancements
xmlupload: reduce stash size of circular references (DEV-2848) (#599 ) (228b1f7 )
Bug Fixes
don't create logging handler multiple times (DEV-2891) (#609 ) (e6aa47c )
ignore IRIs in stashing algorithm (DEV-2885) (#603 ) (635bc5c )
IRI regex used in multiple places is incorrect (DEV-2888) (#606 ) (096f47e )
prevent endless waiting for response, without creating resources multiple times (DEV-2860) (#586 ) (caa16b7 )
Maintenance
add a client for project related API requests (DEV-2890) (#610 ) (e100b26 )
add logging to stashing algorithm (DEV-2881) (#608 ) (736f02b )
add specific model for bitstream information (DEV-2893) (#613 ) (8d0d61d )
bump start-stack to 2023.10.03 (#616 ) (213c301 )
deps: bump the all-dependencies group with 8 updates (#617 ) (1a2fdd6 )
fix analyse_circles_in_data() (remove namespaces) (#598 ) (72f710c )
fix logging statements (#611 ) (1f95f8d )
further refactoring of graph analysing (#590 ) (d0779ac )
improve logging for upload-files (#614 ) (f99e755 )
log dsp-tools version (#612 ) (ab9ffef )
refactor graph analysing (#589 ) (14a6e83 )
split up test_rosetta.py into smaller functions (#601 ) (33c9fce )
test_construct_and_analyze_graph: remove namespace, add semantic line breaks (#602 ) (b693a94 )
tidy up graph analyzing (#595 ) (f2d4488 )
tidy up KnoraStandoffXml class (#597 ) (c430b67 )
Documentation
5.0.3 (2023-10-20)
Bug Fixes
xmlupload: misleading warning when uploading stashed XML texts (DEV-2793) (#559 ) (1e2c8f2 )
Maintenance
bump dependencies (#578 ) (6d9f082 )
bump start-stack to 2023.10.02 (#584 ) (37ca185 )
bump start-stack to 2023.10.02 (DEV-2823) (#571 ) (863c631 )
CI: split up test action into several jobs (#553 ) (cfb5042 )
clarify isort and pre-commit in readme (DEV-2781) (#549 ) (e58fec1 )
create composite setup action and allow more PR titles (#550 ) (2084999 )
create JSON-LD context without API request (DEV-2845) (#581 ) (dcc655d )
create specific objects for stash information (DEV-2787) (#557 ) (b38c2d3 )
deps: bump urllib3 from 2.0.6 to 2.0.7 (#575 ) (a41b174 )
identify temporary text values with UUID instead of text hash (DEV-2790) (#558 ) (08624b2 )
integrate DSP-INGEST in start-stack (#566 ) (e8fb38b )
introduce abstraction layer for connection (DEV-2820) (#570 ) (87c1e18 )
modularize xmlupload (DEV-2813) (#568 ) (8026fcb )
modularize xmlupload method (DEV-2836) (#574 ) (b9588c3 )
remove leftovers of old --metrics flag (#583 ) (3234318 )
remove use of XMLResource in stash models (DEV-2843) (#577 ) (05dc486 )
start-stack: downgrade DSP-APP (#576 ) (8c109e4 )
use sets instead of lists for stashing circular references (DEV-2771) (#548 ) (68605bd )
xmlupload: optimize stash links (DEV-2847) (#573 ) (1d20fad )
xmlupload: split up get resources and permissions function (DEV-2796) (#560 ) (02eff6b )
Documentation
xmlupload: day-precision dates should be written with end date (DEV-2802) (#564 ) (c69af60 )
5.0.2 (2023-10-05)
Bug Fixes
fast-xmlupload: CLI-command in documentation has outdated information (DEV-2779) (#545 ) (334ea49 )
ModuleNotFoundError when importing logging due to identical file name (DEV-2708) (#530 ) (d2c6ec8 )
xmlupload: fix performance slowdown during stash applying (DEV-2717) (#533 ) (add40b2 )
Maintenance
add isort check in pre-commit and GitHub CI (DEV-2707) (#529 ) (89ef086 )
add logging statements to "create" command (DEV-2776) (#544 ) (73183c4 )
bump start-stack to 2023.10.01 (DEV-2748) (#546 ) (3240d5d )
deps: bump dependencies (#535 ) (bf93bc8 )
deps: bump dependencies (#537 ) (cbcd2f3 )
harmonize timestamps between terminal output and log file (DEV-2716) (#534 ) (9160eea )
remove unnecessary PR template (DEV-2691) (#525 ) (e2c41ec )
use faster black in pre-commit hook (DEV-2736) (#536 ) (ad00e4b )
xmlupload: _upload_stashed_xml_texts (DEV-2710) (#532 ) (9d2dd35 )
xmlupload: create new directory and move scripts (DEV-2715) (#538 ) (6bad8d0 )
xmlupload: file upload_stashed_resptr_props.py (DEV-2774) (#542 ) (422bbb3 )
xmlupload: file xmlupload.py (DEV-2775) (#543 ) (16fefae )
xmlupload: modularise individual functions in file read_validate_xml_file.py (DEV-2767) (#541 ) (dc5c5a7 )
Documentation
xmlupload: invalid example: properties must be unique (DEV-2711) (#531 ) (5f9060f )
5.0.1 (2023-09-20)
Bug Fixes
excel2json: correct row number in error message (DEV-2650) (#513 ) (03a59ee )
excel2json: don't crash if optional columns are deleted in "properties" Excel file (DEV-2652) (#518 ) (09c3940 )
id2iri mapping is written with a question mark after the file extension (DEV-2670) #522 (3fc1bb9 )
no-op test that doesn't test anything (DEV-2655) (#517 ) (76f1db2 )
upload-files: close file handle before handling error (DEV-2666) #519 (439a139 )
Maintenance
bump start-stack to 2023.09.02 (DEV-2690) (#524 ) (6f5b935 )
documenation cleaning (DEV-2602) (#503 ) (52485c0 )
excel2json: replace BaseError with UserError (DEV-2671) (#523 ) (eaf8dd6 )
excel2json: replace excel reader in excel2resources (DEV-2668) (#520 ) (f2f0d4e )
fix gui_attributes notation (DEV-2651) (#514 ) (8c97cc3 )
improve PR title checking regex (DEV-2635) (#509 ) (c25f3b7 )
pandas deprecated .applymap (DEV-2617) (#510 ) (925b13d )
pandas deprecates inplace parameter (DEV-2618) (#511 ) (8d6d3f7 )
small corrections (DEV-2653) #515 (99db5f1 )
xmlupload: split up _check_consistency_with_ontology() into smaller functions (DEV-2669) (#521 ) (79a50cf )
5.0.0 (2023-09-06)
⚠ BREAKING CHANGES
xmlupload: allow both IDs and IRIs, remove --incremental flag (DEV-1339) (#494 )
refactor id2iri: remove --outfile and --verbose flags (DEV-2576) (#488 )
Enhancements
add --dump flag to "xmlupload" and "get" commands (DEV-2534) (#502 ) (d9aeba9 )
get project without credentials (DEV-841) (#504 ) (b5ea3e9 )
id2iri: add flag to remove created resources from XML (DEV-2571) (#491 ) (bf25cb7 )
id2iri: replace IDs also inside salsah-links, not only inside <resptr> tags (DEV-2578) (#490 ) (047ba15 )
xmlupload: allow both IDs and IRIs, remove --incremental flag (DEV-1339) (#494 ) (df1cf13 )
Bug Fixes
process-files: default value of batchsize is too big (DEV-2573) #486 (b1775a9 )
process-files: remove docker container before starting / add user feedback (DEV-2601) (#505 ) (8e1b77c )
process-files: the derivatives are created only at the end (DEV-2625) (#507 ) (1934403 )
xmlupload: provide a helpful error message if default-ontology in XML file doesn't exist (DEV-2577) #489 (7b20ad8 )
xmlupload: sanitize textvalues: remove whitespaces and newlines (DEV-2569) (#484 ) (d6c8110 )
Maintenance
bump start-stack to 2023.09.01 (DEV-2630) (#508 ) (d28f2d8 )
deps: bump the all-dependencies group with 3 updates (#501 ) (f4f6ff8 )
excel2json (DEV-2547) (#487 ) (504a4ec )
improve release-please YAML file (DEV-2599) #492 (82b3b82 )
mute warnings in tests / update gitignore (DEV-2609) #498 (03e19d7 )
refactor id2iri: remove --outfile and --verbose flags (DEV-2576) (#488 ) (f814667 )
refactor models/connection.py (DEV-2534) (#495 ) (a9caf98 )
refactor process-files (DEV-2623) (#506 ) (7595846 )
rename excel_to_json to excel2json (DEV-2604) #496 (5a31d5d )
run unit tests earlier in GitHub CI (DEV-2600) #493 (00d5ed6 )
some small bug fixes and improvements (DEV-2564) (#483 ) (ecd09e9 )
use typing.TypeGuard for check_notna() (DEV-2608) #497 (2c4e2f8 )
4.0.0 (2023-08-22)
⚠ BREAKING CHANGES
harmonize CLI flags, rename CLI entry point and add tests for the CLI (DEV-2525) (#463 )
Bug Fixes
fix bandit workflow configuration (DEV-2536) #470 (4fd6a10 )
Make gui_attributes Mandatory for Spinbox in JSON Schema (DEV-2556) (#478 ) (671d846 )
process-files: in case of Docker API error, don't processes files a second time (DEV-2533) #468 (bace9aa )
upload-files: handle server error, document how to circumvent resource leak (DEV-2528, DEV-2527) (#464 ) (7aa7106 )
Maintenance
bump start-stack to 2023.08.02 (DEV-2561) #482 (84fb0a9 )
configure bandit security checks (DEV-2532) (#466 ) (28a4907 )
deps: bump dependencies #467 (a488161 )
deps: bump dependencies #473 (57aa687 )
diverse refactorings (DEV-2559) (#480 ) (e29299b )
explain in readme that imagemagick and ffmpeg must be installed for local testing (DEV-2558) #479 (a000ab3 )
fix bandit: always exit with 0 (DEV-2536) #476 (c5351b4 )
harmonize CLI flags, rename CLI entry point and add tests for the CLI (DEV-2525) (#463 ) (c1218d6 )
lint XML models (DEV-2560) (#481 ) (f2e4c88 )
move to Python 3.11 (DEV-2524) #461 (74a93e5 )
refactor models.bitstream (DEV-2538) #472 (6e2deff )
replace re by regex (DEV-2531) (#465 ) (8ac8c99 )
use darglint to check if the docstrings match the actual implementation (DEV-2530) (#453 ) (8183235 )
Documentation
3.0.0 (2023-08-08)
Enhancements
create: in property definitions of JSON files, accept references to list labels (DEV-2247) (#460 ) (1529330 )
Bug Fixes
upload-files, fast-xmlupload: handle multiple pickle files (DEV-2500) (#451 ) (98f0b97 )
⚠ BREAKING CHANGES
replace gui_element Slider by Spinbox, remove gui_element SimpleText for intervals, et al. (DEV-2501) (#452 ) (5e668f0 )
Maintenance
bump start-stack to 2023.08.01 (DEV-2514) #458 (65f2719 )
create: apply law of Demeter (DEV-2515) (#459 ) (46cdf19 )
deps-dev: bump the all-dependencies group with 2 updates (#454 ) (57527cd )
deps: bump dependencies #456 (15096e7 )
handle timeout errors in API requests (DEV-2513) (#457 ) (4cdaf2a )
2.5.0 (2023-07-28)
Enhancements
guess subdomains based on conventions (DEV-1979) (#445 ) (d6c4ff4 )
Bug Fixes
process-files: quit Python interpreter after every batch to prevent "too many open files" error (DEV-2268) (#402 ) (1cbf927 )
start-stack: fix outdated TTL paths, open config file correctly (DEV-2497) (#447 ) (98e0579 )
Maintenance
bump start-stack to 2023.07.02 (DEV-2499) #450 (61af5da )
deps: bump dependencies (#449 ) (8fd23d4 )
increase timeout from 5 to 10 seconds (DEV-2450) #438 (4f82d2e )
run dependabot monthly, and group updates into 1 single PR (DEV-2498) #448 (e03d633 )
xmlupload: forbid empty strings in some tags of the XML, et al. (DEV-2439) (#433 ) (679654d )
2.4.0 (2023-07-11)
Bug Fixes
create: if the name of the ontology is used in a propertyname, it gets removed (DEV-2406) #429 (e6292f0 )
xmlupload: make sure resources aren't created multiple times after timeout error (DEV-2412) #432 (b109e3c )
Enhancements
start-stack: add flag to start stack from main branch of DSP-API repository (DEV-2396) (#424 ) (6ff2c48 )
Maintenance
bump start-stack to 2023.07.01 (DEV-2428) (#430 ) (8e11b95 )
deps-dev: bump black from 23.3.0 to 23.7.0 (#431 ) (1aeb778 )
deps-dev: bump mkdocs-material from 9.1.17 to 9.1.18 (#426 ) (7a54181 )
deps: bump jsonschema from 4.17.3 to 4.18.0 (#428 ) (4b1a9ff )
deps: bump lxml from 4.9.2 to 4.9.3 (#427 ) (1e933b3 )
deps: bump pandas from 2.0.2 to 2.0.3 (#422 ) (70b38b0 )
refactor start-stack (DEV-2397) (#423 ) (679a267 )
refine/resolve ignore comments, resolve pylint issues (DEV-2398) (#425 ) (906c8a3 )
set up pre-commit hooks (DEV-2393) (#420 ) (9578181 )
2.3.4 (2023-06-27)
Bug Fixes
xmlupload: allow colon in URL (DEV-2318) (#419 ) (b79ab23 )
Maintenance
bump start-stack to 2023.06.02 (DEV-2312) #418 (88a4bf3 )
deps-dev: bump mkdocs-material from 9.1.16 to 9.1.17 (#414 ) (313b923 )
deps-dev: bump mypy from 1.3.0 to 1.4.0 (#413 ) (919fd8e )
deps-dev: bump mypy from 1.4.0 to 1.4.1 (#415 ) (2867a00 )
deps-dev: bump pytest from 7.3.2 to 7.4.0 (#416 ) (8d6b587 )
deps-dev: bump types-openpyxl from 3.1.0.12 to 3.1.0.13 (#417 ) (7b53622 )
lint "models", part two (DEV-2287) (#406 ) (466597c )
onto create (DEV-2298) #412 (d8abe48 )
remove dependency inconsistency in pyproject.toml (DEV-2290) #410 (9da9ccf )
remove unused code (DEV-2289) (#409 ) (809f4fe )
xmlupload: improve error handling of Timeout Error (DEV-2299) (#411 ) (b9cf8eb )
2.3.3 (2023-06-13)
Bug Fixes
fast xmlupload: make process-files more robust (DEV-2235) (#395 ) (12d527b )
Maintenance
add overview of code quality tools; format code with black (DEV-2224) (#391 ) (d7fb690 )
allow latest version of poetry again (DEV-2245) #398 (3d646ad )
bump start-stack to 2023.06.01 (DEV-2272) #401 (d684c18 )
deps-dev: bump pytest from 7.3.1 to 7.3.2 (#403 ) (6dbcf6c )
deps-dev: bump types-openpyxl from 3.1.0.8 to 3.1.0.9 (#405 ) (12a97d6 )
deps-dev: bump types-regex from 2023.5.5.0 to 2023.6.3.0 (#397 ) (067e265 )
deps: bump docker from 6.1.2 to 6.1.3 (#393 ) (2a79fe6 )
deps: bump regex from 2023.5.5 to 2023.6.3 (#396 ) (6ee38c9 )
lint "models", part one (DEV-2265) (#400 ) (27a32b1 )
loosen python requirement, add py.typed marker (DEV-2278) (#404 ) (17b22b3 )
reformat code (DEV-2263) (#399 ) (35af8c4 )
2.3.2 (2023-05-31)
Maintenance
bump start-stack to 2023.05.03 (DEV-2222) #392 (80bdecb )
deps-dev: bump mkdocs-material from 9.1.14 to 9.1.15 (#390 ) (18287c3 )
deps-dev: bump types-requests from 2.30.0.0 to 2.31.0.0 (#382 ) (74738fa )
deps-dev: bump types-requests from 2.31.0.0 to 2.31.0.1 (#389 ) (1829fd5 )
deps: bump pandas from 2.0.1 to 2.0.2 (#388 ) (e23bb10 )
don't configure logging statically (DEV-2183) (#385 ) (7c82a59 )
move _derandomize_xsd_id (DEV-2186) #381 (e909384 )
refactor CLI part of excel2xml (DEV-2190) (#384 ) (cd9cbb7 )
remove autopep8 from dependencies (DEV-2213) #387 (993854b )
speed up CI tests with caching (DEV-2165) (#369 ) (9283aa1 )
2.3.1 (2023-05-23)
Bug Fixes
process-files: allow files with whitespaces in filename, allow files with uppercase extension (DEV-2182) (#379 ) (7f63743 )
Maintenance
code formatting (DEV-2171) (#376 ) (96a4056 )
deps-dev: bump mkdocs-material from 9.1.11 to 9.1.14 (#377 ) (8095f6f )
deps-dev: bump types-openpyxl from 3.1.0.7 to 3.1.0.8 (#374 ) (c536ebc )
deps: bump requests from 2.30.0 to 2.31.0 (#378 ) (b932e03 )
enable automatic version updating by Dependabot (DEV-2170) #373 (bd1cfd2 )
lint e2e tests (DEV-2160) (#366 ) (e75eb27 )
2.3.0 (2023-05-17)
Bug Fixes
get: write proper tests for get command, fix multiple bugs (DEV-2123) (#356 ) (edd671d )
Documentation
render nested lists correctly, adapt markdownlint rules, apply new rules everywhere (DEV-2134) (#358 ) (e899d5c )
Enhancements
Maintenance
bump dependencies, add docker, update readme, remove unused poetry exec script (DEV-2159) (#365 ) (69d65e7 )
bump start-stack to 2023.05.01 (DEV-2164) #368 (646586b )
deps: bump pymdown-extensions from 9.11 to 10.0 (#370 ) (1764e81 )
excel2xml: minor improvements (DEV-2152) #360 (1d24848 )
log every CLI call to dsp-tools (DEV-2156) #362 (a93cb86 )
make all test files executable with pytest (DEV-2157) (1e4d427 )
prevent access to unset attribute of BaseError (DEV-2158) #364 (b0e089d )
resolve CodeQL issues (DEV-2169) #371 (6822344 )
update mypy, resolve all mypy+pylint issues in "unittests", unignore "unittests" in CI pipline (DEV-2131) (#357 ) (b75e2c7 )
XML validation: resource's iri and ark must be unique, resource's label must not be empty (DEV-2154) (#361 ) (62ec04b )
2.2.2 (2023-05-03)
Bug Fixes
xmlupload: print reason of error if a resource cannot be created, remodel BaseError (DEV-1977) (#349 ) (7f60b1a )
Maintenance
bump start-stack to 2023.04.03 (DEV-2117) (#355 ) (1abb081 )
resolve linting errors, make linting checks in CI more strict (DEV-2080) (#354 ) (e3daff3 )
2.2.1 (2023-04-18)
Maintenance
bump dependencies (DEV-1960) #350 (5b999f5 )
bump start-stack to 2023.04.02 (DEV-1933) (#351 ) (163ac19 )
get: allow shortname to be uppercase (DEV-1972) #346 (e0ce7d4 )
inside a JSON or Excel file, resource & property names must be unique (DEV-1971) (#345 ) (c6df889 )
refactor try_network_action() (DEV-1844) (#325 ) (896586f )
2.2.0 (2023-03-21)
Bug Fixes
allow Pulldown, Radio, and List as gui_elements for lists (DEV-1810) (#330 ) (5ff1aac )
correct broken schema references in test data files (DEV-1832) #323 (512de36 )
create, get: handle comment to ontology (DEV-1852) #326 (5af3f19 )
create: allow identical onto names if they belong to different projects (DEV-1777) (#314 ) (7139f67 )
create: prevent infinite loop when super-resource is not existing (DEV-1886) (#338 ) (b176b7c )
xmlupload: legitimate html-escapes in utf8-texts don't raise a validation error any more (DEV-1936) (#341 ) (cf90269 )
xmlupload: write metrics only when requested to do so (DEV-1883) #334 (5c1196f )
Enhancements
check out rosetta and upload it on local stack (DEV-1842) (#332 ) (d067cc1 )
create: create a resource class without cardinalities (DEV-1853) #327 (2d1cee0 )
new command to generate template repo, move schema files (DEV-1839) (#333 ) (9ea3a4f )
Documentation
replace outdated screenshot, use local copy of CSS of dsp-docs (DEV-1896) (#337 ) (c22c5e4 )
use single quotes around passwords to prevent problems with special characters (DEV-1825) #320 (ca2bf1a )
Maintenance
adapt shortcode of import scripts (DEV-1925) (#340 ) (f440bda )
bump start-stack to 2023.03.02 (DEV-1819) (#317 ) (54a4514 )
excel2json: improve error messages of excel2json (DEV-1789) (#315 ) (36a1209 )
implement logging system (DEV-132) (#335 ) (c92e943 )
merge dublette class into one class (DEV-1831) #322 (e5cddf5 )
minor improvements (DEV-1912) #336 (91664a9 )
new error handling strategy (DEV-1770) (#324 ) (f2aa4b0 )
remove pystrict dependency (DEV-1843) #329 (2111d21 )
save location for log files (DEV-1856) (#328 ) (30f914d )
tidy up testdata folder (DEV-1822) (#319 ) (b5fe9fd )
xmlupload: improve user feedback when shortcode or onto are inexistent (DEV-1827) (#321 ) (f21a64e )
2.1.1 (2023-03-08)
Bug Fixes
excel2json: add missing comments in the resources template (DEV-1765) #303 (b2532e4 )
excel2xml: make_xsd_id_compatible() does now replace all special characters (DEV-1792) (#313 ) (b87f903 )
excel2xml: proper handling of special characters in text properties, depending on the encoding (DEV-1719) (#296 ) (c8f1e7a )
get: prevent invalid gui_element "Pulldown" (DEV-1781) #312 (c5d355e )
invalid argument names in CLI entrypoint (DEV-1776) #310 (6e1a6fb )
Maintenance
allow input of xmlupload to be parsed (DEV-1780) (#311 ) (abc167f )
beautify stack traces (DEV-1766) #305 (17b6f2f )
bump start-stack to 2023.03.01 (DEV-1802) (#316 ) (3d3f476 )
harmonize CLI help texts with the CLI commands documentation (DEV-1767) (#306 ) (f9e4dca )
new error handling strategy (DEV-1773) (#307 ) (4c02e18 )
refactor list creation (DEV-1775) (#309 ) (78a8488 )
refactor onto creation (DEV-1774) (#308 ) (f5a16e4 )
2.1.0 (2023-02-21)
Bug Fixes
create: improve validation to prevent endless loop if properties are undefined (DEV-1720) (#297 ) (ee3e446 )
create: property from other ontology not found (DEV-1381) #299 (d1345ec )
Documentation
fix identical heading problem, assimilate mkdocs config to dsp-docs (DEV-1713) (#294 ) (c235ff3 )
Enhancements
excel2json: add support for gui_order, make templates better understandable (DEV-1711) (#293 ) (3b5304f )
Maintenance
bump start-stack to 2023.02.02 (DEV-1732) #302 (b97a696 )
enhanced xmlupload: add test onto (DEV-1760) #300 (ca32842 )
excel2xml: allow PathLike for bitstream-prop (DEV-1729) #298 (ab9386f )
remove temporary workaround in GET groups (DEV-1733) #301 (7ead9de )
2.0.3 (2023-02-07)
Documentation
restructure docs, add link-checking (DEV-1623) (#286 ) (d65ff53 )
Maintenance
access data files correctly (DEV-1618) (#288 ) (7a64a27 )
bump start-stack to 2023.02.01 (DEV-1709) (#292 ) (5fd58d2 )
bump versions of start-stack to 2023.01.02 (DEV-1652) (#290 ) (2889a20 )
update links according to new structure of docs (DEV-1648) (#289 ) (16d9c12 )
2.0.2 (2023-01-17)
Bug Fixes
get command fails if no groups are on the server (DEV-1622) (#283 ) (d6bf458 )
Documentation
fix broken links, make dsp-tools uppercase (DEV-1550) (#284 ) (aa66109 )
2.0.1 (2023-01-17)
Maintenance
bump versions of start-stack, use dynamic project IRI in get command (DEV-1613) (#282 ) (2ecf4f5 )
refactor project creation (DEV-1165) (#280 ) (5e662a6 )
use start-stack command for e2e tests, replace Makefile by poetry-exec-plugin (DEV-1597) (#279 ) (6b85d15 )
2.0.0 (2023-01-09)
⚠ BREAKING CHANGES
switch to src layout, use poetry, add developer docs (DEV-1523) (#276 )
Maintenance
adapt schema URLs, adapt title of release-please PR (DEV-1596) (#278 ) (67f6475 )
switch to src layout, use poetry, add developer docs (DEV-1523) (#276 ) (6ae3b4f )
1.22.2 (2022-12-21)
Bug Fixes
start-stack: copy docker folder to user's home directory (DEV-1581) (#274 ) (b0ebfc5 )
1.22.1 (2022-12-20)
Bug Fixes
start-stack: use TTL files from DSP-API v24.0.8 (DEV-1580) (#273 ) (3ad96ba )
Documentation
improve documentation of DSP permission system (DEV-1561) (#270 ) (33ab59d )
1.22.0 (2022-12-19)
Bug Fixes
excel2xml: better standard permissions (permissions definitions at top of XML file) (DEV-1560) (#268 ) (b0d30be )
xmlupload: improve URL recognition (DEV-1557) (#266 ) (60f8fe5 )
xmlupload: prevent crash + improve error message when cardinalities are wrong (DEV-1559) #267 (7bfd82f )
Documentation
excel2json: use rosetta as example data (DEV-1478) (#254 ) (af192cb )
readme: explain handling of git submodules (DEV-1502) (#256 ) (1dc8483 )
text values: describe which combinations of gui_element and encoding are desirable (DEV-1521) (#259 ) (21967c6 )
Enhancements
use docker commands for stack handling (DEV-1530) (#261 ) (c11edc5 )
Maintenance
bump versions of GitHub actions (DEV-1532) #263 (efc9f51 )
fix regex for PR title (DEV-1504) (#257 ) (d4feb68 )
start-api: adjust version numbers of DSP-API and DSP-APP according to 2022.11.01 (DEV-1579) #271 (10dcd2f )
xmlupload: add metrics flag (DEV-1512) (#264 ) (f4822dc )
xmlupload: handling of upload errors (DEV-1505) (#250 ) (1507b21 )
1.21.0 (2022-11-11)
Bug Fixes
bugs in json schema (DEV-1142) (#252 ) (92af830 )
excel2xml: prevent writing empty text-prop, make text-prop validation less restrictive (DEV-1440) #243 (ae777e4 )
Enhancements
add command excel2json to create JSON project file from folder with Excel files (DEV-960) (#248 ) (e8e05e4 )
startup API and APP with dsp-tools (DEV-126) (#246 ) (de182dc )
Documentation
1.20.0 (2022-10-18)
Maintenance
xmlupload: improve error message when syntax for referencing ontos is wrong (DEV-1399) (#237 ) (df0bf33 )
Documentation
user needs to be project member to become project admin (DEV-1383) (#241 ) (1a13c02 )
xmlupload: improve examples, add documentation of geometry-prop JSON format (#240 ) (7df1d86 )
Enhancements
xmlupload: enable migration of resource creation date (DEV-1402) (#238 ) (83dd2de )
1.19.0 (2022-10-07)
Bug Fixes
fix command dsp-tools xmlupload --validate (DEV-1360) (#230 ) (0b2bd40 )
Enhancements
address feedback to excel2xml: remove param values in all make_*_prop() methods, and fix some bugs (DEV-1361) (#232 ) (a7e9d85 )
change input format of excel command: use 1 Excel file for all same-language lists, rename command to excel2lists (DEV-955) (#228 ) (21cc6bc )
Documentation
Maintenance
bump versions (DEV-1117) #235 (fc9c03c )
fix release-please (DEV-1396) #234 (3bd92d8 )
reduce GitHub workflow frequency (DEV-1344) #227 (a0722d8 )
tests: enforce JKD 17 (DEV-1366) (#231 ) (1036acd )
tidy up excel2lists, excel2resources, excel2properties (DEV-1352) (#229 ) (d2c2e08 )
1.18.0 (2022-09-09)
Enhancements
add module csv2xml to convert tabular data to DSP-XML (DEV-134) (#219 ) (19393aa )
Maintenance
Documentation
clarify docs of onto creation (DEV-1164) (#225 ) (f64d2cf )
1.17.1 (2022-08-22)
Bug Fixes
1.17.0 (2022-08-16)
Bug Fixes
catch network interruptions during onto creation (DEV-1073) (#210 ) (ab0e3b2 )
Maintenance
stop serving docs to dasch-swiss.github.io (DEV-826) (#211 ) (f2d25f9 )
Documentation
add links from usage subpage to other subpages (DEV-812) (#208 ) (92ac678 )
fix outdated links (DEV-1194) #215 (6849737 )
sort entries alphabetically (DEV-1184) (#212 ) (75c6ae5 )
Enhancements
1.16.0 (2022-07-18)
Enhancements
xmlupload: implement , , and tags (DEV-855) (#204 ) (5044a9e )
1.15.1 (2022-06-23)
Bug Fixes
excel2resources, excel2properties: cover all cases (DEV-1040) (#201 ) (4c6ed19 )
xmlupload crashes without writing id2iri mapping (DEV-813) (#194 ) (7948e75 )
Maintenance
unpin dependency versions (DEV-983) (#200 ) (5c56601 )
xmlupload: refactor xmlupload, add unittest (DEV-1043) (#203 ) (fcf8384 )
1.15.0 (2022-06-02)
Bug Fixes
onto validation: correctly identify circular dependencies (DEV-769) (#192 ) (ed35902 )
testdata: remove salsah-links from id2iri/test-id2iri-data.xml (DEV-975) (#199 ) (7548501 )
xmlupload: prevent crash with incremental option (DEV-811) (#197 ) (cccb5e8 )
Enhancements
Documentation
xmlupload: better explanation of permissions (DEV-969) (#196 ) (d3efde8 )
1.14.0 (2022-05-03)
Enhancements
xmlupload: support Baseclass MovingImageRepresentation (#185 ) (7ebf588 )
Documentation
Maintenance
json-schema: change JSON schema version to draft-07 (DEV-848) (#188 ) (8ca6f87 )
update lists.json (DEV-851) (#190 ) (e0254be )
update schema-files (DEV-449) (#187 ) (9a5a50b )
1.13.0 (2022-04-25)
Bug Fixes
get: handle slash at end of server, improve docs (DEV-734) (17c0a40 )
groups: dsp-tools should not allow group creation if group name already in use (DEV-798) (#183 ) (8f168ca )
Enhancements
add support for external ontologies (dev-512) (#170 ) (ff36bc1 )
get: get more infos from user (DEV-641) (#181 ) (407f5c5 )
Maintenance
1.12.2 (2022-03-31)
Bug Fixes
add missing dependency (DEV-763) (1cda29e )
1.12.1 (2022-03-31)
Maintenance
1.12.0 (2022-03-25)
Bug Fixes
onto creation: prevent sorting algorith from modifying original ontology (#169 ) (9a9e5f0 )
Enhancements
onto creation: allow that resources and properties are not sorted by inheritance (DEV-626) (#167 ) (2ebece3 )
xmlupload: allow circular references (DEV-577) (#165 ) (75a444f )
1.11.0 (2022-02-28)
Enhancements
improve prefix handling in json ontos (DEV-572) (#164 ) (8610885 )
1.10.1 (2022-02-23)
Documentation
add explanation how an Excel file for list creation must be structured (DEV-533) (#159 ) (660d57b )
explain the interval-prop more precisely (#162 ) (00c18dc )
1.10.0 (2022-02-21)
Documentation
Maintenance
excel to json list (DEV-431) (#155 ) (8a8c9d0 )
xml-upload: print XML validation errors when xmlupload fails due to validation (DEV-387) (#149 ) (03554c2 )
Enhancements
improve json schema validation error output (DEV-456) (#153 ) (9f92b66 )
make comments optional for new properties and resources (DEV-502) (#158 ) (9c30746 )
ontology: add Representation (DEV-551) (#160 ) (cba7be0 )
1.9.0 (2022-01-27)
Documentation
add isPartOf and seqnum properties to documentation (DEV-216) (#145 ) (09d42a4 )
dsp-tools-excel: mention the GUI order and other small improvements (DEV-99) (#148 ) (853068d )
Enhancements
xmlupload: use custom IRIs created from salsah ARKs for XML upload (DEV-179) (#147 ) (873324a )
1.8.1 (2022-01-11)
Bug Fixes
problem with reference to list values (DEV-356) (#143 ) (3fce99a )
Maintenance
1.8.0 (2022-01-10)
Bug Fixes
ontology: add default values for missing comments (DEV-337) (#141 ) (6f0094e )
print only unresolvable resptrs (#139 ) (cbe1876 )
restrict the creation of classes without cardinalities (DEV-305) (#136 ) (5604a5b )
Enhancements
excel-to-json: allow comments in class and property definitions (#111 ) (807959f )
get: extend get command to get more information (DEV-139) (#137 ) (9ce6722 )
Maintenance
improve ontology schema and extend tests (DEV-313) (#140 ) (656ccff )
1.7.1 (2021-12-14)
Bug Fixes
groups: make groups optional (DEV-138) (#135 ) (6aa1aa7 )
Maintenance
1.7.0 (2021-12-07)
Bug Fixes
boolean-values: allow 0 and 1 as boolean values (DEV-251) (#131 ) (fd58ad4 )
create-ontology: within an ontology, references to the ontology itself are not possible (DEV-135) (#130 ) (6a40fc6 )
permissions: use permissions in xml upload (DEV-178) (#127 ) (4dad0ce )
Documentation
update out-of-date example in docs (DEV-265) (#125 ) (0dc724c )
Enhancements
update DSP-Tools to support ArchiveRepresentation (DEV-259) (#128 ) (85a40c2 )
1.6.1 (2021-11-25)
Bug Fixes
inconsistencies in groups and projects (DEV-261) (#121 ) (f9a95ed )
schema: list root node needs a comments object (DEV-61) (#122 ) (7bdc589 )
1.6.0 (2021-11-22)
Bug Fixes
comments: fix comments in ontology creation (DEV-250) (#119 ) (08effdf )
update dsp-tools to work with API version 16.0.0 (#117 ) (af70e9b )
Documentation
Enhancements
id-to-iri: extend xmlupload to allow references to existing resources (DEV-60) (#108 ) (40b01db )
1.5.2 (2021-11-16)
Maintenance
documentation: add missing documentation for excel2resources (DEV-144) (cde0db5 )
1.5.1 (2021-10-13)
Bug Fixes
schema-documentation: update schemas and documentation (DEV-61) (#105 ) (4d9c1e4 )
1.5.0 (2021-09-24)
Enhancements
schema: add error codes for validation (DSP-1902) (#101 ) (0bc6149 )
1.4.2 (2021-09-21)
Bug Fixes
docs: fix example in documentation (DSP-1740) (#99 ) (11cdd72 )
1.4.1 (2021-09-20)
Maintenance
schemas: update schemas (DSP-1902) (#92 ) (16ba335 )
1.4.0 (2021-09-16)
Documentation
typo: correct typo in documentation (#85 ) (c689d7f )
Enhancements
excel-to-properties: create properties from Excel (DSP-1577) (#89 ) (9f48e9a )
excel-to-resources: create resources from excel (DSP-1576) (#88 ) (7b0302f )
1.3.3 (2021-09-07)
Bug Fixes
1.3.2 (2021-08-17)
Bug Fixes
import: fix import error when starting script directly (
DSP-1869) (05b1eb1 )
1.3.1 (2021-08-11)
Bug Fixes
manifest: fix documentation and missing files (
DSP-1580) (#80 ) (3345f2a )
1.3.0 (2021-08-10)
Enhancements
excel-lists: create multilanguage json lists from excel files (
DSP-1580) (#75 ) (06d071a )
1.2.1 (2021-07-27)
Bug Fixes
release: fix skipped release after pull request #74 (
DSP-1797) (#76 ) (c8e0a11 )
1.2.0 (2021-07-26)
Enhancements
verbose xml upload: use v option to print verbose output in XML upload (
DSP-1797) (#70 ) (b1f56a1 )
1.1.6 (2021-07-22)
Documentation
1.1.5 (2021-07-14)
Documentation
dsp-tools-xmlupload: Add Warning
section (#69 ) (05baf3d )
dsp-tools-xmlupload: addition to incomplete paragraph (
DSP-1693) (#67 ) (318547f )
1.1.4 (2021-06-16)
Documentation
add copyright information to docs (
DSP-1190) (#65 ) (0174c4a )
1.1.3 (2021-06-08)
Documentation
update readme after documentation update (
DSP-1693) (#63 ) (7b7dcca )
1.1.2 (2021-06-07)
Maintenance
bump Bazel to version with M1
support (#60 ) (69772f4 )
Documentation
1.1.1 (2021-04-20)
Bug Fixes
fix import ontology from salsah-export (
DSP-1532) (#59 ) (6e3e7ca )
Maintenance
1.1.0 (2021-04-09)
Bug Fixes
add create_ontology command line
configuration (3ab7e6b )
add folder
independence (2460937 )
add missing
dependencies (4d75128 )
add user (277121b )
bulk-import of multiple resource link
values (6ef8908 ),
closes #9
cleanup api logging (
DSP-1076) (#46 ) (d48e704 )
command line
scripts (732a0fa )
Correctly set user
password (9db6445 )
Correctly set user
password (3583ea2 )
Do not send logout request if token is not
set (9cfd484 )
removed exception if keywords
missing (81f7d97 )
requirements (b5941f1 )
typo (3def59d )
Documentation
Enhancements
import lists from excel (
DSP-1341) (#48 ) (3628992 )
Maintenance
add existing files into new
structure (84dc1d2 )
add publishing
setup (c18c6b9 )
add pypi
badge (3fc148c )
add runing tests on
travis (2eeaeb8 )
add runing tests on
travis (cf4f9e4 )
add runing tests on
travis (b8f3bbc )
add runing tests on
travis (dc4fa02 )
add runing tests on
travis (16844d8 )
add runing tests on
travis (593ac85 )
add testing (
ongoing) (c175a16 )
allow release PRs in PR title
check (#54 ) (0414948 )
automate release process (
DSP-1492) (#52 ) (6a96eee )
bump version (49bc9d8 )
bump version (e7364c7 )
bump version to 1.1.0 (
DSP-1492) (#55 ) (3814ed2 )
configure dependencies and command
line (7f79530 )