View Source Changelog

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

v0.4.2

  • Fixed
    • Fix all compiler warnings and deprecations with Elixir 1.15

v0.4.1

  • Fixed
    • Default SSHSubsystemFwup config would overwrite any user defined config preventing FWUP handling customization (thanks @ConnorRigby!)

v0.4.0

  • 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

v0.3.0

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

v0.2.3

  • New features
    • Initial support for using scp to copy files. Not all scp features work, but uploading and downloading individual files does. Thanks to Connor Rigby and Binary Noggin for this feature.

v0.2.2

  • 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.

v0.2.1

  • 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.

v0.2.0

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.

v0.1.0

Initial release