{"full_name":"restic/restic","owner":"restic","name":"restic","url":"https://github.com/restic/restic","description":"Fast, secure, efficient backup program","homepage":"https://restic.net","topics":[],"language":"Go","license":"BSD-2-Clause","avatar":"https://avatars.githubusercontent.com/u/10073512?v=4","created_at":"2014-04-27T14:07:58Z","pushed_at":"2026-11-06T20:42:11Z","metrics":{"stars":37111,"forks":1957,"watchers":236,"issues":3054,"prs":3098,"releases":51,"issues_open":null,"issues_closed":null,"prs_open":null,"prs_closed":null,"prs_merged":null,"discussions":0},"growth":{"day":{"stars":17,"forks":0,"base_day":"2026-11-09"}},"history":{"dates":["2026-11-09","2026-11-10"],"stars":[37094,37111],"forks":[1957,1957],"watchers":[236,236],"issues_open":[null,null],"prs_open":[null,null]},"boards":{},"same_owner":[],"issues":[{"number":3041,"title":"Restic 0.10.0 always reports all directories \"changed\", adds duplicate metadata, when run on ZFS snapshots","comments":111,"created_at":"2020-10-27T09:31:45Z"},{"number":299,"title":"Allow \"pulling\" backups from remote servers","comments":99,"created_at":"2015-09-09T10:50:20Z"},{"number":16,"title":"Configuration File","comments":71,"created_at":"2014-11-15T22:10:59Z"},{"number":187,"title":"Support asymmetric backups","comments":64,"created_at":"2015-05-14T08:26:58Z"},{"number":2092,"title":"Backup option to remove a leading path prefix","comments":58,"created_at":"2018-11-16T20:19:58Z"},{"number":1544,"title":"Make restic work without permission to delete files on GCS","comments":50,"created_at":"2018-01-11T01:21:40Z"},{"number":60,"title":"Implement web server to view backups","comments":46,"created_at":"2014-11-18T20:43:39Z"},{"number":2659,"title":"restic fails on repo mounted via CIFS/samba on Linux using go 1.14 build","comments":41,"created_at":"2020-03-21T13:29:54Z"}],"discussions":[],"latest_release":{"name":"restic 0.19.1","tag":"v0.19.1","published_at":"2026-07-05T08:13:33Z","body":"Changelog for restic 0.19.1 (2026-07-05)\r\n=======================================\r\n\r\nThe following sections list the changes in restic 0.19.1 relevant to restic users. The changes are ordered by importance.\r\n\r\nSummary\r\n-------\r\n\r\n * Fix [#5234](https://github.com/restic/restic/issues/5234): Prevent mounting over the repository directory\r\n * Fix [#5667](https://github.com/restic/restic/issues/5667): Skip inaccessible `backup` source paths\r\n * Fix [#5722](https://github.com/restic/restic/issues/5722): Update `mount` latest symlink after snapshot reload\r\n * Fix [#21866](https://github.com/restic/restic/issues/21866): Hide `stats` progress bar in JSON mode\r\n * Fix [#21869](https://github.com/restic/restic/issues/21869): Restore old behavior of `snapshots --latest <n>` without `--group-by`\r\n * Fix [#21876](https://github.com/restic/restic/pull/21876): Show timezone location in `snapshots` output\r\n * Fix [#21879](https://github.com/restic/restic/pull/21879): Prevent crash in mountpoint validation if mountpoint is inaccessible\r\n * Fix [#21895](https://github.com/restic/restic/issues/21895): Remove read-only files via the SFTP backend on Windows servers\r\n * Fix [#21899](https://github.com/restic/restic/issues/21899): Make `backup` respect excludes for duplicate directory entries\r\n\r\nDetails\r\n-------\r\n\r\n * Bugfix #5234: Prevent mounting over the repository directory\r\n\r\n   Using a local repository directory as the `mount` target — or a path that contains it, or that it contains — caused the FUSE server to read its own backend files through the new mount, deadlocking the kernel and requiring a long reboot to recover.\r\n\r\n   Restic now resolves both paths and refuses any such overlap with a clear error before mounting.\r\n\r\n    [#5234](https://github.com/restic/restic/issues/5234) [#5348](https://github.com/restic/restic/pull/5348) \r\n\r\n * Bugfix #5667: Skip inaccessible `backup` source paths\r\n\r\n   The `backup` command only skipped source paths that did not exist. A path that could not be accessed for another reason, such as a malformed path on Windows, was kept and produced an empty snapshot. Restic now skips any such path and aborts if none remain.\r\n\r\n    [#5667](https://github.com/restic/restic/issues/5667) [#21852](https://github.com/restic/restic/pull/21852) \r\n\r\n * Bugfix #5722: Update `mount` latest symlink after snapshot reload\r\n\r\n   When `restic mount` was kept running while new snapshots were created, the new snapshots appeared in the mountpoint, but the `latest` symlink could still point to the previously latest snapshot. Restic now invalidates the cached snapshot directory entries after a snapshot reload so that `latest` points to the newest snapshot.\r\n\r\n    [#5722](https://github.com/restic/restic/issues/5722) [#21873](https://github.com/restic/restic/pull/21873) \r\n\r\n * Bugfix #21866: Hide `stats` progress bar in JSON mode\r\n\r\n   Since restic 0.19.0, the `stats` command shows a progress bar. This progress bar was unintentionally displayed also when using the `--json` option, mixing regular text output with JSON. This is now fixed.\r\n\r\n    [#21866](https://github.com/restic/restic/issues/21866) [#21871](https://github.com/restic/restic/pull/21871) \r\n\r\n * Bugfix #21869: Restore old behavior of `snapshots --latest <n>` without `--group-by`\r\n\r\n   Restic 0.19.0 accidentally changed the behavior of `snapshots --latest <n>` to no longer group snapshots by host and paths by default.\r\n\r\n   The `snapshots --latest <n>` command now again uses the old behavior of grouping by host and paths when `--group-by` is not specified. However, when specifying `--group-by` the output is still grouped as requested, as in restic 0.19.0.\r\n\r\n    [#21869](https://github.com/restic/restic/issues/21869) [#21875](https://github.com/restic/restic/pull/21875) \r\n\r\n * Bugfix #21876: Show timezone location in `snapshots` output\r\n\r\n   With restic 0.19.0, the `snapshots` command printed the current timezone when listing snapshots. However, that timezone label might chang"},"readme":true,"readme_zh":false,"news":[],"stale":false,"snapshot_at":"2026-11-10T09:35:25Z","history_start":"2026-09-06"}