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.
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.
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 will merge this PR once it's up-to-date and CI passes on it, as requested by @bgianfo.
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.1.0 to 3.6.0.
Changelog
Sourced from tempfile's changelog.
... (truncated)
Commits
86b3136
chore: release 3.6.0a2b45b3
fix(docs): Changedir
andfile
variable names to match existing comments ...f474e6a
Remove comment on SetFileInformationByHandle (#236)141c773
feat: implement default methods for SpooledTempFile Read/Write (#232)3590dbf
chore: modern rust (#231)c76b783
feat: implement AsFd/AsHandle to mirror the AsRaw* variants (#230)ae4f4c8
chore: bump rustix min version to 0.37.11 (#229)9488362
Forward default NamedTempFile methods (#226)c41ee48
build(deps): update windows-sys requirement from 0.45 to 0.48 (#227)c773849
chore: release 3.5.0Dependabot 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 will merge this PR once it's up-to-date and CI passes on it, as requested by @bgianfo.
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)