Update tempfile requirement from ~3.2 to ~3.4 #319

Closed
dependabot[bot] wants to merge 1 commit from dependabot/cargo/tempfile-approx-3.4 into master
dependabot[bot] commented 2023-02-27 10:10:09 +00:00 (Migrated from github.com)

Updates the requirements on tempfile to permit the latest version.

Changelog

Sourced from tempfile's changelog.

3.4.0

SECURITY: Prior tempfile releases depended on remove_dir_all version 0.5.0 which was vulnerabiel 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.

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.

... (truncated)

Commits

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)
Updates the requirements on [tempfile](https://github.com/Stebalien/tempfile) to permit the latest version. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/Stebalien/tempfile/blob/master/NEWS">tempfile's changelog</a>.</em></p> <blockquote> <h1>3.4.0</h1> <p>SECURITY: Prior <code>tempfile</code> releases depended on <code>remove_dir_all</code> version 0.5.0 which was vulnerabiel to a <a href="https://github.com/XAMPPRocky/remove_dir_all/security/advisories/GHSA-mc8h-8q98-g5hr">TOCTOU race</a>. This same race is present in rust versions prior to 1.58.1.</p> <p>Features:</p> <ul> <li>Generalized temporary files: <code>NamedTempFile</code> can now abstract over different kinds of files (e.g., unix domain sockets, pipes, etc.): <ul> <li>Add <code>Builder::make</code> and <code>Builder::make_in</code> for generalized temp file creation.</li> <li>Add <code>NamedTempFile::from_parts</code> to complement <code>NamedTempFile::into_parts</code>.</li> <li>Add generic parameter to <code>NamedTempFile</code> to support wrapping non-File types.</li> </ul> </li> </ul> <p>Bug Fixes/Improvements:</p> <ul> <li>Don't try to create a temporary file multiple times if the file path has been fully specified by the user (no random characters).</li> <li><code>NamedTempFile::persist_noclobber</code> is now always atomic on linux when <code>renameat_with</code> is supported. Previously, it would first link the new path, then unlink the previous path.</li> <li>Fix compiler warnings on windows.</li> </ul> <p>Trivia:</p> <ul> <li>Switch from <code>libc</code> to <code>rustix</code> on wasi/unix. This now makes direct syscalls instead of calling through libc.</li> <li>Remove <code>remove_dir_all</code> dependency. The rust standard library has optimized their internal version significantly.</li> <li>Switch to official windows-sys windows bindings.</li> </ul> <p>Breaking:</p> <ul> <li>The minimum rust version is now <code>1.48.0</code>.</li> <li>Mark most functions as <code>must_use</code>.</li> <li>Uses direct syscalls on linux by default, instead of libc.</li> <li>The new type parameter in <code>NamedTempFile</code> may lead to type inference issues in some cases.</li> </ul> <h1>3.3.0</h1> <p>Features:</p> <ul> <li>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.</li> <li>Add limited WASI support.</li> <li>Add a function to extract the inner data from a <code>SpooledTempFile</code>.</li> </ul> <p>Bug Fixes:</p> <ul> <li>Make it possible to persist unnamed temporary files on linux by removing the <code>O_EXCL</code> flag.</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/Stebalien/tempfile/commits">compare view</a></li> </ul> </details> <br /> 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-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> 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) </details>
dependabot[bot] commented 2023-03-29 10:02:17 +00:00 (Migrated from github.com)

Superseded by #321.

Superseded by #321.

Pull request closed

Sign in to join this conversation.
No description provided.