Releases: Byron/trash-rs
v5.2.1
Bug Fixes
- Escape quoted paths when deleting with AppleScript
- Support for non-UTF8 paths on HFS+ on MacOS
Now illegal UTF8 is percent-encoded. Previously this code would have panicked.
Other
- add an overview table to DeleteMethod on Mac
- move macos deps behind macos cfg target
- add simdutf8 for fast utf8 validation
- add percent encoding support
- replace create with create_new to avoid potentially nulling existing files
Test
- new delete illegal bytes via Finder
Disabled since only works on older FS, but tested manually to work on a USB HFS drive - new delete illegal bytes
Disabled since only works on older FS, but tested manually to work on a USB HFS drive - add for from_utf8_lossy_pc
- replace create with create_new to avoid potentially nulling existing files
Commit Statistics
- 25 commits contributed to the release.
- 11 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
- Uncategorized
- Escape quoted paths when deleting with AppleScript (e1bb697)
- Support for non-UTF8 paths on HFS+ on MacOS (6f0b737)
- Various refactors (d23a591)
- Merge pull request #125 from eugenesvk/fr-doc-deletemethod (47ed29d)
- Add an overview table to DeleteMethod on Mac (415c87d)
- Clippy (b147384)
- Cargo fmt (e499a0e)
- New delete illegal bytes via Finder (175d6f5)
- Fix Finder path generation for AS (0359a4d)
- Cargo fmt (5d17879)
- Fix finder extra escaping (d7295e8)
- Cargo fmt (ab5c49b)
- New delete illegal bytes (bfbc394)
- Move macos deps behind macos cfg target (6fbad98)
- Convert delete_using_finder to use binary Paths (c013b9a)
- Convert delete_using_file_mgr to use binary Paths (1d18e7a)
- Remove automatic panicky conversion of potentially binary paths into non-binary strings (d7d2187)
- Add simdutf8 for fast utf8 validation (3978204)
- Add for from_utf8_lossy_pc (dc7dca0)
- Add from_utf8_lossy_pc (8481d3c)
- Add percent encoding support (e58e92b)
- Merge pull request #126 from eugenesvk/fr-test-file-new (823f6fb)
- Try de-clippy (243b00d)
- Replace create with create_new to avoid potentially nulling existing files (9c213c9)
- Replace create with create_new to avoid potentially nulling existing files (9ed83e7)
v5.2.0
New Features
-
Short circuiting check for empty trash
is_empty()
is a short circuiting function that checks if the trash is
empty on Freedesktop compatible systems and Windows.The main purpose of
is_empty()
is to avoid evaluating the entire trash
context when the caller is only interested in whether the trash is empty
or not. This is especially useful for full trashes with many items.
Commit Statistics
- 2 commits contributed to the release.
- 56 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
v5.1.1
This release accelerates removing large folders by removing an unnecessary recursive check.
Commit Statistics
- 5 commits contributed to the release.
- 0 commits were understood as conventional.
- 1 unique issue was worked on: #114
Commit Details
view details
- #114
- Uncategorized
v5.1.0
New Features
- check for operation abort
Commit Statistics
- 2 commits contributed to the release.
- 52 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
v5.0.0
To support non-UTF8 encoding in paths, the name
field changed from String
to OsString
in the TrashItem
struct. As it's a return value, one won't see
code break unless name
is actually used.
Bug Fixes
-
Support non-Unicode paths
There are several spots where paths are assumed to be Unicode. However,
some (all?) operating systems support non-Unicode paths which causes
trash-rs
to panic if encountered. I switched some of those code to use
OsString
s instead ofString
s. Unfortunately, I had to add a new
dependency,urlencoding
, in order to properly handle decoding non-UTF8
byte slices.As of this commit, the test suite passes and code should be ready, but I
will try to remove theurl
crate and useurlencoding
in its place
in the next commit.
Other
- Use objc2-foundation
Bug Fixes (BREAKING)
- Support non-UTF8 paths.
Note that this changes the type of returned paths toOsString
from String,
hence the breaking change.
Commit Statistics
- 10 commits contributed to the release over the course of 34 calendar days.
- 47 days passed between releases.
- 3 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
- Uncategorized
- Prepare changelog prior to release (02d1a8d)
- Support non-UTF8 paths. (0971b8f)
- Update Windows code to account for API change (e4b7119)
- Simplify Linux/BSD only tests for non-UTF8 paths (559b57b)
- Impl test for listing invalid UTF8 trash items (209db9d)
- Cleanup non-Unicode support for readability (2f31116)
- Remove
url
and replace withurlencoding
(67fb256) - Support non-Unicode paths (15a15f8)
- Merge pull request #107 from madsmtm/objc2 (46585ce)
- Use objc2-foundation (58b99ef)
v4.1.1
This release updates the windows
dependency (on Windows) to v0.56.
Commit Statistics
- 3 commits contributed to the release.
- 43 days passed between releases.
- 0 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
v4.1.0
New Features
- add
os_limited::trash_folders()
for use on many unixes.
Commit Statistics
- 4 commits contributed to the release.
- 7 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
v4.0.0
Bug Fixes (BREAKING)
-
Assure directory deletions on Windows don't put the entire contents into the trash.
Instead, like on other platforms, on Windows it will now put the folder into the trash instead.Please note that this is not a breaking change in terms of API, but a potentially breaking change with older Windows versions. It's unknown if there are side-effects, as it's unknown why Windows had special behaviour previously.
Commit Statistics
- 4 commits contributed to the release.
- 28 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
v3.3.1
Bug Fixes
- Use
AtomicI32
instead of I64 for compatibility witharmel
Commit Statistics
- 1 commit contributed to the release.
- 2 days passed between releases.
- 1 commit was understood as conventional.
- 1 unique issue was worked on: #99
Commit Details
v3.3.0
New Features
- improved error granularity
Inform about operating-system specific errors more clearly, thus avoid degenerating error information.
Bug Fixes
- Use
AtomicI32
in tests for compatibility witharmel
platform
Commit Statistics
- 5 commits contributed to the release over the course of 5 calendar days.
- 25 days passed between releases.
- 2 commits were understood as conventional.
- 1 unique issue was worked on: #99