summaryrefslogtreecommitdiffstats
path: root/third_party/rust/tempfile/CHANGELOG.md
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/rust/tempfile/CHANGELOG.md')
-rw-r--r--third_party/rust/tempfile/CHANGELOG.md267
1 files changed, 267 insertions, 0 deletions
diff --git a/third_party/rust/tempfile/CHANGELOG.md b/third_party/rust/tempfile/CHANGELOG.md
new file mode 100644
index 0000000000..e8894b3dc5
--- /dev/null
+++ b/third_party/rust/tempfile/CHANGELOG.md
@@ -0,0 +1,267 @@
+# Changelog
+
+## 3.9.0
+
+- Updates windows-sys to 0.52
+- Updates minimum rustix version to 0.38.25
+
+## 3.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.
+
+## 3.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.
+
+## 3.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.
+
+## 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 (https://github.com/Stebalien/tempfile/issues/224).
+
+## 3.4.0
+
+SECURITY: Prior `tempfile` releases depended on `remove_dir_all` version 0.5.0 which was vulnerable to a [TOCTOU race](https://github.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.
+
+## 3.3.0
+
+Features:
+
+- Replace rand with fastrand for a significantly smaller dependency tree. Cryptographic randomness
+ isn't necessary for temporary file names, and isn't all that helpful either.
+- Add limited WASI support.
+- Add a function to extract the inner data from a `SpooledTempFile`.
+
+Bug Fixes:
+
+- Make it possible to persist unnamed temporary files on linux by removing the `O_EXCL` flag.
+- Fix redox minimum crate version.
+
+## 3.2.0
+
+Features:
+
+- Bump rand dependency to `0.8`.
+- Bump cfg-if dependency to `1.0`
+
+Other than that, this release mostly includes small cleanups and simplifications.
+
+Breaking: The minimum rust version is now `1.40.0`.
+
+## 3.1.0
+
+Features:
+
+- Bump rand dependency to `0.7`.
+
+Breaking: The minimum rust version is now `1.32.0`.
+
+## 3.0.9
+
+Documentation:
+
+- Add an example for reopening a named temporary file.
+- Flesh out the security documentation.
+
+Features:
+
+- Introduce an `append` option to the builder.
+- Errors:
+ - No longer implement the soft-deprecated `description`.
+ - Implement `source` instead of `cause`.
+
+Breaking: The minimum rust version is now 1.30.
+
+## 3.0.8
+
+This is a bugfix release.
+
+Fixes:
+
+- Export `PathPersistError`.
+- Fix a bug where flushing a `SpooledTempFile` to disk could fail to write part
+ of the file in some rare, yet-to-reproduced cases.
+
+## 3.0.7
+
+Breaking:
+
+- `Builder::prefix` and `Builder::suffix` now accept a generic `&AsRef<OsStr>`.
+ This could affect type inference.
+- Temporary files (except unnamed temporary files on Windows and Linux >= 3.11)
+ now use absolute path names. This will break programs that create temporary
+ files relative to their current working directory when they don't have the
+ search permission (x) on some ancestor directory. This is only likely to
+ affect programs with strange chroot-less filesystem sandboxes. If you believe
+ you're affected by this issue, please comment on #40.
+
+Features:
+
+- Accept anything implementing `&AsRef<OsStr>` in the builder: &OsStr, &OsString, &Path, etc.
+
+Fixes:
+
+- Fix LFS support.
+- Use absolute paths for named temporary files to guard against changes in the
+ current directory.
+- Use absolute paths when creating unnamed temporary files on platforms that
+ can't create unlinked or auto-deleted temporary files. This fixes a very
+ unlikely race where the current directory could change while the temporary
+ file is being created.
+
+Misc:
+
+- Use modern stdlib features to avoid custom unsafe code. This reduces the
+ number of unsafe blocks from 12 to 4.
+
+## 3.0.6
+
+- Don't hide temporary files on windows, fixing #66 and #69.
+
+## 3.0.5
+
+Features:
+
+- Added a spooled temporary file implementation. This temporary file variant
+ starts out as an in-memory temporary file but "rolls-over" onto disk when it
+ grows over a specified size (#68).
+- Errors are now annotated with paths to make debugging easier (#73).
+
+Misc:
+
+- The rand version has been bumped to 0.6 (#74).
+
+Bugs:
+
+- Tempfile compiles again on Redox (#75).
+
+## 3.0.4
+
+- Now compiles on unsupported platforms.
+
+## 3.0.3
+
+- update rand to 0.5
+
+## 3.0.2
+
+- Actually *delete* temporary files on non-Linux unix systems (thanks to
+@oliverhenshaw for the fix and a test case).
+
+## 3.0.1
+
+- Restore NamedTempFile::new_in
+
+## 3.0.0
+
+- Adds temporary directory support (@KodrAus)
+- Allow closing named temporary files without deleting them (@jasonwhite)
+
+## 2.2.0
+
+- Redox Support
+
+## 2.1.6
+
+- Remove build script and bump minimum rustc version to 1.9.0
+
+## 2.1.5
+
+- Don't build platform-specific dependencies on all platforms.
+- Cleanup some documentation.
+
+## 2.1.4
+
+- Fix crates.io tags. No interesting changes.
+
+## 2.1.3
+
+Export `PersistError`.
+
+## 2.1.2
+
+Add `Read`/`Write`/`Seek` impls on `&NamedTempFile`. This mirrors the
+implementations on `&File`. One can currently just deref to a `&File` but these
+implementations are more discoverable.
+
+## 2.1.1
+
+Add LFS Support.
+
+## 2.1.0
+
+- Implement `AsRef<File>` for `NamedTempFile` allowing named temporary files to
+ be borrowed as `File`s.
+- Add a method to convert a `NamedTempFile` to an unnamed temporary `File`.
+
+## 2.0.1
+
+- Arm bugfix
+
+## 2.0.0
+
+This release replaces `TempFile` with a `tempfile()` function that returns
+`std::fs::File` objects. These are significantly more useful because most rust
+libraries expect normal `File` objects.
+
+To continue supporting shared temporary files, this new version adds a
+`reopen()` method to `NamedTempFile`.