- When sorting a file with repeated lines with a
--locale, the sorting order was not always consistent, and the--uniqueflag could leave duplicates behind. - As of this release there are no longer binaries built for MIPS on Linux. These targets have been demoted to tier 3 support by the Rust compiler.
- Sorting is now done in parallel using rayon. This significantly speeds up sorting of large files. In my experiments, a c. 100MB file went from 12s to 8s. A c. 1GB file went from 2m40s to 1m40s.
- Fixed the release orchestration so releases are only built with stable Rust.
- I rewrote it in Rust (RIIR).
- Added the ability to preserve comments in files when sorting. Use the
--comment-prefixoption for this. - Fixed the handling of empty lines when running in
--checkmode. Fixes GH #3.
- Added Darwin arm64 and Windows arm64 builds.
- When a file is already sorted,
omegasortwill no longer write to the file. This means that the file's last modification time will not change in this case. Fixes #3.
- Added a
--uniqueflag. This can also be used with--checkto check that a file is both sorted and unique. - Always close temp files before moving them. On Windows attempting to move an open file causes an error.
- Fix handling of errors during initialization. These sorts of error could lead to a confusing panic instead of showing the actual error message.
- Handle the case where stdout is not connected to the terminal. Previously this caused an error during initialization.
- Replace file renaming with copying to handle the case where the temp file we sort into and the original file are not on the same partition.
- Fix bug where sorting wasn't stable in the presence of two case-insensitively identical lines (and possibly other similar scenarios).
- Fix terminal width check. It was using the height as the width. In addition, it now makes the text width 90 characters if the terminal is wider than that.
- The
--checkflag was not implemented and now it is.
- First release upon an unsuspecting world.