This release adds support for Elixir 1.17 and removes support for Elixir 1.12 and earlier. It has no other functional differences with v0.4.3.
This release is almost entirely code cleanup and improved documentation.
The only notable change is you now must use atoms or module names for the
:name
option with daemon processes.
- Updated
- Remove registry and rely on GenServer name registration
- Excluded unused
:user_passwords
key when:pwdfun
is used
- Fixed
- Fix all compiler warnings and deprecations with Elixir 1.15
- Fixed
- Default
SSHSubsystemFwup
config would overwrite any user defined config preventing FWUP handling customization (thanks @ConnorRigby!)
- Default
-
New features
NervesSSH.Options
now supports a:name
key to use when starting the SSH daemon. This allows a user to run multiple SSH daemons on the same device without name conflicts (thanks @SteffenDE)
-
Fixed
- The SSH daemon could fail to start if the system/user directories were bad
or if the file system was not ready/mounted to support writing to disk. In
those cases, NervesSSH now attempts to write to tmpfs at
/tmp/nerves_ssh/<original path>
to help prevent the daemon from crashing
- The SSH daemon could fail to start if the system/user directories were bad
or if the file system was not ready/mounted to support writing to disk. In
those cases, NervesSSH now attempts to write to tmpfs at
NervesSSH
now requires Elixir >= 1.10 and OTP >=23
- New features
- Support for adding authorized public keys at runtime
- Authorized public keys are also saved/read from
authorized_keys
file - Support for adding user credentials at runtime
- Server host key is now generated on device if missing rather than
relying on hard-coded host key provided by this lib. This should not
be a breaking change, though you may be prompted to trust the new
host key if
StrictHostKeyChecking yes
is set in your~/.ssh/config
- New features
- Initial support for using
scp
to copy files. Not allscp
features work, but uploading and downloading individual files does. Thanks to Connor Rigby and Binary Noggin for this feature.
- Initial support for using
- Improvements
- Fix a deprecation warning on OTP 24.0.1 and later
- Add support for LFE shells. LFE must be a dependency of your project for this to work.
- Improvements
- Raise an error at compile-time if the application environment looks like
it's using the
:nerves_firmware_ssh
key instead of the:nerves_ssh
one.
- Raise an error at compile-time if the application environment looks like
it's using the
This update makes using the application environment optional. If you don't have
any settings for :nerves_ssh
in your config.exs
, :nerves_ssh
won't start.
You can then add {NervesSSH, your_options}
to the supervision tree of your
choice.
Initial release