Stebalien/tempfile (tempfile)
### [`v3.10.1`](https://togithub.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#3101)
[Compare Source](https://togithub.com/Stebalien/tempfile/compare/v3.10.0...v3.10.1)
- Handle potential integer overflows in 32-bit systems when seeking/truncating "spooled" temporary files past 4GiB (2³²).
- Handle a theoretical 32-bit overflow when generating a temporary file name larger than 4GiB. Now it'll panic (on allocation failure) rather than silently succeeding due to wraparound.
Thanks to [@stoeckmann](https://togithub.com/stoeckmann) for finding and fixing both of these issues.
### [`v3.10.0`](https://togithub.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#3100)
[Compare Source](https://togithub.com/Stebalien/tempfile/compare/v3.9.0...v3.10.0)
- Drop `redox_syscall` dependency, we now use `rustix` for Redox.
- Add `Builder::permissions` for setting the permissions on temporary files and directories (thanks to [@Byron](https://togithub.com/Byron)).
- Update rustix to 0.38.31.
- Update fastrand to 2.0.1.
### [`v3.9.0`](https://togithub.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#390)
[Compare Source](https://togithub.com/Stebalien/tempfile/compare/v3.8.1...v3.9.0)
- Updates windows-sys to 0.52
- Updates minimum rustix version to 0.38.25
### [`v3.8.1`](https://togithub.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#381)
[Compare Source](https://togithub.com/Stebalien/tempfile/compare/v3.8.0...v3.8.1)
- Update rustix to fix a potential panic on `persist_noclobber` on android.
- Update redox_syscall to 0.4 (on redox).
- Fix some docs typos.
### [`v3.8.0`](https://togithub.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#380)
[Compare Source](https://togithub.com/Stebalien/tempfile/compare/v3.7.1...v3.8.0)
- Added `with_prefix` and `with_prefix_in` to `TempDir` and `NamedTempFile` to make it easier to create temporary files/directories with nice prefixes.
- Misc cleanups.
### [`v3.7.1`](https://togithub.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#371)
[Compare Source](https://togithub.com/Stebalien/tempfile/compare/v3.7.0...v3.7.1)
- Tempfile builds on haiku again.
- Under the hood, we've switched from the unlinkat/linkat syscalls to the regular unlink/link syscalls where possible.
### [`v3.7.0`](https://togithub.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#370)
[Compare Source](https://togithub.com/Stebalien/tempfile/compare/v3.6.0...v3.7.0)
BREAKING: This release updates the MSRV to 1.63. This isn't an API-breaking change (so no major
release) but it's still a breaking change for some users.
- Update fastrand from 1.6 to 2.0
- Update rustix to 0.38
- Updates the MSRV to 1.63.
- Provide AsFd/AsRawFd on wasi.
### [`v3.6.0`](https://togithub.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#360)
[Compare Source](https://togithub.com/Stebalien/tempfile/compare/v3.5.0...v3.6.0)
- Update windows-sys to 0.48.
- Update rustix min version to 0.37.11
- Forward some `NamedTempFile` and `SpooledTempFile` methods to the underlying `File` object for
better performance (especially vectorized writes, etc.).
- Implement `AsFd` and `AsHandle`.
- Misc documentation fixes and code cleanups.
### [`v3.5.0`](https://togithub.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#350)
[Compare Source](https://togithub.com/Stebalien/tempfile/compare/v3.4.0...v3.5.0)
- Update rustix from 0.36 to 0.37.1. This makes wasi work on rust stable
- Update `windows-sys`, `redox_syscall`
- BREAKING: Remove the implementation of `Write for &NamedTempFile where &F: Write`. Unfortunately, this can cause compile issues in unrelated code ([https://github.com/Stebalien/tempfile/issues/224](https://togithub.com/Stebalien/tempfile/issues/224)).
### [`v3.4.0`](https://togithub.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#340)
[Compare Source](https://togithub.com/Stebalien/tempfile/compare/v3.3.0...v3.4.0)
SECURITY: Prior `tempfile` releases depended on `remove_dir_all` version 0.5.0 which was vulnerable to a [TOCTOU race](https://togithub.com/XAMPPRocky/remove_dir_all/security/advisories/GHSA-mc8h-8q98-g5hr). This same race is present in rust versions prior to 1.58.1.
Features:
- Generalized temporary files: `NamedTempFile` can now abstract over different kinds of files (e.g.,
unix domain sockets, pipes, etc.):
- Add `Builder::make` and `Builder::make_in` for generalized temp file
creation.
- Add `NamedTempFile::from_parts` to complement `NamedTempFile::into_parts`.
- Add generic parameter to `NamedTempFile` to support wrapping non-File types.
Bug Fixes/Improvements:
- Don't try to create a temporary file multiple times if the file path has been fully specified by
the user (no random characters).
- `NamedTempFile::persist_noclobber` is now always atomic on linux when `renameat_with` is
supported. Previously, it would first link the new path, then unlink the previous path.
- Fix compiler warnings on windows.
Trivia:
- Switch from `libc` to `rustix` on wasi/unix. This now makes direct syscalls instead of calling
through libc.
- Remove `remove_dir_all` dependency. The rust standard library has optimized their internal version
significantly.
- Switch to official windows-sys windows bindings.
Breaking:
- The minimum rust version is now `1.48.0`.
- Mark most functions as `must_use`.
- Uses direct syscalls on linux by default, instead of libc.
- The new type parameter in `NamedTempFile` may lead to type inference issues in some cases.
Configuration
📅 Schedule: Branch creation - "before 5am on the first day of the month" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
3.3.0
->3.10.1
Release Notes
Stebalien/tempfile (tempfile)
### [`v3.10.1`](https://togithub.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#3101) [Compare Source](https://togithub.com/Stebalien/tempfile/compare/v3.10.0...v3.10.1) - Handle potential integer overflows in 32-bit systems when seeking/truncating "spooled" temporary files past 4GiB (2³²). - Handle a theoretical 32-bit overflow when generating a temporary file name larger than 4GiB. Now it'll panic (on allocation failure) rather than silently succeeding due to wraparound. Thanks to [@stoeckmann](https://togithub.com/stoeckmann) for finding and fixing both of these issues. ### [`v3.10.0`](https://togithub.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#3100) [Compare Source](https://togithub.com/Stebalien/tempfile/compare/v3.9.0...v3.10.0) - Drop `redox_syscall` dependency, we now use `rustix` for Redox. - Add `Builder::permissions` for setting the permissions on temporary files and directories (thanks to [@Byron](https://togithub.com/Byron)). - Update rustix to 0.38.31. - Update fastrand to 2.0.1. ### [`v3.9.0`](https://togithub.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#390) [Compare Source](https://togithub.com/Stebalien/tempfile/compare/v3.8.1...v3.9.0) - Updates windows-sys to 0.52 - Updates minimum rustix version to 0.38.25 ### [`v3.8.1`](https://togithub.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#381) [Compare Source](https://togithub.com/Stebalien/tempfile/compare/v3.8.0...v3.8.1) - Update rustix to fix a potential panic on `persist_noclobber` on android. - Update redox_syscall to 0.4 (on redox). - Fix some docs typos. ### [`v3.8.0`](https://togithub.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#380) [Compare Source](https://togithub.com/Stebalien/tempfile/compare/v3.7.1...v3.8.0) - Added `with_prefix` and `with_prefix_in` to `TempDir` and `NamedTempFile` to make it easier to create temporary files/directories with nice prefixes. - Misc cleanups. ### [`v3.7.1`](https://togithub.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#371) [Compare Source](https://togithub.com/Stebalien/tempfile/compare/v3.7.0...v3.7.1) - Tempfile builds on haiku again. - Under the hood, we've switched from the unlinkat/linkat syscalls to the regular unlink/link syscalls where possible. ### [`v3.7.0`](https://togithub.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#370) [Compare Source](https://togithub.com/Stebalien/tempfile/compare/v3.6.0...v3.7.0) BREAKING: This release updates the MSRV to 1.63. This isn't an API-breaking change (so no major release) but it's still a breaking change for some users. - Update fastrand from 1.6 to 2.0 - Update rustix to 0.38 - Updates the MSRV to 1.63. - Provide AsFd/AsRawFd on wasi. ### [`v3.6.0`](https://togithub.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#360) [Compare Source](https://togithub.com/Stebalien/tempfile/compare/v3.5.0...v3.6.0) - Update windows-sys to 0.48. - Update rustix min version to 0.37.11 - Forward some `NamedTempFile` and `SpooledTempFile` methods to the underlying `File` object for better performance (especially vectorized writes, etc.). - Implement `AsFd` and `AsHandle`. - Misc documentation fixes and code cleanups. ### [`v3.5.0`](https://togithub.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#350) [Compare Source](https://togithub.com/Stebalien/tempfile/compare/v3.4.0...v3.5.0) - Update rustix from 0.36 to 0.37.1. This makes wasi work on rust stable - Update `windows-sys`, `redox_syscall` - BREAKING: Remove the implementation of `Write for &NamedTempFileConfiguration
📅 Schedule: Branch creation - "before 5am on the first day of the month" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.