Under the hood, we've switched from the unlinkat/linkat syscalls to the regular unlink/link syscalls where possible.
3.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.
3.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.
3.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<F> where &F: Write. Unfortunately, this can cause compile issues in unrelated code (Stebalien/tempfile#224).
3.4.0
SECURITY: Prior tempfile releases depended on remove_dir_all version 0.5.0 which was vulnerable to a TOCTOU race. 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.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps tempfile from 3.3.0 to 3.7.1.
Changelog
Sourced from tempfile's changelog.
... (truncated)
Commits
bf8f7ea
chore: release 3.7.1a5c236c
Userename
/unlink
/etc. instead of
renameat/
unlinkat`/etc. (#247)d258544
chore: release 3.7.0da36cd5
Provide implementations for I/O safety traits unconditionally (#244)74f9fbc
Update to rustix 0.38 and update MSRV to 1.63 (#241)1cff81e
build(deps): update fastrand requirement from 1.6.0 to 2.0.0 (#240)c7d9afd
Update/format changelog86b3136
chore: release 3.6.0a2b45b3
fix(docs): Changedir
andfile
variable names to match existing comments ...f474e6a
Remove comment on SetFileInformationByHandle (#236)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)