Tags: sholderbach/trash-rs
Tags
### Chore (BREAKING) - Upgrade from `windows` v0.37 to v0.43. ### Commit Statistics - 4 commits contributed to the release over the course of 132 calendar days. - 145 days passed between releases. - 1 commit was understood as [conventional](https://www.conventionalcommits.org). - 0 issues like '(#ID)' were seen in commit messages ### Commit Details * **Uncategorized** - Upgrade from `windows` v0.37 to v0.43. (a024b44) - Fix Clippy failures on Linux (538dea0) - Upgrade windows crate from v0.37 to v0.43 (48cdc67) - derive Clone for TrashItem (fcf6bb5)
### Bug Fixes - Make chrono a default-enabled optional feature. This allows to turn chrono support off without actually affecting the ability to trash and restore items. `chrono` still has issues to dubious local-time support which relies on a c-library function that can cause undefined behaviour as it accesses an environment variable in a non-threadsafe fashion. ### Commit Statistics - 4 commits contributed to the release. - 40 days passed between releases. - 1 commit where understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: Byron#39 ### Commit Details * **Byron#39** - Make chrono a default-enabled optional feature. (67244ba) * **Uncategorized** - improve CI stage names; fix feature configuration on windows (5591fda) - silence clippy (d13be48) - add rust-cache for faster builds (676a43f)
### Fixes - upgrade the `windows` crate to v0.37 to resolve [a build issue](Byron#39) and lay the foundation for more regular updates of the windows support. ### Commit Statistics - 2 commits contributed to the release. - 8 days passed between releases. - 0 commits where understood as [conventional](https://www.conventionalcommits.org). - 2 unique issues were worked on: Byron#39, Byron#51 ### Commit Details * **Byron#39** - prepare changelog (7816e07) * **Byron#51** - Upgrade windows crate (d18f9d4)
### Fixes - include `windows` crate only on windows for reduced CI build times from ~9s to ~4s. ### Commit Statistics - 3 commits contributed to the release. - 3 days passed between releases. - 0 commits where understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: #5050505050 ### Commit Details * **#5050505050** - update changelog (8e64f34) * **Uncategorized** - Merge pull request Byron#50 from rgwood/windows-dep (883c5a4) - Add names to CI steps (ef7003a)
### Bug Fixes - avoid inconsistency when using relative paths in trashed file info. We use absolute paths now without trying to generate a relative path based on some top directory as the latter seems to be causing inconsistencies on some linux distros, as the restore path ends up being incorrect. Rather go with the absolute truth and don't fiddle with path transformations at all to make it work everywhere. ### Commit Statistics - 1 commit contributed to the release. - 2 days passed between releases. - 1 commit where understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: Byron#39 ### Commit Details * **Byron#39** - avoid inconsistency when using relative paths in trashed file info. (367cf5f)
### Bug Fixes - Properly reconstruct paths when restoring files on freedesktop if those were relative. Previously it would be unable to reconstruct original paths if the trash directory was on a mount point due to a 'split brain' of sorts. When trashing files it would create original path information based on them being relative to a mount point, but when restoring them it would reconstruct them to be relative to the trash top level directory. Now the reconstruction happens against to mount point itself which makes restoration match. ### Commit Statistics - 6 commits contributed to the release over the course of 2 calendar days. - 3 days passed between releases. - 1 commit where understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: Byron#47 ### Commit Details * **Byron#47** - Properly reconstruct paths when restoring files on freedesktop if those were relative (dcda6df) - Somewhat hard-code special case for fedora (90f0f9b) - proper cleanup after potential assertion failure (1f3a600) - remove unused trait (ac913d8) * **Uncategorized** - update changelog (98d32c8) - more robust removal of test files in failure case on os specific tests (3f6502d)
### Fixes - Leading directories are now created on linux to avoid errors when trashing nested directories. ### Commit Statistics - 3 commits contributed to the release. - 103 days passed between releases. - 0 commits where understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: Byron#45 ### Commit Details * **Byron#45** - reproduce issue with lack of leading directories and fix it (d5b6faa) * **Uncategorized** - prepare upcoming release (e3bbb6b) - Merge branch 'refactor-tests' (0e90cac)
We detected the possibility of UB in the Linux and FreeBSD versions o… …f `get_mount_points()` and reduced the likelihood of it happening in a multi-threaded environment by synchronizing access. You can read more about the state of a more permanent fix [in the tracking issue](Byron#42). All previous 2.0.* releases which contained this function were yanked from crates-io. ### Fixes * Make internal `get_mount_points()` thread-safe to reduce chance of UB greatly. This may reduce performance of crates that are using trash from multiple threads somewhat, as a part of the operation is now synchronized. * Fix build on FreeBSD, handle UB similarly to the above. ### Commit Statistics - 9 commits contributed to the release over the course of 30 calendar days. - 30 days passed between releases. - 0 commits where understood as [conventional](https://www.conventionalcommits.org). - 0 issues like '(#ID)' where seen in commit messages ### Commit Details * **Uncategorized** - Prepare changelog for next release (b65f574) - Add Mutex to linux version of get_mount_points(); document UB chance in lib.rs (c5c9c5e) - Use Mutex to prevent concurrent access to getmntinfo (5c8e0ce) - Merge pull request Byron#43 from wezm/num-threads-freebsd (8f10c85) - Fix build on FreeBSD after refactor (f3d31e5) - Use `num_threads()` to avoid UB in FreeBSD version of get_mount_points() (3c153ae) - refactor (92ab7b9) - Add BSD compatible implementation of get_mount_points (82d2132) - Run `cargo-diet` for a more minimal crates package (561f21d)
### Bug Fixes - let dependency specification in Cargo.toml match cfg directives in code This fixes [issue 40](Byron#40). ### Commit Statistics - 5 commits contributed to the release over the course of 125 calendar days. - 1 commit where understood as [conventional](https://www.conventionalcommits.org). - 2 unique issues were worked on: Byron#37, Byron#40 ### Commit Details * **Byron#37** - fix some clippy warnings (3c566ef) * **Byron#40** - let dependency specification in Cargo.toml match cfg directives in code (cb5b617) * **Uncategorized** - Disable lint for platforms where it matters (b4add86) - update changelog with `cargo changelog` (932cea4) - Add Rust CI status badge (b94fce2)
PreviousNext