vcswatch reports that
this package seems to have new commits in its VCS but has
not yet updated debian/changelog. You should consider updating
the Debian changelog and uploading this new version into the archive.
Here are the relevant commit logs:
commit b6313df94f0a66884f1caff19e2a185f9e74f292
Merge: 6ff1822cc bcb242e6a
Author: Enrico Zini <enrico@debian.org>
Date: Tue Jan 20 08:48:34 2026 +0000
Convert archive views to BaseUIView (fixes #1262) (MR !2589)
Closes #1262
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2589
commit 6ff1822cc82cd103545d3289825e639f96034339
Merge: 0da8677a6 14d54cd78
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Jan 19 21:37:40 2026 +0000
Port away from remaining Pydantic v1 methods (MR !2623)
Fixes: #1261
Closes #1261
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2623
commit 14d54cd78d59646e868bd8677a020fd5a8482035
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Jan 19 15:23:49 2026 +0000
Port away from deprecated BaseModel.__fields_set__
commit b076cd21dcc4c1be72460618a07b0d648a4b7c9e
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Jan 19 11:02:51 2026 +0000
Port away from deprecated BaseModel.update_forward_refs
commit deae1c6ee7afe1f80a8feeaa1a4ff5b55fa12029
Author: Colin Watson <cjwatson@debian.org>
Date: Sun Jan 18 15:39:21 2026 +0000
Port away from deprecated BaseModel.parse_raw
commit 79c9f00986e8aeed8e03cd43a62a481162711980
Author: Colin Watson <cjwatson@debian.org>
Date: Sun Jan 18 15:36:15 2026 +0000
Port away from deprecated BaseModel.json
commit a341f0ca84dd72a336e38ff932ff51d2f7d163fa
Author: Colin Watson <cjwatson@debian.org>
Date: Sun Jan 18 15:32:31 2026 +0000
Port away from deprecated BaseModel.copy
commit 0da8677a6940101ef4d349a3e9129ac80e2fc47c
Merge: bedfdc787 a9519f7a9
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Jan 19 17:06:42 2026 +0000
Fix flaky test_create_work_request_empty_task_data (MR !2622)
Hardcoding artifact IDs in tests sometimes breaks depending on what
other tests have run in the same session.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2622
commit bcb242e6a747b5238d06a02d5260fb7c69ecbfb8
Author: Enrico Zini <enrico@enricozini.org>
Date: Wed Jan 14 13:21:41 2026 +0100
Convert archive views to BaseUIView
commit bedfdc787d89fa9f77b0807a24eb8aed711fc083
Merge: a910cbcb4 d0a2888aa
Author: Carles Pina i Estany <carles@pina.cat>
Date: Mon Jan 19 16:22:41 2026 +0000
DebDiffViewWorkRequestPlugin: shorten description (related #1177) (MR !2595)
DebDiffViewWorkRequestPlugin: handle case where dynamic_data does not have source/binary artifact information
Closes #1177
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2595
commit d0a2888aadb84a1ce76c41540d9231db1556446a
Author: Carles Pina i Estany <carles@pina.cat>
Date: Mon Jan 19 16:22:41 2026 +0000
DebDiffWorkRequestPlugin: generate shorter description
Related #1177
commit a910cbcb4e61ebe354b7b1dd7076254e08481f1c
Merge: dde4c9868 6aaa32f66
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Jan 19 15:51:00 2026 +0000
Port away from deprecated BaseModel.dict (round 2) (MR !2621)
I somehow missed these in !2618, perhaps due to a `git rebase` accident.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2621
commit a9519f7a94352a88149403491138d0fb9e55ba5c
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Jan 19 15:35:31 2026 +0000
Fix flaky test_create_work_request_empty_task_data
Hardcoding artifact IDs in tests sometimes breaks depending on what
other tests have run in the same session.
commit 6aaa32f66a30932a1e11eedf767727eec76f2436
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Jan 19 15:22:04 2026 +0000
Port away from deprecated BaseModel.dict (round 2)
I somehow missed these in !2618, perhaps due to a `git rebase` accident.
commit dde4c9868a90b8aca569aeb5c7976b2738b74efa
Merge: 0b222db84 66a3f03dd
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Jan 19 15:05:03 2026 +0000
Port away from deprecated BaseModel.parse_obj (round 2) (MR !2619)
I somehow missed these in !2617, perhaps due to a `git rebase` accident.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2619
commit 0b222db8446993a510537ee3d441ec146ce76e7d
Merge: 51dead2d8 b94e4c56c
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Jan 19 15:03:36 2026 +0000
Port away from deprecated BaseModel.dict (MR !2618)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2618
commit 66a3f03dd285c12a37a3161dcca566da37a3c3d2
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Jan 19 13:07:14 2026 +0000
Port away from deprecated BaseModel.parse_obj (round 2)
I somehow missed these in !2617, perhaps due to a `git rebase` accident.
commit 51dead2d8d53c318a6877bf9d0ae6937919c0276
Merge: 53c0b8726 8d502fb26
Author: Carles Pina i Estany <carles@pina.cat>
Date: Mon Jan 19 12:33:23 2026 +0000
Fix Autopkgtest log rendering of line numbers (fixes #1280) (MR !2616)
fixes #1280
Closes #1280
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2616
commit b94e4c56c06fe0e8db158c9182d1ad73450707d7
Author: Colin Watson <cjwatson@debian.org>
Date: Sun Jan 18 15:28:32 2026 +0000
Port away from deprecated BaseModel.dict
commit 53c0b8726adad5181145333d80836302dc51d87e
Merge: 10a8900e1 e5dcac77c
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Jan 19 12:27:31 2026 +0000
Port away from deprecated BaseModel.parse_obj (MR !2617)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2617
commit 10a8900e1447ff07d74167cbb772f423c21258f6
Merge: ac90864b5 c1abb0cba
Author: Carles Pina i Estany <carles@pina.cat>
Date: Mon Jan 19 12:06:40 2026 +0000
Fix text/log files longer than 10000 lines (fixes #1248) (MR !2587)
Closes #1248
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2587
commit c1abb0cba3f7a2f8d876e84ed164a8f0edcf2e7e
Author: Carles Pina i Estany <carles@pina.cat>
Date: Mon Jan 19 12:06:40 2026 +0000
File{Text,Log}Widget: fix in Firefox if file has more than 10,000. Improve performance.
Avoid CSS grid to layout the file
commit ac90864b5fd30fd7780e8bfb9d02a193cffbbb0f
Merge: 07cf306d5 fe0b57d14
Author: Stefano Rivera <stefanor@debian.org>
Date: Mon Jan 19 12:05:03 2026 +0000
Run piuparts with the standard /etc/piuparts/scripts scripts (MR !2605)
Excluding `pre_remove_50_find_bad_permissions` to avoid https://bugs.debian.org/1125784
Fixes: #1268
Closes #1268
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2605
commit 8d502fb260ddbbf23caed9ca03ad790a8c69a226
Author: Carles Pina i Estany <carles@pina.cat>
Date: Mon Jan 19 11:08:11 2026 +0100
RenderedSection: make "content" field a SafeString
fixes #1280
commit e5dcac77c19c5aa42ae352ef90e90adf51502723
Author: Colin Watson <cjwatson@debian.org>
Date: Sun Jan 18 14:58:14 2026 +0000
Port away from deprecated BaseModel.parse_obj
commit 8a68df4079ee751b999834d57ad7c6c38e163e59
Author: Carles Pina i Estany <carles@pina.cat>
Date: Mon Jan 19 10:54:33 2026 +0100
AutopkgtestArtifactPluginTests.test_get_context_data: add assertion line number rendering
commit 07cf306d5d775ce64a8795f95553b1514b85d0f8
Merge: 6ee5b9b3c 73490e0bf
Author: Enrico Zini <enrico@debian.org>
Date: Mon Jan 19 08:39:38 2026 +0000
Serve archive views in playground hosts (fixes #1265) (MR !2594)
Closes #1265
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2594
commit 73490e0bf02de60260dfaf2a6ff5c466a3e568ef
Author: Enrico Zini <enrico@enricozini.org>
Date: Fri Jan 16 09:22:25 2026 +0100
Get a cert for deb. and configure nginx to serve it
commit 68f4950d56f13a966c51ed3f6db718df8c331f9c
Author: Enrico Zini <enrico@enricozini.org>
Date: Thu Jan 15 12:33:30 2026 +0100
Make sure playground VMs have a deb. subdomain
commit 6ee5b9b3cf4ca0792e4190b768458f172fb3c49c
Merge: 1a77c0154 bb8cd857f
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Jan 19 03:09:24 2026 +0000
Port away from `model_to_json_serializable_*` (MR !2615)
`{BaseModel,RootModel}.model_dump(mode="json")` do the job with Pydantic v2, and are less typing.
Part of #1261.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2615
commit 1a77c015485d929c185f5e4250135933ed1671e0
Merge: ead1ad6c9 bbc5ac3bd
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Jan 19 03:08:56 2026 +0000
Port away from deprecated LookupMultiple.parse_obj (MR !2613)
This is long, but it's all the same kind of change. The only difference
is whether we use plain `LookupMultiple(...)` (which I preferred if the
argument could easily be made into a tuple without increasing
indentation levels) or `LookupMultiple.model_validate(...)` (for
anything more complicated).
I also got rid of `empty_lookup_multiple()`, since `LookupMultiple(())`
is shorter.
Part of #1261.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2613
commit ead1ad6c97e1297e0f23e419edc22cc81220da6e
Merge: 7e62cc0fd 46113604e
Author: Colin Watson <cjwatson@debian.org>
Date: Mon Jan 19 03:08:06 2026 +0000
Add support for Python 3.14 (MR !2614)
Fixes: #1277
Closes #1277
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2614
commit 7e62cc0fdaf58249a26d0464665f3fdaa3933bcb
Merge: 66623f13a efe4f1a5a
Author: Stefano Rivera <stefanor@debian.org>
Date: Mon Jan 19 01:17:21 2026 +0000
Ignore previous instance work requests in idle_time calculations (MR !2608)
This should stop the provisioner from immediately killing workers for being idle, seconds after launching them.
Part of: #1203
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2608
commit bb8cd857f0583f6c01481dc9a543ff35211c6060
Author: Colin Watson <cjwatson@debian.org>
Date: Sun Jan 18 15:21:06 2026 +0000
Port away from model_to_json_serializable_dict
commit 37bd73240784ad70d791751d26f523b55b7a530a
Author: Colin Watson <cjwatson@debian.org>
Date: Sun Jan 18 15:03:36 2026 +0000
Port away from model_to_json_serializable_list
commit 46113604e486c638048c197459bdaf759e806fef
Author: Colin Watson <cjwatson@debian.org>
Date: Sun Jan 18 22:46:43 2026 +0000
Announce Python 3.14 support
commit 1960a5fbdc1fe7312f5823623431f9e0b92fc537
Author: Colin Watson <cjwatson@debian.org>
Date: Sun Jan 18 22:42:01 2026 +0000
Switch `PackageUpload` tests from multiprocessing to threading
These tests previously failed on Python 3.14 because `multiprocessing`
changed its start method to `forkserver`, which confused the
arrangements to skip some tests under `multiprocessing`. Instead of
extending those arrangements, rework the fake FTP and SFTP servers to
use threading, avoiding the problem.
Fixes: #1277
commit b1bc35c94eb5451eea1f21d59c3cc1d18b547682
Author: Colin Watson <cjwatson@debian.org>
Date: Sun Jan 18 22:38:49 2026 +0000
Fix worker tests for Python 3.14
The changes in Python 3.14 to defer evaluation of annotations
(https://docs.python.org/3/whatsnew/3.14.html#whatsnew314-deferred-annotations)
mean that when `MainTests.setUp` patches `ConfigHandler`, that patch
also ends up being used to evaluate the annotation on one of
`Worker.__init__`'s arguments when we try to autospec `Worker`, and that
doesn't work. The autospec isn't all that important here, so just drop
it.
commit bbc5ac3bd2986549d11559248065526743ce8292
Author: Colin Watson <cjwatson@debian.org>
Date: Sun Jan 18 22:34:22 2026 +0000
Port away from deprecated LookupMultiple.parse_obj
This is long, but it's all the same kind of change. The only difference
is whether we use plain `LookupMultiple(...)` (which I preferred if the
argument could easily be made into a tuple without increasing
indentation levels) or `LookupMultiple.model_validate(...)` (for
anything more complicated).
I also got rid of `empty_lookup_multiple()`, since `LookupMultiple(())`
is shorter.
Part of #1261.
commit 66623f13a68df4d331389cd2b5b46645d44e037b
Merge: 3f829d65e 140f4b4ce
Author: Colin Watson <cjwatson@debian.org>
Date: Sun Jan 18 21:51:31 2026 +0000
Port remaining models to Pydantic 2 (MR !2612)
Since many of these reference each other and it isn't possible to mix
Pydantic v1 and v2 models, they all have to be done together.
This leaves a large number of deprecation warnings, but those can be
handled separately.
Part of #1261.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2612
commit 140f4b4cee4aebc92ebe270f3f6b522241ec92d2
Author: Colin Watson <cjwatson@debian.org>
Date: Sun Jan 18 13:37:24 2026 +0000
Port remaining models to Pydantic 2
Since many of these reference each other and it isn't possible to mix
Pydantic v1 and v2 models, they all have to be done together.
This leaves a large number of deprecation warnings, but those can be
handled separately.
Part of #1261.
commit 3f829d65eac3b8c8c60203d36d0b31c4dc5a276e
Merge: 242a546bc 429f049a5
Author: Colin Watson <cjwatson@debian.org>
Date: Sun Jan 18 13:30:46 2026 +0000
Limit number of workers used by unit-tests-server (MR !2611)
Our autopkgtests fail on a riscv64 host with 64 cores, in a way that
suggests PostgreSQL's default configuration needs some tuning for that
environment. I don't think we want to get into detailed PostgreSQL
tuning in our autopkgtests though, so just limit the number of test
worker processes we use instead.
Closes: #1125791
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2611
commit 242a546bc3cbf073e9e587cbef3e0f2e14b560d4
Merge: 0c5ce1861 b9de6def8
Author: Colin Watson <cjwatson@debian.org>
Date: Sun Jan 18 13:01:37 2026 +0000
Fix various mistakes in Pydantic models and their tests (MR !2610)
These don't matter with Pydantic v1, but will be a problem with Pydantic v2 (#1261).
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2610
commit 429f049a595706b1ff63abf68131a626c03ae332
Author: Colin Watson <cjwatson@debian.org>
Date: Sun Jan 18 12:56:47 2026 +0000
Limit number of workers used by unit-tests-server
Our autopkgtests fail on a riscv64 host with 64 cores, in a way that
suggests PostgreSQL's default configuration needs some tuning for that
environment. I don't think we want to get into detailed PostgreSQL
tuning in our autopkgtests though, so just limit the number of test
worker processes we use instead.
Closes: #1125791
commit b9de6def842a6d901df9c5ecdcb737659dcbda5f
Author: Colin Watson <cjwatson@debian.org>
Date: Sun Jan 18 10:57:18 2026 +0000
Fix a DebDiffDynamicData test
`input_binary_artifacts_ids` should be `[list of original binaries, list
of new binaries]`.
commit 86ae9a3e41025b0dff6c094ba59ff94a0ac1016f
Author: Colin Watson <cjwatson@debian.org>
Date: Sun Jan 18 10:55:57 2026 +0000
Fix type for {DebsignData,SignData}.key in tests
It's a fingerprint, not a key ID.
commit 0c5ce18610bd58c2ceba24c0d89904edb6824103
Merge: 40dbd4af3 3e9207eab
Author: Stefano Rivera <stefanor@debian.org>
Date: Sun Jan 18 10:54:38 2026 +0000
Incorporate a forgotten news fragment into the 0.13.0 changelog (MR !2609)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2609
commit 5ef5a71dd3d65fabd100d9d93188092bb643778e
Author: Colin Watson <cjwatson@debian.org>
Date: Sun Jan 18 10:49:48 2026 +0000
Change WorkRequestResponse.duration to a float
This matches `WorkRequest.duration`. Pydantic 1 automatically casts (in
such a way that a newer server version returning a float should work
with older client versions), but Pydantic 2 doesn't:
https://docs.pydantic.dev/dev/migration/#type-conversion-from-floats-to-integers
commit 24e609534135f3861f9c737b47d2f6fb809cd2c3
Author: Colin Watson <cjwatson@debian.org>
Date: Sun Jan 18 10:46:45 2026 +0000
Fix type for DebianSystemTarball.pkglist in tests
The model says it's a dict, not a list.
commit fc538a9cf8fedfe2dfb798167996ae839fd044ee
Author: Colin Watson <cjwatson@debian.org>
Date: Sun Jan 18 10:43:34 2026 +0000
Fix type errors in LocalArtifact validator tests
commit 3e9207eab1eecc45ca8aae3bc73bcf29b41f0eec
Author: Stefano Rivera <stefano@freexian.com>
Date: Sat Jan 17 19:20:22 2026 -0400
Incorporate a forgotten news fragment into the 0.13.0 changelog
commit 40dbd4af3609ff7f93c58aa84b85fb4aaf37b350
Merge: fb1637de2 775bd21f2
Author: Stefano Rivera <stefanor@debian.org>
Date: Sat Jan 17 23:10:50 2026 +0000
Prune the empty dist-packages directory from debusine-client (MR !2607)
I: debusine-client: package-contains-empty-directory [usr/lib/python3/dist-packages/]
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2607
commit fb1637de2c217dbb4e8d8bd31758a05e2f743741
Merge: a64284b59 23ef6357c
Author: Stefano Rivera <stefanor@debian.org>
Date: Sat Jan 17 23:05:54 2026 +0000
Gracefully handle emit_metric HTTP failures (MR !2604)
We wouldn't want to abandon our task due to failed metric reporting.
Just log the issue and move on.
The scheduler is completely broken in a simple local development setting without this, as it expects to be able to emit metrics to a trusted https endpoint.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2604
commit efe4f1a5a62095d4b0a96515eb6332e6ad8ea5a7
Author: Stefano Rivera <stefano@freexian.com>
Date: Sat Jan 17 18:57:13 2026 -0400
Ignore previous instance work requests in idle_time calculations
This should stop the provisioner from immediately killing workers for
being idle, seconds after launching them.
Part of: #1203
commit a64284b59cd4e71e0fba2d90c1da39c5a7492607
Merge: 23d789668 71b9899b0
Author: Colin Watson <cjwatson@debian.org>
Date: Sat Jan 17 22:57:04 2026 +0000
Port FileBackendConfiguration to Pydantic 2 (MR !2602)
Part of #1261.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2602
commit 23d789668f555c4191b2717dd55dade32f0982b4
Merge: e8a314bad dae86119c
Author: Colin Watson <cjwatson@debian.org>
Date: Sat Jan 17 22:56:46 2026 +0000
Port protected key models to Pydantic 2 (MR !2601)
I wanted to use Pydantic's built-in support for base64 encoding, but on
closer inspection neither `pydantic.Base64Bytes` nor
`pydantic.Base64Str` was quite right; the former takes bytes and encodes
them as bytes, while the latter takes text and encodes it as text,
whereas in this case we need to take bytes and encode them as text for
JSON-safety. After a bit of experimentation I found a way to do this by
annotating `pydantic.Base64Bytes` with an extra validator and
serializer; the data still has to be manually encoded when creating a
model, but it then gets transparently decoded when reading the
corresponding fields.
Part of #1261.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2601
commit e8a314bad34dee6cc83245586aa6212b120bb4d9
Merge: 64379d0b5 1fe9327da
Author: Colin Watson <cjwatson@debian.org>
Date: Sat Jan 17 22:56:24 2026 +0000
Port server status models to Pydantic 2 (MR !2603)
Part of #1261.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2603
commit 775bd21f20275e963cfc2e895f0db97f8fe1c372
Author: Stefano Rivera <stefano@freexian.com>
Date: Sat Jan 17 18:07:44 2026 -0400
Prune the empty dist-packages directory from debusine-client
I: debusine-client: package-contains-empty-directory [usr/lib/python3/dist-packages/]
commit fe0b57d14a34442610dc27bff91b214ae44431fc
Author: Stefano Rivera <stefano@freexian.com>
Date: Sat Jan 17 14:15:36 2026 -0400
Install passwd in piuparts runs to avoid https://bugs.debian.org/1125789
commit 797d6d5185b3b2a9e875a68859201b74c417127a
Author: Stefano Rivera <stefano@freexian.com>
Date: Sat Jan 17 12:16:42 2026 -0400
Skip pre_remove_50_find_bad_permissions to avoid https://bugs.debian.org/1125784
commit 4c0e48559e2ffc5f6b3b5a4434d107a7341bb3bc
Author: Stefano Rivera <stefano@freexian.com>
Date: Sat Jan 17 12:10:45 2026 -0400
Run piuaparts with the standard /etc/piuparts/scripts scripts.
Fixes: #1268
commit c415c1fda9a4e76deba8c1deae3335526f34a306
Author: Stefano Rivera <stefano@freexian.com>
Date: Sat Jan 17 11:02:51 2026 -0400
Restructure _prepare_scripts to always execute
And rename post_chroot_unpack_debusine, as it's specifically about
configuring extra repositories.
commit 23ef6357c2861ea099e4cb7969b6c7242afc8b39
Author: Stefano Rivera <stefano@freexian.com>
Date: Sat Jan 17 10:20:12 2026 -0400
Gracefully handle emit_metric HTTP failures
We wouldn't want to abandon our task due to failed metric reporting.
Just log the issue and move on.
commit c02ea9bb55560c2ab71d3499d67a74a1abe32cb3
Author: Stefano Rivera <stefano@freexian.com>
Date: Sat Jan 17 10:04:08 2026 -0400
Flesh out test coverage in test_metrics
commit 64379d0b58842084a13c0f812790b0a34874f133
Merge: e671c4fce b31f6d442
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Jan 16 15:54:30 2026 +0000
Port group audit log entry models to Pydantic 2 (MR !2600)
Part of #1261.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2600
commit e671c4fcedd7880a0e9da70fb0e0737be90b535a
Merge: fc9bf5a88 ab9829e37
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Jan 16 15:47:10 2026 +0000
Port models in debusine.web to Pydantic 2 (MR !2599)
Part of #1261.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2599
commit b31f6d442c95f07e9294ee90f6dbbd6e2fe16320
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Jan 16 10:40:45 2026 +0000
Port group audit log entry models to Pydantic 2
Part of #1261.
commit ab9829e37f49350bec3669923ba9806bf280a2ca
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Jan 16 10:32:28 2026 +0000
Port models in debusine.web to Pydantic 2
Part of #1261.
commit 1fe9327da3ec53c90a6cef5f09dc20cb94b608c9
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Jan 16 12:17:18 2026 +0000
Port server status models to Pydantic 2
Part of #1261.
commit 71b9899b018e803c2209f270373b7f22505bd40e
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Jan 16 11:20:44 2026 +0000
Port FileBackendConfiguration to Pydantic 2
Part of #1261.
commit dae86119c4ff5ef783a24c100583018930f8892f
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Jan 16 10:54:31 2026 +0000
Port protected key models to Pydantic 2
I wanted to use Pydantic's built-in support for base64 encoding, but on
closer inspection neither `pydantic.Base64Bytes` nor
`pydantic.Base64Str` was quite right; the former takes bytes and encodes
them as bytes, while the latter takes text and encodes it as text,
whereas in this case we need to take bytes and encode them as text for
JSON-safety. After a bit of experimentation I found a way to do this by
annotating `pydantic.Base64Bytes` with an extra validator and
serializer; the data still has to be manually encoded when creating a
model, but it then gets transparently decoded when reading the
corresponding fields.
Part of #1261.
commit fc9bf5a880ae8d7889124245000c89b4ffdcf70a
Merge: b8f78b9a1 20cb8844d
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Jan 16 10:11:21 2026 +0000
Port worker pool models to Pydantic 2 (MR !2597)
Part of #1261.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2597
commit b8f78b9a1c3693e727f293cbde38bee8d6617d80
Merge: bcbd4aa3c 4f4060403
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Jan 16 10:11:06 2026 +0000
Avoid nesting BaseAssetDataModel in other Pydantic models (MR !2596)
As documented in
https://docs.pydantic.dev/latest/concepts/serialization/#subclasses-of-model-like-types,
Pydantic 2 changes the behaviour of recursive model serialization:
annotating a field's type as a base class now means that only fields in
the base class are included in the serialized result, which in the case
of `AssetCreateRequest` and `AssetResponse` meant that the `data` field
was always serialized as an empty dictionary.
Bring this into line with other client models and declare such fields as
a dictionary instead, although we do still validate it against the data
model for the appropriate asset category.
Part of #1261.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2596
commit bcbd4aa3c5a61c391ab201f6cd55075de71b7202
Merge: ca02d7ed4 b835c4327
Author: Enrico Zini <enrico@debian.org>
Date: Fri Jan 16 09:39:13 2026 +0000
Moved handling tokens sent as basic auth credentials to Debusine's AuthorizationMiddleware (#1262) (MR !2586)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2586
commit b835c43274808bd5a9636c7a9356f77d77bdaa52
Author: Enrico Zini <enrico@enricozini.org>
Date: Tue Jan 13 16:14:48 2026 +0100
Moved handling tokens sent as basic auth credentials to Debusine's AuthorizationMiddleware
commit b31d2f40bdf06620e6f35eb001c285ffdc57cd3a
Author: Enrico Zini <enrico@enricozini.org>
Date: Tue Jan 13 14:01:33 2026 +0100
Determine if we are serving an archive view only once, and store it in the request
commit 4a9712099d3cfd3c6bffeaef3c128ec96960b9df
Author: Enrico Zini <enrico@enricozini.org>
Date: Tue Jan 13 13:53:17 2026 +0100
Use DEBUSINE_DEBIAN_ARCHIVE_PRIMARY_FQDN instead of inferring from DEBUSINE_DEBIAN_ARCHIVE_FQDN
commit ca02d7ed4fafaa51740afaf27893ce03e0b554a4
Merge: 845db739f 3e3e612ca
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Jan 16 00:55:48 2026 +0000
Fix news fragment name (MR !2598)
It's only an empty placeholder since the issue was a regression
introduced after the most recent release, but I somehow managed both to
use the number of a related merge request instead of the issue number
_and_ to forget the `.rst` suffix.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2598
commit 3e3e612ca51cde21afe1e7491f7d1b7b7de70c72
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jan 15 16:41:54 2026 +0000
Fix news fragment name
It's only an empty placeholder since the issue was a regression
introduced after the most recent release, but I somehow managed both to
use the number of a related merge request instead of the issue number
_and_ to forget the `.rst` suffix.
commit 20cb8844d16a3e32d8ba62877f9002a264bc9709
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jan 15 16:25:56 2026 +0000
Port worker pool models to Pydantic 2
Part of #1261.
commit 845db739f872faac545caaaf7e902a42f0c1a9db
Merge: 59d5b22e5 ff9ddb39f
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jan 15 14:45:45 2026 +0000
Update Salsa login warning text to include Debian Maintainers (MR !2592)
Update the login warning message to include Debian Maintainers,
aligning the interface with the changes implemented in !2029
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2592
commit 4f40604036e5c85e1afb09b487de33d6694c1896
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jan 15 14:27:25 2026 +0000
Avoid nesting BaseAssetDataModel in other Pydantic models
As documented in
https://docs.pydantic.dev/latest/concepts/serialization/#subclasses-of-model-like-types,
Pydantic 2 changes the behaviour of recursive model serialization:
annotating a field's type as a base class now means that only fields in
the base class are included in the serialized result, which in the case
of `AssetCreateRequest` and `AssetResponse` meant that the `data` field
was always serialized as an empty dictionary.
Bring this into line with other client models and declare such fields as
a dictionary instead, although we do still validate it against the data
model for the appropriate asset category.
Part of #1261.
commit ff9ddb39f18be8ee3f3ae9d7ede77bf5a8a99aff
Author: Matheus Polkorny <mpolkorny@ipt.br>
Date: Thu Jan 15 02:09:20 2026 -0300
Update Salsa login warning text to include Debian Maintainers
commit 59d5b22e5e2150237804f43fb117731e99ca6414
Merge: 81341b2d7 a903d3de4
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jan 15 12:36:39 2026 +0000
Fix mypy for prometheus-client >= 0.24.0 (MR !2593)
Noticed in https://salsa.debian.org/polkorny/debusine/-/jobs/8890207.
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2593
commit a903d3de4abb34566a179c25a312dd1451db4edb
Author: Colin Watson <cjwatson@debian.org>
Date: Thu Jan 15 11:12:57 2026 +0000
Fix mypy for prometheus-client >= 0.24.0
Noticed in https://salsa.debian.org/polkorny/debusine/-/jobs/8890207.
commit 81341b2d7afe04d40df417edb85746cf474379a5
Merge: f68f72344 b1896c2d4
Author: Stefano Rivera <stefanor@debian.org>
Date: Wed Jan 14 23:35:50 2026 +0000
APTMirror: Only look for the target suite in the task's workspace (MR !2591)
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2591
commit b1896c2d49f5a025e33f13ffd10710690e60c1cd
Author: Stefano Rivera <stefano@freexian.com>
Date: Wed Jan 14 17:31:39 2026 -0400
APTMirror: Only look for the target suite in the task's workspace
commit f68f7234433d888fb475d456ccd20b3673b29ff9
Merge: d75c794bf 5328b0e87
Author: Enrico Zini <enrico@debian.org>
Date: Wed Jan 14 15:43:20 2026 +0000
Support multiple OR-ed groups in signon group: restriction. Fixes: #1091 (MR !2584)
Closes #1091
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2584
commit d75c794bfd5a448a0ac073f1968aa34a828fddf1
Merge: 1baf02f7a 88e95bcee
Author: Colin Watson <cjwatson@debian.org>
Date: Wed Jan 14 09:34:11 2026 +0000
Validate LocalArtifact instances on model construction (MR !2588)
Instead of constructing a basic Pydantic model and then adding files to
it which might require separate validation, we now do everything
up-front. This will be easier to port to Pydantic 2 (#1261).
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2588
commit 88e95bcee0170948fc1d7330eea119864012e87d
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Jan 13 16:48:14 2026 +0000
Validate LocalArtifact instances on model construction
Instead of constructing a basic Pydantic model and then adding files to
it which might require separate validation, we now do everything
up-front. This will be easier to port to Pydantic 2 (#1261).
commit a9cca12026acd27bc4ac533dfcaf983c4b83e31b
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Jan 13 14:57:54 2026 +0000
Specify files when creating LocalArtifact instances
This is a step towards having all the files be known when the Pydantic
model is constructed, which will simplify validation. We aren't quite
there yet, but as of this commit we always validate the Pydantic model
after adding all the files; this exposed a few tests that were creating
invalid artifacts and need to be a bit more careful.
commit 6676574e2c9a022b15ab63d225447d289ff6e81a
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Jan 13 16:58:04 2026 +0000
Fix typo in validation error message
commit 4f7ed7cb8b1d812e80017364987976dc2f6f450d
Author: Colin Watson <cjwatson@debian.org>
Date: Tue Jan 13 14:30:21 2026 +0000
Remove exclude_files parameter to Upload.create
It hasn't been used outside tests since
9873512f09da393dfda595853768f682208a6d55.
commit 1baf02f7ab6f43c36d633762c666d2264d16bb82
Merge: 2dfaa38bd f586b3553
Author: Enrico Zini <enrico@debian.org>
Date: Tue Jan 13 13:53:13 2026 +0000
Do not use os.path to manipulate URLs. Fixes: #1253 (MR !2578)
Closes #1253
Merge-Request: https://salsa.debian.org/freexian-team/debusine/-/merge_requests/2578
commit f586b35533150151a42a7170b6456a89ee3a1bfe
Author: Enrico Zini <enrico@enricozini.org>
Date: Tue Jan 13 10:00:53 2026 +0100
Present URLPath as a read-only sequence of str
commit 5328b0e87027695ed37b35710bcfcc21f8595611
Author: Enrico Zini <enrico@enricozini.org>
Date: Tue Jan 13 11:01:38 2026 +0100
Document the change
commit 214f0df1cbcbf88b30b4c5a181f9c4be338cb053
Author: Enrico Zini <enrico@enricozini.org>
Date: Tue Jan 13 10:57:39 2026 +0100
Support multiple OR-ed groups in signon group: restriction. Fixes: #1091
commit fb79ed75e30c7fc0b4990b44427ec7ca25298453
Author: Enrico Zini <enrico@enricozini.org>
Date: Tue Jan 13 09:39:46 2026 +0100
Allow to add strings to URLPath, transparently generating URLPath objects from them
commit f2e6ab2d479fb9098f732fe38467be384f7c10da
Author: Enrico Zini <enrico@enricozini.org>
Date: Tue Jan 13 09:30:36 2026 +0100
Provide an alternative to os.path to manipulate URLs.
commit b618940c96faaf5d36f2dc5e1edc5f1cc725a65f
Author: Enrico Zini <enrico@enricozini.org>
Date: Mon Jan 12 09:36:04 2026 +0100
Use Path for create_temp_config_directory