-
d672388f63
Release version 7.2.0
main
v7.2.0
Kevin Veen-Birkenbach
2026-11-03 21:40:41 +01:00
-
5817078643
feat(seed): read the database password from stdin with --password-stdin

Kevin Veen-BirkenbachandClaude Opus 5.5
2026-11-03 21:34:46 +01:00
-
4214d3709a
build(deps-dev): bump ruff from 0.17.1 to 0.17.3 (#13)
dependabot[bot]
2026-10-31 03:03:46 +00:00
-
4c51da009c
build(deps-dev): bump ruff from 0.16.7 to 0.17.1 (#12)
dependabot[bot]
2026-10-24 00:45:16 +00:00
-
b43177f0e7
Release version 7.1.2
v7.1.2
Kevin Veen-Birkenbach
2026-10-18 00:43:44 +02:00
-
0735e5fa7b
fix(backup): mount the zfs snapshot itself so a container can read it

Kevin Veen-BirkenbachandClaude Opus 5.5
2026-10-18 00:22:42 +02:00
-
389b418f42
Release version 7.1.1
v7.1.1
Kevin Veen-Birkenbach
2026-10-17 23:31:28 +02:00
-
948b8347f4
fix(test): wait for MariaDB with the root password, not the init window

Kevin Veen-BirkenbachandClaude Opus 5.5
2026-10-17 23:28:41 +02:00
-
f824fabea1
Release version 7.1.0
v7.1.0
Kevin Veen-Birkenbach
2026-10-17 22:35:15 +02:00
-
07d819cb41
fix(backup): carry extended attributes, ACLs and hardlinks into a generation

Kevin Veen-BirkenbachandClaude Opus 5
2026-10-17 22:28:13 +02:00
-
022b096617
Release version 7.0.2
v7.0.2
latest
Kevin Veen-Birkenbach
2026-09-23 15:36:18 +02:00
-
161db213cb
fix(backup): let the stopped copy replace a failed live pre-copy

Kevin Veen-BirkenbachandClaude Opus 5.5
2026-09-23 15:34:19 +02:00
-
9d4cc24a59
build(deps-dev): bump ruff from 0.16.6 to 0.16.7 (#7)
dependabot[bot]
2026-09-19 00:59:45 +00:00
-
5bf6bc2afe
build(deps-dev): bump ruff from 0.16.5 to 0.16.6 (#6)
dependabot[bot]
2026-09-12 00:42:58 +00:00
-
4b47ceab30
build(deps-dev): bump ruff from 0.16.4 to 0.16.5 (#5)
dependabot[bot]
2026-09-05 00:48:55 +00:00
-
a139f0faa1
build(deps-dev): bump ruff from 0.16.3 to 0.16.4 (#4)
dependabot[bot]
2026-08-29 00:43:48 +00:00
-
b6ed45770b
build(deps-dev): bump ruff from 0.16.1 to 0.16.3 (#3)
dependabot[bot]
2026-08-22 01:03:10 +00:00
-
44b1f16f7c
Release version 7.0.1
v7.0.1
Kevin Veen-Birkenbach
2026-08-18 10:12:10 +02:00
-
7f51748486
fix(restore): leave an extension's own objects to the extension

Kevin Veen-BirkenbachandClaude Opus 5
2026-08-18 10:09:04 +02:00
-
e0f89c86ec
Release version 7.0.0
v7.0.0
Kevin Veen-Birkenbach
2026-08-18 05:13:36 +02:00
-
f97efb10c4
fix(backup)!: read the instance from one engine-name set, and trust it

Kevin Veen-BirkenbachandClaude Opus 5
2026-08-18 05:11:46 +02:00
-
704481a505
Release version 6.0.0
v6.0.0
Kevin Veen-Birkenbach
2026-08-18 04:32:09 +02:00
-
b1ee8f5fac
fix(backup)!: dump the container that holds the database, with its password

Kevin Veen-BirkenbachandClaude Opus 5
2026-08-18 04:26:24 +02:00
-
8dbd5e89ea
Release version 5.0.0
v5.0.0
Kevin Veen-Birkenbach
2026-08-18 01:55:45 +02:00
-
efcfe88e7f
style!: adopt the core lint bar and migrate to it

Kevin Veen-BirkenbachandClaude Opus 5
2026-08-18 01:51:18 +02:00
-
94637c32aa
feat(manifest)!: record per volume what the run established

Kevin Veen-BirkenbachandClaude Opus 5
2026-08-18 01:47:38 +02:00
-
03da186a06
build: keep the image context clean instead of wiping the worktree

Kevin Veen-BirkenbachandClaude Opus 5
2026-08-18 01:44:12 +02:00
-
37a07fe100
Release version 4.0.0
v4.0.0
Kevin Veen-Birkenbach
2026-08-17 16:32:48 +02:00
-
1d86277a94
refactor(backup)!: run argv lists, never a shell

Kevin Veen-BirkenbachandClaude Opus 5
2026-08-17 16:30:25 +02:00
-
03013b6c76
refactor(databases): state the databases.csv contract once

Kevin Veen-BirkenbachandClaude Opus 5
2026-08-17 16:28:15 +02:00
-
df1c65ccac
feat(backup)!: mandatory repo-name and databases-csv, --only-files, --only-sql

Kevin Veen-BirkenbachandClaude Opus 5
2026-08-17 13:54:39 +02:00
-
f791046c02
fix(backup): detect the engine by its dump tool, not by the image name

Kevin Veen-BirkenbachandClaude Opus 5
2026-08-17 13:51:26 +02:00
-
c03329e4ca
Release version 3.6.1
v3.6.1
Kevin Veen-Birkenbach
2026-08-17 08:16:40 +02:00
-
5f3ee0a669
fix(restore): refuse a cluster restore that would destroy what it cannot restore

Kevin Veen-BirkenbachandClaude Opus 5
2026-08-17 08:15:58 +02:00
-
8dac7371cb
Updated Changelog
Kevin Veen-Birkenbach
2026-08-17 05:29:03 +02:00
-
23cfc3b7e2
Release version 3.6.0
Kevin Veen-Birkenbach
2026-08-17 05:28:17 +02:00
-
da9c3a1e6f
fix(backup): decide snapshot capture per volume

Kevin Veen-BirkenbachandClaude Opus 5
2026-08-17 05:26:28 +02:00
-
e80f11d5e4
fix(restore): refuse to write files into an unmounted backing store

Kevin Veen-BirkenbachandClaude Opus 5
2026-08-17 05:25:54 +02:00
-
bb647c66ec
feat(restore): refuse a dump the target engine cannot read

Kevin Veen-BirkenbachandClaude Opus 5
2026-08-17 05:25:29 +02:00
-
f437787e64
Release version 3.5.0
v3.5.0
Kevin Veen-Birkenbach
2026-08-17 04:42:07 +02:00
-
2129c5e362
build(lint): gate make test on a clean ruff run

Kevin Veen-BirkenbachandClaude Opus 5
2026-08-17 04:35:50 +02:00
-
a0204fd3ea
feat(restore): replay pg_dumpall cluster dumps

Kevin Veen-BirkenbachandClaude Opus 5
2026-08-17 04:19:03 +02:00
-
90d289d92f
Release version 3.4.3
v3.4.3
Kevin Veen-Birkenbach
2026-08-16 13:57:49 +02:00
-
57fc7c96bc
fix(backup): claim the generation dir exclusively

Kevin Veen-BirkenbachandClaude Opus 5
2026-08-16 13:54:15 +02:00
-
30fd68bdcf
Release version 3.4.2
v3.4.2
Kevin Veen-Birkenbach
2026-08-15 15:28:44 +02:00
-
36b2336742
fix(backup): match the engine on the image name

Kevin Veen-BirkenbachandClaude Opus 5
2026-08-15 15:25:38 +02:00
-
756e236d10
Release version 3.4.1
v3.4.1
Kevin Veen-Birkenbach
2026-08-05 13:18:57 +02:00
-
1dfeb17ab4
chore(claude): require confirmation before a commit

Kevin Veen-BirkenbachandClaude Opus 5
2026-08-05 13:00:05 +02:00
-
cd21f1fa67
fix(backup): keep no twin of what the cold pass replaces

Kevin Veen-BirkenbachandClaude Opus 5
2026-08-05 12:43:08 +02:00
-
8a93a61ca9
Release version 3.4.0
v3.4.0
Kevin Veen-Birkenbach
2026-08-02 12:07:34 +02:00
-
988d92534c
fix(backup): keep kernel objects out of a generation

Kevin Veen-BirkenbachandClaude Opus 5
2026-08-02 12:06:42 +02:00
-
934e693810
Release version 3.3.0
v3.3.0
Kevin Veen-Birkenbach
2026-08-02 09:11:54 +02:00
-
2e0e67ca87
Autolint
Kevin Veen-Birkenbach
2026-08-02 09:10:55 +02:00
-
95c34d4db0
feat(backup): exclude a volume by name, not only by image

Kevin Veen-BirkenbachandClaude Opus 5
2026-08-02 09:10:20 +02:00
-
c2f1cb8e8c
Release version 3.2.2
v3.2.2
Kevin Veen-Birkenbach
2026-07-31 19:20:49 +02:00
-
eeaa838d02
fix(backup): carve the btrfs snapshot inside its subject, not beside it

Kevin Veen-BirkenbachandClaude Opus 5
2026-07-31 19:19:42 +02:00
-
4e2b3641f9
Release version 3.2.1
v3.2.1
Kevin Veen-Birkenbach
2026-07-31 16:25:22 +02:00
-
b10d50efbe
fix(backup): make snapshot backups restorable and non-fatal to teardown

Kevin Veen-BirkenbachandClaude Opus 5
2026-07-31 16:23:25 +02:00
-
7e815bfcf7
Release version 3.2.0
v3.2.0
Kevin Veen-Birkenbach
2026-07-31 13:12:38 +02:00
-
d4317827bd
feat(backup): capture volumes from a filesystem snapshot

Kevin Veen-BirkenbachandClaude Opus 5
2026-07-31 13:01:43 +02:00
-
ec3d1a5046
Release version 3.1.4
v3.1.4
Kevin Veen-Birkenbach
2026-07-31 11:40:03 +02:00
-
37b735cf7b
fix(backup): verify the post-stop volume pass by content

Kevin Veen-BirkenbachandClaude Opus 5
2026-07-31 11:32:07 +02:00
-
9dc57c3235
Release version 3.1.3
v3.1.3
Kevin Veen-Birkenbach
2026-07-20 20:01:26 +02:00
-
8409843ff9
fix(restore): wrap the postgres dump replay in a single transaction

Kevin Veen-BirkenbachandClaude Opus 4.8
2026-07-20 19:59:56 +02:00
-
d2ba2eb5ae
Release version 3.1.2
v3.1.2
Kevin Veen-Birkenbach
2026-07-18 00:39:10 +02:00
-
6a016d7a58
chore(claude): ignore local runtime state under .claude, keep settings.json

Kevin Veen-BirkenbachandClaude Opus 4.8
2026-07-18 00:38:38 +02:00
-
d1d5445b1d
chore(claude): pause for confirmation before CHANGELOG or pyproject edits

Kevin Veen-BirkenbachandClaude Opus 4.8
2026-07-18 00:37:28 +02:00
-
bd267cc280
fix(restore): drop text search objects in the postgres --empty pre-clean

Kevin Veen-BirkenbachandClaude Opus 4.8
2026-07-18 00:34:53 +02:00
-
53460242d8
Release version 3.1.1
v3.1.1
Kevin Veen-Birkenbach
2026-07-17 17:28:54 +02:00
-
01a00dd791
fix(restore): drop overloaded functions by identity signature in the --empty pre-clean

Kevin Veen-BirkenbachandClaude Opus 4.8
2026-07-17 17:27:55 +02:00
-
779f297c85
Release version 3.1.0
v3.1.0
Kevin Veen-Birkenbach
2026-07-15 03:36:59 +02:00
-
35a4c355fe
feat(cli): make --database-containers and --images-no-stop-required optional

Kevin Veen-BirkenbachandClaude Opus 4.8
2026-07-15 03:34:53 +02:00
-
b0ae1aba54
build(make): run the three test suites concurrently and allow e2e subsets

Kevin Veen-BirkenbachandClaude Opus 4.8
2026-07-15 03:34:37 +02:00
-
57d75b1e13
fix(restore): run --empty pre-clean per statement and drop non-public schemas

Kevin Veen-BirkenbachandClaude Opus 4.8
2026-07-15 03:34:20 +02:00
-
bf5f6db7c3
Release version 3.0.0
v3.0.0
Kevin Veen-Birkenbach
2026-07-12 18:29:49 +02:00
-
b4d7e7f396
Merge branch 'feat/exact-image-match'
Kevin Veen-Birkenbach
2026-07-12 18:27:05 +02:00
-
-
f9776ac47a
feat(backup)!: exact --images-* matching and --hard-restart-projects

Kevin Veen-BirkenbachandClaude Fable 5
2026-07-12 18:19:20 +02:00
-
8c1a6cc465
refactor(restore)!: restore volume files via direct host rsync

Kevin Veen-BirkenbachandClaude Fable 5
2026-07-12 18:18:57 +02:00
-
d6d4773fd9
Release version 2.0.0
v2.0.0
Kevin Veen-Birkenbach
2026-07-12 14:56:02 +02:00
-
82913291b6
test(e2e): SPOT db images, PG18 mount layout, drop removed flags

Kevin Veen-BirkenbachandClaude Fable 5
2026-07-12 14:54:16 +02:00
-
e5da813a9f
refactor(restore)!: rsync volumes directly on the host, drop alpine-rsync

Kevin Veen-BirkenbachandClaude Fable 5
2026-07-12 14:53:55 +02:00
-
-
331931d617
feat(backup)!: opt-in hard restart and mandatory backups-dir

Kevin Veen-BirkenbachandClaude Fable 5
2026-07-12 14:53:13 +02:00
-
45d3b0ad7c
Release version 1.8.1
v1.8.1
Kevin Veen-Birkenbach
2026-07-12 02:59:17 +02:00
-
fe5bed8254
Merge branch 'main' of github.com:kevinveenbirkenbach/backup-docker-to-local
Kevin Veen-Birkenbach
2026-07-12 02:58:36 +02:00
-
-
7a7ec57b54
fix(restore): drop user-owned collations in the --empty pre-clean

Kevin Veen-BirkenbachandClaude Fable 5
2026-07-12 02:55:29 +02:00
-
2bbe7d180a
Merge pull request #2 from kevinveenbirkenbach/dependabot/github_actions/actions-cad83fc9bf
Kevin Veen-Birkenbach
2026-07-11 14:16:28 +02:00
-
-
286ef179da
Bump the actions group with 4 updates
dependabot[bot]
2026-07-11 07:44:12 +00:00
-
6cb0b8a548
Bump python from 3.11-slim to 3.14-slim (#1)
dependabot[bot]
2026-07-11 07:44:09 +00:00
-
-
e1f1b602d3
Release version 1.8.0
v1.8.0
Kevin Veen-Birkenbach
2026-07-11 09:43:25 +02:00
-
b9a8b391f0
fix(backup): re-raise inspect failures for containers that still exist
fix/restore-1.7.2

Kevin Veen-BirkenbachandClaude Fable 5
2026-07-11 09:28:21 +02:00
-
c949f2c5cf
ci(deps): keep actions, docker base and pip deps updated automatically

Kevin Veen-BirkenbachandClaude Fable 5
2026-07-11 09:18:54 +02:00
-
96e6b3ea93
fix(backup,restore): harden the branch fixes and prove them with tests

Kevin Veen-BirkenbachandClaude Fable 5
2026-07-11 09:18:40 +02:00
-
79214e64e8
test(unit): mock is_swarm_task in the requires_stop tests

Kevin Veen-BirkenbachandClaude Fable 5
2026-07-11 08:34:36 +02:00
-
e9030e8443
fix(backup,restore): make restore drills replayable and leave swarm tasks alone

Kevin Veen-BirkenbachandClaude Fable 5
2026-07-11 08:23:11 +02:00
-
57ea4592c1
Release version 1.7.1
v1.7.1
Kevin Veen-Birkenbach
2026-05-26 00:52:37 +02:00
-
ad5d8fcda3
fix(backup): force TCP for mariadb-dump to match '<user>'@'%' grant

Kevin Veen-BirkenbachandClaude Opus 4.7
2026-05-26 00:46:47 +02:00
-
bfa596ae30
fix(test-e2e): set DinD MTU to 1280 to fix ghcr.io pull timeouts on broken-PMTUD host paths

Kevin Veen-BirkenbachandClaude Opus 4.7
2026-05-26 00:45:29 +02:00
-
21b4d237d3
Release version 1.7.0
v1.7.0
Kevin Veen-Birkenbach
2026-02-07 14:00:11 +01:00
-
ec051b4c2b
backup: support all valid docker compose file names
Kevin Veen-Birkenbach
2026-02-07 13:58:52 +01:00
-
ed78f69b3b
Release version 1.6.0
v1.6.0
Kevin Veen-Birkenbach
2026-02-06 10:39:02 +01:00