Changelog

v0.4.1

  • Updates
    • geo - Limit time taken for network requests to get error messages a lot more quickly

v0.4.0

This release officially adds support for Elixir 1.17 and OTP 27. It removes support for Elixir 1.11 and 1.12 due to new warnings from dependent libraries.

  • Updates
    • geo - Print geo-location results and more.
    • httpget - Support binding to an :ifname when making requests. Works well on Linux and approximated on other operating systems.
    • httpget - Use IPv6 if available and fall back to IPv4.

v0.3.2

  • Updates
    • log_attach - Use the Erlang logger with OTP 26 and later. This enables more options and removes a dependency on the now deprecated Elixir console logger. The Elixir logger is still used with OTP 25 and earlier.
    • log_attach - Update config options when re-attaching rather than returning an error.
    • Fixed Elixir 1.17 warnings

v0.3.1

  • Updates
    • speed_test - Added new helper for running a quick network speed test by downloading a large file from a CDN. It automatically stops after a timeout or max number of bytes so that it can be used on metered connections.

v0.3.0

This is a major update in how the Toolshed source code gets compiled. If you are calling any Toolshed functions in your programs, you may need to update the calls. All enabled functions get compiled to be in the Toolshed module now.

  • Backwards-incompatible updates

    • Removed file path completion. This was improved and added to Elixir 1.13.0 in December, 2021.
    • Moved all helper functions to Toolshed. They are no longer accessible in other modules. This should go unnoticed if you're using Toolshed at the IEx prompt.
  • Improvements

    • ping - Changed ping command to use Erlang's relatively new support for sending ICMP echo requests. Previously ping made TCP connection requests. The old way is now available via the tcping helper. Thanks to @amclain for the ICMP update.
    • ping - ping and tcping repeat 3 times by default instead of repeating forever. The new :count option can be used to repeat more.
    • inspect_bits - Added inspect_bits helper to easily print a number in multiple bases. It also handles negative numbers and gives hex and binary representations that are more familiar to those coming from languages with fixed size integers.
    • (Nerves-only) poweroff -Added helper to gracefully power off Nerves devices that support it.
    • httpget - Increased the timeout for downloads and added :timeout option to change it at runtime.
    • Nerves helpers are completely compiled out when not using Nerves. This can be extended to remove or selectively enable helpers in the future.

Thanks to @mnishiguchi for making Toolshed significantly easier to maintain by improving the code organization and adding tests.

v0.2.26

  • Improvements
    • Update weather to give a helpful error if the :ssl application isn't included in the release.

v0.2.25

  • Improvements
    • Remove path completion when using Elixir 1.13. Path completion was improved and merged into Elixir, so you no longer need Toolshed to use it. The function call to use it is now a no-op on Elixir 1.13. On previous Elixir versions, it will add path completion so there's no need to change any code.

v0.2.24

  • Improvements
    • Add :port option to ping. Ping also prints out the port number so it's more obvious that 1. TCP "pings" are being used and 2. which port was used.

v0.2.23

  • New features

    • Added the history command. See what you typed.
  • Bug fixes

    • fw_validate calls Nerves.Runtime.validate_firmware rather than validating firmware itself.

v0.2.22

  • Bug fixes
    • top: fix flashing that was happening when top was automatically updating

v0.2.21

  • New features
    • The ping command now supports IPv6 addresses. Thanks to Alex McLain for this improvement.
    • The top command automatically refreshes now.

v0.2.20

  • New features
    • Add log_attach and log_detach convenience functions for directing log messages to the current IEx session. These provide a simple way for seeing log messages when you either aren't on the same console as the console logger or you don't want to enable the console logger since it messes up the prompt.

v0.2.19

  • Bug fixes

    • cmd/1 won't crash if the command being run returns non-UTF8 data
    • cat/1 no longer adds an extra newline at the end of its input
  • Removed commands

    • Removed the rarely used pastebin command

v0.2.18

  • New features
    • Add httpget command for performing HTTP GET requests and printing the response to stdout or saving it to the filesystem. Thanks to Jon Thacker for this feature.

v0.2.17

  • Bug fixes
    • Don't trigger autocompletion when in a string interpolation.

v0.2.16

  • Bug fixes
    • Fix path completion issues when wildcard characters are in the string to be completed.

v0.2.15

  • New features
    • Add path autocompletion. Try it out by running use Toolshed at the IEx prompt. Then type File.read("/e<tab>") for files in /etc or ls "li<tab>" if you have a lib directory under your current directory.

v0.2.14

  • Bug fixes
    • Fix warnings when building with Elixir 1.11.

v0.2.13

  • Bug fixes
    • Improve error message when :inets isn't available so that it says how to add it to your mix.exs.

v0.2.12

  • Bug fixes

    • If help has been stripped, then don't tell the user that it's available.
  • New features

    • Add multicast_addresses command for listing multicast addresses being listened to on each network interface. This is helpful if you're debugging lost multicast subscriptions or just seeing what applications are listening on.

v0.2.11

  • New features
    • Add date command for quickly checking the current date and time in UTC

v0.2.10

  • New features
    • Validate firmware using nerves_runtime v0.10.0's Nerves.Runtime.KV.put/2 function if available

v0.2.9

  • New features
    • Add simple HTTP request shortcuts: weather, qr_encode, and pastebin

v0.2.8

  • New features
    • Add ping to ping a remote IP address repeatedly and add some support for setting the interface to use.

v0.2.7

  • New features
    • Add lsmod for returning loaded kernel modules on Nerves

v0.2.6

  • New features
    • Add uname for getting running firmware information on Nerves

v0.2.5

  • New features
    • Add lsof

v0.2.4

  • Bug fixes
    • Fix warning due to missing Nerves.Runtime

v0.2.3

  • Bug fixes
    • Fix cmd/1 to capture and print stderr as well. This fixes an issue where stderr prints would go somewhere else and you couldn't see them. This affected IEx sessions running over ssh.

v0.2.2

  • Bug fixes

    • Fix ifconfig crash on sit interfaces
    • Improve printout of unnamed pids with top
  • New features

    • Add uptime helper

v0.2.1

  • New features
    • Add exit for exiting an IEx session

v0.2.0

  • New features

    • top displays deltas by default
  • Bug fixes

    • Fixed inclusion of Nerves utilities on Nerves

v0.1.0

Initial release