Merge pull request #1504 from restic/changelog-generator
Replace manual CHANGELOG with generated one
This commit is contained in:
commit
e290f2591e
73 changed files with 801 additions and 410 deletions
604
CHANGELOG.md
604
CHANGELOG.md
|
@ -1,464 +1,256 @@
|
||||||
This file describes changes relevant to all users that are made in each
|
Changelog for restic 0.7.1 (2017-07-22)
|
||||||
released version of restic from the perspective of the user.
|
=======================================
|
||||||
|
|
||||||
Important Changes in 0.X.Y
|
The following sections list the changes in restic 0.7.1 relevant to
|
||||||
==========================
|
restic users. The changes are ordered by importance.
|
||||||
|
|
||||||
* We've disabled handling SIGPIPE again. Turns out, writing to broken TCP
|
Summary
|
||||||
connections also raised SIGPIPE, so restic exits on the first write to a
|
-------
|
||||||
broken connection. Instead, restic should retry the request.
|
|
||||||
https://github.com/restic/restic/pull/1459
|
|
||||||
https://github.com/restic/restic/issues/1457
|
|
||||||
https://github.com/restic/restic/issues/1466
|
|
||||||
|
|
||||||
* The command `diff` was added, it allows comparing two snapshots and listing
|
* Fix #1115: Fix `prune`, only include existing files in indexes
|
||||||
all differences.
|
* Enh #1055: Create subdirs below `data/` for local/sftp backends
|
||||||
https://github.com/restic/restic/issues/11
|
* Enh #1067: Allow loading credentials for s3 from IAM
|
||||||
https://github.com/restic/restic/issues/1460
|
* Enh #1073: Add `migrate` cmd to migrate from `s3legacy` to `default` layout
|
||||||
https://github.com/restic/restic/pull/1462
|
* Enh #1081: Clarify semantic for `--tasg` for the `forget` command
|
||||||
|
* Enh #1080: Ignore chmod() errors on filesystems which do not support it
|
||||||
|
* Enh #1082: Print stats on SIGINFO on Darwin and FreeBSD (ctrl+t)
|
||||||
|
|
||||||
|
Details
|
||||||
|
-------
|
||||||
|
|
||||||
Small changes
|
* Bugfix #1115: Fix `prune`, only include existing files in indexes
|
||||||
-------------
|
|
||||||
|
|
||||||
* We've added code to detect old cache directories of repositories that
|
A bug was found (and corrected) in the index rebuilding after prune, which led to indexes which
|
||||||
haven't been used in a long time, restic now prints a note when it detects
|
include blobs that were not present in the repo any more. There were already checks in place
|
||||||
that such dirs exist. Also, the option `--cleanup-cache` was added to
|
which detected this situation and aborted with an error message. A new run of either `prune` or
|
||||||
automatically remove such directories. That's not a problem because the
|
`rebuild-index` corrected the index files. This is now fixed and a test has been added to detect
|
||||||
cache will be rebuild once a repo is accessed again.
|
this.
|
||||||
https://github.com/restic/restic/pull/1436
|
|
||||||
|
|
||||||
* The cache directory on Windows and Darwin was not correct, instead the
|
https://github.com/restic/restic/pull/1115
|
||||||
directory `.cache` was used.
|
|
||||||
https://github.com/restic/restic/pull/1454
|
|
||||||
|
|
||||||
* By default, the access time for files and dirs is not saved any more. It is
|
* Enhancement #1055: Create subdirs below `data/` for local/sftp backends
|
||||||
not possible to reliably disable updating the access time during a backup,
|
|
||||||
so for the next backup the access time is different again. This means a lot
|
|
||||||
of metadata is saved. If you want to save the access time anyway, pass
|
|
||||||
`--with-atime` to the `backup` command.
|
|
||||||
https://github.com/restic/restic/pull/1452
|
|
||||||
|
|
||||||
* We've improved the s3 backend to work with DigitalOcean Spaces.
|
The local and sftp backends now create the subdirs below `data/` on open/init. This way, restic
|
||||||
https://github.com/restic/restic/pull/1459
|
makes sure that they always exist. This is connected to an issue for the sftp server:
|
||||||
https://github.com/restic/restic/issues/1457
|
|
||||||
|
|
||||||
* The cancellation logic was improved, restic can now shut down cleanly when
|
|
||||||
requested to do so (e.g. via ctrl+c).
|
|
||||||
https://github.com/restic/restic/pull/1439
|
|
||||||
|
|
||||||
Important Changes in 0.8.0
|
|
||||||
==========================
|
|
||||||
|
|
||||||
* A vulnerability was found in the restic restorer, which allowed attackers in
|
|
||||||
special circumstances to restore files to a location outside of the target
|
|
||||||
directory. Due to the circumstances we estimate this to be a low-risk
|
|
||||||
vulnerability, but urge all users to upgrade to the latest version of restic.
|
|
||||||
|
|
||||||
Exploiting the vulnerability requires a Linux/Unix system which saves
|
|
||||||
backups via restic and a Windows systems which restores files from the repo.
|
|
||||||
In addition, the attackers need to be able to create create files with
|
|
||||||
arbitrary names which are then saved to the restic repo. For example, by
|
|
||||||
creating a file named "..\test.txt" (which is a perfectly legal filename on
|
|
||||||
Linux) and restoring a snapshot containing this file on Windows, it would be
|
|
||||||
written to the parent of the target directory.
|
|
||||||
|
|
||||||
We'd like to thank Tyler Spivey for reporting this responsibly!
|
|
||||||
|
|
||||||
https://github.com/restic/restic/pull/1445
|
|
||||||
|
|
||||||
* The s3 backend used the subdir `restic` within a bucket if no explicit path
|
|
||||||
after the bucket name was specified. Since this version, restic does not use
|
|
||||||
this default path any more. If you created a repo on s3 in a bucket without
|
|
||||||
specifying a path within the bucket, you need to add `/restic` at the end of
|
|
||||||
the repository specification to access your repo: `s3:s3.amazonaws.com/bucket/restic`
|
|
||||||
https://github.com/restic/restic/issues/1292
|
|
||||||
https://github.com/restic/restic/pull/1437
|
|
||||||
|
|
||||||
* We've added a local cache for metadata so that restic doesn't need to load
|
|
||||||
all metadata (snapshots, indexes, ...) from the repo each time it starts. By
|
|
||||||
default the cache is active, but there's a new global option `--no-cache`
|
|
||||||
that can be used to disable the cache. By deafult, the cache a standard
|
|
||||||
cache folder for the OS, which can be overridden with `--cache-dir`. The
|
|
||||||
cache will automatically populate, indexes and snapshots are saved as they
|
|
||||||
are loaded. Cache directories for repos that haven't been used recently can
|
|
||||||
automatically be removed by restic with the `--cleanup-cache` option.
|
|
||||||
https://github.com/restic/restic/pull/1040
|
|
||||||
https://github.com/restic/restic/issues/29
|
|
||||||
https://github.com/restic/restic/issues/738
|
|
||||||
https://github.com/restic/restic/issues/282
|
|
||||||
https://github.com/restic/restic/pull/1287
|
|
||||||
https://github.com/restic/restic/pull/1436
|
|
||||||
|
|
||||||
* A related change was to by default create pack files in the repo that
|
|
||||||
contain either data or metadata, not both mixed together. This allows easy
|
|
||||||
caching of only the metadata files. The next run of `restic prune` will
|
|
||||||
untangle mixed files automatically.
|
|
||||||
https://github.com/restic/restic/pull/1265
|
|
||||||
|
|
||||||
* The Google Cloud Storage backend no longer requires the service account to
|
|
||||||
have the `storage.buckets.get` permission ("Storage Admin" role) in `restic
|
|
||||||
init` if the bucket already exists.
|
|
||||||
https://github.com/restic/restic/pull/1281
|
|
||||||
|
|
||||||
* Added support for rate limiting through `--limit-upload` and
|
|
||||||
`--limit-download` flags.
|
|
||||||
https://github.com/restic/restic/issues/1216
|
|
||||||
https://github.com/restic/restic/pull/1336
|
|
||||||
https://github.com/restic/restic/pull/1358
|
|
||||||
|
|
||||||
* Failed backend requests are now automatically retried.
|
|
||||||
https://github.com/restic/restic/pull/1353
|
|
||||||
|
|
||||||
* We've added the `dump` command which prints a file from a snapshot to
|
|
||||||
stdout. This can e.g. be used to restore files read with `backup --stdin`.
|
|
||||||
https://github.com/restic/restic/issues/510
|
|
||||||
https://github.com/restic/restic/pull/1346
|
|
||||||
|
|
||||||
Small changes
|
|
||||||
-------------
|
|
||||||
|
|
||||||
* The directory structure in the fuse mount now exposes a symlink `latest`
|
|
||||||
which points to the latest snapshot in that particular directory.
|
|
||||||
https://github.com/restic/restic/pull/1249
|
|
||||||
|
|
||||||
* The option `--compact` was added to the `forget` command to provide the same
|
|
||||||
compact view as the `snapshots` command.
|
|
||||||
https://github.com/restic/restic/pull/1269
|
|
||||||
|
|
||||||
* We've re-enabled a workaround for `minio-go` (the library we're using to
|
|
||||||
access s3 backends), this reduces memory usage.
|
|
||||||
https://github.com/restic/restic/issues/1256
|
|
||||||
https://github.com/restic/restic/pull/1267
|
|
||||||
|
|
||||||
* The sftp backend now prompts for the password if a password is necessary for
|
|
||||||
login.
|
|
||||||
https://github.com/restic/restic/issues/448
|
|
||||||
https://github.com/restic/restic/pull/1270
|
|
||||||
|
|
||||||
* The `generate` command has been added, which replaces the now removed
|
|
||||||
commands `manpage` and `autocomplete`. This release of restic contains the
|
|
||||||
most recent manpages in `doc/man` and the auto-completion files for bash and
|
|
||||||
zsh in `doc/bash-completion.sh` and `doc/zsh-completion.zsh`
|
|
||||||
https://github.com/restic/restic/issues/1274
|
|
||||||
https://github.com/restic/restic/pull/1282
|
|
||||||
|
|
||||||
* A bug was discovered in the library we're using to access Backblaze, it now
|
|
||||||
reuses already established TCP connections which should be a lot faster and
|
|
||||||
not cause network failures any more.
|
|
||||||
https://github.com/restic/restic/issues/1291
|
|
||||||
https://github.com/restic/restic/pull/1301
|
|
||||||
|
|
||||||
* Another bug in the `forget` command caused `prune` not to be run when
|
|
||||||
`--prune` was specified without a policy, e.g. when only snapshot IDs that
|
|
||||||
should be forgotten are listed manually. This is corrected now.
|
|
||||||
https://github.com/restic/restic/pull/1317
|
|
||||||
|
|
||||||
* The `check` command now explicetly prints `No errors were found` when no
|
|
||||||
errors could be found.
|
|
||||||
https://github.com/restic/restic/pull/1319
|
|
||||||
https://github.com/restic/restic/issues/1303
|
|
||||||
|
|
||||||
* The fuse mount now has an `ids` subdirectory which contains the snapshots
|
|
||||||
below their (short) IDs.
|
|
||||||
https://github.com/restic/restic/issues/1102
|
|
||||||
https://github.com/restic/restic/pull/1299
|
|
||||||
https://github.com/restic/restic/pull/1320
|
|
||||||
|
|
||||||
* The `backup` command was improved, it now caches the result of excludes for
|
|
||||||
a directory.
|
|
||||||
https://github.com/restic/restic/issues/1271
|
|
||||||
https://github.com/restic/restic/pull/1326
|
|
||||||
|
|
||||||
* We've added the `--cacert` option which can be used to pass one (or more) CA
|
|
||||||
certificates to restic. These are used in addition to the system CA
|
|
||||||
certificates to verify HTTPS certificates (e.g. for the REST backend).
|
|
||||||
https://github.com/restic/restic/issues/1114
|
|
||||||
https://github.com/restic/restic/pull/1276
|
|
||||||
|
|
||||||
* When the list of files/dirs to be saved is read from a file with
|
|
||||||
`--files-from`, comment lines (starting with `#`) are now ignored.
|
|
||||||
https://github.com/restic/restic/issues/1367
|
|
||||||
https://github.com/restic/restic/pull/1368
|
|
||||||
|
|
||||||
Important Changes in 0.7.3
|
|
||||||
==========================
|
|
||||||
|
|
||||||
* For large backups stored in Google Cloud Storage, the `prune` command fails
|
|
||||||
because listing only returns the first 1000 files. This has been corrected,
|
|
||||||
no data is lost in the process. In addition, a plausibility check was added
|
|
||||||
to `prune`.
|
|
||||||
https://github.com/restic/restic/issues/1246
|
|
||||||
https://github.com/restic/restic/pull/1247
|
|
||||||
|
|
||||||
|
|
||||||
Important Changes in 0.7.2
|
|
||||||
==========================
|
|
||||||
|
|
||||||
* We've added an official docker image and a Dockerfile to build this image in
|
|
||||||
`docker/`.
|
|
||||||
https://github.com/restic/restic/pull/1061
|
|
||||||
|
|
||||||
* The git repository layout was changed to resemble the layout typically used
|
|
||||||
in Go projects, we're not using `gb` for building restic any more and
|
|
||||||
vendoring the dependencies is now taken care of by `dep`.
|
|
||||||
https://github.com/restic/restic/pull/1126
|
|
||||||
|
|
||||||
* We now support saving backups on Google Cloud Storage.
|
|
||||||
https://github.com/restic/restic/pull/1134
|
|
||||||
https://github.com/restic/restic/pull/1052
|
|
||||||
https://github.com/restic/restic/issues/211
|
|
||||||
|
|
||||||
* We've added support for Microsoft Azure Blob Storage as a restic backend.
|
|
||||||
https://github.com/restic/restic/pull/1149
|
|
||||||
https://github.com/restic/restic/pull/1059
|
|
||||||
https://github.com/restic/restic/issues/609
|
|
||||||
|
|
||||||
* In the course of supporting Microsoft Azure Blobe Storage Go 1.8 is now a
|
|
||||||
requirement to build restic.
|
|
||||||
|
|
||||||
* The `restore` command has been improved: When dirs are excluded (or not
|
|
||||||
included) in a restore, they are not loaded from the repo any more.
|
|
||||||
https://github.com/restic/restic/pull/1044
|
|
||||||
|
|
||||||
* Name collisions are now resolved by appending a counter.
|
|
||||||
https://github.com/restic/restic/issues/1179
|
|
||||||
https://github.com/restic/restic/pull/1209
|
|
||||||
|
|
||||||
|
|
||||||
Small changes
|
|
||||||
-------------
|
|
||||||
|
|
||||||
* The `key` command now prompts for a password even if the original password
|
|
||||||
to access a repo has been specified via the `RESTIC_PASSWORD` environment
|
|
||||||
variable or a password file.
|
|
||||||
https://github.com/restic/restic/issues/1132
|
|
||||||
https://github.com/restic/restic/pull/1133
|
|
||||||
|
|
||||||
* Properly report errors when reading files with exclude patterns.
|
|
||||||
https://github.com/restic/restic/pull/1144
|
|
||||||
|
|
||||||
* We now automatically generate man pages for all restic commands, see the
|
|
||||||
subdir `doc/man`.
|
|
||||||
https://github.com/restic/restic/issues/697
|
|
||||||
https://github.com/restic/restic/pull/1147
|
|
||||||
|
|
||||||
* The `key remove` command was corrected and now works as documented.
|
|
||||||
https://github.com/restic/restic/pull/1164
|
|
||||||
|
|
||||||
* When a restic command other than `init` is used with a local repository and
|
|
||||||
the repository directory does not exist, restic creates the directory
|
|
||||||
structure. That's an error, only the `init` command should create the dir.
|
|
||||||
https://github.com/restic/restic/issues/1167
|
|
||||||
https://github.com/restic/restic/pull/1182
|
|
||||||
|
|
||||||
* Restic now prints stats on all BSD systems (not only on darwin) when SIGINFO
|
|
||||||
is received (usually when ctrl+t is pressed).
|
|
||||||
https://github.com/restic/restic/pull/1203
|
|
||||||
https://github.com/restic/restic/pull/1082#issuecomment-326279920
|
|
||||||
|
|
||||||
* Since a few releases restic had the ability to write profiling files for
|
|
||||||
memory and CPU usage when `debug` is enabled. It was discovered that when
|
|
||||||
restic is interrupted (ctrl+c is pressed), the proper shutdown hook is not
|
|
||||||
run. This is now corrected.
|
|
||||||
https://github.com/restic/restic/pull/1191
|
|
||||||
|
|
||||||
* A new option `--exclude-caches` was added that allows excluding cache
|
|
||||||
directories (that are tagged as such). This is a special case of a more
|
|
||||||
generic option `--exclude-if-present` which excludes a directory if a file
|
|
||||||
with a specific name (and contents) is present.
|
|
||||||
https://github.com/restic/restic/issues/317
|
|
||||||
https://github.com/restic/restic/pull/1170
|
|
||||||
https://github.com/restic/restic/pull/1224
|
|
||||||
|
|
||||||
* The `forget` command now has an option `--group-by` that allows flexible
|
|
||||||
grouping policies.
|
|
||||||
https://github.com/restic/restic/pull/1196
|
|
||||||
|
|
||||||
* The date and time restic records for a new backup can now be specified
|
|
||||||
externally by passing `--time` to the `backup` command.
|
|
||||||
https://github.com/restic/restic/pull/1205
|
|
||||||
|
|
||||||
* The option `--compact` was added to the `snapshots` command to get a better
|
|
||||||
overview of the snapshots in a repo. It limits each snapshot to a single
|
|
||||||
line.
|
|
||||||
https://github.com/restic/restic/issues/1218
|
|
||||||
https://github.com/restic/restic/pull/1223
|
|
||||||
|
|
||||||
|
|
||||||
Important Changes in 0.7.1
|
|
||||||
==========================
|
|
||||||
|
|
||||||
* The `migrate` command for chaning the `s3legacy` layout to the `default`
|
|
||||||
layout for s3 backends has been improved: It can now be restarted with
|
|
||||||
`restic migrate --force s3_layout` and automatically retries operations on
|
|
||||||
error.
|
|
||||||
https://github.com/restic/restic/issues/1073
|
|
||||||
https://github.com/restic/restic/pull/1075
|
|
||||||
|
|
||||||
Small changes
|
|
||||||
-------------
|
|
||||||
|
|
||||||
* The local and sftp backends now create the subdirs below `data/` on
|
|
||||||
open/init. This way, restic makes sure that they always exist. This is
|
|
||||||
connected to an issue for the sftp server:
|
|
||||||
https://github.com/restic/rest-server/pull/11#issuecomment-309879710
|
|
||||||
https://github.com/restic/restic/issues/1055
|
https://github.com/restic/restic/issues/1055
|
||||||
https://github.com/restic/restic/pull/1077
|
https://github.com/restic/restic/pull/1077
|
||||||
https://github.com/restic/restic/pull/1105
|
https://github.com/restic/restic/pull/1105
|
||||||
|
https://github.com/restic/rest-server/pull/11#issuecomment-309879710
|
||||||
|
|
||||||
|
* Enhancement #1067: Allow loading credentials for s3 from IAM
|
||||||
|
|
||||||
|
When no S3 credentials are specified in the environment variables, restic now tries to load
|
||||||
|
credentials from an IAM instance profile when the s3 backend is used.
|
||||||
|
|
||||||
* When no S3 credentials are specified in the environment variables, restic
|
|
||||||
now tries to load credentials from an IAM instance profile when the s3
|
|
||||||
backend is used.
|
|
||||||
https://github.com/restic/restic/issues/1067
|
https://github.com/restic/restic/issues/1067
|
||||||
https://github.com/restic/restic/pull/1086
|
https://github.com/restic/restic/pull/1086
|
||||||
|
|
||||||
* On Darwin and FreeBSD, restic now prints stats when SIGINFO is received
|
* Enhancement #1073: Add `migrate` cmd to migrate from `s3legacy` to `default` layout
|
||||||
(usually when ctrl+t is pressed).
|
|
||||||
https://github.com/restic/restic/pull/1082
|
|
||||||
|
|
||||||
* The dependencies have been updated.
|
The `migrate` command for chaning the `s3legacy` layout to the `default` layout for s3
|
||||||
https://github.com/restic/restic/pull/1108
|
backends has been improved: It can now be restarted with `restic migrate --force s3_layout`
|
||||||
https://github.com/restic/restic/pull/1124
|
and automatically retries operations on error.
|
||||||
|
|
||||||
* A bug was found (and corrected) in the index rebuilding after prune, which
|
https://github.com/restic/restic/issues/1073
|
||||||
led to indexes which include blobs that were not present in the repo any
|
https://github.com/restic/restic/pull/1075
|
||||||
more. There were already checks in place which detected this situation and
|
|
||||||
aborted with an error message. A new run of either `prune` or
|
|
||||||
`rebuild-index` corrected the index files. This is now fixed and a test has
|
|
||||||
been added to detect this.
|
|
||||||
https://github.com/restic/restic/pull/1115
|
|
||||||
|
|
||||||
* Errors for chmod() on Unix for filesystems which do not support it (e.g. smb
|
* Enhancement #1081: Clarify semantic for `--tasg` for the `forget` command
|
||||||
mounted via gvfs) are now ignored.
|
|
||||||
https://github.com/restic/restic/pull/1080
|
|
||||||
https://github.com/restic/restic/pull/1112
|
|
||||||
|
|
||||||
* The semantic for the `--tags` option to `forget` and `snapshots` was
|
|
||||||
clarified:
|
|
||||||
https://github.com/restic/restic/issues/1081
|
https://github.com/restic/restic/issues/1081
|
||||||
https://github.com/restic/restic/pull/1090
|
https://github.com/restic/restic/pull/1090
|
||||||
|
|
||||||
Important Changes in 0.7.0
|
* Enhancement #1080: Ignore chmod() errors on filesystems which do not support it
|
||||||
==========================
|
|
||||||
|
|
||||||
* New "swift" backend: A new backend for the OpenStack Swift cloud storage
|
https://github.com/restic/restic/pull/1080
|
||||||
protocol has been added, https://wiki.openstack.org/wiki/Swift
|
https://github.com/restic/restic/pull/1112
|
||||||
https://github.com/restic/restic/pull/975
|
|
||||||
https://github.com/restic/restic/pull/648
|
|
||||||
|
|
||||||
* New "b2" backend: A new backend for Backblaze B2 cloud storage
|
* Enhancement #1082: Print stats on SIGINFO on Darwin and FreeBSD (ctrl+t)
|
||||||
service has been added, https://www.backblaze.com
|
|
||||||
https://github.com/restic/restic/issues/512
|
|
||||||
https://github.com/restic/restic/pull/978
|
|
||||||
|
|
||||||
* Improved performance for the `find` command: Restic recognizes paths it has
|
https://github.com/restic/restic/pull/1082
|
||||||
already checked for the files in question, so the number of backend requests
|
|
||||||
is reduced a lot.
|
|
||||||
https://github.com/restic/restic/issues/989
|
|
||||||
https://github.com/restic/restic/pull/993
|
|
||||||
|
|
||||||
* Improved performance for the fuse mount: Listing directories which contain
|
|
||||||
large files now is significantly faster.
|
|
||||||
https://github.com/restic/restic/pull/998
|
|
||||||
|
|
||||||
* The default layout for the s3 backend is now `default` (instead of
|
Changelog for restic 0.7.0 (2017-07-01)
|
||||||
`s3legacy`). Also, there's a new `migrate` command to convert an existing
|
=======================================
|
||||||
repo, it can be run like this: `restic migrate s3_layout`
|
|
||||||
https://github.com/restic/restic/issues/965
|
|
||||||
https://github.com/restic/restic/pull/1004
|
|
||||||
|
|
||||||
* The fuse mount now has two more directories: `tags` contains a subdir for
|
The following sections list the changes in restic 0.7.0 relevant to
|
||||||
each tag, which in turn contains only the snapshots that have this tag. The
|
restic users. The changes are ordered by importance.
|
||||||
subdir `hosts` contains a subdir for each host that has a snapshot, and the
|
|
||||||
subdir contains the snapshots for that host.
|
|
||||||
https://github.com/restic/restic/issues/636
|
|
||||||
https://github.com/restic/restic/pull/1050
|
|
||||||
|
|
||||||
Small changes
|
Summary
|
||||||
-------------
|
-------
|
||||||
|
|
||||||
|
* Fix #1013: Switch back to using the high-level minio-go API for s3
|
||||||
|
* Fix #965: Switch to `default` repo layout for the s3 backend
|
||||||
|
* Enh #1021: Detect invalid backend name and print error
|
||||||
|
* Enh #1029: Remove invalid pack files when `prune` is run
|
||||||
|
* Enh #512: Add Backblaze B2 backend
|
||||||
|
* Enh #636: Add dirs `tags` and `hosts` to fuse mount
|
||||||
|
* Enh #989: Improve performance of the `find` command
|
||||||
|
* Enh #975: Add new backend for OpenStack Swift
|
||||||
|
* Enh #998: Improve performance of the fuse mount
|
||||||
|
|
||||||
|
Details
|
||||||
|
-------
|
||||||
|
|
||||||
|
* Bugfix #1013: Switch back to using the high-level minio-go API for s3
|
||||||
|
|
||||||
|
For the s3 backend we're back to using the high-level API the s3 client library for uploading
|
||||||
|
data, a few users reported dropped connections (which the library will automatically retry
|
||||||
|
now).
|
||||||
|
|
||||||
* For the s3 backend we're back to using the high-level API the s3 client
|
|
||||||
library for uploading data, a few users reported dropped connections (which
|
|
||||||
the library will automatically retry now).
|
|
||||||
https://github.com/restic/restic/issues/1013
|
https://github.com/restic/restic/issues/1013
|
||||||
https://github.com/restic/restic/issues/1023
|
https://github.com/restic/restic/issues/1023
|
||||||
https://github.com/restic/restic/pull/1025
|
https://github.com/restic/restic/pull/1025
|
||||||
|
|
||||||
* The `prune` command has been improved and will now remove invalid pack
|
* Bugfix #965: Switch to `default` repo layout for the s3 backend
|
||||||
files, for example files that have not been uploaded completely because a
|
|
||||||
backup was interrupted.
|
The default layout for the s3 backend is now `default` (instead of `s3legacy`). Also, there's a
|
||||||
https://github.com/restic/restic/issues/1029
|
new `migrate` command to convert an existing repo, it can be run like this: `restic migrate
|
||||||
https://github.com/restic/restic/pull/1036
|
s3_layout`
|
||||||
|
|
||||||
|
https://github.com/restic/restic/issues/965
|
||||||
|
https://github.com/restic/restic/pull/1004
|
||||||
|
|
||||||
|
* Enhancement #1021: Detect invalid backend name and print error
|
||||||
|
|
||||||
|
Restic now tries to detect when an invalid/unknown backend is used and returns an error
|
||||||
|
message.
|
||||||
|
|
||||||
* restic now tries to detect when an invalid/unknown backend is used and
|
|
||||||
returns an error message.
|
|
||||||
https://github.com/restic/restic/issues/1021
|
https://github.com/restic/restic/issues/1021
|
||||||
https://github.com/restic/restic/pull/1070
|
https://github.com/restic/restic/pull/1070
|
||||||
|
|
||||||
Important Changes in 0.6.1
|
* Enhancement #1029: Remove invalid pack files when `prune` is run
|
||||||
==========================
|
|
||||||
|
|
||||||
This is mostly a bugfix release and only contains small changes:
|
The `prune` command has been improved and will now remove invalid pack files, for example files
|
||||||
|
that have not been uploaded completely because a backup was interrupted.
|
||||||
|
|
||||||
* We've fixed a bug where `rebuild-index` would corrupt the index when used
|
https://github.com/restic/restic/issues/1029
|
||||||
with the s3 backend together with the `default` layout. This is not the
|
https://github.com/restic/restic/pull/1036
|
||||||
default setting.
|
|
||||||
|
* Enhancement #512: Add Backblaze B2 backend
|
||||||
|
|
||||||
|
https://github.com/restic/restic/issues/512
|
||||||
|
https://github.com/restic/restic/pull/978
|
||||||
|
|
||||||
|
* Enhancement #636: Add dirs `tags` and `hosts` to fuse mount
|
||||||
|
|
||||||
|
The fuse mount now has two more directories: `tags` contains a subdir for each tag, which in turn
|
||||||
|
contains only the snapshots that have this tag. The subdir `hosts` contains a subdir for each
|
||||||
|
host that has a snapshot, and the subdir contains the snapshots for that host.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/issues/636
|
||||||
|
https://github.com/restic/restic/pull/1050
|
||||||
|
|
||||||
|
* Enhancement #989: Improve performance of the `find` command
|
||||||
|
|
||||||
|
Improved performance for the `find` command: Restic recognizes paths it has already checked
|
||||||
|
for the files in question, so the number of backend requests is reduced a lot.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/issues/989
|
||||||
|
https://github.com/restic/restic/pull/993
|
||||||
|
|
||||||
|
* Enhancement #975: Add new backend for OpenStack Swift
|
||||||
|
|
||||||
|
https://github.com/restic/restic/pull/975
|
||||||
|
https://github.com/restic/restic/pull/648
|
||||||
|
|
||||||
|
* Enhancement #998: Improve performance of the fuse mount
|
||||||
|
|
||||||
|
Listing directories which contain large files now is significantly faster.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/pull/998
|
||||||
|
|
||||||
|
|
||||||
|
Changelog for restic 0.6.1 (2017-06-01)
|
||||||
|
=======================================
|
||||||
|
|
||||||
|
The following sections list the changes in restic 0.6.1 relevant to
|
||||||
|
restic users. The changes are ordered by importance.
|
||||||
|
|
||||||
|
Summary
|
||||||
|
-------
|
||||||
|
|
||||||
|
* Enh #985: Allow multiple parallel idle HTTP connections
|
||||||
|
* Enh #981: Remove temporary path from binary in `build.go`
|
||||||
|
* Enh #974: Remove regular status reports
|
||||||
|
|
||||||
|
Details
|
||||||
|
-------
|
||||||
|
|
||||||
|
* Enhancement #985: Allow multiple parallel idle HTTP connections
|
||||||
|
|
||||||
|
Backends based on HTTP now allow several idle connections in parallel. This is especially
|
||||||
|
important for the REST backend, which (when used with a local server) may create a lot
|
||||||
|
connections and exhaust available ports quickly.
|
||||||
|
|
||||||
* Backends based on HTTP now allow several idle connections in parallel. This
|
|
||||||
is especially important for the REST backend, which (when used with a local
|
|
||||||
server) may create a lot connections and exhaust available ports quickly.
|
|
||||||
https://github.com/restic/restic/issues/985
|
https://github.com/restic/restic/issues/985
|
||||||
https://github.com/restic/restic/pull/986
|
https://github.com/restic/restic/pull/986
|
||||||
|
|
||||||
* Regular status report: We've removed the status report that was printed
|
* Enhancement #981: Remove temporary path from binary in `build.go`
|
||||||
every 10 seconds when restic is run non-interactively. You can still force
|
|
||||||
reporting the current status by sending a `USR1` signal to the process.
|
The `build.go` now strips the temporary directory used for compilation from the binary. This
|
||||||
https://github.com/restic/restic/pull/974
|
is the first step in enabling reproducible builds.
|
||||||
|
|
||||||
* The `build.go` now strips the temporary directory used for compilation from
|
|
||||||
the binary. This is the first step in enabling reproducible builds.
|
|
||||||
https://github.com/restic/restic/pull/981
|
https://github.com/restic/restic/pull/981
|
||||||
|
|
||||||
Important Changes in 0.6.0
|
* Enhancement #974: Remove regular status reports
|
||||||
==========================
|
|
||||||
|
|
||||||
Consistent forget policy
|
Regular status report: We've removed the status report that was printed every 10 seconds when
|
||||||
------------------------
|
restic is run non-interactively. You can still force reporting the current status by sending a
|
||||||
|
`USR1` signal to the process.
|
||||||
|
|
||||||
The `forget` command was corrected to be more consistent in which snapshots are
|
https://github.com/restic/restic/pull/974
|
||||||
to be forgotten. It is possible that the new code removes more snapshots than
|
|
||||||
before, so please review what would be deleted by using the `--dry-run` option.
|
|
||||||
|
|
||||||
https://github.com/restic/restic/pull/957
|
|
||||||
https://github.com/restic/restic/issues/953
|
|
||||||
|
|
||||||
Unified repository layout
|
Changelog for restic 0.6.0 (2017-05-29)
|
||||||
-------------------------
|
=======================================
|
||||||
|
|
||||||
Up to now the s3 backend used a special repository layout. We've decided to
|
The following sections list the changes in restic 0.6.0 relevant to
|
||||||
unify the repository layout and implemented the default layout also for the s3
|
restic users. The changes are ordered by importance.
|
||||||
backend. For creating a new repository on s3 with the default layout, use
|
|
||||||
`restic -o s3.layout=default init`. For further commands the option is not
|
|
||||||
necessary any more, restic will automatically detect the correct layout to use.
|
|
||||||
A future version will switch to the default layout for new repositories.
|
|
||||||
|
|
||||||
https://github.com/restic/restic/pull/966
|
Summary
|
||||||
https://github.com/restic/restic/issues/965
|
-------
|
||||||
|
|
||||||
Memory and time improvements for the s3 backend
|
* Enh #953: Make `forget` consistent
|
||||||
-----------------------------------------------
|
* Enh #965: Unify repository layout for all backends
|
||||||
|
* Enh #962: Improve memory and runtime for the s3 backend
|
||||||
|
|
||||||
|
Details
|
||||||
|
-------
|
||||||
|
|
||||||
|
* Enhancement #953: Make `forget` consistent
|
||||||
|
|
||||||
|
The `forget` command was corrected to be more consistent in which snapshots are to be
|
||||||
|
forgotten. It is possible that the new code removes more snapshots than before, so please
|
||||||
|
review what would be deleted by using the `--dry-run` option.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/issues/953
|
||||||
|
https://github.com/restic/restic/pull/957
|
||||||
|
|
||||||
|
* Enhancement #965: Unify repository layout for all backends
|
||||||
|
|
||||||
|
Up to now the s3 backend used a special repository layout. We've decided to unify the repository
|
||||||
|
layout and implemented the default layout also for the s3 backend. For creating a new
|
||||||
|
repository on s3 with the default layout, use `restic -o s3.layout=default init`. For further
|
||||||
|
commands the option is not necessary any more, restic will automatically detect the correct
|
||||||
|
layout to use. A future version will switch to the default layout for new repositories.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/issues/965
|
||||||
|
https://github.com/restic/restic/pull/966
|
||||||
|
|
||||||
|
* Enhancement #962: Improve memory and runtime for the s3 backend
|
||||||
|
|
||||||
|
We've updated the library used for accessing s3, switched to using a lower level API and added
|
||||||
|
caching for some requests. This lead to a decrease in memory usage and a great speedup. In
|
||||||
|
addition, we added benchmark functions for all backends, so we can track improvements over
|
||||||
|
time. The Continuous Integration test service we're using (Travis) now runs the s3 backend
|
||||||
|
tests not only against a Minio server, but also against the Amazon s3 live service, so we should
|
||||||
|
be notified of any regressions much sooner.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/pull/962
|
||||||
|
https://github.com/restic/restic/pull/960
|
||||||
|
https://github.com/restic/restic/pull/946
|
||||||
|
https://github.com/restic/restic/pull/938
|
||||||
|
https://github.com/restic/restic/pull/883
|
||||||
|
|
||||||
We've updated the library used for accessing s3, switched to using a lower
|
|
||||||
level API and added caching for some requests. This lead to a decrease in
|
|
||||||
memory usage and a great speedup. In addition, we added benchmark functions for
|
|
||||||
all backends, so we can track improvements over time. The Continuous
|
|
||||||
Integration test service we're using (Travis) now runs the s3 backend tests not
|
|
||||||
only against a Minio server, but also against the Amazon s3 live service, so we
|
|
||||||
should be notified of any regressions much sooner.
|
|
||||||
|
|
||||||
https://github.com/restic/restic/pull/962
|
|
||||||
https://github.com/restic/restic/pull/960
|
|
||||||
https://github.com/restic/restic/pull/946
|
|
||||||
https://github.com/restic/restic/pull/938
|
|
||||||
https://github.com/restic/restic/pull/883
|
|
||||||
|
|
8
changelog/0.6.0/issue-953
Normal file
8
changelog/0.6.0/issue-953
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
Enhancement: Make `forget` consistent
|
||||||
|
|
||||||
|
The `forget` command was corrected to be more consistent in which snapshots are
|
||||||
|
to be forgotten. It is possible that the new code removes more snapshots than
|
||||||
|
before, so please review what would be deleted by using the `--dry-run` option.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/pull/957
|
||||||
|
https://github.com/restic/restic/issues/953
|
11
changelog/0.6.0/issue-965
Normal file
11
changelog/0.6.0/issue-965
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
Enhancement: Unify repository layout for all backends
|
||||||
|
|
||||||
|
Up to now the s3 backend used a special repository layout. We've decided to
|
||||||
|
unify the repository layout and implemented the default layout also for the s3
|
||||||
|
backend. For creating a new repository on s3 with the default layout, use
|
||||||
|
`restic -o s3.layout=default init`. For further commands the option is not
|
||||||
|
necessary any more, restic will automatically detect the correct layout to use.
|
||||||
|
A future version will switch to the default layout for new repositories.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/pull/966
|
||||||
|
https://github.com/restic/restic/issues/965
|
15
changelog/0.6.0/pull-962
Normal file
15
changelog/0.6.0/pull-962
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
Enhancement: Improve memory and runtime for the s3 backend
|
||||||
|
|
||||||
|
We've updated the library used for accessing s3, switched to using a lower
|
||||||
|
level API and added caching for some requests. This lead to a decrease in
|
||||||
|
memory usage and a great speedup. In addition, we added benchmark functions for
|
||||||
|
all backends, so we can track improvements over time. The Continuous
|
||||||
|
Integration test service we're using (Travis) now runs the s3 backend tests not
|
||||||
|
only against a Minio server, but also against the Amazon s3 live service, so we
|
||||||
|
should be notified of any regressions much sooner.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/pull/962
|
||||||
|
https://github.com/restic/restic/pull/960
|
||||||
|
https://github.com/restic/restic/pull/946
|
||||||
|
https://github.com/restic/restic/pull/938
|
||||||
|
https://github.com/restic/restic/pull/883
|
8
changelog/0.6.1/issue-985
Normal file
8
changelog/0.6.1/issue-985
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
Enhancement: Allow multiple parallel idle HTTP connections
|
||||||
|
|
||||||
|
Backends based on HTTP now allow several idle connections in parallel. This
|
||||||
|
is especially important for the REST backend, which (when used with a local
|
||||||
|
server) may create a lot connections and exhaust available ports quickly.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/issues/985
|
||||||
|
https://github.com/restic/restic/pull/986
|
6
changelog/0.6.1/pull-891
Normal file
6
changelog/0.6.1/pull-891
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
Enhancement: Remove temporary path from binary in `build.go`
|
||||||
|
|
||||||
|
The `build.go` now strips the temporary directory used for compilation from
|
||||||
|
the binary. This is the first step in enabling reproducible builds.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/pull/981
|
7
changelog/0.6.1/pull-974
Normal file
7
changelog/0.6.1/pull-974
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
Enhancement: Remove regular status reports
|
||||||
|
|
||||||
|
Regular status report: We've removed the status report that was printed
|
||||||
|
every 10 seconds when restic is run non-interactively. You can still force
|
||||||
|
reporting the current status by sending a `USR1` signal to the process.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/pull/974
|
9
changelog/0.7.0/issue-1013
Normal file
9
changelog/0.7.0/issue-1013
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
Bugfix: Switch back to using the high-level minio-go API for s3
|
||||||
|
|
||||||
|
For the s3 backend we're back to using the high-level API the s3 client library
|
||||||
|
for uploading data, a few users reported dropped connections (which the library
|
||||||
|
will automatically retry now).
|
||||||
|
|
||||||
|
https://github.com/restic/restic/issues/1013
|
||||||
|
https://github.com/restic/restic/issues/1023
|
||||||
|
https://github.com/restic/restic/pull/1025
|
7
changelog/0.7.0/issue-1021
Normal file
7
changelog/0.7.0/issue-1021
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
Enhancement: Detect invalid backend name and print error
|
||||||
|
|
||||||
|
restic now tries to detect when an invalid/unknown backend is used and
|
||||||
|
returns an error message.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/issues/1021
|
||||||
|
https://github.com/restic/restic/pull/1070
|
8
changelog/0.7.0/issue-1029
Normal file
8
changelog/0.7.0/issue-1029
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
Enhancement: Remove invalid pack files when `prune` is run
|
||||||
|
|
||||||
|
The `prune` command has been improved and will now remove invalid pack files,
|
||||||
|
for example files that have not been uploaded completely because a backup was
|
||||||
|
interrupted.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/issues/1029
|
||||||
|
https://github.com/restic/restic/pull/1036
|
4
changelog/0.7.0/issue-512
Normal file
4
changelog/0.7.0/issue-512
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
Enhancement: Add Backblaze B2 backend
|
||||||
|
|
||||||
|
https://github.com/restic/restic/issues/512
|
||||||
|
https://github.com/restic/restic/pull/978
|
9
changelog/0.7.0/issue-636
Normal file
9
changelog/0.7.0/issue-636
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
Enhancement: Add dirs `tags` and `hosts` to fuse mount
|
||||||
|
|
||||||
|
The fuse mount now has two more directories: `tags` contains a subdir for
|
||||||
|
each tag, which in turn contains only the snapshots that have this tag. The
|
||||||
|
subdir `hosts` contains a subdir for each host that has a snapshot, and the
|
||||||
|
subdir contains the snapshots for that host.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/issues/636
|
||||||
|
https://github.com/restic/restic/pull/1050
|
8
changelog/0.7.0/issue-965
Normal file
8
changelog/0.7.0/issue-965
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
Bugfix: Switch to `default` repo layout for the s3 backend
|
||||||
|
|
||||||
|
The default layout for the s3 backend is now `default` (instead of `s3legacy`).
|
||||||
|
Also, there's a new `migrate` command to convert an existing repo, it can be
|
||||||
|
run like this: `restic migrate s3_layout`
|
||||||
|
|
||||||
|
https://github.com/restic/restic/issues/965
|
||||||
|
https://github.com/restic/restic/pull/1004
|
8
changelog/0.7.0/issue-989
Normal file
8
changelog/0.7.0/issue-989
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
Enhancement: Improve performance of the `find` command
|
||||||
|
|
||||||
|
Improved performance for the `find` command: Restic recognizes paths it has
|
||||||
|
already checked for the files in question, so the number of backend requests
|
||||||
|
is reduced a lot.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/issues/989
|
||||||
|
https://github.com/restic/restic/pull/993
|
4
changelog/0.7.0/pull-975
Normal file
4
changelog/0.7.0/pull-975
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
Enhancement: Add new backend for OpenStack Swift
|
||||||
|
|
||||||
|
https://github.com/restic/restic/pull/975
|
||||||
|
https://github.com/restic/restic/pull/648
|
5
changelog/0.7.0/pull-998
Normal file
5
changelog/0.7.0/pull-998
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
Enhancement: Improve performance of the fuse mount
|
||||||
|
|
||||||
|
Listing directories which contain large files now is significantly faster.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/pull/998
|
10
changelog/0.7.1/issue-1055
Normal file
10
changelog/0.7.1/issue-1055
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
Enhancement: Create subdirs below `data/` for local/sftp backends
|
||||||
|
|
||||||
|
The local and sftp backends now create the subdirs below `data/` on
|
||||||
|
open/init. This way, restic makes sure that they always exist. This is
|
||||||
|
connected to an issue for the sftp server:
|
||||||
|
|
||||||
|
https://github.com/restic/rest-server/pull/11#issuecomment-309879710
|
||||||
|
https://github.com/restic/restic/issues/1055
|
||||||
|
https://github.com/restic/restic/pull/1077
|
||||||
|
https://github.com/restic/restic/pull/1105
|
8
changelog/0.7.1/issue-1067
Normal file
8
changelog/0.7.1/issue-1067
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
Enhancement: Allow loading credentials for s3 from IAM
|
||||||
|
|
||||||
|
When no S3 credentials are specified in the environment variables, restic
|
||||||
|
now tries to load credentials from an IAM instance profile when the s3
|
||||||
|
backend is used.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/issues/1067
|
||||||
|
https://github.com/restic/restic/pull/1086
|
8
changelog/0.7.1/issue-1073
Normal file
8
changelog/0.7.1/issue-1073
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
Enhancement: Add `migrate` cmd to migrate from `s3legacy` to `default` layout
|
||||||
|
|
||||||
|
The `migrate` command for chaning the `s3legacy` layout to the `default` layout
|
||||||
|
for s3 backends has been improved: It can now be restarted with `restic migrate
|
||||||
|
--force s3_layout` and automatically retries operations on error.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/issues/1073
|
||||||
|
https://github.com/restic/restic/pull/1075
|
4
changelog/0.7.1/issue-1081
Normal file
4
changelog/0.7.1/issue-1081
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
Enhancement: Clarify semantic for `--tasg` for the `forget` command
|
||||||
|
|
||||||
|
https://github.com/restic/restic/issues/1081
|
||||||
|
https://github.com/restic/restic/pull/1090
|
5
changelog/0.7.1/plul-1080
Normal file
5
changelog/0.7.1/plul-1080
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
Enhancement: Ignore chmod() errors on filesystems which do not support it
|
||||||
|
|
||||||
|
https://github.com/restic/restic/pull/1080
|
||||||
|
https://github.com/restic/restic/pull/1112
|
||||||
|
|
3
changelog/0.7.1/pull-1082
Normal file
3
changelog/0.7.1/pull-1082
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
Enhancement: Print stats on SIGINFO on Darwin and FreeBSD (ctrl+t)
|
||||||
|
|
||||||
|
https://github.com/restic/restic/pull/1082
|
9
changelog/0.7.1/pull-1115
Normal file
9
changelog/0.7.1/pull-1115
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
Bugfix: Fix `prune`, only include existing files in indexes
|
||||||
|
|
||||||
|
A bug was found (and corrected) in the index rebuilding after prune, which led
|
||||||
|
to indexes which include blobs that were not present in the repo any more.
|
||||||
|
There were already checks in place which detected this situation and aborted
|
||||||
|
with an error message. A new run of either `prune` or `rebuild-index` corrected
|
||||||
|
the index files. This is now fixed and a test has been added to detect this.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/pull/1115
|
8
changelog/0.7.2/issue-1132
Normal file
8
changelog/0.7.2/issue-1132
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
Enhancement: Make `key` command always prompt for a password
|
||||||
|
|
||||||
|
The `key` command now prompts for a password even if the original password
|
||||||
|
to access a repo has been specified via the `RESTIC_PASSWORD` environment
|
||||||
|
variable or a password file.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/issues/1132
|
||||||
|
https://github.com/restic/restic/pull/1133
|
8
changelog/0.7.2/issue-1167
Normal file
8
changelog/0.7.2/issue-1167
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
Bugfix: Do not create a local repo unless `init` is used
|
||||||
|
|
||||||
|
When a restic command other than `init` is used with a local repository and the
|
||||||
|
repository directory does not exist, restic creates the directory structure.
|
||||||
|
That's an error, only the `init` command should create the dir.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/issues/1167
|
||||||
|
https://github.com/restic/restic/pull/1182
|
4
changelog/0.7.2/issue-1179
Normal file
4
changelog/0.7.2/issue-1179
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
Enhancement: Resolve name conflicts, append a counter
|
||||||
|
|
||||||
|
https://github.com/restic/restic/issues/1179
|
||||||
|
https://github.com/restic/restic/pull/1209
|
7
changelog/0.7.2/issue-1208
Normal file
7
changelog/0.7.2/issue-1208
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
Enhancement: Add `--compact` to `snapshots` command
|
||||||
|
|
||||||
|
The option `--compact` was added to the `snapshots` command to get a better
|
||||||
|
overview of the snapshots in a repo. It limits each snapshot to a single line.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/issues/1218
|
||||||
|
https://github.com/restic/restic/pull/1223
|
10
changelog/0.7.2/issue-317
Normal file
10
changelog/0.7.2/issue-317
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
Enhancement: Add `--exclude-caches` and `--exclude-if-present`
|
||||||
|
|
||||||
|
A new option `--exclude-caches` was added that allows excluding cache
|
||||||
|
directories (that are tagged as such). This is a special case of a more generic
|
||||||
|
option `--exclude-if-present` which excludes a directory if a file with a
|
||||||
|
specific name (and contents) is present.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/issues/317
|
||||||
|
https://github.com/restic/restic/pull/1170
|
||||||
|
https://github.com/restic/restic/pull/1224
|
4
changelog/0.7.2/issues-697
Normal file
4
changelog/0.7.2/issues-697
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
Enhancement: Automatically generate man pages for all restic commands
|
||||||
|
|
||||||
|
https://github.com/restic/restic/issues/697
|
||||||
|
https://github.com/restic/restic/pull/1147
|
3
changelog/0.7.2/pull-1044
Normal file
3
changelog/0.7.2/pull-1044
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
Enhancement: Improve `restore`, do not traverse/load excluded directories
|
||||||
|
|
||||||
|
https://github.com/restic/restic/pull/1044
|
3
changelog/0.7.2/pull-1061
Normal file
3
changelog/0.7.2/pull-1061
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
Enhancement: Add Dockerfile and official Docker image
|
||||||
|
|
||||||
|
https://github.com/restic/restic/pull/1061
|
7
changelog/0.7.2/pull-1126
Normal file
7
changelog/0.7.2/pull-1126
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
Enhancement: Use the standard Go git repository layout, use `dep` for vendoring
|
||||||
|
|
||||||
|
The git repository layout was changed to resemble the layout typically used in
|
||||||
|
Go projects, we're not using `gb` for building restic any more and vendoring
|
||||||
|
the dependencies is now taken care of by `dep`.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/pull/1126
|
5
changelog/0.7.2/pull-1134
Normal file
5
changelog/0.7.2/pull-1134
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
Enhancement: Add support for storing backups on Google Cloud Storage
|
||||||
|
|
||||||
|
https://github.com/restic/restic/pull/1134
|
||||||
|
https://github.com/restic/restic/pull/1052
|
||||||
|
https://github.com/restic/restic/issues/211
|
3
changelog/0.7.2/pull-1144
Normal file
3
changelog/0.7.2/pull-1144
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
Enhancement: Properly report errors when reading files with exclude patterns.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/pull/1144
|
8
changelog/0.7.2/pull-1149
Normal file
8
changelog/0.7.2/pull-1149
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
Enhancement: Add support for storing backups on Microsoft Azure Blob Storage
|
||||||
|
|
||||||
|
The library we're using to access the service requires Go 1.8, so restic now
|
||||||
|
needs at least Go 1.8.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/pull/1149
|
||||||
|
https://github.com/restic/restic/pull/1059
|
||||||
|
https://github.com/restic/restic/issues/609
|
3
changelog/0.7.2/pull-1164
Normal file
3
changelog/0.7.2/pull-1164
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
Bugfix: Make the `key remove` command behave as documented
|
||||||
|
|
||||||
|
https://github.com/restic/restic/pull/1164
|
8
changelog/0.7.2/pull-1191
Normal file
8
changelog/0.7.2/pull-1191
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
Bugfix: Make sure to write profiling files on interrupt
|
||||||
|
|
||||||
|
Since a few releases restic had the ability to write profiling files for memory
|
||||||
|
and CPU usage when `debug` is enabled. It was discovered that when restic is
|
||||||
|
interrupted (ctrl+c is pressed), the proper shutdown hook is not run. This is
|
||||||
|
now corrected.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/pull/1191
|
3
changelog/0.7.2/pull-1196
Normal file
3
changelog/0.7.2/pull-1196
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
Enhancement: Add `--group-by` to `forget` command for flexible grouping
|
||||||
|
|
||||||
|
https://github.com/restic/restic/pull/1196
|
5
changelog/0.7.2/pull-1203
Normal file
5
changelog/0.7.2/pull-1203
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
Enhancement: Print stats on all BSD systems when SIGINFO (ctrl+t) is received
|
||||||
|
|
||||||
|
https://github.com/restic/restic/pull/1203
|
||||||
|
https://github.com/restic/restic/pull/1082#issuecomment-326279920
|
||||||
|
|
3
changelog/0.7.2/pull-1205
Normal file
3
changelog/0.7.2/pull-1205
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
Enhancement: Allow specifying time/date for a backup with `--time`
|
||||||
|
|
||||||
|
https://github.com/restic/restic/pull/1205
|
9
changelog/0.7.3/issue-1246
Normal file
9
changelog/0.7.3/issue-1246
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
Bugfix: List all files stored in Google Cloud Storage
|
||||||
|
|
||||||
|
For large backups stored in Google Cloud Storage, the `prune` command fails
|
||||||
|
because listing only returns the first 1000 files. This has been corrected, no
|
||||||
|
data is lost in the process. In addition, a plausibility check was added to
|
||||||
|
`prune`.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/issues/1246
|
||||||
|
https://github.com/restic/restic/pull/1247
|
9
changelog/0.8.0/issue-1102
Normal file
9
changelog/0.8.0/issue-1102
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
Enhancement: Add subdirectory `ids` to fuse mount
|
||||||
|
|
||||||
|
The fuse mount now has an `ids` subdirectory which contains the snapshots below
|
||||||
|
their (short) IDs.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/issues/1102
|
||||||
|
https://github.com/restic/restic/pull/1299
|
||||||
|
https://github.com/restic/restic/pull/1320
|
||||||
|
|
10
changelog/0.8.0/issue-1114
Normal file
10
changelog/0.8.0/issue-1114
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
Enhancement: Add `--cacert` to specify TLS certificates to check against
|
||||||
|
|
||||||
|
We've added the `--cacert` option which can be used to pass one (or more) CA
|
||||||
|
certificates to restic. These are used in addition to the system CA
|
||||||
|
certificates to verify HTTPS certificates (e.g. for the REST backend).
|
||||||
|
|
||||||
|
https://github.com/restic/restic/issues/1114
|
||||||
|
https://github.com/restic/restic/pull/1276
|
||||||
|
|
||||||
|
|
9
changelog/0.8.0/issue-1216
Normal file
9
changelog/0.8.0/issue-1216
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
Enhancement: Add upload/download limiting
|
||||||
|
|
||||||
|
We've added support for rate limiting through `--limit-upload` and
|
||||||
|
`--limit-download` flags.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/issues/1216
|
||||||
|
https://github.com/restic/restic/pull/1336
|
||||||
|
https://github.com/restic/restic/pull/1358
|
||||||
|
|
7
changelog/0.8.0/issue-1256
Normal file
7
changelog/0.8.0/issue-1256
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
Bugfix: Re-enable workaround for S3 backend
|
||||||
|
|
||||||
|
We've re-enabled a workaround for `minio-go` (the library we're using to
|
||||||
|
access s3 backends), this reduces memory usage.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/issues/1256
|
||||||
|
https://github.com/restic/restic/pull/1267
|
6
changelog/0.8.0/issue-1271
Normal file
6
changelog/0.8.0/issue-1271
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
Enhancement: Cache results for excludes for `backup`
|
||||||
|
|
||||||
|
The `backup` command now caches the result of excludes for a directory.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/issues/1271
|
||||||
|
https://github.com/restic/restic/pull/1326
|
9
changelog/0.8.0/issue-1274
Normal file
9
changelog/0.8.0/issue-1274
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
Enhancement: Add `generate` command, replaces `manpage` and `autocomplete`
|
||||||
|
|
||||||
|
The `generate` command has been added, which replaces the now removed
|
||||||
|
commands `manpage` and `autocomplete`. This release of restic contains the
|
||||||
|
most recent manpages in `doc/man` and the auto-completion files for bash and
|
||||||
|
zsh in `doc/bash-completion.sh` and `doc/zsh-completion.zsh`
|
||||||
|
|
||||||
|
https://github.com/restic/restic/issues/1274
|
||||||
|
https://github.com/restic/restic/pull/1282
|
8
changelog/0.8.0/issue-1291
Normal file
8
changelog/0.8.0/issue-1291
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
Bugfix: Reuse backend TCP connections to BackBlaze B2
|
||||||
|
|
||||||
|
A bug was discovered in the library we're using to access Backblaze, it now
|
||||||
|
reuses already established TCP connections which should be a lot faster and
|
||||||
|
not cause network failures any more.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/issues/1291
|
||||||
|
https://github.com/restic/restic/pull/1301
|
7
changelog/0.8.0/issue-1367
Normal file
7
changelog/0.8.0/issue-1367
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
Enhancement: Allow comments in files read from via `--file-from`
|
||||||
|
|
||||||
|
When the list of files/dirs to be saved is read from a file with
|
||||||
|
`--files-from`, comment lines (starting with `#`) are now ignored.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/issues/1367
|
||||||
|
https://github.com/restic/restic/pull/1368
|
18
changelog/0.8.0/issue-1445
Normal file
18
changelog/0.8.0/issue-1445
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
Security: Prevent writing outside the target directory during restore
|
||||||
|
|
||||||
|
A vulnerability was found in the restic restorer, which allowed attackers in
|
||||||
|
special circumstances to restore files to a location outside of the target
|
||||||
|
directory. Due to the circumstances we estimate this to be a low-risk
|
||||||
|
vulnerability, but urge all users to upgrade to the latest version of restic.
|
||||||
|
|
||||||
|
Exploiting the vulnerability requires a Linux/Unix system which saves backups
|
||||||
|
via restic and a Windows systems which restores files from the repo. In
|
||||||
|
addition, the attackers need to be able to create create files with arbitrary
|
||||||
|
names which are then saved to the restic repo. For example, by creating a file
|
||||||
|
named "..\test.txt" (which is a perfectly legal filename on Linux) and
|
||||||
|
restoring a snapshot containing this file on Windows, it would be written to
|
||||||
|
the parent of the target directory.
|
||||||
|
|
||||||
|
We'd like to thank Tyler Spivey for reporting this responsibly!
|
||||||
|
|
||||||
|
https://github.com/restic/restic/pull/1445
|
9
changelog/0.8.0/issue-448
Normal file
9
changelog/0.8.0/issue-448
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
Enhancement: sftp backend prompts for password
|
||||||
|
|
||||||
|
The sftp backend now prompts for the password if a password is necessary for
|
||||||
|
login.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/issues/448
|
||||||
|
https://github.com/restic/restic/pull/1270
|
||||||
|
|
||||||
|
|
7
changelog/0.8.0/issue-510
Normal file
7
changelog/0.8.0/issue-510
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
Enhancement: Add `dump` command
|
||||||
|
|
||||||
|
We've added the `dump` command which prints a file from a snapshot to
|
||||||
|
stdout. This can e.g. be used to restore files read with `backup --stdin`.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/issues/510
|
||||||
|
https://github.com/restic/restic/pull/1346
|
23
changelog/0.8.0/pull-1040
Normal file
23
changelog/0.8.0/pull-1040
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
Enhancement: Add local metadata cache
|
||||||
|
|
||||||
|
We've added a local cache for metadata so that restic doesn't need to load
|
||||||
|
all metadata (snapshots, indexes, ...) from the repo each time it starts. By
|
||||||
|
default the cache is active, but there's a new global option `--no-cache`
|
||||||
|
that can be used to disable the cache. By deafult, the cache a standard
|
||||||
|
cache folder for the OS, which can be overridden with `--cache-dir`. The
|
||||||
|
cache will automatically populate, indexes and snapshots are saved as they
|
||||||
|
are loaded. Cache directories for repos that haven't been used recently can
|
||||||
|
automatically be removed by restic with the `--cleanup-cache` option.
|
||||||
|
|
||||||
|
A related change was to by default create pack files in the repo that contain
|
||||||
|
either data or metadata, not both mixed together. This allows easy caching of
|
||||||
|
only the metadata files. The next run of `restic prune` will untangle mixed
|
||||||
|
files automatically.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/pull/1040
|
||||||
|
https://github.com/restic/restic/issues/29
|
||||||
|
https://github.com/restic/restic/issues/738
|
||||||
|
https://github.com/restic/restic/issues/282
|
||||||
|
https://github.com/restic/restic/pull/1287
|
||||||
|
https://github.com/restic/restic/pull/1436
|
||||||
|
https://github.com/restic/restic/pull/1265
|
6
changelog/0.8.0/pull-1249
Normal file
6
changelog/0.8.0/pull-1249
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
Enhancement: Add `latest` symlink in fuse mount
|
||||||
|
|
||||||
|
The directory structure in the fuse mount now exposes a symlink `latest`
|
||||||
|
which points to the latest snapshot in that particular directory.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/pull/1249
|
6
changelog/0.8.0/pull-1269
Normal file
6
changelog/0.8.0/pull-1269
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
Enhancement: Add `--compact` to `forget` command
|
||||||
|
|
||||||
|
The option `--compact` was added to the `forget` command to provide the same
|
||||||
|
compact view as the `snapshots` command.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/pull/1269
|
7
changelog/0.8.0/pull-1281
Normal file
7
changelog/0.8.0/pull-1281
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
Enhancement: Google Cloud Storage backend needs less permissions
|
||||||
|
|
||||||
|
The Google Cloud Storage backend no longer requires the service account to
|
||||||
|
have the `storage.buckets.get` permission ("Storage Admin" role) in `restic
|
||||||
|
init` if the bucket already exists.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/pull/1281
|
7
changelog/0.8.0/pull-1317
Normal file
7
changelog/0.8.0/pull-1317
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
Bugfix: Run prune when `forget --prune` is called with just snapshot IDs
|
||||||
|
|
||||||
|
A bug in the `forget` command caused `prune` not to be run when `--prune` was
|
||||||
|
specified without a policy, e.g. when only snapshot IDs that should be
|
||||||
|
forgotten are listed manually.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/pull/1317
|
8
changelog/0.8.0/pull-1319
Normal file
8
changelog/0.8.0/pull-1319
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
Enhancement: Make `check` print `no errors found` explicitly
|
||||||
|
|
||||||
|
The `check` command now explicetly prints `No errors were found` when no errors
|
||||||
|
could be found.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/pull/1319
|
||||||
|
https://github.com/restic/restic/issues/1303
|
||||||
|
|
3
changelog/0.8.0/pull-1353
Normal file
3
changelog/0.8.0/pull-1353
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
Enhancement: Retry failed backend requests
|
||||||
|
|
||||||
|
https://github.com/restic/restic/pull/1353
|
10
changelog/0.8.0/pull-1437
Normal file
10
changelog/0.8.0/pull-1437
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
Bugfix: Remove implicit path `/restic` for the s3 backend
|
||||||
|
|
||||||
|
The s3 backend used the subdir `restic` within a bucket if no explicit path
|
||||||
|
after the bucket name was specified. Since this version, restic does not use
|
||||||
|
this default path any more. If you created a repo on s3 in a bucket without
|
||||||
|
specifying a path within the bucket, you need to add `/restic` at the end of
|
||||||
|
the repository specification to access your repo: `s3:s3.amazonaws.com/bucket/restic`
|
||||||
|
|
||||||
|
https://github.com/restic/restic/pull/1437
|
||||||
|
https://github.com/restic/restic/issues/1292
|
4
changelog/0.8.1/issue-1457
Normal file
4
changelog/0.8.1/issue-1457
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
Bugfix: Improve s3 backend with DigitalOcean Spaces
|
||||||
|
|
||||||
|
https://github.com/restic/restic/pull/1459
|
||||||
|
https://github.com/restic/restic/issues/1457
|
9
changelog/0.8.1/pull-1436
Normal file
9
changelog/0.8.1/pull-1436
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
Enhancement: Add code to detect old cache directories
|
||||||
|
|
||||||
|
We've added code to detect old cache directories of repositories that
|
||||||
|
haven't been used in a long time, restic now prints a note when it detects
|
||||||
|
that such dirs exist. Also, the option `--cleanup-cache` was added to
|
||||||
|
automatically remove such directories. That's not a problem because the
|
||||||
|
cache will be rebuild once a repo is accessed again.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/pull/1436
|
6
changelog/0.8.1/pull-1439
Normal file
6
changelog/0.8.1/pull-1439
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
Enhancement: Improve cancellation logic
|
||||||
|
|
||||||
|
The cancellation logic was improved, restic can now shut down cleanly when
|
||||||
|
requested to do so (e.g. via ctrl+c).
|
||||||
|
|
||||||
|
https://github.com/restic/restic/pull/1439
|
9
changelog/0.8.1/pull-1452
Normal file
9
changelog/0.8.1/pull-1452
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
Change: Do not save atime by default
|
||||||
|
|
||||||
|
By default, the access time for files and dirs is not saved any more. It is
|
||||||
|
not possible to reliably disable updating the access time during a backup,
|
||||||
|
so for the next backup the access time is different again. This means a lot
|
||||||
|
of metadata is saved. If you want to save the access time anyway, pass
|
||||||
|
`--with-atime` to the `backup` command.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/pull/1452
|
6
changelog/0.8.1/pull-1454
Normal file
6
changelog/0.8.1/pull-1454
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
Bugfix: Correct cache dir location for Windows and Darwin
|
||||||
|
|
||||||
|
The cache directory on Windows and Darwin was not correct, instead the
|
||||||
|
directory `.cache` was used.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/pull/1454
|
9
changelog/0.8.1/pull-1459
Normal file
9
changelog/0.8.1/pull-1459
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
Bugfix: Disable handling SIGPIPE
|
||||||
|
|
||||||
|
We've disabled handling SIGPIPE again. Turns out, writing to broken TCP
|
||||||
|
connections also raised SIGPIPE, so restic exits on the first write to a
|
||||||
|
broken connection. Instead, restic should retry the request.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/pull/1459
|
||||||
|
https://github.com/restic/restic/issues/1457
|
||||||
|
https://github.com/restic/restic/issues/1466
|
8
changelog/0.8.1/pull-1462
Normal file
8
changelog/0.8.1/pull-1462
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
Enhancement: Add the `diff` command
|
||||||
|
|
||||||
|
The command `diff` was added, it allows comparing two snapshots and listing
|
||||||
|
all differences.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/issues/11
|
||||||
|
https://github.com/restic/restic/issues/1460
|
||||||
|
https://github.com/restic/restic/pull/1462
|
32
changelog/CHANGELOG.tmpl
Normal file
32
changelog/CHANGELOG.tmpl
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
{{- range $changes := . }}{{ with $changes -}}
|
||||||
|
Changelog for restic {{ .Version }} ({{ .Date }})
|
||||||
|
=======================================
|
||||||
|
|
||||||
|
The following sections list the changes in restic {{ .Version }} relevant to
|
||||||
|
restic users. The changes are ordered by importance.
|
||||||
|
|
||||||
|
Summary
|
||||||
|
-------
|
||||||
|
{{ range $entry := .Entries }}{{ with $entry }}
|
||||||
|
* {{ .TypeShort }} #{{ .PrimaryID }}: {{ .Title }}
|
||||||
|
{{- end }}{{ end }}
|
||||||
|
|
||||||
|
Details
|
||||||
|
-------
|
||||||
|
{{ range $entry := .Entries }}{{ with $entry }}
|
||||||
|
* {{ .Type }} #{{ .PrimaryID }}: {{ .Title }}
|
||||||
|
{{ range $par := .Paragraphs }}
|
||||||
|
{{ wrap $par 80 3 }}
|
||||||
|
{{ end -}}
|
||||||
|
{{ range $id := .Issues }}
|
||||||
|
https://github.com/restic/restic/issues/{{ $id -}}
|
||||||
|
{{ end -}}
|
||||||
|
{{ range $id := .PRs }}
|
||||||
|
https://github.com/restic/restic/pull/{{ $id -}}
|
||||||
|
{{ end -}}
|
||||||
|
{{ range $url := .OtherURLs }}
|
||||||
|
{{ $url -}}
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}{{ end }}
|
||||||
|
|
||||||
|
{{ end }}{{ end -}}
|
12
changelog/changelog-entry.tmpl
Normal file
12
changelog/changelog-entry.tmpl
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
Bugfix: Fix behavior for foobar (in present tense)
|
||||||
|
|
||||||
|
We've fixed the behavior for foobar, a long-standing annoyance for restic
|
||||||
|
users.
|
||||||
|
|
||||||
|
The text in the paragraphs is written in past tense. The last section is a list
|
||||||
|
of issue URLs, PR URLs and other URLs. The first issue ID (or the first PR ID,
|
||||||
|
in case there aren't any issue links) is used as the primary ID.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/issues/1234
|
||||||
|
https://github.com/restic/restic/pull/55555
|
||||||
|
https://forum.restic/.net/foo/bar/baz
|
32
changelog/changelog-github.tmpl
Normal file
32
changelog/changelog-github.tmpl
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
{{- range $changes := . }}{{ with $changes -}}
|
||||||
|
Changelog for restic {{ .Version }} ({{ .Date }})
|
||||||
|
=======================================
|
||||||
|
|
||||||
|
The following sections list the changes in restic {{ .Version }} relevant to
|
||||||
|
restic users. The changes are ordered by importance.
|
||||||
|
|
||||||
|
Summary
|
||||||
|
-------
|
||||||
|
{{ range $entry := .Entries }}{{ with $entry }}
|
||||||
|
* {{ .TypeShort }} [#{{ .PrimaryID }}]({{ .PrimaryURL }}): {{ .Title }}
|
||||||
|
{{- end }}{{ end }}
|
||||||
|
|
||||||
|
Details
|
||||||
|
-------
|
||||||
|
{{ range $entry := .Entries }}{{ with $entry }}
|
||||||
|
* {{ .Type }} #{{ .PrimaryID }}: {{ .Title }}
|
||||||
|
{{ range $par := .Paragraphs }}
|
||||||
|
{{ $par }}
|
||||||
|
{{ end }}
|
||||||
|
{{ range $id := .Issues -}}
|
||||||
|
[{{ $id }}](https://github.com/restic/restic/issues/{{ $id -}})
|
||||||
|
{{- end -}}
|
||||||
|
{{ range $id := .PRs -}}
|
||||||
|
{{ ` ` }}[#{{ $id }}](https://github.com/restic/restic/pull/{{ $id -}})
|
||||||
|
{{- end -}}
|
||||||
|
{{ ` ` }}{{ range $url := .OtherURLs -}}
|
||||||
|
{{ $url -}}
|
||||||
|
{{- end }}
|
||||||
|
{{ end }}{{ end }}
|
||||||
|
|
||||||
|
{{ end }}{{ end -}}
|
13
changelog/releases
Normal file
13
changelog/releases
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
# This file lists all versions for the changelog. Each line consists of the
|
||||||
|
# version string, followed by an optional release date.
|
||||||
|
#
|
||||||
|
# The resulting changelog generated by `calens` will list all versions in
|
||||||
|
# exactly this order.
|
||||||
|
0.8.1
|
||||||
|
0.8.0 2017-11-26
|
||||||
|
0.7.3 2017-09-20
|
||||||
|
0.7.2 2017-09-13
|
||||||
|
0.7.1 2017-07-22
|
||||||
|
0.7.0 2017-07-01
|
||||||
|
0.6.1 2017-06-01
|
||||||
|
0.6.0 2017-05-29
|
|
@ -96,6 +96,7 @@ func (env *TravisEnvironment) Prepare() error {
|
||||||
"github.com/NebulousLabs/glyphcheck",
|
"github.com/NebulousLabs/glyphcheck",
|
||||||
"github.com/golang/dep/cmd/dep",
|
"github.com/golang/dep/cmd/dep",
|
||||||
"github.com/restic/rest-server/cmd/rest-server",
|
"github.com/restic/rest-server/cmd/rest-server",
|
||||||
|
"github.com/restic/calens",
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, pkg := range pkgs {
|
for _, pkg := range pkgs {
|
||||||
|
@ -285,6 +286,11 @@ func (env *TravisEnvironment) RunTests() error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// check that the entries in changelog/ are valid
|
||||||
|
if err := run("calens"); err != nil {
|
||||||
|
fmt.Fprintf(os.Stderr, "calens failed, files in changelog/ are not valid\n")
|
||||||
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,7 @@ var opts = struct {
|
||||||
IgnoreBranchName bool
|
IgnoreBranchName bool
|
||||||
IgnoreUncommittedChanges bool
|
IgnoreUncommittedChanges bool
|
||||||
IgnoreChangelogVersion bool
|
IgnoreChangelogVersion bool
|
||||||
|
IgnoreChangelogCurrent bool
|
||||||
|
|
||||||
tarFilename string
|
tarFilename string
|
||||||
buildDir string
|
buildDir string
|
||||||
|
@ -33,7 +34,8 @@ var versionRegex = regexp.MustCompile(`^\d+\.\d+\.\d+$`)
|
||||||
func init() {
|
func init() {
|
||||||
pflag.BoolVar(&opts.IgnoreBranchName, "ignore-branch-name", false, "allow releasing from other branches as 'master'")
|
pflag.BoolVar(&opts.IgnoreBranchName, "ignore-branch-name", false, "allow releasing from other branches as 'master'")
|
||||||
pflag.BoolVar(&opts.IgnoreUncommittedChanges, "ignore-uncommitted-changes", false, "allow uncommitted changes")
|
pflag.BoolVar(&opts.IgnoreUncommittedChanges, "ignore-uncommitted-changes", false, "allow uncommitted changes")
|
||||||
pflag.BoolVar(&opts.IgnoreChangelogVersion, "ignore-changelgo-version", false, "ignore missing entry in CHANGELOG.md")
|
pflag.BoolVar(&opts.IgnoreChangelogVersion, "ignore-changelog-version", false, "ignore missing entry in CHANGELOG.md")
|
||||||
|
pflag.BoolVar(&opts.IgnoreChangelogCurrent, "ignore-changelog-current", false, "ignore check if CHANGELOG.md is up to date")
|
||||||
pflag.Parse()
|
pflag.Parse()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -151,7 +153,22 @@ func preCheckVersionExists() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func preCheckChangelog() {
|
func preCheckChangelogCurrent() {
|
||||||
|
if opts.IgnoreChangelogCurrent {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// regenerate changelog
|
||||||
|
run("calens", "--output", "CHANGELOG.md")
|
||||||
|
|
||||||
|
// check for uncommitted changes in changelog
|
||||||
|
if len(uncommittedChanges("CHANGELOG.md")) > 0 {
|
||||||
|
msg("committing file CHANGELOG.md")
|
||||||
|
run("git", "commit", "-m", fmt.Sprintf("Generate CHANGELOG.md for %v", opts.Version), "CHANGELOG.md")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func preCheckChangelogVersion() {
|
||||||
if opts.IgnoreChangelogVersion {
|
if opts.IgnoreChangelogVersion {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -168,7 +185,7 @@ func preCheckChangelog() {
|
||||||
die("error scanning: %v", sc.Err())
|
die("error scanning: %v", sc.Err())
|
||||||
}
|
}
|
||||||
|
|
||||||
if strings.TrimSpace(sc.Text()) == fmt.Sprintf("Important Changes in %v", opts.Version) {
|
if strings.Contains(strings.TrimSpace(sc.Text()), fmt.Sprintf("Changelog for restic %v", opts.Version)) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -189,6 +206,7 @@ func generateFiles() {
|
||||||
"--bash-completion", "doc/bash-completion.sh")
|
"--bash-completion", "doc/bash-completion.sh")
|
||||||
rm("restic-generate.temp")
|
rm("restic-generate.temp")
|
||||||
|
|
||||||
|
run("git", "add", "doc")
|
||||||
changes := uncommittedChanges("doc")
|
changes := uncommittedChanges("doc")
|
||||||
if len(changes) > 0 {
|
if len(changes) > 0 {
|
||||||
msg("committing manpages and auto-completion")
|
msg("committing manpages and auto-completion")
|
||||||
|
@ -287,7 +305,8 @@ func main() {
|
||||||
preCheckBranchMaster()
|
preCheckBranchMaster()
|
||||||
preCheckUncommittedChanges()
|
preCheckUncommittedChanges()
|
||||||
preCheckVersionExists()
|
preCheckVersionExists()
|
||||||
preCheckChangelog()
|
preCheckChangelogCurrent()
|
||||||
|
preCheckChangelogVersion()
|
||||||
|
|
||||||
generateFiles()
|
generateFiles()
|
||||||
updateVersion()
|
updateVersion()
|
||||||
|
|
Loading…
Reference in a new issue