Skip to content

Commit f43a151

Browse files
committed
Update README, CHANGELOG, and bump to 0.10.0
1 parent 3b81002 commit f43a151

File tree

4 files changed

+58
-27
lines changed

4 files changed

+58
-27
lines changed

CHANGELOG.md

Lines changed: 33 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,59 @@
11
# Changelog
22

3+
## [0.10.0] - 2020-12-19
4+
5+
### Fixed
6+
7+
- Exclusively lock files prior to compaction (should fix #40)
8+
9+
### Changed
10+
11+
- Update dependencies
12+
- Minor UI tweaks due to changes in DPI handling
13+
- Migrate to new dialog crates
14+
- More small internal improvements by @Dr-Emann, thanks! ([#30], [#32])
15+
316
## [0.9.0] - 2020-03-03
17+
418
### Added
5-
- Preserve file timestamps following compression/decompression ([#16])
19+
20+
- Preserve file timestamps following compression/decompression ([#16])
621

722
## [0.8.0] - 2020-02-29
23+
824
### Added
9-
- Excluded directories now get skipped entirely ([#8])
25+
26+
- Excluded directories now get skipped entirely ([#8])
1027

1128
### Changed
12-
- Paused jobs no longer poll ([#10], @Dr-Emann)
13-
- Less refcounting ([#9], @Dr-Emann)
29+
30+
- Paused jobs no longer poll ([#10], @Dr-Emann)
31+
- Less refcounting ([#9], @Dr-Emann)
1432

1533
### Fixed
16-
- Tests ([#11], @Dr-Emann)
34+
35+
- Tests ([#11], @Dr-Emann)
1736

1837
### Removed
19-
- WofUtil.dll version check ([#6])
38+
39+
- WofUtil.dll version check ([#6])
2040

2141
## [0.7.1] - 2019-07-17
42+
2243
### Added
23-
- Initial release
44+
45+
- Initial release
2446

2547
[0.7.1]: https://github.com/Freaky/Compactor/releases/tag/v0.7.1
2648
[0.8.0]: https://github.com/Freaky/Compactor/releases/tag/v0.8.0
2749
[0.9.0]: https://github.com/Freaky/Compactor/releases/tag/v0.9.0
50+
[0.10.0]: https://github.com/Freaky/Compactor/releases/tag/v0.10.0
2851
[#6]: https://github.com/Freaky/Compactor/issues/6
2952
[#8]: https://github.com/Freaky/Compactor/issues/8
3053
[#9]: https://github.com/Freaky/Compactor/pull/9
3154
[#10]: https://github.com/Freaky/Compactor/pull/10
3255
[#11]: https://github.com/Freaky/Compactor/pull/11
3356
[#16]: https://github.com/Freaky/Compactor/issues/16
57+
[#30]: https://github.com/Freaky/Compactor/pull/30
58+
[#32]: https://github.com/Freaky/Compactor/pull/32
59+
[#40]: https://github.com/Freaky/Compactor/issues/40

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "compactor"
3-
version = "0.9.0"
3+
version = "0.10.0"
44
authors = ["Thomas Hurst <[email protected]>"]
55
homepage = "https://github.com/Freaky/Compactor"
66
description = "An interface to Windows 10 filesystem compression"

README.md

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Compactor
22

3-
## A friendly user interface to Windows 10 filesystem compression.
3+
## A friendly user interface to Windows 10 filesystem compression
44

55
With modern lightweight compression algorithms running at gigabytes per second per core, it's practically a no-brainer to apply them to filesystems to make better use of storage and IO.
66

@@ -10,12 +10,14 @@ Compactor is here to plug that gap, with a simple GUI utility anyone can use.
1010

1111
![](https://i.imgur.com/A9si8Zh.png)
1212

13-
## Installation [![v0.9.0](https://img.shields.io/github/release-pre/Freaky/Compactor.svg)](https://github.com/Freaky/Compactor/releases/tag/v0.9.0) [![Downloads](https://img.shields.io/github/downloads/Freaky/Compactor/total.svg)](https://github.com/Freaky/Compactor/releases)
13+
## Installation [![v0.10.0](https://img.shields.io/github/release-pre/Freaky/Compactor.svg)](https://github.com/Freaky/Compactor/releases/tag/v0.10.0) [![Downloads](https://img.shields.io/github/downloads/Freaky/Compactor/total.svg)](https://github.com/Freaky/Compactor/releases)
1414

1515
Downloads are available from the [Github Releases](https://github.com/Freaky/Compactor/releases) page under *Assets*, or you can use these direct links:
1616

17-
* [v0.9.0 32-bit](https://github.com/Freaky/Compactor/releases/download/v0.9.0/Compactor-0.9.0-i686.zip)
18-
* [v0.9.0 64-bit](https://github.com/Freaky/Compactor/releases/download/v0.9.0/Compactor-0.9.0.zip)
17+
* [v0.10.0 32-bit](https://github.com/Freaky/Compactor/releases/download/v0.10.0/Compactor-0.10.0-i686.zip)
18+
* [v0.10.0 64-bit](https://github.com/Freaky/Compactor/releases/download/v0.10.0/Compactor-0.10.0.zip)
19+
20+
The 64-bit version is recommended for most users.
1921

2022
If you get "*Windows protected your PC*" trying to run it, it's just [SmartScreen](https://www.pcworld.com/article/3197443/how-to-get-past-windows-defender-smartscreen-in-windows-10.html) upset the binaries aren't (yet) signed. Click "*More info*" and "*Run anyway*" if you judge things to be above-board.
2123

@@ -51,7 +53,7 @@ Written in [Rust], a modern compiled systems programming language from Mozilla,
5153

5254
### Beta Software
5355

54-
Compactor has received only limited testing. I've used it extensively on my desktop and laptop without a problem, it's saved me *hundreds of gigabytes* of disk space. Hopefully it will do the same for you.
56+
While it has been used successfully by thousands of people, Compactor should be used with care. It is intended for compressing replacable software, not precious files.
5557

5658
**Make backups**. Report bugs. Be nice. You are reminded:
5759

@@ -65,9 +67,15 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
6567
SOFTWARE.
6668
```
6769

70+
It's in shouty legal text so you know I mean it.
71+
72+
### Data Corruption
73+
74+
There has been [one report][#40] of data corruption with open SQLite database files. The author has been unable to reproduce this, but file locking was added to version 0.10 which should prevent them from being modified.
75+
6876
### Permissions
6977

70-
Compactor currently has no mechanism to elevate its privileges using UAC for protected files. If you're using a limited account you might need to run it as an Administrator, or a user with similar privileges.
78+
Compactor currently has no mechanism to elevate its privileges using UAC for protected files. If you're using a limited account you may need to run the program with elevated permissions.
7179

7280
Be careful what you compress. System files should be skipped automatically, and the Windows folder should be in the list of default exclusions (if you want to compact Windows, check out its [CompactOS] feature), but you almost certainly don't want to blindly run this across your entire `C:\` drive.
7381

@@ -101,28 +109,24 @@ A totally-not-cherry-picked sample of compression results with the default setti
101109

102110
A more comprehensive database of results is [maintained by the CompactGUI project](https://docs.google.com/spreadsheets/d/14CVXd6PTIYE9XlNpRsxJUGaoUzhC5titIC1rzQHI4yI/edit#gid=0).
103111

104-
105112
## Future
106113

107-
In the fairly-concrete TODO:
114+
There are many things I want to do with Compactor in future. These include, but are certainly not limited to:
108115

109-
* Hook up an interface to the saved paths database (count, option to clear it).
110-
* Recompression, for changing compression modes without manually decompressing/recompressing.
116+
* Make analysis optional. It isn't fundamentally needed.
117+
* Multithreaded analysis/compaction for SSDs.
118+
* GUI rework of some description. The longer I leave this the better Rust should get at it :P
111119
* Installer. Why does this involve so much XML oh god.
112-
* Sign the binaries/installer. If I give away my code I get a free one, right?
113-
* Double-check the default exclusions list. Should be able to do something with the compresstimation code to verify them.
114-
115-
More tentative:
120+
* Sign the binaries/installer. This appears to involve money.
121+
* Scheduled task or a background service for set-it-and-forget-it operation.
116122

117-
* Scheduled task or a background service to periodically recompress selected directories.
118-
* Write bindings to Microsoft's [Compression API], add benchmarks for the various compression modes to help users decide which is most appropriate for their system.
119-
* Examine [overlapped IO], see if we can get more information and control out of the compression process (per-file progress and cancellation).
123+
Feature requests can be discussed in the [forum](https://github.com/Freaky/Compactor/discussions), or you may open [an issue](https://github.com/Freaky/Compactor/issues).
120124

121125
## Alternatives
122126

123127
* [`compact.exe`] is a command-line tool that ships with Windows 10. If you're familiar with the command line and batch files, maybe you'd prefer that. Weirdo.
124128
* [CompactGUI] is a popular Visual Basic program that shells out to `compact.exe` to do its work, instead of using the Windows API directly as Compactor does. It has some... performance issues, particularly with larger folders.
125-
* NTFS has supported [LZNT1 compression][lznt1] since 1995, hidden behind a checkbox under `Properties` &rarr; `Advanced Attributes`. It's less flexible and has a reputation for poor performance, but is more set-it-and-forget-it.
129+
* NTFS has supported [LZNT1 compression][lznt1] since 1995, hidden behind a checkbox under `Properties` &rarr; `Advanced Attributes`. It's less flexible and has a reputation for poor performance and issues with fragmentation, but is more set-it-and-forget-it.
126130

127131
Are you aware of any others? Do let me know.
128132

@@ -161,3 +165,4 @@ You can find him on Twitter at [@blaagh], or bug him on IRC as `Freaky` on FreeN
161165
[overlapped IO]: https://docs.microsoft.com/en-us/windows/desktop/sync/synchronization-and-overlapped-input-and-output
162166
[compresstimator]: https://github.com/Freaky/compresstimator
163167
[lznt1]: https://en.wikipedia.org/wiki/NTFS#File_compression
168+
[#40]: https://github.com/Freaky/Compactor/issues/40

0 commit comments

Comments
 (0)