Sep 30, 2017
Don’t include the path in the zipped binary
The ‘package-exa’ script’s zip contained /vagrant/exa-linux-x86_64 instead of just exa-linux-x86_64, and I never noticed.

https://stackoverflow.com/a/9710181/3484614 told me what to do.

@ogham ogham released this Sep 30, 2017 · 116 commits to master since this release

Assets 6

This release provides both bug fixes and new features. I've written a post that outlines what's new, as well as some remarks on how I'd like to handle getting me to do releases more often in the future: bsago.me/blog/exa/v0.8.0

Additions

  • Use completely new, less strict, more friendly options parser (b5bcf22)
  • Add a strict mode, for when you want to check your options (97d1472)
  • Add EXA_GRID_ROWS that makes --long --grid a bit more palatable (e933fa6)
  • Add EXA_DEBUG for logging information (e0727a1)
  • Add LS_COLORS parsing and colouring (adfee28, aa2e3a5)
  • Add EXA_COLORS parsing and colouring, which overrides the above (075fe80, aa2e3a5)
  • Initial support for a --git-ignore flag (827aa8b)

Changes

  • Default to sorting case-insensitively (57c647f)
  • Hide xattr errors unless xattrs were explicitly asked for (5189d66)
  • Add orf and nef file types (40ce7ba)
  • Add bk file type (eda3e56)
  • Only check the terminal width of stdout, not stdin and stderr (4289f4d)
  • Sorting by date now has new and old convenience aliases (f55bd6d)
  • Use only verified published crates, so exa can be on crates.io (1efb8a5)

Fixes

  • Use a patched version of libgit2 to prevent that libhttp_parser error (3405db1)
  • Fix bug where --tree --all didn't work (a2cd39e)
  • Fix bug where ISO dates were long when they should be short and vice versa (fca5b6b)
  • Fix bug where month name padding made the whole table look weird (999c9d5)

@ogham ogham released this Jul 7, 2017 · 298 commits to master since this release

Assets 4

Additions

  • Display device IDs when listing block or character devices (ef5fa90)
  • Display the sticky/setuid/setgid bits in permissions (110613b)
  • Allow --all --all to display the . and .. directory entries (5cd7609)
  • Allow --sort=type to sort by file type: file, directory, link, pipe, device (f750536)
  • Add the --time-style option to use the ISO format for timestamps (690aa21)

Changes

  • Don’t look up things like time zones or locale information when those columns won’t be displayed (9723612)
  • Similarly, don’t buffer the entire table before printing it out when not in grid-details view (fc60838)
  • Make the help text like 1% faster to display (763e833)

Fixes

  • Actually display the error when recursing into a directory fails in tree view (f4ddbf3)
  • Fix crash when given invalid UTF-8 arguments (de60b95)
  • Fix bug where files’ accessed times (atime) were actually modified times (mtime)! (5bdf630)
  • Fix bug where the presence of the COLUMNS environment variable made exa always use colours (84b01f2)

Contributors

Thanks to kballard and gyscos for contributing!

@ogham ogham released this May 17, 2017 · 400 commits to master since this release

Assets 4

Additions

  • Add the --classify option (e81b83b)
  • Add .cr2 as image type (8ac68f9)
  • Non-printable characters in file names are now escaped (3ebc225, 609bafe)
  • Add completions for bash, zsh, and fish (897d6ff)

Changes

  • Don’t prepend symlink paths to link targets (f8624ed)
  • Turn off the Git networking features, meaning exa does not require OpenSSL, making it smaller and easier to compile (08bc2e3)
  • Change --help and --version to return exit code 0 (510d2f7)
  • Lots and lots of Makefile changes
  • The usual amount of internal restructuring

Fixes

  • Fix bugs where files with two components, and . and .., were not displayed (a28bd8f, dd63774)
  • Handle locales with 4-character-wide short month names (ce8a2e7)
  • Fix bug where cell width wasn’t being calculated (0828133)

Contributors

Thanks to maandree, neosilky, MakeNowJust, raphink, kballard many times over, and quininer for contributing!

@ogham ogham released this Apr 11, 2017 · 511 commits to master since this release

Assets 4

Now, where was I?

Additions

  • Add --colo[u]r option to toggle colours on and off (f92459d)
  • Add case-insensitive sorting with --Name and --Ext (note the caps) (8805ce9, 3e9616c)
  • Recognise pipes, devices, and sockets on systems where they’re avaliable (a9bb275)
  • Add ability to ignore globs (9559629)
  • Add option to colour file sizes on a scale (0ffb331, 86065f8)

Changes

  • Improved help text (edeec0f, b35927f, 7e15e0d)
  • Use the time zone data present on the system, rather than the perpetually-outdated versions compiled with exa (ee4c09d)
  • Print files’ paths if they had paths when passed in as arguments (9b87ef1)
  • Highlight cryptographic file types (45c93b1)
  • Error messages now go to stderr (8d25719)
  • Stop printing a header for zero files (a7e3456)
  • The usual amount of internal restructuring.
  • Lots and lots of upgrades to newer Rust versions.

Fixes

  • Allow Details view to be used, even if the terminal has no width (1756a0a)
  • Compilation fixes for ARM (734c508)
  • Compilation fixes for FreeBSD (b9eb364)
  • Fix bug where files were shown to not have extended attributes (4c32663)
  • Fix bug where files weren’t being sorted correctly in Details view (f6c5c89)
  • Fix bug where the directory name above a list of files was not printed (f35d28d)

Contributors

Thanks to skade, petevine, jbeich, tomassedovic, hoodie, lindenk, gemmarx, spk, Stebalien, and neosilky for contributing!

@ogham ogham released this Mar 29, 2017 · 523 commits to master since this release

Assets 2

This is a snapshot of exa’s current code, which has been cleaned up a bit and at the very least been run through untry (which managed to pick apart all try!s but one). It’s being released to work around a bug in macOS Sierra.

Usually when I do a release I go through the commit history, pick out anything that looks like it could be a bullet point in the release notes, look at the contributors and see who’s there, then edit the website and upload — there are more features in here than just the openssl upgrade, and the work done so far is really deserving of a “proper” release, rather than just a beta.

But I don’t even want to learn how little work I’ve done on it in the past twelve months.

I think I need to be honest with everyone here. My interest in exa is still there, and the list of features I’d still like to add is as long as it’s ever been, but my motivation is completely shot. Compared to even a year ago it’s plummeted. Every day I go to work, bang out code on whatever it is I’m doing, leave, arrive home, then do my best to not do anything, on the computer or off it. My life’s going alright, I can still do things, I’m able to do things, but I just... don’t, and I wish I could give you a better reason than that. GitHub notifications were something I’d deal with later that day, then next week, then whenever I’d get around to it, and then routed into a folder in my inbox that I never actually checked, and then every day I’d see that number and hope it didn’t increase, and then I noticed that whenever it did increase I wouldn’t be able to concentrate on anything for another hour, so I just hid it, which hurt at first but at least gave me some time back. I’d still commit from time to time, but not mention any of this because I didn’t want to call attention to it, as though in time everyone would just forget. Whenever I saw a reply to the Sierra bug thread, I’d log in, read it, start to worry that if I replied now then I’d be admitting to everyone that I was still around and hadn’t died or something and was instead just ignoring their comments, and then what would people think of me? I even got as far as navigating to “Delete this repository” before I had to push the computer away.

That’s one push that went correctly. It’s obvious to say, but it’s stupid to delete code that people are using, just because you didn’t want to deal with the fact that you made a mistake.

I’m going to try something new: switching exa to a routine 6-week release schedule. The Rust has a release train that works over the same duration using multiple versions. I think exa (a hundredth its size) can do without that part, but the rest of it is good advice. Having an actual date for each one means I don’t get a choice in releasing anything or not, which is an incredible motivator for actually doing it! I still have to put 0.5.0 out properly, but with luck, the second release (0.6.0, which would come out halfway through May) would be a lot less daunting than the first, the third less than the second, and it would plateau from there.

The root advice here is “if you’re having difficulty doing something, then do it more often, because it gets easier”. I found actually releasing my software hard. I want it to be easier.

I hope you all find this acceptable, and I apologise again for the massive commit lacuna.

@ogham ogham released this Oct 18, 2015 · 652 commits to master since this release

Assets 4

So a while back I decided to add lots more info to exa's site, and unknowingly described a bunch of features that were in the development version but not the release version! So this is a kind-of emergency release to allow everybody to use those features, even those using the released versions.

The downside of this is that I did mark some features as ones I wanted to complete before the v0.4.0 milestone. All that's happened is the version that they'll show up in has been renamed, but they're all still on my radar.

Additions

  • Add --grid --long view, which splits the details into multiple columns (090cebe)
  • Allow --tree without --long, which displays a tree view without any details (e1f4ea9)

Changes

  • DragonFlyBSD support (9601884, 6317417)
  • Change symlink arrow to -> from => (ebbac61)
  • Extended attributes are now displayed as child nodes (eee49ec)
  • Individual files are now queried in parallel (fa51a87)

Fixes

  • Fix bug where Git repos were always queried, making exa very slow (d547c3f)
  • Fix bug where an extra newline was printed (6cf9274)

Contributors

Thanks to mgee, mneumann, kbknapp, lilydjwg, petevine, rhysd, hoodie, and DavidJFelix for contributing!

@ogham ogham released this Jun 5, 2015 · 723 commits to master since this release

Assets 4

It's been exactly 100 commits and just over three months since version 0.2, so it's about time I did another binary release. This one fixes a few bugs, but most of the code changes have been maintenance: upgrading to the new standard filesystem library was a big step, and having dates in the right time zone is something I'm glad to have finally landed.

By the way, I've decided to hold off on version 1.0 until exa can compile with Rust Stable. There aren't many feature flags left, and most of the ones that are pertain to the new std::fs library that we need to use. So exa will continue to require the nightly version for the foreseeable future.

Additions

None in this build.

Changes

  • Make the Git column optional, to improve performance on large repositories (7dc3a02)
  • Stat files in parallel, for a nice speed boost! (d2df70e)
  • Use the new Rust fs and io libraries (ffcc6fa)
  • ANSI codes are now not displayed when output is not to a terminal (36116a1)

Fixes

  • More options now require --long (5d152db and a4459da)
  • Timestamps are now in the user's correct time zone, rather than UTC (cc1d6aa)
  • Executable files are now highlighted in green (b452967)
  • Allow compilation without Git support (5caa6dd)

Contributors

Thanks to byteprelude, killercup, e12e, tsurai, and mgee for contributing! And thanks to everyone who's given feedback, reported bugs, and just plain used the thing.

(Please let me know if I've missed you out.)

@ogham ogham released this Mar 2, 2015 · 824 commits to master since this release

Assets 4

This is the first proper 'release' of exa. A number of people have been clamouring for these because Rust isn't fully stable yet, and there have been days when it's failed to build because of upstream failures. And if you're the sort of person (like me) who just aliases ls to the in-development version of exa, your ls will fail half the time.

Unfortunately, I have no idea whether these releases will work or not. I just built them with Cargo. If they don't work, please tell me!

Additions

  • Add missing sort-by-date options. You can now also sort by 'modified', 'created', and 'accessed'. (a4e1719)
  • Add extended attribute support. (ce23c63)
  • Add --level option to limit depth of recursion and tree view. (f505bdc)
  • Add --group-directories-first option. (ff1f6d0)
  • Add --version command. (67f60e6)

Changes

  • Change date format to mimic ls. (0082563)
  • Numerous small optimisations and fixes.

Fixes

  • Use the width of the file name in the grid view, instead of its length. The width handles multibyte UTF-8 characters and filenames with combining diacritics correctly. (43e8061)
  • Fix getting Git status while in a subdirectory. (6e19563)
  • Fix displaying UIDs and GIDs that are over 231. (38a7854)
  • Fix panic when previewing symlink to . or .. or /. (1da1142)
  • Fix missing /s in symlink targets. (ef58c30)

Major stuff not done yet

  • Git is still slow when working with large repositories (#28)
  • No Windows support! (#32)

Contributors

Thanks to nwin, Stebalien, tuftedocelot, coyotebush, davidcelis, ebfe, mikefaille, and jgilchrist for contributing!

@ogham ogham released this Feb 21, 2015 · 885 commits to master since this release

Assets 2

This is the version that I'm posting about everywhere.