Changelog
v0.4.2
- Updates
cmd- Fix issue with usingcmdon ssh connections due to support for non-UTF8 characters being removed. Elixir 1.16 and later make it easy to replace those characters, so filter them before output. Previous Elixir versions keep the old behavior.- Update licensing and copyright for REUSE compliance
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:ifnamewhen 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- Changedpingcommand to use Erlang's relatively new support for sending ICMP echo requests. Previouslypingmade TCP connection requests. The old way is now available via thetcpinghelper. Thanks to @amclain for the ICMP update.ping-pingandtcpingrepeat 3 times by default instead of repeating forever. The new:countoption can be used to repeat more.inspect_bits- Addedinspect_bitshelper 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:timeoutoption 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
weatherto give a helpful error if the:sslapplication isn't included in the release.
- Update
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
:portoption toping. 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.
- Add
v0.2.23
New features
- Added the
historycommand. See what you typed.
- Added the
Bug fixes
fw_validatecallsNerves.Runtime.validate_firmwarerather 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_attachandlog_detachconvenience 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.
- Add
v0.2.19
Bug fixes
cmd/1won't crash if the command being run returns non-UTF8 datacat/1no longer adds an extra newline at the end of its input
Removed commands
- Removed the rarely used
pastebincommand
- Removed the rarely used
v0.2.18
- New features
- Add
httpgetcommand for performing HTTP GET requests and printing the response to stdout or saving it to the filesystem. Thanks to Jon Thacker for this feature.
- Add
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 Toolshedat the IEx prompt. Then typeFile.read("/e<tab>")for files in/etcorls "li<tab>"if you have alibdirectory under your current directory.
- Add path autocompletion. Try it out by running
v0.2.14
- Bug fixes
- Fix warnings when building with Elixir 1.11.
v0.2.13
- Bug fixes
- Improve error message when
:inetsisn't available so that it says how to add it to yourmix.exs.
- Improve error message when
v0.2.12
Bug fixes
- If help has been stripped, then don't tell the user that it's available.
New features
- Add
multicast_addressescommand 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.
- Add
v0.2.11
- New features
- Add
datecommand for quickly checking the current date and time in UTC
- Add
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, andpastebin
- Add simple HTTP request shortcuts:
v0.2.8
- New features
- Add
pingto ping a remote IP address repeatedly and add some support for setting the interface to use.
- Add
v0.2.7
- New features
- Add
lsmodfor returning loaded kernel modules on Nerves
- Add
v0.2.6
- New features
- Add
unamefor getting running firmware information on Nerves
- Add
v0.2.5
- New features
- Add
lsof
- Add
v0.2.4
- Bug fixes
- Fix warning due to missing Nerves.Runtime
v0.2.3
- Bug fixes
- Fix
cmd/1to 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.
- Fix
v0.2.2
Bug fixes
- Fix ifconfig crash on sit interfaces
- Improve printout of unnamed pids with top
New features
- Add
uptimehelper
- Add
v0.2.1
- New features
- Add
exitfor exiting an IEx session
- Add
v0.2.0
New features
topdisplays deltas by default
Bug fixes
- Fixed inclusion of Nerves utilities on Nerves
v0.1.0
Initial release