Skip to content

Commit 6b8f89c

Browse files
authored
chore(release): release main (#497)
## grz-tools release (2026-05-11) This release updates multiple packages in the `grz-tools` monorepo. See the full changelog and per-package details linked below. ### Versions - `grzctl` `2.0.0` (from `1.4.0`) - `grz-db` `2.0.0` (from `1.2.0`) - `grz-common` `2.0.0` (from `1.6.1`) - `grz-cli` `1.6.0` (from `1.5.1`) - `grz-pydantic-models` `2.6.0` (from `2.5.0`) - `grz-check` `0.3.0` (from `0.2.1`) --- ## ⚠️ Breaking / behavior changes - `grzctl` now automatically updates submission state in the DB on subcommand invocation (default `--update-db`; use `--no-update-db` to disable). The DB state enum adds `REPORTING`. (#501) - `grzctl pruefbericht submit` now requires `--submission-id` so the submission can be updated consistently in the DB. (#525) - `grz-cli` enforces a version policy via S3 `version.json` for `upload` / `submit` operations. (#477) - Added `selected_for_qc` column and QC workflow version recording; tools now require/record QC workflow version and log `grzctl` runtime version. (#531, #561) - `grzctl db submission populate-qc` now requires `--qc-workflow-version` (or `GRZCTL_QC_WORKFLOW_VERSION`) to be provided so the QC workflow version can be recorded in the DB. (#561) - `grzctl` introduces `backfill` to re-read metadata from archives and other state/reporting improvements (impacting automation that reads/writes the submission DB). (#559) - Dropped the Python dependency `pysam` from `grz-cli`, `grzctl`, and `grz-common` (installs are lighter; environments that relied on it being installed transitively must install it explicitly). (#565) --- ## Highlights ### grz-cli (`1.6.0`) - Version policy checks for `upload` and `submit` via S3 `version.json` (#477) - Multiple config files are merged into one effective configuration (#490) - `upload` now prints the generated submission ID to stdout (can affect scripts that parse command output). (#556) ### grzctl (`2.0.0`) - `db list`: state-based filtering, with “latest” view by default (#523) - `db submission show`: `--json` output (#510) - Prüfbericht generation using submission ID from database (#525) - `report`: makes `identifiers.le` optional (#488) - `report` supports `--with-submission-ids`. (#539) - Improved redaction during archival. (#517) - Add `selected_for_qc` column to the submission database (#531) - `populate-qc`: accept `THRESHOLD NOT MET` as valid QC status (#529) - Fix displayed QC stats (#508) - Introduce `backfill` to re-read metadata from the archive (#559) - Require and record QC workflow version; log `grzctl` runtime versions (#561) - `db tui`: add `--quarter`/`--year` selection for the “Detailed QC by LE” overview. (#541) ### grz-pydantic-models (`2.6.0`) - Enforce differing checksums for sequencing data (#496) - Fix MII consent period to use datetime instead of date (#491) - Change `minReadLength` default from `0` to `-1` (#506) ### grz-check (`0.3.0`) - Python bindings now power checksum validation across the stack (#554) - Checksum calculation is now exposed correctly in the Python API (#5dce167) - `grz-check` is now built and published as a Python package via `pyproject.toml`/maturin. (#543) ### Maintenance - Dependency updates (#498) - Python crypto dependency updates: `pynacl` and `crypt4gh` --- ## Rollout notes (ops) - Apply the submission DB migrations before using this release. The schema changes include `selected_for_qc`, QC workflow version logging, `grzctl` runtime version logging, and the new `REPORTING` state. - Submission DB migrations in this release also include the `qc_queue` table and additional `submissions` fields (`submission_size`, `submission_metadata`)—make sure your DB is migrated to `head` before running the updated tools. - Update any automation that calls `grzctl pruefbericht submit` to pass `--submission-id`. - If you enforce LE uploads via S3, deploy the `version.json` policy for `grz-cli`. - Deploy the matching `grz-check` Python bindings where Python-based checksum validation is used. --- ## Full details - Full changelog: [changes.md](changes.md) - Per-package changelogs: - [packages/grz-cli/CHANGELOG.md](packages/grz-cli/CHANGELOG.md) - [packages/grzctl/CHANGELOG.md](packages/grzctl/CHANGELOG.md) - [packages/grz-common/CHANGELOG.md](packages/grz-common/CHANGELOG.md) - [packages/grz-db/CHANGELOG.md](packages/grz-db/CHANGELOG.md) - [packages/grz-pydantic-models/CHANGELOG.md](packages/grz-pydantic-models/CHANGELOG.md) - [packages/grz-check/CHANGELOG.md](packages/grz-check/CHANGELOG.md)
1 parent 65a2143 commit 6b8f89c

14 files changed

Lines changed: 175 additions & 13 deletions

File tree

.release-please-manifest.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
{
2-
"packages/grz-cli": "1.5.1",
3-
"packages/grz-pydantic-models": "2.5.0",
2+
"packages/grz-cli": "1.6.0",
3+
"packages/grz-pydantic-models": "2.6.0",
44
"packages/grz-pydantic-models-testing": "0.1.0",
5-
"packages/grz-db": "1.2.0",
6-
"packages/grz-common": "1.6.1",
7-
"packages/grzctl": "1.4.0",
8-
"packages/grz-check": "0.2.1"
5+
"packages/grz-db": "2.0.0",
6+
"packages/grz-common": "2.0.0",
7+
"packages/grzctl": "2.0.0",
8+
"packages/grz-check": "0.3.0"
99
}

packages/grz-check/CHANGELOG.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,25 @@
11
# Changelog
22

3+
## [0.3.0](https://github.com/BfArM-MVH/grz-tools/compare/grz-check-v0.2.1...grz-check-v0.3.0) (2026-05-11)
4+
5+
6+
### Features
7+
8+
* **grz-cli,grzctl,grz-common,grz-check:** use grz check python bindings ([#554](https://github.com/BfArM-MVH/grz-tools/issues/554)) ([5dce167](https://github.com/BfArM-MVH/grz-tools/commit/5dce16733e549e92de546f298d821f6202bcee9f))
9+
* **grz-cli,grzctl,grz-common:** use grz-check python bindings instead ([5dce167](https://github.com/BfArM-MVH/grz-tools/commit/5dce16733e549e92de546f298d821f6202bcee9f))
10+
11+
12+
### Bug Fixes
13+
14+
* **grz-check:** actually calculate checksums in python exposed API ([5dce167](https://github.com/BfArM-MVH/grz-tools/commit/5dce16733e549e92de546f298d821f6202bcee9f))
15+
* **grz-check:** add grz-check to workspace ([38b5593](https://github.com/BfArM-MVH/grz-tools/commit/38b5593cd6b79f0c4df8d87a2d78cd341de9c632))
16+
* **grz-check:** add return types to public python functions ([5dce167](https://github.com/BfArM-MVH/grz-tools/commit/5dce16733e549e92de546f298d821f6202bcee9f))
17+
* **grz-check:** do not silently ignore pair errors ([5dce167](https://github.com/BfArM-MVH/grz-tools/commit/5dce16733e549e92de546f298d821f6202bcee9f))
18+
* **grz-check:** expose validate_raw* functions that also return a ([5dce167](https://github.com/BfArM-MVH/grz-tools/commit/5dce16733e549e92de546f298d821f6202bcee9f))
19+
* **grz-check:** set source.name as path in report as a fallback ([5dce167](https://github.com/BfArM-MVH/grz-tools/commit/5dce16733e549e92de546f298d821f6202bcee9f))
20+
* **grz-check:** update dependencies ([#552](https://github.com/BfArM-MVH/grz-tools/issues/552)) ([94b28e8](https://github.com/BfArM-MVH/grz-tools/commit/94b28e88de2366286c5e8c2e7831919b4a33e36e))
21+
* **grz-check:** use 8MB as buffer size to match python codebase defaults ([5dce167](https://github.com/BfArM-MVH/grz-tools/commit/5dce16733e549e92de546f298d821f6202bcee9f))
22+
323
## [0.2.1](https://github.com/BfArM-MVH/grz-tools/compare/grz-check-v0.2.0...grz-check-v0.2.1) (2025-12-04)
424

525

packages/grz-check/Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/grz-check/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "grz-check"
3-
version = "0.2.1"
3+
version = "0.3.0"
44
edition = "2024"
55
rust-version = "1.88"
66
license = "MIT"

packages/grz-cli/CHANGELOG.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,29 @@
11
# Changelog
22

3+
## [1.6.0](https://github.com/BfArM-MVH/grz-tools/compare/grz-cli-v1.5.1...grz-cli-v1.6.0) (2026-05-11)
4+
5+
6+
### Features
7+
8+
* **grz-cli,grz-common:** Add version checks to upload/submit ([#477](https://github.com/BfArM-MVH/grz-tools/issues/477)) ([289683d](https://github.com/BfArM-MVH/grz-tools/commit/289683d6154df7fb175ad4db9671f28e1cdd0eb3))
9+
* **grz-cli,grzctl,grz-common,grz-check:** use grz check python bindings ([#554](https://github.com/BfArM-MVH/grz-tools/issues/554)) ([5dce167](https://github.com/BfArM-MVH/grz-tools/commit/5dce16733e549e92de546f298d821f6202bcee9f))
10+
* **grz-cli,grzctl,grz-common:** use grz-check python bindings instead ([5dce167](https://github.com/BfArM-MVH/grz-tools/commit/5dce16733e549e92de546f298d821f6202bcee9f))
11+
* **grzctl,grz-cli,grz-common:** Merge multiple configuration files ([#490](https://github.com/BfArM-MVH/grz-tools/issues/490)) ([8ae881d](https://github.com/BfArM-MVH/grz-tools/commit/8ae881d4f65882ae5d8823bdb00971eec246a395))
12+
13+
14+
### Bug Fixes
15+
16+
* **grz-check:** actually calculate checksums in python exposed API ([5dce167](https://github.com/BfArM-MVH/grz-tools/commit/5dce16733e549e92de546f298d821f6202bcee9f))
17+
* **grz-check:** add return types to public python functions ([5dce167](https://github.com/BfArM-MVH/grz-tools/commit/5dce16733e549e92de546f298d821f6202bcee9f))
18+
* **grz-check:** do not silently ignore pair errors ([5dce167](https://github.com/BfArM-MVH/grz-tools/commit/5dce16733e549e92de546f298d821f6202bcee9f))
19+
* **grz-check:** expose validate_raw* functions that also return a ([5dce167](https://github.com/BfArM-MVH/grz-tools/commit/5dce16733e549e92de546f298d821f6202bcee9f))
20+
* **grz-check:** set source.name as path in report as a fallback ([5dce167](https://github.com/BfArM-MVH/grz-tools/commit/5dce16733e549e92de546f298d821f6202bcee9f))
21+
* **grz-check:** use 8MB as buffer size to match python codebase defaults ([5dce167](https://github.com/BfArM-MVH/grz-tools/commit/5dce16733e549e92de546f298d821f6202bcee9f))
22+
* **grz-common,grzctl,grz-cli:** add pynacl to dependencies, update crypt4gh ([#560](https://github.com/BfArM-MVH/grz-tools/issues/560)) ([9060876](https://github.com/BfArM-MVH/grz-tools/commit/9060876094d9f2a97ea7d351e0adcfc34a6bbd39))
23+
* **grz-common,grzctl,grz-cli:** update crypt4gh dependency version ([9060876](https://github.com/BfArM-MVH/grz-tools/commit/9060876094d9f2a97ea7d351e0adcfc34a6bbd39))
24+
* **grz-common:** add pynacl to dependencies ([9060876](https://github.com/BfArM-MVH/grz-tools/commit/9060876094d9f2a97ea7d351e0adcfc34a6bbd39))
25+
* **repo:** Update dependencies ([#498](https://github.com/BfArM-MVH/grz-tools/issues/498)) ([368dfdb](https://github.com/BfArM-MVH/grz-tools/commit/368dfdbaa703f17f0c290ea051be30f9be4bebf3))
26+
327
## [1.5.1](https://github.com/BfArM-MVH/grz-tools/compare/grz-cli-v1.5.0...grz-cli-v1.5.1) (2025-12-04)
428

529

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = "1.5.1"
1+
__version__ = "1.6.0"

packages/grz-common/CHANGELOG.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,39 @@
11
# Changelog
22

3+
## [2.0.0](https://github.com/BfArM-MVH/grz-tools/compare/grz-common-v1.6.1...grz-common-v2.0.0) (2026-05-11)
4+
5+
6+
### ⚠ BREAKING CHANGES
7+
8+
* **grzctl:** Automatically update submission state upon subcommand invocation ([#501](https://github.com/BfArM-MVH/grz-tools/issues/501))
9+
10+
### Features
11+
12+
* **grz-cli,grz-common:** Add version checks to upload/submit ([#477](https://github.com/BfArM-MVH/grz-tools/issues/477)) ([289683d](https://github.com/BfArM-MVH/grz-tools/commit/289683d6154df7fb175ad4db9671f28e1cdd0eb3))
13+
* **grz-cli,grzctl,grz-common,grz-check:** use grz check python bindings ([#554](https://github.com/BfArM-MVH/grz-tools/issues/554)) ([5dce167](https://github.com/BfArM-MVH/grz-tools/commit/5dce16733e549e92de546f298d821f6202bcee9f))
14+
* **grz-cli,grzctl,grz-common:** use grz-check python bindings instead ([5dce167](https://github.com/BfArM-MVH/grz-tools/commit/5dce16733e549e92de546f298d821f6202bcee9f))
15+
* **grz-tools:** add structured failure reason tracking for submissions ([#544](https://github.com/BfArM-MVH/grz-tools/issues/544)) ([65a2143](https://github.com/BfArM-MVH/grz-tools/commit/65a214389e91be00e99fb812293bfe40cca45cf0))
16+
* **grzctl, grz-db, grz-pydantic-models:** Improved populate ([#547](https://github.com/BfArM-MVH/grz-tools/issues/547)) ([8cbf232](https://github.com/BfArM-MVH/grz-tools/commit/8cbf2323747a3a2c35623b80f7ad1ef420217f07))
17+
* **grzctl,grz-cli,grz-common:** Merge multiple configuration files ([#490](https://github.com/BfArM-MVH/grz-tools/issues/490)) ([8ae881d](https://github.com/BfArM-MVH/grz-tools/commit/8ae881d4f65882ae5d8823bdb00971eec246a395))
18+
* **grzctl:** Automatically update submission state upon subcommand invocation ([#501](https://github.com/BfArM-MVH/grz-tools/issues/501)) ([8953102](https://github.com/BfArM-MVH/grz-tools/commit/895310211d36796d995c37f1929a12458195d4c7))
19+
* **grzctl:** Improved redaction during archival ([#517](https://github.com/BfArM-MVH/grz-tools/issues/517)) ([a10e63f](https://github.com/BfArM-MVH/grz-tools/commit/a10e63ff4eadfc09b060509f004518dba01154df))
20+
* **grzctl:** Introduce "backfill" command to re-read metadata from the archive ([#559](https://github.com/BfArM-MVH/grz-tools/issues/559)) ([9e83ad3](https://github.com/BfArM-MVH/grz-tools/commit/9e83ad31dbb9dd44f18d1f0ed1dbef82f4f1f63e))
21+
22+
23+
### Bug Fixes
24+
25+
* **grz-check:** actually calculate checksums in python exposed API ([5dce167](https://github.com/BfArM-MVH/grz-tools/commit/5dce16733e549e92de546f298d821f6202bcee9f))
26+
* **grz-check:** add return types to public python functions ([5dce167](https://github.com/BfArM-MVH/grz-tools/commit/5dce16733e549e92de546f298d821f6202bcee9f))
27+
* **grz-check:** do not silently ignore pair errors ([5dce167](https://github.com/BfArM-MVH/grz-tools/commit/5dce16733e549e92de546f298d821f6202bcee9f))
28+
* **grz-check:** expose validate_raw* functions that also return a ([5dce167](https://github.com/BfArM-MVH/grz-tools/commit/5dce16733e549e92de546f298d821f6202bcee9f))
29+
* **grz-check:** set source.name as path in report as a fallback ([5dce167](https://github.com/BfArM-MVH/grz-tools/commit/5dce16733e549e92de546f298d821f6202bcee9f))
30+
* **grz-check:** use 8MB as buffer size to match python codebase defaults ([5dce167](https://github.com/BfArM-MVH/grz-tools/commit/5dce16733e549e92de546f298d821f6202bcee9f))
31+
* **grz-cli:** Submission id upload tracking ([#556](https://github.com/BfArM-MVH/grz-tools/issues/556)) ([66d185a](https://github.com/BfArM-MVH/grz-tools/commit/66d185a73cae217d5ffb3995bbaff61502723858))
32+
* **grz-common,grzctl,grz-cli:** add pynacl to dependencies, update crypt4gh ([#560](https://github.com/BfArM-MVH/grz-tools/issues/560)) ([9060876](https://github.com/BfArM-MVH/grz-tools/commit/9060876094d9f2a97ea7d351e0adcfc34a6bbd39))
33+
* **grz-common,grzctl,grz-cli:** update crypt4gh dependency version ([9060876](https://github.com/BfArM-MVH/grz-tools/commit/9060876094d9f2a97ea7d351e0adcfc34a6bbd39))
34+
* **grz-common:** add pynacl to dependencies ([9060876](https://github.com/BfArM-MVH/grz-tools/commit/9060876094d9f2a97ea7d351e0adcfc34a6bbd39))
35+
* **repo:** Update dependencies ([#498](https://github.com/BfArM-MVH/grz-tools/issues/498)) ([368dfdb](https://github.com/BfArM-MVH/grz-tools/commit/368dfdbaa703f17f0c290ea051be30f9be4bebf3))
36+
337
## [1.6.1](https://github.com/BfArM-MVH/grz-tools/compare/grz-common-v1.6.0...grz-common-v1.6.1) (2025-12-14)
438

539

packages/grz-common/src/grz_common/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
Common library for grz applications.
33
"""
44

5-
__version__ = "1.6.1"
5+
__version__ = "2.0.0"

packages/grz-db/CHANGELOG.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,27 @@
11
# Changelog
22

3+
## [2.0.0](https://github.com/BfArM-MVH/grz-tools/compare/grz-db-v1.2.0...grz-db-v2.0.0) (2026-05-11)
4+
5+
6+
### ⚠ BREAKING CHANGES
7+
8+
* **grzctl:** Automatically update submission state upon subcommand invocation ([#501](https://github.com/BfArM-MVH/grz-tools/issues/501))
9+
10+
### Features
11+
12+
* **grz-cli, grz-db:** require & record QC workflow version; log grzctl runtime version (closes [#532](https://github.com/BfArM-MVH/grz-tools/issues/532)) ([#561](https://github.com/BfArM-MVH/grz-tools/issues/561)) ([b0929cf](https://github.com/BfArM-MVH/grz-tools/commit/b0929cfd8b77fbc8d6f9e940ff8d2834b1c3271e))
13+
* **grz-db,grzctl:** add selected_for_qc submission column to submission database ([#531](https://github.com/BfArM-MVH/grz-tools/issues/531)) ([a753bd2](https://github.com/BfArM-MVH/grz-tools/commit/a753bd2f44a73fc113e10a736dd8c09f7c035b07))
14+
* **grz-tools:** add structured failure reason tracking for submissions ([#544](https://github.com/BfArM-MVH/grz-tools/issues/544)) ([65a2143](https://github.com/BfArM-MVH/grz-tools/commit/65a214389e91be00e99fb812293bfe40cca45cf0))
15+
* **grzctl, grz-db, grz-pydantic-models:** Improved populate ([#547](https://github.com/BfArM-MVH/grz-tools/issues/547)) ([8cbf232](https://github.com/BfArM-MVH/grz-tools/commit/8cbf2323747a3a2c35623b80f7ad1ef420217f07))
16+
* **grzctl:** add state-based filtering to grzctl db list (latest by default) ([#523](https://github.com/BfArM-MVH/grz-tools/issues/523)) ([9a715f4](https://github.com/BfArM-MVH/grz-tools/commit/9a715f40ec80d149fe5ab2fbda383da9671ff332)), closes [#504](https://github.com/BfArM-MVH/grz-tools/issues/504)
17+
* **grzctl:** Automatically update submission state upon subcommand invocation ([#501](https://github.com/BfArM-MVH/grz-tools/issues/501)) ([8953102](https://github.com/BfArM-MVH/grz-tools/commit/895310211d36796d995c37f1929a12458195d4c7))
18+
* **grzctl:** Introduce "backfill" command to re-read metadata from the archive ([#559](https://github.com/BfArM-MVH/grz-tools/issues/559)) ([9e83ad3](https://github.com/BfArM-MVH/grz-tools/commit/9e83ad31dbb9dd44f18d1f0ed1dbef82f4f1f63e))
19+
20+
21+
### Bug Fixes
22+
23+
* **repo:** Update dependencies ([#498](https://github.com/BfArM-MVH/grz-tools/issues/498)) ([368dfdb](https://github.com/BfArM-MVH/grz-tools/commit/368dfdbaa703f17f0c290ea051be30f9be4bebf3))
24+
325
## [1.2.0](https://github.com/BfArM-MVH/grz-tools/compare/grz-db-v1.1.0...grz-db-v1.2.0) (2025-12-04)
426

527

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = "1.2.0"
1+
__version__ = "2.0.0"

0 commit comments

Comments
 (0)