{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":693194728,"defaultBranch":"main","name":"rustic_core","ownerLogin":"rustic-rs","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-09-18T14:34:57.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/100384149?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1724757578.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"46e5ba7d40cebd92865621c5267b8f945be32e44","ref":"refs/heads/gh-readonly-queue/main/pr-203-997f1101983f44e177e83998254ff3d2552fc30e","pushedAt":"2024-08-27T11:19:38.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"chore(deps): update taiki-e/install-action digest to d9dbaa3 (#203)\n\n[![Mend\nRenovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)\n\nThis PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [taiki-e/install-action](https://togithub.com/taiki-e/install-action)\n| action | digest | `d5ead4f` -> `d9dbaa3` |\n\n---\n\n### Configuration\n\n๐Ÿ“… **Schedule**: Branch creation - At any time (no schedule defined),\nAutomerge - At any time (no schedule defined).\n\n๐Ÿšฆ **Automerge**: Disabled by config. Please merge this manually once you\nare satisfied.\n\nโ™ป **Rebasing**: Never, or you tick the rebase/retry checkbox.\n\n๐Ÿ”• **Ignore**: Close this PR and you won't be reminded about this update\nagain.\n\n---\n\n- [ ] If you want to rebase/retry this PR, check\nthis box\n\n---\n\nThis PR has been generated by [Mend\nRenovate](https://www.mend.io/free-developer-tools/renovate/). View\nrepository job log\n[here](https://developer.mend.io/github/rustic-rs/rustic_core).\n\n\n\nCo-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>\nCo-authored-by: simonsan <14062932+simonsan@users.noreply.github.com>","shortMessageHtmlLink":"chore(deps): update taiki-e/install-action digest to d9dbaa3 (#203)"}},{"before":"2f1c3f75982217e99114d6470de59cfb47b8b6ad","after":"9fa885d4fbefcbb6defed38cfd449401c53a602d","ref":"refs/heads/renovate/taiki-e-install-action-digest","pushedAt":"2024-08-27T10:43:39.000Z","pushType":"push","commitsCount":40,"pusher":{"login":"simonsan","name":null,"path":"/simonsan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14062932?s=80&v=4"},"commit":{"message":"Merge branch 'main' into renovate/taiki-e-install-action-digest","shortMessageHtmlLink":"Merge branch 'main' into renovate/taiki-e-install-action-digest"}},{"before":null,"after":"997f1101983f44e177e83998254ff3d2552fc30e","ref":"refs/heads/gh-readonly-queue/main/pr-246-3bdfda369d6b545c0bb471f60ddfb407686e9a5d","pushedAt":"2024-08-27T10:41:09.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"fix: fix StringList::contains_all (#246)\n\nThere was a bug `SrtingList::contains_all`.\nThe implications of this bugs are when filtering snapshots by tags, i.e.\nin rustic the `--filter-tags` option and the `--keep-tags` option of\n`forget` is affected. In the latter case, too many snapshots are kept\nwhich means this bug is non-critical.\n\nThis PR fixes this bug.","shortMessageHtmlLink":"fix: fix StringList::contains_all (#246)"}},{"before":null,"after":"3bdfda369d6b545c0bb471f60ddfb407686e9a5d","ref":"refs/heads/gh-readonly-queue/main/pr-245-28c015a263ad63f4e5797fc450343151703bde26","pushedAt":"2024-08-27T10:37:42.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"fix(build): unbreak building on OpenBSD (#245)\n\nBuilding rustic_core on OpenBSD fails with:\n\n```\nerror[E0412]: cannot find type `ExtendedAttribute` in this scope\n --> /tmp/pobj/rustic-0.8.0/rustic-0.8.0/modcargo-crates/rustic_core-0.3.0/src/backend/ignore.rs:476:62\n |\n476 | ...usticResult> {\n | ^^^^^^^^^^^^^^^^^ not found in this scope\n |\nhelp: consider importing this struct\n |\n1 + use crate::backend::node::ExtendedAttribute;\n |\n```\n\nUnbreak by fixing a conditional check.","shortMessageHtmlLink":"fix(build): unbreak building on OpenBSD (#245)"}},{"before":"36aca0c7f0495013249c0fff08db2649ccc1e315","after":"e8ac566a4ae13aa66ef86cd6f66bbc7a4fc58fc3","ref":"refs/heads/snapshot-contains-all","pushedAt":"2024-08-27T07:26:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aawsome","name":null,"path":"/aawsome","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/37850842?s=80&v=4"},"commit":{"message":"correct snapshots","shortMessageHtmlLink":"correct snapshots"}},{"before":null,"after":"a07fe8071657c552b4cf0c7051e5a2d79191ee39","ref":"refs/heads/fix-keyfile-errors","pushedAt":"2024-08-26T22:16:32.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"aawsome","name":null,"path":"/aawsome","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/37850842?s=80&v=4"},"commit":{"message":"fix: don't give invalid password error for other keyfile errors","shortMessageHtmlLink":"fix: don't give invalid password error for other keyfile errors"}},{"before":null,"after":"36aca0c7f0495013249c0fff08db2649ccc1e315","ref":"refs/heads/snapshot-contains-all","pushedAt":"2024-08-26T22:14:43.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"aawsome","name":null,"path":"/aawsome","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/37850842?s=80&v=4"},"commit":{"message":"fix: fix StringList::contains_all","shortMessageHtmlLink":"fix: fix StringList::contains_all"}},{"before":"013c9b896feaf7c04ad581a74984243c6a156b18","after":"b5ebaf6db7656b50716ed2ac0661539f6165f290","ref":"refs/heads/release-plz-2024-08-18T20-59-33Z","pushedAt":"2024-08-20T10:13:36.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"simonsan","name":null,"path":"/simonsan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14062932?s=80&v=4"},"commit":{"message":"chore: release\n\nSigned-off-by: simonsan <14062932+simonsan@users.noreply.github.com>","shortMessageHtmlLink":"chore: release"}},{"before":"62a2c4b01a4123288097006727079fb01e67e3a0","after":"28c015a263ad63f4e5797fc450343151703bde26","ref":"refs/heads/main","pushedAt":"2024-08-20T10:04:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aawsome","name":null,"path":"/aawsome","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/37850842?s=80&v=4"},"commit":{"message":"use rustic_core from workspace","shortMessageHtmlLink":"use rustic_core from workspace"}},{"before":"878bd017e2e6270efc6aa698756d22f0e3509c9e","after":"013c9b896feaf7c04ad581a74984243c6a156b18","ref":"refs/heads/release-plz-2024-08-18T20-59-33Z","pushedAt":"2024-08-20T10:02:12.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"simonsan","name":null,"path":"/simonsan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14062932?s=80&v=4"},"commit":{"message":"chore: release\n\nSigned-off-by: simonsan <14062932+simonsan@users.noreply.github.com>","shortMessageHtmlLink":"chore: release"}},{"before":"6b268fd6b14c5c2ab10ea8277d30ffb710923f8e","after":"62a2c4b01a4123288097006727079fb01e67e3a0","ref":"refs/heads/main","pushedAt":"2024-08-20T09:58:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aawsome","name":null,"path":"/aawsome","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/37850842?s=80&v=4"},"commit":{"message":"fix: dprint","shortMessageHtmlLink":"fix: dprint"}},{"before":"43c38204c4c17f18a00c6b0ceec97bef33b77e4d","after":"878bd017e2e6270efc6aa698756d22f0e3509c9e","ref":"refs/heads/release-plz-2024-08-18T20-59-33Z","pushedAt":"2024-08-20T09:53:46.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"simonsan","name":null,"path":"/simonsan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14062932?s=80&v=4"},"commit":{"message":"chore: release\n\nSigned-off-by: simonsan <14062932+simonsan@users.noreply.github.com>","shortMessageHtmlLink":"chore: release"}},{"before":"8081c8a35d1c903c75a860cd0022290c85e1c568","after":"6b268fd6b14c5c2ab10ea8277d30ffb710923f8e","ref":"refs/heads/main","pushedAt":"2024-08-20T09:48:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aawsome","name":null,"path":"/aawsome","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/37850842?s=80&v=4"},"commit":{"message":"prepare rustic_testing for release","shortMessageHtmlLink":"prepare rustic_testing for release"}},{"before":"8081c8a35d1c903c75a860cd0022290c85e1c568","after":"43c38204c4c17f18a00c6b0ceec97bef33b77e4d","ref":"refs/heads/release-plz-2024-08-18T20-59-33Z","pushedAt":"2024-08-18T20:59:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"simonsan","name":null,"path":"/simonsan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14062932?s=80&v=4"},"commit":{"message":"chore: release","shortMessageHtmlLink":"chore: release"}},{"before":null,"after":"8081c8a35d1c903c75a860cd0022290c85e1c568","ref":"refs/heads/release-plz-2024-08-18T20-59-33Z","pushedAt":"2024-08-18T20:59:33.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"simonsan","name":null,"path":"/simonsan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14062932?s=80&v=4"},"commit":{"message":"Revert \"backend: specify core version\"\n\nThis reverts commit abc68370c6b2b80f0c2e3b4f935263a958d79b5c.","shortMessageHtmlLink":"Revert \"backend: specify core version\""}},{"before":"abc68370c6b2b80f0c2e3b4f935263a958d79b5c","after":"8081c8a35d1c903c75a860cd0022290c85e1c568","ref":"refs/heads/main","pushedAt":"2024-08-18T20:58:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aawsome","name":null,"path":"/aawsome","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/37850842?s=80&v=4"},"commit":{"message":"Revert \"backend: specify core version\"\n\nThis reverts commit abc68370c6b2b80f0c2e3b4f935263a958d79b5c.","shortMessageHtmlLink":"Revert \"backend: specify core version\""}},{"before":"1a10fc7ee48b75dd32eec75ca421027be23588e3","after":"abc68370c6b2b80f0c2e3b4f935263a958d79b5c","ref":"refs/heads/main","pushedAt":"2024-08-18T20:37:19.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"aawsome","name":null,"path":"/aawsome","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/37850842?s=80&v=4"},"commit":{"message":"backend: specify core version","shortMessageHtmlLink":"backend: specify core version"}},{"before":"0a75cc69a617adfe51e493ed52cb788f81e8b412","after":null,"ref":"refs/heads/release-plz-2024-03-09T22-40-38Z","pushedAt":"2024-08-18T10:16:09.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"aawsome","name":null,"path":"/aawsome","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/37850842?s=80&v=4"}},{"before":"1a10fc7ee48b75dd32eec75ca421027be23588e3","after":null,"ref":"refs/heads/gh-readonly-queue/main/pr-178-a6897cd80c753f1aedeab4eba5ed59977e14742c","pushedAt":"2024-08-18T10:16:09.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":"a6897cd80c753f1aedeab4eba5ed59977e14742c","after":"1a10fc7ee48b75dd32eec75ca421027be23588e3","ref":"refs/heads/main","pushedAt":"2024-08-18T10:16:08.000Z","pushType":"merge_queue_merge","commitsCount":1,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"chore: release (#178)\n\n## ๐Ÿค– New release\n* `rustic_backend`: 0.1.1 -> 0.2.0 (โœ“ API compatible changes)\n* `rustic_core`: 0.2.0 -> 0.3.0 (โœ“ API compatible changes)\n* `rustic_config`: 0.1.0 -> 0.2.0 (โœ“ API compatible changes)\n\n
Changelog

\n\n## `rustic_backend`\n

\n\n##\n[0.2.0](https://github.com/rustic-rs/rustic_core/compare/rustic_backend-v0.1.1...rustic_backend-v0.2.0)\n- 2024-08-18\n\n### Added\n- *(backends)* Add throttle option to opendal backend\n([#216](https://github.com/rustic-rs/rustic_core/pull/216))\n- *(backend)* [**breaking**] remove s3 and sftp wrapper around opendal\n([#200](https://github.com/rustic-rs/rustic_core/pull/200))\n- [**breaking**] move clippy lints to cargo manifest and fix upcoming\nissues all over the workspace\n([#176](https://github.com/rustic-rs/rustic_core/pull/176))\n- *(opendal)* Add option connections\n([#155](https://github.com/rustic-rs/rustic_core/pull/155))\n\n### Fixed\n- clippy lints\n([#220](https://github.com/rustic-rs/rustic_core/pull/220))\n- *(backends)* local: Only create repo dir when creating the repository\n([#206](https://github.com/rustic-rs/rustic_core/pull/206))\n- *(deps)* update rust crate reqwest to 0.11.26\n([#196](https://github.com/rustic-rs/rustic_core/pull/196))\n- *(deps)* update rust crate thiserror to 1.0.58\n([#192](https://github.com/rustic-rs/rustic_core/pull/192))\n- *(deps)* update rust crate anyhow to 1.0.81\n([#191](https://github.com/rustic-rs/rustic_core/pull/191))\n- *(rclone)* Use semver for version checking\n([#188](https://github.com/rustic-rs/rustic_core/pull/188))\n- *(deps)* update rust crate clap to 4.5.2\n([#183](https://github.com/rustic-rs/rustic_core/pull/183))\n- *(config)* Merge repository options for multiple config sources\n([#171](https://github.com/rustic-rs/rustic_core/pull/171))\n- *(backend)* Give useful error message when no repository is given.\n- updated msrv and fix clippy lints\n([#160](https://github.com/rustic-rs/rustic_core/pull/160))\n\n### Other\n- dependency updates\n- *(deps)* more version updates\n([#237](https://github.com/rustic-rs/rustic_core/pull/237))\n- Update MSRV to 1.76.0\n- *(deps)* Several version updates\n([#234](https://github.com/rustic-rs/rustic_core/pull/234))\n- Update MSRV (needed by opendal)\n- update opendal to 0.46 and refactor accordingly\n([#225](https://github.com/rustic-rs/rustic_core/pull/225))\n- Update MSRV to 1.73.0\n- fix clippy lints\n- *(deps)* update dependencies\n([#180](https://github.com/rustic-rs/rustic_core/pull/180))\n- add rustic_testing to workspace crates\n- reset again after release to workspace dependencies for workspace\ncrates\n
\n\n## `rustic_core`\n
\n\n##\n[0.3.0](https://github.com/rustic-rs/rustic_core/compare/rustic_core-v0.2.0...rustic_core-v0.3.0)\n- 2024-08-18\n\n### Added\n- *(forget)* [**breaking**] Make keep-* Options and add keep-none\n([#238](https://github.com/rustic-rs/rustic_core/pull/238))\n- add search methods to Repository\n([#212](https://github.com/rustic-rs/rustic_core/pull/212))\n- [**breaking**] Allow specifying many options in config profile without\narray ([#211](https://github.com/rustic-rs/rustic_core/pull/211))\n- [**breaking**] move clippy lints to cargo manifest and fix upcoming\nissues all over the workspace\n([#176](https://github.com/rustic-rs/rustic_core/pull/176))\n- Add extra check before writing data\n([#154](https://github.com/rustic-rs/rustic_core/pull/154))\n- Allow missing fields in snapshot summary\n- Hide plain text password from help text\n([#170](https://github.com/rustic-rs/rustic_core/pull/170))\n- Add Repository::to_indexed_checked and ::to_index_ids_checked()\n([#168](https://github.com/rustic-rs/rustic_core/pull/168))\n- *(prune)* Add more debug info to stats\n([#162](https://github.com/rustic-rs/rustic_core/pull/162))\n- Add append-only repository mode\n([#164](https://github.com/rustic-rs/rustic_core/pull/164))\n\n### Fixed\n- parse commands given by arg or env using shell_words\n([#240](https://github.com/rustic-rs/rustic_core/pull/240))\n- Allow non-value/null xattr\n([#235](https://github.com/rustic-rs/rustic_core/pull/235))\n- ensure Rust 1.76.0 compiles\n- backup file even if failed listing extended attributes\n([#233](https://github.com/rustic-rs/rustic_core/pull/233))\n- Export types so the Repository type can be fully specified\n([#229](https://github.com/rustic-rs/rustic_core/pull/229))\n- Always sort StringList\n([#226](https://github.com/rustic-rs/rustic_core/pull/226))\n- *(commands)* Properly finish progress bars\n- *(commands)* [**breaking**] Fix edge case for repair index\n([#219](https://github.com/rustic-rs/rustic_core/pull/219))\n- clippy lints\n([#220](https://github.com/rustic-rs/rustic_core/pull/220))\n- *(errors)* Show filenames in error message coming from ignore source\n([#215](https://github.com/rustic-rs/rustic_core/pull/215))\n- *(paths)* Handle paths starting with \".\" correctly\n([#213](https://github.com/rustic-rs/rustic_core/pull/213))\n- Add warning about unsorted files and sort where neccessary\n([#205](https://github.com/rustic-rs/rustic_core/pull/205))\n- *(deps)* update rust crate thiserror to 1.0.58\n([#192](https://github.com/rustic-rs/rustic_core/pull/192))\n- *(deps)* update rust crate anyhow to 1.0.81\n([#191](https://github.com/rustic-rs/rustic_core/pull/191))\n- *(deps)* update rust crate serde_with to 3.7.0\n([#189](https://github.com/rustic-rs/rustic_core/pull/189))\n- *(rclone)* Use semver for version checking\n([#188](https://github.com/rustic-rs/rustic_core/pull/188))\n- *(deps)* update rust crate strum to 0.26.2\n([#187](https://github.com/rustic-rs/rustic_core/pull/187))\n- *(deps)* update rust crate clap to 4.5.2\n([#183](https://github.com/rustic-rs/rustic_core/pull/183))\n- Set correct content for symlink with parent snapshot\n([#174](https://github.com/rustic-rs/rustic_core/pull/174))\n- update dependency nix\n([#169](https://github.com/rustic-rs/rustic_core/pull/169))\n- *(memory)* Limit memory usage for restore when having large pack files\n([#165](https://github.com/rustic-rs/rustic_core/pull/165))\n- *(prune)* Correct number of repacks\n([#167](https://github.com/rustic-rs/rustic_core/pull/167))\n- updated msrv and fix clippy lints\n([#160](https://github.com/rustic-rs/rustic_core/pull/160))\n\n### Other\n- dependency updates\n- Ensure that MSRV 1.76 works\n- *(deps)* more version updates\n([#237](https://github.com/rustic-rs/rustic_core/pull/237))\n- Update MSRV to 1.76.0\n- *(deps)* Several version updates\n([#234](https://github.com/rustic-rs/rustic_core/pull/234))\n- fix clippy lints\n([#236](https://github.com/rustic-rs/rustic_core/pull/236))\n- Update MSRV (needed by opendal)\n- update sha2 dependency\n- add integration tests for `prune` and `ls`\n([#221](https://github.com/rustic-rs/rustic_core/pull/221))\n- *(error)* Add error sources\n([#217](https://github.com/rustic-rs/rustic_core/pull/217))\n- add more warnings\n- make SnapshotFile::cmp_group public\n([#210](https://github.com/rustic-rs/rustic_core/pull/210))\n- Update MSRV to 1.73.0\n- fix clippy lints\n- add backup integration tests using snapshots\n([#175](https://github.com/rustic-rs/rustic_core/pull/175))\n- replace dep bitmask-enum by enumset\n([#173](https://github.com/rustic-rs/rustic_core/pull/173))\n- *(deps)* update dependencies\n([#180](https://github.com/rustic-rs/rustic_core/pull/180))\n- use release-plz action, remove public api fixtures incl. test and\nrelated ci and other release related ci\n- Add unit tests for extra verification\n([#172](https://github.com/rustic-rs/rustic_core/pull/172))\n- rustic_config v0.1.0\n- add rustic_testing to workspace crates\n
\n\n## `rustic_config`\n
\n\n##\n[0.2.0](https://github.com/rustic-rs/rustic_core/compare/rustic_config-v0.1.0...rustic_config-v0.2.0)\n- 2024-08-18\n\n### Added\n- [**breaking**] move clippy lints to cargo manifest and fix upcoming\nissues all over the workspace\n([#176](https://github.com/rustic-rs/rustic_core/pull/176))\n\n### Other\n- Update MSRV to 1.76.0\n- Update MSRV (needed by opendal)\n- Update MSRV to 1.73.0\n- add changelog for rustic_config\n
\n\n\n

\n\n---\nThis PR was generated with\n[release-plz](https://github.com/MarcoIeni/release-plz/).\n\nSigned-off-by: simonsan <14062932+simonsan@users.noreply.github.com>","shortMessageHtmlLink":"chore: release (#178)"}},{"before":null,"after":"1a10fc7ee48b75dd32eec75ca421027be23588e3","ref":"refs/heads/gh-readonly-queue/main/pr-178-a6897cd80c753f1aedeab4eba5ed59977e14742c","pushedAt":"2024-08-18T10:10:06.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"chore: release (#178)\n\n## ๐Ÿค– New release\n* `rustic_backend`: 0.1.1 -> 0.2.0 (โœ“ API compatible changes)\n* `rustic_core`: 0.2.0 -> 0.3.0 (โœ“ API compatible changes)\n* `rustic_config`: 0.1.0 -> 0.2.0 (โœ“ API compatible changes)\n\n
Changelog

\n\n## `rustic_backend`\n

\n\n##\n[0.2.0](https://github.com/rustic-rs/rustic_core/compare/rustic_backend-v0.1.1...rustic_backend-v0.2.0)\n- 2024-08-18\n\n### Added\n- *(backends)* Add throttle option to opendal backend\n([#216](https://github.com/rustic-rs/rustic_core/pull/216))\n- *(backend)* [**breaking**] remove s3 and sftp wrapper around opendal\n([#200](https://github.com/rustic-rs/rustic_core/pull/200))\n- [**breaking**] move clippy lints to cargo manifest and fix upcoming\nissues all over the workspace\n([#176](https://github.com/rustic-rs/rustic_core/pull/176))\n- *(opendal)* Add option connections\n([#155](https://github.com/rustic-rs/rustic_core/pull/155))\n\n### Fixed\n- clippy lints\n([#220](https://github.com/rustic-rs/rustic_core/pull/220))\n- *(backends)* local: Only create repo dir when creating the repository\n([#206](https://github.com/rustic-rs/rustic_core/pull/206))\n- *(deps)* update rust crate reqwest to 0.11.26\n([#196](https://github.com/rustic-rs/rustic_core/pull/196))\n- *(deps)* update rust crate thiserror to 1.0.58\n([#192](https://github.com/rustic-rs/rustic_core/pull/192))\n- *(deps)* update rust crate anyhow to 1.0.81\n([#191](https://github.com/rustic-rs/rustic_core/pull/191))\n- *(rclone)* Use semver for version checking\n([#188](https://github.com/rustic-rs/rustic_core/pull/188))\n- *(deps)* update rust crate clap to 4.5.2\n([#183](https://github.com/rustic-rs/rustic_core/pull/183))\n- *(config)* Merge repository options for multiple config sources\n([#171](https://github.com/rustic-rs/rustic_core/pull/171))\n- *(backend)* Give useful error message when no repository is given.\n- updated msrv and fix clippy lints\n([#160](https://github.com/rustic-rs/rustic_core/pull/160))\n\n### Other\n- dependency updates\n- *(deps)* more version updates\n([#237](https://github.com/rustic-rs/rustic_core/pull/237))\n- Update MSRV to 1.76.0\n- *(deps)* Several version updates\n([#234](https://github.com/rustic-rs/rustic_core/pull/234))\n- Update MSRV (needed by opendal)\n- update opendal to 0.46 and refactor accordingly\n([#225](https://github.com/rustic-rs/rustic_core/pull/225))\n- Update MSRV to 1.73.0\n- fix clippy lints\n- *(deps)* update dependencies\n([#180](https://github.com/rustic-rs/rustic_core/pull/180))\n- add rustic_testing to workspace crates\n- reset again after release to workspace dependencies for workspace\ncrates\n
\n\n## `rustic_core`\n
\n\n##\n[0.3.0](https://github.com/rustic-rs/rustic_core/compare/rustic_core-v0.2.0...rustic_core-v0.3.0)\n- 2024-08-18\n\n### Added\n- *(forget)* [**breaking**] Make keep-* Options and add keep-none\n([#238](https://github.com/rustic-rs/rustic_core/pull/238))\n- add search methods to Repository\n([#212](https://github.com/rustic-rs/rustic_core/pull/212))\n- [**breaking**] Allow specifying many options in config profile without\narray ([#211](https://github.com/rustic-rs/rustic_core/pull/211))\n- [**breaking**] move clippy lints to cargo manifest and fix upcoming\nissues all over the workspace\n([#176](https://github.com/rustic-rs/rustic_core/pull/176))\n- Add extra check before writing data\n([#154](https://github.com/rustic-rs/rustic_core/pull/154))\n- Allow missing fields in snapshot summary\n- Hide plain text password from help text\n([#170](https://github.com/rustic-rs/rustic_core/pull/170))\n- Add Repository::to_indexed_checked and ::to_index_ids_checked()\n([#168](https://github.com/rustic-rs/rustic_core/pull/168))\n- *(prune)* Add more debug info to stats\n([#162](https://github.com/rustic-rs/rustic_core/pull/162))\n- Add append-only repository mode\n([#164](https://github.com/rustic-rs/rustic_core/pull/164))\n\n### Fixed\n- parse commands given by arg or env using shell_words\n([#240](https://github.com/rustic-rs/rustic_core/pull/240))\n- Allow non-value/null xattr\n([#235](https://github.com/rustic-rs/rustic_core/pull/235))\n- ensure Rust 1.76.0 compiles\n- backup file even if failed listing extended attributes\n([#233](https://github.com/rustic-rs/rustic_core/pull/233))\n- Export types so the Repository type can be fully specified\n([#229](https://github.com/rustic-rs/rustic_core/pull/229))\n- Always sort StringList\n([#226](https://github.com/rustic-rs/rustic_core/pull/226))\n- *(commands)* Properly finish progress bars\n- *(commands)* [**breaking**] Fix edge case for repair index\n([#219](https://github.com/rustic-rs/rustic_core/pull/219))\n- clippy lints\n([#220](https://github.com/rustic-rs/rustic_core/pull/220))\n- *(errors)* Show filenames in error message coming from ignore source\n([#215](https://github.com/rustic-rs/rustic_core/pull/215))\n- *(paths)* Handle paths starting with \".\" correctly\n([#213](https://github.com/rustic-rs/rustic_core/pull/213))\n- Add warning about unsorted files and sort where neccessary\n([#205](https://github.com/rustic-rs/rustic_core/pull/205))\n- *(deps)* update rust crate thiserror to 1.0.58\n([#192](https://github.com/rustic-rs/rustic_core/pull/192))\n- *(deps)* update rust crate anyhow to 1.0.81\n([#191](https://github.com/rustic-rs/rustic_core/pull/191))\n- *(deps)* update rust crate serde_with to 3.7.0\n([#189](https://github.com/rustic-rs/rustic_core/pull/189))\n- *(rclone)* Use semver for version checking\n([#188](https://github.com/rustic-rs/rustic_core/pull/188))\n- *(deps)* update rust crate strum to 0.26.2\n([#187](https://github.com/rustic-rs/rustic_core/pull/187))\n- *(deps)* update rust crate clap to 4.5.2\n([#183](https://github.com/rustic-rs/rustic_core/pull/183))\n- Set correct content for symlink with parent snapshot\n([#174](https://github.com/rustic-rs/rustic_core/pull/174))\n- update dependency nix\n([#169](https://github.com/rustic-rs/rustic_core/pull/169))\n- *(memory)* Limit memory usage for restore when having large pack files\n([#165](https://github.com/rustic-rs/rustic_core/pull/165))\n- *(prune)* Correct number of repacks\n([#167](https://github.com/rustic-rs/rustic_core/pull/167))\n- updated msrv and fix clippy lints\n([#160](https://github.com/rustic-rs/rustic_core/pull/160))\n\n### Other\n- dependency updates\n- Ensure that MSRV 1.76 works\n- *(deps)* more version updates\n([#237](https://github.com/rustic-rs/rustic_core/pull/237))\n- Update MSRV to 1.76.0\n- *(deps)* Several version updates\n([#234](https://github.com/rustic-rs/rustic_core/pull/234))\n- fix clippy lints\n([#236](https://github.com/rustic-rs/rustic_core/pull/236))\n- Update MSRV (needed by opendal)\n- update sha2 dependency\n- add integration tests for `prune` and `ls`\n([#221](https://github.com/rustic-rs/rustic_core/pull/221))\n- *(error)* Add error sources\n([#217](https://github.com/rustic-rs/rustic_core/pull/217))\n- add more warnings\n- make SnapshotFile::cmp_group public\n([#210](https://github.com/rustic-rs/rustic_core/pull/210))\n- Update MSRV to 1.73.0\n- fix clippy lints\n- add backup integration tests using snapshots\n([#175](https://github.com/rustic-rs/rustic_core/pull/175))\n- replace dep bitmask-enum by enumset\n([#173](https://github.com/rustic-rs/rustic_core/pull/173))\n- *(deps)* update dependencies\n([#180](https://github.com/rustic-rs/rustic_core/pull/180))\n- use release-plz action, remove public api fixtures incl. test and\nrelated ci and other release related ci\n- Add unit tests for extra verification\n([#172](https://github.com/rustic-rs/rustic_core/pull/172))\n- rustic_config v0.1.0\n- add rustic_testing to workspace crates\n
\n\n## `rustic_config`\n
\n\n##\n[0.2.0](https://github.com/rustic-rs/rustic_core/compare/rustic_config-v0.1.0...rustic_config-v0.2.0)\n- 2024-08-18\n\n### Added\n- [**breaking**] move clippy lints to cargo manifest and fix upcoming\nissues all over the workspace\n([#176](https://github.com/rustic-rs/rustic_core/pull/176))\n\n### Other\n- Update MSRV to 1.76.0\n- Update MSRV (needed by opendal)\n- Update MSRV to 1.73.0\n- add changelog for rustic_config\n
\n\n\n

\n\n---\nThis PR was generated with\n[release-plz](https://github.com/MarcoIeni/release-plz/).\n\nSigned-off-by: simonsan <14062932+simonsan@users.noreply.github.com>","shortMessageHtmlLink":"chore: release (#178)"}},{"before":"c14958040035aabef14bbf9be5892029499040d8","after":"0a75cc69a617adfe51e493ed52cb788f81e8b412","ref":"refs/heads/release-plz-2024-03-09T22-40-38Z","pushedAt":"2024-08-18T08:18:21.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"simonsan","name":null,"path":"/simonsan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14062932?s=80&v=4"},"commit":{"message":"chore: release\n\nSigned-off-by: simonsan <14062932+simonsan@users.noreply.github.com>","shortMessageHtmlLink":"chore: release"}},{"before":"0f08abd84e7190f71f92a583b42c81d0eaae6b5a","after":"a6897cd80c753f1aedeab4eba5ed59977e14742c","ref":"refs/heads/main","pushedAt":"2024-08-18T08:16:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aawsome","name":null,"path":"/aawsome","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/37850842?s=80&v=4"},"commit":{"message":"dependency updates","shortMessageHtmlLink":"dependency updates"}},{"before":"6eb572854bdb0d0a9b7ed242fa9c03e26cce3288","after":"c14958040035aabef14bbf9be5892029499040d8","ref":"refs/heads/release-plz-2024-03-09T22-40-38Z","pushedAt":"2024-08-18T07:55:37.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"simonsan","name":null,"path":"/simonsan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14062932?s=80&v=4"},"commit":{"message":"chore: release\n\nSigned-off-by: simonsan <14062932+simonsan@users.noreply.github.com>","shortMessageHtmlLink":"chore: release"}},{"before":"77215dd5dcbafb74015e229e16a3e9b45a1af856","after":null,"ref":"refs/heads/forget-keep-none","pushedAt":"2024-08-18T07:49:18.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"aawsome","name":null,"path":"/aawsome","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/37850842?s=80&v=4"}},{"before":"cfdff01fe49f2de1880f4922a98b4a03f01a6e61","after":"0f08abd84e7190f71f92a583b42c81d0eaae6b5a","ref":"refs/heads/main","pushedAt":"2024-08-18T07:49:17.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"aawsome","name":null,"path":"/aawsome","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/37850842?s=80&v=4"},"commit":{"message":"feat(forget)!: Make keep-* Options and add keep-none (#238)\n\nBreaking Change: The keep-options for `forget` are now real `Options`.\r\n\r\nThis also adds an additional check which enforces that at least one\r\n`keep-*` option is set and adds a new `keep-none` option which can be\r\nuse as single valid `keep-` option (if you want to remove all\r\nsnapshots).\r\n\r\ncloses https://github.com/rustic-rs/rustic/issues/1191","shortMessageHtmlLink":"feat(forget)!: Make keep-* Options and add keep-none (#238)"}},{"before":"8cff4774dddce24cd9097480665744cdc57c5746","after":"77215dd5dcbafb74015e229e16a3e9b45a1af856","ref":"refs/heads/forget-keep-none","pushedAt":"2024-08-18T07:08:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aawsome","name":null,"path":"/aawsome","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/37850842?s=80&v=4"},"commit":{"message":"add test for DeleteOptions","shortMessageHtmlLink":"add test for DeleteOptions"}},{"before":"7bae7d66626624a336a3a4447ce341734b7d7610","after":"8cff4774dddce24cd9097480665744cdc57c5746","ref":"refs/heads/forget-keep-none","pushedAt":"2024-08-17T19:51:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aawsome","name":null,"path":"/aawsome","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/37850842?s=80&v=4"},"commit":{"message":"use UTC time in output","shortMessageHtmlLink":"use UTC time in output"}},{"before":"c9a9a5c0764015a28dcc360a8af590fbd8dc0be7","after":"7bae7d66626624a336a3a4447ce341734b7d7610","ref":"refs/heads/forget-keep-none","pushedAt":"2024-08-17T19:22:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aawsome","name":null,"path":"/aawsome","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/37850842?s=80&v=4"},"commit":{"message":"clippy lint","shortMessageHtmlLink":"clippy lint"}},{"before":"928d3b86417b3327e6a433b29c111a3b985c6fdb","after":"c9a9a5c0764015a28dcc360a8af590fbd8dc0be7","ref":"refs/heads/forget-keep-none","pushedAt":"2024-08-17T19:09:55.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"aawsome","name":null,"path":"/aawsome","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/37850842?s=80&v=4"},"commit":{"message":"Merge branch 'main' into forget-keep-none","shortMessageHtmlLink":"Merge branch 'main' into forget-keep-none"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEpUVsdQA","startCursor":null,"endCursor":null}},"title":"Activity ยท rustic-rs/rustic_core"}