View Source Changelog
unreleased
v2.1.0
This updates NervesHubCLI to be installable as an escript which can be
installed with mix escript.install hex nerves_hub_cli. See the README
for more information on installation and usage.
Mix tasks are still available for use, but will soon be deprecated. To
support escript, mix nerves_hub.firmware removed the ability to infer
a firmware location for sign and publish commands. Instead, firmware
path must be included as an argument:
mix nerves_hub.firmware publish /path/to/firmware
mix nerves_hub.firmware sign /path/to/firmware
v2.0.1
- Updated
- You can now use a single URI for defining the NervesHub instance you are connecting.
CAStoreis now an optional dep. If you have includedCAStorein your Nerves project it will be used, otherwise:public_keywill be the fallback.- Firmware uploads will default to using HTTP1 as HTTP2 streaming issues exist with the
Teslausage ofMint
v2.0.0
Update for compatibility with NervesHub 2.0
Removed
- Remove signing devices (and users) by NervesHub. It is now expected that users
manage their own device signer certificates. Device certificates can still be
created locally with
mix nerves_hub.device cert create --signer-cert /path/signer-cert.pem --signer-key /path/signer-key.pem - Remove resolving public keys for fwup. This must now be explicitly set
- Remove signing devices (and users) by NervesHub. It is now expected that users
manage their own device signer certificates. Device certificates can still be
created locally with
Updated
- Swap to the Mint adapter instead of
:hackney
- Swap to the Mint adapter instead of
Added
:nerves_hub_user_apihas now been merged into this lib
v0.12.0
Enhancements
- Support token authentication with NervesHub - This should be backwards compatible
but does emit a warning when the user peer client cert is used for authentication.
Use
mix nerves_hub.user authto generate a token if your NervesHub instance supports it, or create in the user settings of the web.
- Support token authentication with NervesHub - This should be backwards compatible
but does emit a warning when the user peer client cert is used for authentication.
Use
Bug Fixes
- Fixes a variable mismatch (thanks @pojiro)
v0.11.1
- Bug Fixes
- Fixes issue using a
:ca_storemodule from the root project by forcing a full compile of the project, which implicitly loads the needed module.
- Fixes issue using a
v0.11.0
- Breaking Changes
- This release includes a change to how CA certificates are used in the connection
to NervesHub. If you are connecting to the publicly hosted https://nerves-hub.org,
then no changes are required.
If you are manually supplying
:ca_certsconfig value to connect to another instance of NervesHub, then you will need to update you config following the new instructions for Configuration in the NervesHubUserAPI README.
- This release includes a change to how CA certificates are used in the connection
to NervesHub. If you are connecting to the publicly hosted https://nerves-hub.org,
then no changes are required.
If you are manually supplying
v0.10.5
Bug Fixes
- Fixes issue rendering devices when the device does not have any tags
Enhancements
- Certificate serials are now also displayed as a hex value to match OpenSSL output
- Add cert description to ca_certificate list
- More specific location output when creating user auth cert
v0.10.4
- Enhancements
- Added
mix nerves_hub.device cert import DEVICE_ID CERT_PATHfor adding trusted device certificates. - Changed Deployment
is_activetrue/false tostateon/off to match wording on the server.
- Added
v0.10.3
- Bug fixes
- Fix deprecation warnings for
nerves_hub_user_apicalls
- Fix deprecation warnings for
v0.10.2
- Enhancements
- More results printout in the
nerves_hub.device bulk_createtask which reports errors, malformed lines, and successful creates.
- More results printout in the
v0.10.1
- Bug fixes
- Ignore whitepace in base64-encoded string input
v0.10.0
Breaking changes
- Decouples deprecated
:nerves_hubconfig values and will fail compilation if used. To set your organization for the CLI, use:nerves_hub_clikey:config :nerves_hub_cli, org: "my-org"
- Decouples deprecated
Enhancements
mix nerves_hub.device bulk_create --csv path/to/file.csv- Support bulk upload from CSV definitions- Add ability to use your own signer CA and key locally when creating device certificate
mix nerves_hub.device cert create --signer-cert path/to/cert --signer-key path/to/key
v0.9.1
- Enhancements
- Updated user auth to support logging in with username or email.
- Improved error message formatting.
v0.9.0
Backwards incompatible changes:
The NervesHubUserAPI.Device and NervesHubUserAPI.DeviceCertificate endpoints
have moved to include product as part of its path.
- Update dependencies
v0.8.0
- Enhancements
- Added mix tasks
mix nerves_hub.org user list- List the users and their role for the organization.mix nerves_hub.org user add USERNAME ROLE- Add an existing user to an org with a role.mix nerves_hub.org user update USERNAME ROLE- Update an existing user in your org with a new role.mix nerves_hub.org user remove USERNAME- Remove an existing user from having a role in your organization.mix nerves_hub.product user list PRODUCT_NAME- List the users and their role for the product.mix nerves_hub.product user add PRODUCT_NAME USERNAME ROLE- Add an existing user to a product with a role.mix nerves_hub.product user update PRODUCT_NAME USERNAME ROLE- Update an existing user for your product with a new role.mix nerves_hub.product user remove PRODUCT_NAME USERNAME- Remove an existing user from having a role for your product.
- Added filtering for
mix nerves_hub.device list--identifier- (Optional) Only show device matching an identifier--description- (Optional) Only show devices matching a description--tag- (Optional) Only show devices matching tags. Multiple tags can be supplied.--status- (Optional) Only show devices matching status--version- (Optional) Only show devices matching version
- Added mix tasks
v0.7.2
- Bug fixes
- Fixed error when running
mix nerves_hub.device listand there weren't any devices
- Fixed error when running
v0.7.1
- Enhancements
- Added device deletion support
- Improved formatting when listing devices
- Tag entry is always comma-separated now (it previously was space delimited, but that was inconsistent with the GUI)
v0.7.0
- Enhancements
- Change dependency
nerves_hub_coretonerves_hub_user_api - Updated prompts for deployment and device tags
- Change dependency
v0.6.0
This release makes a backwards incompatible API change that affects
how fwup public keys are shared with other projects. This should
only affect the nerves_hub library and should be handled by mix dependency
constraints.
Backwards incompatible changes
- The API to share fwup public keys has changed. This should only affect the
nerves_hublibrary and should be handled by mix dependency constraints. mix nerves_hub.ca_certificate createis nowregister. (It never created a certificate.
- The API to share fwup public keys has changed. This should only affect the
Enhancements
- Show API endpoint when running commands - this makes it more obvious when you're running against api.nerves-hub.org vs. your own instance
v0.5.1
Enhancements
- Added mix task
mix nerves_hub.device list- List all devices for an org. - Document
--ttloption inmix nerves_hub.firmware publish. - Expect
:nerves_hubin application config instead of mix project config. - Bump
nerves_hub_coredep to0.2.0.
- Added mix task
Bug Fixes
- Failed mix tasks exit with non-zero status code to facilitate CI.
- Rework how a password is obtained when calling
mix nerves_hub.user auth.
v0.5.0
Enhancements
- Added mix tasks
mix nerves_hub.ca_certificate list- List all CA certificates for an org.mix nerves_hub.ca_certificate create CERT_PATH- Add a CA certificate.mix nerves_hub.ca_certificate delete CERT_SERIAL- Delete a CA certificate.
- The API modules have been moved to
nerves_hub_corefor runtime reusability.
- Added mix tasks
Bug Fixes
- Improved error handling when uploading unsigned firmware.
v0.4.0
- Enhancements
- Updated mix tasks
mix nerves_hub.product create- Will take the product name from the Mix project config by default.mix nerves_hub.device burn- Will now callmix burninstead ofmix firmware.burn.
- Certificate functions are performed in Erlang and no longer call out to openssl.
- Updated Docs and CLI prompts.
- Updated mix tasks
v0.3.0
- Enhancements
- Added mix tasks
mix nerves_hub.key export KEY_NAME- Export a firmware signing keymix nerves_hub.user cert export- Export the current user certificate
- Updated mix tasks
mix nerves_hub.firmware publish- Added ability to set firmware TTL by passing--ttl seconds.
- Added environment variable
NERVES_HUB_NON_INTERACTIVEfor use with runningnerves_hub_clifrom non-interactive terminals such as CI. This answersyto ally/nprompts. - Allow passing binary public keys to
config :nerves_hub, public_keys: [].
- Added mix tasks
v0.2.0
- Enhancements
- Update account name to username.
- Added mix task for importing existing fwup keys.
mix nerves_hub.key import KEY_NAME PUBLIC_KEY_FILE PRIVATE_KEY_FILE - Updated documentation to list environment variables needed to running CI.
- Added support for setting firmware signing keys in the environment.
v0.1.0
Initial release