<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/fslock-guard, branch arti-v2.4.0</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v2.4.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v2.4.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2026-06-01T16:30:04Z</updated>
<entry>
<title>Bump the versions of the non-{arti-,tor-} crates</title>
<updated>2026-06-01T16:30:04Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-06-01T16:30:04Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d480c7653c219e019ad3f2387dfdce7f6d85e4d3'/>
<id>urn:sha1:d480c7653c219e019ad3f2387dfdce7f6d85e4d3</id>
<content type='text'>
The non-{arti-,tor-} crates are:
```
./maint/list-crates  | rg -v '^(tor|arti)'
oneshot-fused-workaround
web-time-compat
slotmap-careful
test-temp-dir
fslock-guard
hashx
equix
caret
fs-mistrust
safelog
retry-error
futures-copy
```

We split them in the following categories:
  * crates with no changes (no version bumps):

    ```
     oneshot-fused-workaround: No change.
     web-time-compat: No change.
     slotmap-careful: No change.
     test-temp-dir: No change.
     caret: No change.
     safelog: No change.
     retry-error: No change.
     futures-copy: No change.
    ```

    Obtained with:
    ```
    maint/changed-crates -v "arti-v$LAST_VERSION" 2&gt;&amp;1 &gt;/dev/null | grep -i "no change" | grep -v '\(tor\|arti\)-'
    ```

  * crates that only have non-functional changes (bump the patch version,
    but not the dependend-on version):
    - equix

  * crates where functional changes were made, but no APIs were broken
    (bump patch):
    - fs-mistrust

  * crates where APIs were broken (bump minor):
    - hashx
    - fslock-guard

The bumps from this commit were created using this script:

```
PATCH_NF=(
equix
)

PATCH="
fs-mistrust
"

MINOR="
hashx
fslock-guard
"

./maint/bump-nodep "${PATCH_NF[@]}"

for crate in $PATCH; do
    cargo set-version --bump patch -p $crate;
done

for crate in $MINOR; do
    cargo set-version --bump minor -p $crate;
done
```
</content>
</entry>
<entry>
<title>fslock-guard: Provide specialized android impls.</title>
<updated>2026-05-28T14:47:16Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-05-27T18:39:48Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=826ab5ec80f82326dc75979db3b0654bdb137d79'/>
<id>urn:sha1:826ab5ec80f82326dc75979db3b0654bdb137d79</id>
<content type='text'>
We need these because `File::lock()` and `File::try_lock()`
claim not to work on Android, and have to be emulated with flock.
For more information, see
&lt;https://github.com/rust-lang/rust/issues/148325&gt;.

Closes #2544.

Based on code by @syphyr.

Co-Authored-By: syphyr &lt;syphyr@gmail.com&gt;
</content>
</entry>
<entry>
<title>fslock-guard: Extract calls to {try_,}lock</title>
<updated>2026-05-28T14:46:17Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-05-27T18:29:22Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=15fa57b69ffbe1bf1d502e3124703ce25ddf6a70'/>
<id>urn:sha1:15fa57b69ffbe1bf1d502e3124703ce25ddf6a70</id>
<content type='text'>
We're about to provide android-only versions of these.
</content>
</entry>
<entry>
<title>fslock-guard: Use windows-sys and GetFileInformationByHandleEx.</title>
<updated>2026-05-12T17:23:12Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-05-06T17:41:36Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=39ba5597344f687ad5d7a98222a77f7e73dbce96'/>
<id>urn:sha1:39ba5597344f687ad5d7a98222a77f7e73dbce96</id>
<content type='text'>
Unlike winapi, windows-sys is maintained (by microsoft),
and supports more APIs.  We use it elsewhere in our tree,
but this was our largest usae of winapi.

The GetFileInformationByHandleEx variant includes an
explicit buffer size to make errors harder,
and enables us to get a 128-bit file identifier,
which is (supposedly) even more unique than the 64-bit
identifiers we were looking at before.
</content>
</entry>
<entry>
<title>fslock-guard: add a fileapi feature dep for winapi</title>
<updated>2026-05-11T13:10:51Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-05-11T13:10:51Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=534f3df9f9659d3881ec09f9d438aa8a85f9eab0'/>
<id>urn:sha1:534f3df9f9659d3881ec09f9d438aa8a85f9eab0</id>
<content type='text'>
With dropping the fslock crate, we lost this feature flag from _its_
use of winapi.
</content>
</entry>
<entry>
<title>fslock-guard: Fix up documentation a bit.</title>
<updated>2026-05-06T19:28:40Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-05-06T17:48:17Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c4c22610300333cf709abecf0252ae2b51ab24b6'/>
<id>urn:sha1:c4c22610300333cf709abecf0252ae2b51ab24b6</id>
<content type='text'>
This mainly amounts to clarifying some of our windows desiderata,
and removing the final refrences to fslock.
</content>
</entry>
<entry>
<title>fslock-guard: Compile on wasm.</title>
<updated>2026-05-06T19:28:40Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-05-06T17:01:06Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1b9b1dbed3c65b1e7475b0acde0acbe0dc24d15a'/>
<id>urn:sha1:1b9b1dbed3c65b1e7475b0acde0acbe0dc24d15a</id>
<content type='text'>
We can't actually open a file on wasm-unknown-unknown,
but it's more convenient for us if we don't have to conditionally
compile this crate every place that uses it.
</content>
</entry>
<entry>
<title>fslock-guard: Remove fslock dependency.</title>
<updated>2026-05-06T19:28:40Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-05-06T16:57:38Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ce78b7ab7032345d8b3dac2f723a8faa4e9ad66a'/>
<id>urn:sha1:ce78b7ab7032345d8b3dac2f723a8faa4e9ad66a</id>
<content type='text'>
We can do this since our msrv is now 1.89.0, where
File::lock is supported.
</content>
</entry>
<entry>
<title>Bump the versions of the non-{arti-,tor-} crates</title>
<updated>2026-03-02T17:36:23Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-03-02T17:36:23Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d45c09c8e808c90c4fcb5416fd52c3c138b4871a'/>
<id>urn:sha1:d45c09c8e808c90c4fcb5416fd52c3c138b4871a</id>
<content type='text'>
The non-{arti-,tor-} crates are:
```
./maint/list-crates  | rg -v '^(tor|arti)'
oneshot-fused-workaround
slotmap-careful
test-temp-dir
fslock-guard
hashx
equix
caret
fs-mistrust
safelog
retry-error
futures-copy
```

Because this release bumps the MSRV, I am bumping the minor version of all of
them.

MINOR="
oneshot-fused-workaround
slotmap-careful
test-temp-dir
fslock-guard
hashx
equix
caret
fs-mistrust
safelog
retry-error
futures-copy
"

for crate in $MINOR; do
    cargo set-version --bump minor -p $crate;
done
```
</content>
</entry>
<entry>
<title>Allow clippy::collapsible_if to trigger</title>
<updated>2026-02-16T15:22:24Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-02-09T11:49:02Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ade1d59e8e44c93b6ee447b72a2948a9652ec44e'/>
<id>urn:sha1:ade1d59e8e44c93b6ee447b72a2948a9652ec44e</id>
<content type='text'>
`clippy::collapsible_if` started triggering after bumping the MSRV to
1.88.

Since this triggers from a lot of places, and since there even are a
couple of instances where we explicitly allow `clippy::collapsible_ifs`,
I've opened #2342 for deciding what to do about it.
</content>
</entry>
</feed>
