Repository navigation
feat!: refactor packer and optimize memory allocations - #533
Merged
Merged
Conversation
Merged
pull Bot
pushed a commit
to ChecksumDev/rustic_core
that referenced
this pull request
Aug 16, 2026
## 🤖 New release * `rustic_core`: 0.12.0 -> 0.13.0 (✓ API compatible changes) * `rustic_backend`: 0.6.2 -> 0.7.0 (✓ API compatible changes) * `rustic_testing`: 0.4.1 -> 0.5.0 (✓ API compatible changes) * `rustic_config`: 0.2.4 -> 0.2.5 (✓ API compatible changes) <details><summary><i><b>Changelog</b></i></summary><p> ## `rustic_core` <blockquote> ## [0.13.0](rustic-rs/rustic_core@rustic_core-v0.12.0...rustic_core-v0.13.0) - 2026-08-16 ### Added - stdio protocol between warmup program and rustic ([#1782](https://github.com/rustic-rs/rustic_core/pull/1782)) ([rustic-rs#524](rustic-rs#524)) - implement some exclude options for opendal source ([rustic-rs#535](rustic-rs#535)) - Add sparse file support for restore ([rustic-rs#530](rustic-rs#530)) - [**breaking**] refactor packer and optimize memory allocations ([rustic-rs#533](rustic-rs#533)) ### Fixed - read full packs from cold backend in hot/cold case ([rustic-rs#542](rustic-rs#542)) - use no parent for stdin source ([rustic-rs#536](rustic-rs#536)) ### Other - *(deps)* dependency updates ([rustic-rs#541](rustic-rs#541)) - *(deps)* bump opendal to 0.58.1 ([rustic-rs#539](rustic-rs#539)) - reduce memory usage for index ([rustic-rs#537](rustic-rs#537)) </blockquote> ## `rustic_backend` <blockquote> ## [0.7.0](rustic-rs/rustic_core@rustic_backend-v0.6.2...rustic_backend-v0.7.0) - 2026-08-16 ### Added - implement some exclude options for opendal source ([rustic-rs#535](rustic-rs#535)) - [**breaking**] refactor packer and optimize memory allocations ([rustic-rs#533](rustic-rs#533)) ### Other - *(deps)* bump opendal to 0.58.1 ([rustic-rs#539](rustic-rs#539)) </blockquote> ## `rustic_testing` <blockquote> ## [0.5.0](rustic-rs/rustic_core@rustic_testing-v0.4.1...rustic_testing-v0.5.0) - 2026-08-16 ### Added - [**breaking**] refactor packer and optimize memory allocations ([rustic-rs#533](rustic-rs#533)) ### Other - *(deps)* dependency updates ([rustic-rs#541](rustic-rs#541)) </blockquote> ## `rustic_config` <blockquote> ## [0.2.5](rustic-rs/rustic_core@rustic_config-v0.2.4...rustic_config-v0.2.5) - 2026-08-16 ### Other - *(deps)* bump opendal to 0.58.1 ([rustic-rs#539](rustic-rs#539)) </blockquote> </p></details> --- This PR was generated with [release-plz](https://github.com/release-plz/release-plz/). Co-authored-by: rustic-release-plz[bot] <182542030+rustic-release-plz[bot]@users.noreply.github.com>
social4hyq
pushed a commit
to social4hyq/homebrew-core
that referenced
this pull request
Sep 20, 2026
rustic 0.11.4 Created-by: HarmonybrewBot Commit-by: HarmonybrewBot Merged-by: HarmonybrewBot Description: Created by `brew bump` --- Created with `brew bump-formula-pr`.<details> <summary>release notes</summary> <pre>Hello rusticeans, we are happy to release rustic 0.11.4! This release features sparse file support for `restore` and adds glob includes/excludes to backups from openDAL sources. Also better progress indication for warm-up has been added and some memory usage optimizations have been landed - besides many other minor bug fixes. Thanks a lot to everybody who contributed! # Changelog ### Added - Add sparse file support for restore ([#530](rustic-rs/rustic_core#530)) - support exclusion on the opendal source ([#1812](rustic-rs/rustic#1812), [#535](rustic-rs/rustic_core#535)) - stdio protocol between warmup program and rustic ([#1782](https://github.com/rustic-rs/rustic_core/pull/1782), [#524](rustic-rs/rustic_core#524)) ### Fixed - read full packs from cold backend in hot/cold case ([#542](rustic-rs/rustic_core#542), [#1868](rustic-rs/rustic#1868)) - use no parent for stdin source ([#536](rustic-rs/rustic_core#536)) - link jemallocator-global so the jemallocator feature applies ([#1821](rustic-rs/rustic#1821)) - treat unchanged symlinks as identical in diff ([#1829](rustic-rs/rustic#1829)) - keep completions independent from profiles ([#1830](rustic-rs/rustic#1830)) - allow scrolling long read-only TUI text ([#1851](rustic-rs/rustic#1851)) - record CLI version in snapshot metadata ([#1803](rustic-rs/rustic#1803)) - read stdin-filename from config file ([#1813](rustic-rs/rustic#1813)) - deny unknown forget options in config profile ([#1810](rustic-rs/rustic#1810)) - set correct UID/GID for dump into tar ([#1801](rustic-rs/rustic#1801)) ### Other - refactor packer and optimize memory allocations ([#533](rustic-rs/rustic_core#533)) - reduce memory usage for index ([#537](rustic-rs/rustic_core#537)) - Add pCloud service example config ([#1775](rustic-rs/rustic#1775)) - Update README ([#1783](rustic-rs/rustic#1783), [#1785](rustic-rs/rustic#1785)) - update dependencies ([#1882](rustic-rs/rustic#1882), [#1854](rustic-rs/rustic#1854), [#541](rustic-rs/rustic_core#541), [#539](https://github.com/rustic-rs/rustic_core/pull/539))</pre> <p>View the full release notes at <a href="https://github.com/rustic-rs/rustic/releases/tag/v0.11.4">https://github.com/rustic-rs/rustic/releases/tag/v0.11.4</a>.</p> </details> <hr> See merge request: Harmonybrew/homebrew-core!17083
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR refactors the packer and the way packfiles are handled in rustic:
BasicPackerwhich only provides the logic without doing any I/O itselfBytesMutin memory, but asBytesListwhich equalsVec<Bytes>. This reduces allocations and unnecessary memory copies (but is a breaking change w.r.t the backend API).