summaryrefslogtreecommitdiffstats
path: root/vendor/tempfile/NEWS
blob: c2844242669ad74e15dfe48e36d21c6b4eb0633a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
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 returnes
`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`.