commit e37d98f26b31de3318a1cc9c1f9747ddbe49fc6a
Merge: 3e667d9c3 41b476c8a
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Feb 6 14:43:00 2026 +0000
Remove BaseTask.instantiate_with_new_data (MR !2693)
It was introduced in e4505c927aaf3a95fccd67c71467a2b59c91f807, but then
the only non-test use of it was removed shortly afterwards in
6abb00ef93f264ef07fe0e78d1d5906616ff9742.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2693
commit 3e667d9c38cbac1100487989b1c00913cfe4dbe3
Merge: 33b4e7274 db7cdf30f
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Feb 6 14:20:13 2026 +0000
Fix TODO comment formatting for PEP 350 compliance (MR !2690)
Updated TODO/XXX comments to follow PEP 350 conventions by adding colons and capitalizing the first word.
Standardized marker formatting and removed extra spaces to ensure consistency across the codebase.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2690
commit 41b476c8acdc4521bee97cbc72ce9f355ff3f46c
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Feb 6 12:25:29 2026 +0000
Remove BaseTask.instantiate_with_new_data
It was introduced in e4505c927aaf3a95fccd67c71467a2b59c91f807, but then
the only non-test use of it was removed shortly afterwards in
6abb00ef93f264ef07fe0e78d1d5906616ff9742.
commit 33b4e7274713e4cbdc38514b0bfc808aceb86b10
Merge: 917584312 5e960ecc2
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Feb 6 13:08:51 2026 +0000
Push post_init up to BaseTask (MR !2692)
Carles introduced this for workflows in
c02dbda434280a34f4fcd40c951da88d6d5cdf4d, but it's useful in other
contexts as well, and greatly reduces the number of places where we
repeat `BaseTask.__init__`'s signature.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2692
commit db7cdf30f75e635ddf1168af5905251259b339d6
Author: Ashutosh Mishra <dev.ashutoshmishra@gmail.com>
Date: Fri Feb 6 07:44:44 2026 +0000
Remove XXX from TODO comments as requested
Change TODO/XXX to just TODO per maintainer feedback.
XXX will be reserved for pre-merge notes to self.
commit c32ad6ee1a975a2c0676543132453f4d828abcde
Author: Ashutosh Mishra <dev.ashutoshmishra@gmail.com>
Date: Fri Feb 6 07:44:14 2026 +0000
Fix TODO comment formatting for PEP 350 compliance
Add missing colons to TODO comments and capitalize first word
to follow PEP 350 conventions and maintain consistency across
the codebase.
Changes:
- Add colon after TODO markers
- Capitalize first word after TODO:
- Remove extra spaces in TODO/XXX markers
commit 5e960ecc218bea15a85f2af77f14c82fd285bfa5
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Feb 6 11:53:46 2026 +0000
Push post_init up to BaseTask
Carles introduced this for workflows in
c02dbda434280a34f4fcd40c951da88d6d5cdf4d, but it's useful in other
contexts as well, and greatly reduces the number of places where we
repeat `BaseTask.__init__`'s signature.
commit 91758431298b0b9a11b663b775f1cc423f50c417
Merge: f15690c38 bc009411d
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Feb 6 12:26:26 2026 +0000
mypy: Pin tenacity to <9.1.3 for now (MR !2691)
https://github.com/jd/tenacity/issues/553 causes type-checking failures
for us in a few places.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2691
commit bc009411d9f9bbf345e4872df68cfcba793ff881
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Feb 6 11:52:36 2026 +0000
mypy: Pin tenacity to <9.1.3 for now
https://github.com/jd/tenacity/issues/553 causes type-checking failures
for us in a few places.
commit 49542f7e8203e772da604500f086971a3f323322
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Feb 6 11:50:41 2026 +0000
Pacify yamllint
commit f15690c3893a4c9bfb27fbd9155eac06e42fe49d
Merge: ec7b106cb c6f3459c4
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Feb 6 10:28:32 2026 +0000
Remove task data filtering from `Workflow.ensure_child_*` (#1269) (MR !2685)
This was too strict in some cases, particularly when task configuration
was involved, and resulted in existing work requests not matching the
filter when they should have done.
Rather than trying to match on task data, it's simpler to just rely on
`workflow_data.step` being unique across all children of a given
workflow. I've checked this for all existing callers and it already
seems to be the case.
Closes #1269
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2685
commit ec7b106cb5afb4d49de8766e8e0cdbc85ec4d3f9
Merge: dbcfa2b11 46a69b369
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Feb 5 15:31:50 2026 +0000
APTMirror: Add partial mirroring support (#1250) (MR !2684)
Closes #1250
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2684
commit 46a69b3697d48d60867b6cd1eeb1ccf814d9d6c4
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Feb 3 18:44:50 2026 +0000
APTMirror: Add partial mirroring support
Fixes: #1250
commit dbcfa2b1121285a689f6bce315652addf6877b2e
Merge: dd32938ae 0cc9a52d4
Author: Carles Pina i Estany <carles@pina.cat>
Date: Thu Feb 5 13:55:56 2026 +0000
DebDiffWorkflow: transition from "any" architectures to "all": create DebDiff tasks (fixes #1300) (MR !2687)
Closes #1300
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2687
commit c6f3459c4a4f6a264f2079e2955d3cb5a34f9f82
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Feb 5 13:17:42 2026 +0000
Reduce workflow data matching in `Workflow.ensure_child_*` to `step`
This exposed a mistake in several workflows that set up regression
analysis callbacks: they failed to use unique `step` values.
commit dd32938ae1157a292e1363e1079cb595ea929301
Merge: 18077ac8d e144b63e9
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Feb 5 12:51:00 2026 +0000
Change LookupResult.result_type to be a LookupResultType (MR !2681)
I recently started getting the following errors from `mypy`:
```
debusine/server/collections/lookup.py:69: error: Parameter 1 of Literal[...] is invalid [valid-type]
debusine/server/collections/lookup.py:81: error: Parameter 1 of Literal[...] is invalid [valid-type]
debusine/server/collections/lookup.py:92: error: Parameter 1 of Literal[...] is invalid [valid-type]
```
I'm not sure why this hasn't been happening since I last upgraded
`mypy`, but regardless, based on
https://mypy.readthedocs.io/en/stable/literal_types.html#parameterizing-literals
it seems that `TextChoices` instances might plausibly be a bit too
complex to be used as a `Literal`. We already have the simpler
`LookupResultType` for use in the client, and it makes sense to use that
here too.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2681
commit 18077ac8d05914a8fd632a3dd5aa54b53aad55e5
Merge: 7592e8574 e3c65405c
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Feb 5 11:29:07 2026 +0000
Modernize command on "Waiting for signature" card (#1270) (MR !2686)
This requires debusine-client >= 0.13.0.
Closes #1270
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2686
commit 7592e857402b2f54b0bf1d9b349faa9858b89fde
Merge: d5c71312f a2a582639
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Feb 5 11:28:51 2026 +0000
APTMirror: Fetch Contents and Translation indexes (MR !2683)
Fixes: #955
Closes #955
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2683
commit d5c71312f2103df1422533674411574693a614be
Merge: a5541bfbe c465605ad
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Feb 5 11:28:36 2026 +0000
APTMirror: Make the architectures parameter optional (MR !2682)
This is easy now that we no longer fetch indexes using `apt`.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2682
commit 0cc9a52d47ce67eb3fc6f7f976cfd55b9728edd9
Author: Carles Pina i Estany <carles@pina.cat>
Date: Thu Feb 5 11:02:07 2026 +0100
DebDiffWorkflowTests: refactor to avoid lookups/repetition
commit 3341162cd12422946dc28390755a5bac992b8a7b
Author: Carles Pina i Estany <carles@pina.cat>
Date: Tue Feb 3 17:02:27 2026 +0100
DebDiffWorkflow: transition from "any" to "all": populate DebDiff tasks
commit e3c65405c6e26e2d8469808a5a772878398b047f
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Feb 4 18:28:26 2026 +0000
Modernize command on "Waiting for signature" card
This requires debusine-client >= 0.13.0.
Fixes: #1270
commit fd195b6b6d3791ecae4e29e8da8850ccd7e3a9e9
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Feb 4 18:18:25 2026 +0000
Remove task data filtering from `Workflow.ensure_child_*`
This was too strict in some cases, particularly when task configuration
was involved, and resulted in existing work requests not matching the
filter when they should have done.
Rather than trying to match on task data, it's simpler to just rely on
`workflow_data.step` being unique across all children of a given
workflow. I've checked this for all existing callers and it already
seems to be the case.
Fixes: #1269
commit a5541bfbeb39f73a335fcecff2d4edee2e9d7874
Merge: a9160bdad 5622c02d3
Author: Stefano Rivera <stefanor@debian.org>
Date: Wed Feb 4 17:53:39 2026 +0000
ui: show message while workflow is being orchestrated (MR !2667)
Large workflows can take a long time to orchestrate, during which the UI may appear idle.
This change shows a simple informational message when a workflow is still being orchestrated, so users understand that processing is ongoing.
No backend behavior is changed.
Closes #1249
Closes #1249
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2667
commit 5622c02d348c98e42f30ca3a2a1d626cbc61d454
Author: Ayush Sharma <ayushhardeniya.grid@gmail.com>
Date: Wed Feb 4 23:23:39 2026 +0530
ui: show orchestrating message with running workflows with no children
commit 1ff6ca25ca283521dbc45c248fe3214750bed9a1
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Feb 3 16:49:53 2026 +0000
Refactor some repetitive `APTMirror` plan assertions
commit 0d1396c612e6b42d208a8bbffd307a70f111f6d3
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Feb 3 15:53:30 2026 +0000
Refactor APTMirror.plan_{sources,binaries} slightly
Using a dataclass here rather than tuples makes it easier to understand
what's going on.
commit 3fc650b649832193a5049e97c8de0664798d682d
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Feb 3 15:40:02 2026 +0000
Remove unnecessary `setdefault`
The code immediately above this raises an exception if the key is
already in the dictionary, so using `setdefault` just makes this code
slightly harder to understand for no benefit.
commit 2163e67a2d2ca8541b2f25ca1ba2bfe22e965be2
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Feb 3 15:36:38 2026 +0000
Refactor APTMirror.add_{source,binary} slightly
Passing a dataclass rather than a collection of individual parameters
makes these methods easier to extend.
commit f49ffeeb78d68ba07068cb51b4ce9ec33e984d61
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Feb 3 14:47:27 2026 +0000
Adjust confusing `APTMirror` method order
`add_source` comes immediately before `update_sources`, so `add_binary`
should likewise come immediately before `update_binaries`.
commit a2a582639ef33eef14747886287a8f0f1532154b
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Feb 4 16:37:24 2026 +0000
APTMirror: Fetch Contents and Translation indexes
Fixes: #955
commit c465605adca199bec0c3b785436e4492b38461b0
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Feb 4 16:30:45 2026 +0000
APTMirror: Make the architectures parameter optional
This is easy now that we no longer fetch indexes using `apt`.
commit a9160bdad97710bb159fb34a15a9d2f85a55f567
Merge: 70fba0035 ccfda527c
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Feb 4 16:21:00 2026 +0000
APTMirror: Fetch most files directly rather than calling out to apt (MR !2672)
We were nearing the limits of what's practical to implement by calling
out to `apt`: in particular, fetching other index files would be very
cumbersome. The part of the process that's most difficult to handle
ourselves is meta-index file verification (e.g. `Release`), so I've
retained the use of `apt` for that, but with a cut-down configuration
that only fetches meta-indexes and nothing else.
For now I've only implemented SHA256 checksum handling, but it would be
straightforward to add alternatives if we need to mirror a repository
that doesn't provide SHA256.
This is intended to be a like-for-like replacement with no functional
change. Features building on this will come later.
Part of #955.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2672
commit e144b63e9d69955716761a0ebaa6ff5ed60ebe28
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Feb 4 15:57:44 2026 +0000
Change LookupResult.result_type to be a LookupResultType
I recently started getting the following errors from `mypy`:
```
debusine/server/collections/lookup.py:69: error: Parameter 1 of Literal[...] is invalid [valid-type]
debusine/server/collections/lookup.py:81: error: Parameter 1 of Literal[...] is invalid [valid-type]
debusine/server/collections/lookup.py:92: error: Parameter 1 of Literal[...] is invalid [valid-type]
```
I'm not sure why this hasn't been happening since I last upgraded
`mypy`, but regardless, based on
https://mypy.readthedocs.io/en/stable/literal_types.html#parameterizing-literals
it seems that `TextChoices` instances might plausibly be a bit too
complex to be used as a `Literal`. We already have the simpler
`LookupResultType` for use in the client, and it makes sense to use that
here too.
commit ccfda527c288b219d94c3e252924927a7c0322ff
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Feb 4 15:43:25 2026 +0000
Fix race in test_plan_binaries_multiple_same_component
This test uses the same architecture-independent `.deb` in two different
architectures, but it generated it twice and relied on the generation
being reproducible. If there happened to be a timestamp-second boundary
between the two calls to `dpkg-deb`, then this would fail. Just
generate the file once instead.
commit 70fba003556f1781fbf163150029411ea89061d9
Merge: f52e36028 26eee8b8f
Author: Enrico Zini <enrico@debian.org>
Date: Wed Feb 4 14:51:48 2026 +0000
Preserve the old black configuration (MR !2680)
While it is not used by our CI, it may be used by contributors who may find it convenient to have it configured properly.
Note that black doesn't match what ruff does, so one still gets ruff running in pre-commit and changing things away from what black was doing. This should still mitigate the dissonance between an unconfigured black and ruff
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2680
commit f52e36028921d0d0cc19c19bcb477ff17e1d1ab9
Merge: 849b68912 154670822
Author: Enrico Zini <enrico@debian.org>
Date: Wed Feb 4 14:51:42 2026 +0000
Call ruff check with --fix (MR !2679)
This matches what we were doing earlier with black, and has ruff intervening from pre-commit when not available in the developer's machine.
Thanks to Colin's work when introducing ruff, `pre-commit run -a` results in no changes from ruff at the moment.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2679
commit 689a245aeb9ffe4e2c6e36d805450c5f8a0ae1cb
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jan 29 18:13:34 2026 +0000
APTMirror: Fetch most files directly rather than calling out to apt
We were nearing the limits of what's practical to implement by calling
out to `apt`: in particular, fetching other index files would be very
cumbersome. The part of the process that's most difficult to handle
ourselves is meta-index file verification (e.g. `Release`), so I've
retained the use of `apt` for that, but with a cut-down configuration
that only fetches meta-indexes and nothing else.
For now I've only implemented SHA256 checksum handling, but it would be
straightforward to add alternatives if we need to mirror a repository
that doesn't provide SHA256.
This is intended to be a like-for-like replacement with no functional
change. Features building on this will come later.
Part of #955.
commit 26eee8b8f93c0adb3121d85ed81b6574b624b502
Author: Enrico Zini <enrico@enricozini.org>
Date: Wed Feb 4 14:48:28 2026 +0100
Preserve the old black configuration
While it is not used by our CI, it may be used by contributors who may find it convenient to have it configured properly.
Note that black doesn't match what ruff does, so one still gets ruff running in pre-commit and changing things away from what black was doing. This should still mitigate the dissonance between an unconfigured black and ruff
commit 1546708223e0ba21adcad354fa5d696ab8b281ab
Author: Enrico Zini <enrico@enricozini.org>
Date: Wed Feb 4 14:43:54 2026 +0100
Call ruff check with --fix
commit 51e616f002f17289efbe1a1f60844721ae67cceb
Author: Carles Pina i Estany <carles@pina.cat>
Date: Tue Feb 3 14:58:36 2026 +0000
Refactor ArtifactPlugin.read_file() and FileWidget._open_file() to FileInArtifact.read_file()
Avoid reading file twice, allow to impose maximum file size limits, consolidate error messages.
commit 849b68912e748120a2c71abe325c332193395eef
Merge: 25fd9d9bb 51e616f00
Author: Carles Pina i Estany <carles@pina.cat>
Date: Tue Feb 3 14:58:36 2026 +0000
Refactor ArtifactPlugin.read_file() and FileWidget._open_file() (fixes #1146) (MR !2625)
Avoid reading file twice, allow to impose maximum file size limits, consolidate error messages.
Closes #1146
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2625
commit 25fd9d9bb3b6ebdf131a573484bd8bd6093f6a9d
Merge: 4f2ce8a02 6c5821422
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Feb 2 13:54:00 2026 +0000
ci: Use lintian from forky (MR !2676)
We've had a new warning since 7f58dde471948d110cfec9eaccc4e4078e7d5995.
It makes sense to use the version of `lintian` in testing for packages
intended to land first in unstable.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2676
commit 4f2ce8a023f7648e06cdb582f4ec61cbed9a7905
Merge: a20451cfc e4f9a827b
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Feb 2 13:53:46 2026 +0000
Upgrade to mypy 1.19.1 (MR !2675)
This requires django-stubs >= 5.2.8, which technically doesn't support
Django 4.2, and so I'd put off this upgrade. However, it does in fact
turn out to work without too much trouble, and mostly seems like an
improvement.
`django_stubs_ext.WithAnnotations` no longer causes mypy to crash, so
I've used it to improve type annotations for custom `QuerySet` methods
that return annotated queries. The result is a little weird - simply
getting an annotated field from a model instance results in an
`attr-defined` violation, but going via `values_list` appears to work
fine, and chaining apparently doesn't work very well - but it still
seems a little better than what we had beforehand.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2675
commit a20451cfc56aae934e3fd074d9251f7e0469ed77
Merge: 88fd52883 5965858b9
Author: Enrico Zini <enrico@debian.org>
Date: Mon Feb 2 13:52:55 2026 +0000
Added initial blueprint for the first tag-based scheduling iteration (#326) (MR !2645)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2645
commit 88fd528831ba939be3bb614e2c9ddf0ffd86520b
Merge: 8350ca9e3 fc40c4c93
Author: Enrico Zini <enrico@debian.org>
Date: Mon Feb 2 13:14:04 2026 +0000
web: avoid stray blank lines when copying logs with sections (MR !2677)
Follow-up to !2587.
Section headers were already excluded from copied text, but still caused stray\
blank lines because they participated in layout. make section headers layout-\
neutral while preserving their visual appearance, so copied log text is\
faithful to the underlying content.
Closes #1281.
Closes #1281
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2677
commit 5965858b90ed7712f2b835056ab3e385f4ba7712
Author: Enrico Zini <enrico@enricozini.org>
Date: Thu Jan 22 18:06:26 2026 +0100
Added blueprint for introducing tag-based scheduling
commit fc40c4c933fbb8cbfffd889930ccf6e2bc443861
Author: Ayush Sharma <ayushhardeniya.grid@gmail.com>
Date: Mon Feb 2 10:48:13 2026 +0000
web: prevent section titles from being selectable
commit 680cf293784d6023ec7e743fe6d0a6a91976f526
Author: Ayush Sharma <ayushhardeniya.grid@gmail.com>
Date: Fri Jan 30 20:42:16 2026 +0000
web: avoid stray blank lines when copying logs with sections
commit 6c58214221b20e6bb3ae0f1369d677cea0090bf8
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Jan 30 17:02:23 2026 +0000
ci: Use lintian from forky
We've had a new warning since 7f58dde471948d110cfec9eaccc4e4078e7d5995.
It makes sense to use the version of `lintian` in testing for packages
intended to land first in unstable.
commit 8350ca9e35fa8bc0acb4305a7afa0b731df8d9b0
Merge: 679a761f6 6e0bde2e0
Author: Stefano Rivera <stefanor@debian.org>
Date: Fri Jan 30 15:51:29 2026 +0000
Release 0.14.4 (MR !2673)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2673
commit e4f9a827b2b82150462ae9efa2a04e6b066641ca
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Jan 30 14:24:03 2026 +0000
Upgrade to mypy 1.19.1
This requires django-stubs >= 5.2.8, which technically doesn't support
Django 4.2, and so I'd put off this upgrade. However, it does in fact
turn out to work without too much trouble, and mostly seems like an
improvement.
`django_stubs_ext.WithAnnotations` no longer causes mypy to crash, so
I've used it to improve type annotations for custom `QuerySet` methods
that return annotated queries. The result is a little weird - simply
getting an annotated field from a model instance results in an
`attr-defined` violation, but going via `values_list` appears to work
fine, and chaining apparently doesn't work very well - but it still
seems a little better than what we had beforehand.
commit 679a761f65297b84842f188f4945bfb074847073
Merge: 71f9d8059 b3344dab8
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Jan 30 14:23:51 2026 +0000
Validate news fragments (MR !2671)
Run `towncrier build` before building documentation, which has the
effect of catching any syntax or hyperlinking errors in news fragments.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2671
commit b3344dab8c8f90d658b7b9c0e851956c7caacce1
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jan 29 17:18:27 2026 +0000
Validate news fragments
Run `towncrier build` before building documentation, which has the
effect of catching any syntax or hyperlinking errors in news fragments.
Automatic checks made by the Debian l10n team found some issues with the translations contained in this package. You should check the l10n status report for more information.
Issues can be things such as missing translations, problematic translated strings, outdated PO files, unknown languages, etc.