- Updates
geo
- Limit time taken for network requests to get error messages a lot more quickly
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.
- 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
- 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.
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
- Changedping
command to use Erlang's relatively new support for sending ICMP echo requests. Previouslyping
made TCP connection requests. The old way is now available via thetcping
helper. Thanks to @amclain for the ICMP update.ping
-ping
andtcping
repeat 3 times by default instead of repeating forever. The new:count
option can be used to repeat more.inspect_bits
- Addedinspect_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.
- Improvements
- Update
weather
to give a helpful error if the:ssl
application isn't included in the release.
- Update
- 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.
- Improvements
- Add
:port
option 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
-
New features
- Added the
history
command. See what you typed.
- Added the
-
Bug fixes
fw_validate
callsNerves.Runtime.validate_firmware
rather than validating firmware itself.
- Bug fixes
- top: fix flashing that was happening when top was automatically updating
- New features
- The ping command now supports IPv6 addresses. Thanks to Alex McLain for this improvement.
- The top command automatically refreshes now.
- New features
- Add
log_attach
andlog_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.
- Add
-
Bug fixes
cmd/1
won't crash if the command being run returns non-UTF8 datacat/1
no longer adds an extra newline at the end of its input
-
Removed commands
- Removed the rarely used
pastebin
command
- Removed the rarely used
- 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.
- Add
- Bug fixes
- Don't trigger autocompletion when in a string interpolation.
- Bug fixes
- Fix path completion issues when wildcard characters are in the string to be completed.
- New features
- Add path autocompletion. Try it out by running
use Toolshed
at the IEx prompt. Then typeFile.read("/e<tab>")
for files in/etc
orls "li<tab>"
if you have alib
directory under your current directory.
- Add path autocompletion. Try it out by running
- Bug fixes
- Fix warnings when building with Elixir 1.11.
- Bug fixes
- Improve error message when
:inets
isn't available so that it says how to add it to yourmix.exs
.
- Improve error message when
-
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.
- Add
- New features
- Add
date
command for quickly checking the current date and time in UTC
- Add
- New features
- Validate firmware using nerves_runtime v0.10.0's Nerves.Runtime.KV.put/2 function if available
- New features
- Add simple HTTP request shortcuts:
weather
,qr_encode
, andpastebin
- Add simple HTTP request shortcuts:
- New features
- Add
ping
to ping a remote IP address repeatedly and add some support for setting the interface to use.
- Add
- New features
- Add
lsmod
for returning loaded kernel modules on Nerves
- Add
- New features
- Add
uname
for getting running firmware information on Nerves
- Add
- New features
- Add
lsof
- Add
- Bug fixes
- Fix warning due to missing Nerves.Runtime
- 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.
- Fix
-
Bug fixes
- Fix ifconfig crash on sit interfaces
- Improve printout of unnamed pids with top
-
New features
- Add
uptime
helper
- Add
- New features
- Add
exit
for exiting an IEx session
- Add
-
New features
top
displays deltas by default
-
Bug fixes
- Fixed inclusion of Nerves utilities on Nerves
Initial release