# Changelog
## v1.0.0
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.
## 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