balena-cli/CHANGELOG.md
2018-11-22 16:28:28 +02:00

1130 lines
29 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Change Log
All notable changes to this project will be documented in this file
automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY!
This project adheres to [Semantic Versioning](http://semver.org/).
## 9.3.0 - 2018-11-22
* Stop pinning ext2fs and update preload to ^8.0.4 [Alexis Svinartchouk]
## 9.2.2 - 2018-11-20
* Fix missing import in `os configure` [Akis Kesoglou]
## 9.2.1 - 2018-11-19
* Add case-insensitive checking for application names in balena push [Cameron Diver]
## 9.2.0 - 2018-11-16
* Make specifying the version during configuration optional [Akis Kesoglou]
## 9.1.4 - 2018-11-16
* Extend the github repository templates [Thodoris Greasidis]
## 9.1.3 - 2018-11-16
* Include `join` and `leave` commands in API documentation [Akis Kesoglou]
## 9.1.2 - 2018-11-13
* Fix build & deploy commands in standalone build [Tim Perry]
## 9.1.1 - 2018-11-12
* Fix the architecture string used when downloading qemu versions [Cameron Diver]
## 9.1.0 - 2018-11-07
* Update qemu to v3, and automatically use the correct architecture (arm/aarch64) [Edward Keeble]
## 9.0.3 - 2018-11-07
* Mark api keys in the CLI as non-experimental [Tim Perry]
## 9.0.2 - 2018-11-06
* Stop validating device config, now that it's API-generated [Tim Perry]
## v9.0.1 - 2018-11-01
* Dont ignore balena metadata directories when balena pushing [Cameron Diver]
## v9.0.0 - 2018-10-29
* Change env var commands to set app-wide env vars, using the new SDK [Tim Perry]
* Utils/promote: Use the application slug for filtering & presenting [Thodoris Greasidis]
* Rename everything from 'resin' to 'balena' [Tim Perry]
* Sort device types by name [Thodoris Greasidis]
* Utils/promote: Do not rely on the user to always be there [Thodoris Greasidis]
* Add support for the Opensource provisioning flow [Thodoris Greasidis]
* Add rename notice to resin-cli [Paulo Castro]
## v8.1.0 - 2018-10-24
* README: Add development guidelines section [Thodoris Greasidis]
* Chore: Add on the fly transpiled bin [Thodoris Greasidis]
## v8.0.3 - 2018-10-22
* Ssh: Move from resin-sdk-preconfigured to resin-sdk [Will Boyce]
## v8.0.2 - 2018-10-20
* Utils/patterns: Drop resin-sdk-preconfigured [Thodoris Greasidis]
* Actions/app: Drop resin-sdk-preconfigured [Thodoris Greasidis]
## v8.0.1 - 2018-10-20
* Update dockerignore to fix escSL bug [Tim Perry]
## v8.0.0 - 2018-10-19
* Support multicontainer local mode in resin push [Cameron Diver]
* Stop accepting resin-compose.yml as a build composition definition [Cameron Diver]
* Send push source packages as gzipped data [Cameron Diver]
* Respect ignore files when tarring sources [Cameron Diver]
* Check for correct architecture when preloading, instead of correct device type [Alexis Svinartchouk]
* Default preload boolean parameters to false [Alexis Svinartchouk]
* Correctly error out on failed remote builds [Cameron Diver]
* Bump tsconfig target to es6 [Cameron Diver]
## v7.10.9 - 2018-10-18
* Update sdk references in wizzard.coffee [Scott Lowe]
## v7.10.8 - 2018-10-18
* Update sdk references in notes.coffee [Scott Lowe]
* Update sdk references in device.coffee [Scott Lowe]
## v7.10.7 - 2018-10-18
* Update sdk sdk references in auth.coffee [Scott Lowe]
## v7.10.6 - 2018-10-03
* Fix formatting of preload examples [Tim Perry]
## v7.10.5 - 2018-09-25
* README: Fix typo [Lucian Buzzo]
## v7.10.4 - 2018-09-24
* Device: When registering, print the uuid [Pablo Carranza Velez]
## v7.10.3 - 2018-09-19
* Include --emulated in the example resin build parameters [Tim Perry]
## v7.10.2 - 2018-09-18
* Dependencies: Update resin-semver version to support Balena OS [Lucian Buzzo]
## v7.10.1 - 2018-09-11
* Stop Travis deploying to npm (now handled by concourse) [Tim Perry]
## v7.10.0 - 2018-09-11
* Update resin-cli-form to 2.x [Pagan Gazzard]
## v7.9.4 - 2018-09-10
* Device api keys are no longer used in the registration process [Theodor Gherzan]
## v7.9.3 - 2018-08-20
* Fix configuration hangs with some images by expanding the threadpool #952 [Tim Perry]
## v7.9.2 - 2018-08-15
* Add warning about re-enabling automatic updates #946 [Pagan Gazzard]
## v7.9.1 - 2018-08-15
* Fix errors in `getRequestStream` not being propogated #942 [Pagan Gazzard]
## v7.9.0 - 2018-08-09
* Support emulated and nocache options for remote builds #903 [Cameron Diver]
## v7.8.6 - 2018-08-09
* Fix bug where the sudo helper failed in os initialize #939 [Tim Perry]
## v7.8.5 - 2018-08-09
* Update .resin-sync.yml docs for local push and include example env vars #934 [Tim Perry]
## v7.8.4 - 2018-08-02
* Update klaw #936 [Tim Perry]
## v7.8.3 - 2018-07-25
* Follow links found during builds #931 [Tim Perry]
## v7.8.2 - 2018-07-25
* Update reconfix to fix volume signature errors in local configure #929 [Tim Perry]
## v7.8.1 - 2018-07-20
* Be explicit about how much initial history log tailing includes #930 [Tim Perry]
## v7.8.0 - 2018-07-20
* Add join/leave commands to promote and move devices between platforms #895 [Akis Kesoglou]
## v7.7.4 - 2018-07-17
* Update TypeScript to 2.8.1 #923 [Tim Perry]
* Add --version options to os configure & config generate #923 [Tim Perry]
* Update OS & config actions to the latest SDK #923 [Tim Perry]
## v7.7.3 - 2018-07-13
* Update the deploy key since npm invalidated the old one #927 [Tim Perry]
## v7.7.2 - 2018-07-13
* Pin ext2fs to 1.0.7 to avoid temporary deployment issues #926 [Tim Perry]
## v7.7.1 - 2018-07-12
* Update CLI to SDK v10 (include new API logs) #925 [Tim Perry]
## v7.7.0 - 2018-07-11
* Add --generate-device-api-key parameter to config generate #921 [Tim Perry]
## v7.6.2 - 2018-06-28
* Make local commands more resilient to unnamed containers #910 [Tim Perry]
## v7.6.1 - 2018-06-26
* Make sure 'resin push' is included in the docs #907 [Tim Perry]
## v7.6.0 - 2018-06-20
* Support pinned release preloading #896 [Cameron Diver]
## v7.5.2 - 2018-06-12
* Document Pyhton native build dependency #893 [Tim Perry]
## v7.5.1 - 2018-06-01
* Add a multicontainer caveat to the env var commands #887 [Tim Perry]
## v7.5.0 - 2018-05-31
* Update resin-compose-parse dependency version to 1.10.2 #883 [Ariel Flesler]
## v7.4.1 - 2018-05-24
* Update SDK in resin device(s) to ensure the dashboard URL is correct #879 [Tim Perry]
## v7.4.0 - 2018-05-10
* Add push command which starts a build on remote resin servers #868 [Cameron Diver]
## v7.3.8 - 2018-05-03
* Catch require errors and provide helpful instructions #874 [Tim Perry]
* Inline the entire resin-cli-errors module #874 [Tim Perry]
## v7.3.7 - 2018-04-30
* Pin node types to v9.0.0 to avoid build errors with transient dependencies #871 [Cameron Diver]
## v7.3.6 - 2018-04-30
* Update resin-image-fs to stop non-config commands failing in node 10 #870 [Tim Perry]
## v7.3.5 - 2018-04-18
* Don't show Docker container status from devices, as it can be wrong #858 [Tim Perry]
## v7.3.4 - 2018-04-18
* Include resin compose schemas in the standalone build #865 [Tim Perry]
## v7.3.3 - 2018-04-17
* Don't report lots of user input errors #861 [Tim Perry]
* Include Sentry breadcrumbs for context in error reports #861 [Tim Perry]
* Update to Sentry 2.x #861 [Tim Perry]
## v7.3.2 - 2018-04-16
* Update Dockerode to fix local push issue in standalone builds #862 [Tim Perry]
## v7.3.1 - 2018-04-13
* Update resin-compose-parse to v1.8.1 to fix a problem parsing ports #849 [Pablo Carranza Velez]
## v7.3.0 - 2018-04-12
* Add 'api-key generate' command #854 [Tim Perry]
## v7.2.4 - 2018-04-10
* Explicitly depend on tar-stream #852 [Tim Perry]
* Correct documented node version requirement to 6+ #852 [Tim Perry]
## v7.2.3 - 2018-04-06
* Add a fast build script to package.json #847 [Cameron Diver]
## v7.2.2 - 2018-04-04
* Throw a clear error when logging in with an invalid token #846 [Tim Perry]
## v7.2.1 - 2018-03-29
* Update docker-qemu-transpose to avoid the broken 0.4.1 release #839 [Tim Perry]
## v7.2.0 - 2018-03-29
* Do not require a login for builds #835 [Tim Perry]
* Allow (experimental!) login with API keys #835 [Tim Perry]
## v7.1.6 - 2018-03-29
* Fix build emulation for multi-stage builds #838 [Tim Perry]
## v7.1.5 - 2018-03-27
* Fix crash when an app is not specified for build command #834 [Akis Kesoglou]
## v7.1.4 - 2018-03-26
* Upgrade resin-sync to pull in the fix for #824 #832 [Tim Perry]
## v7.1.3 - 2018-03-23
* Prefix all pine options with '$' in preload to avoid pine warnings. #831 [Alexis Svinartchouk]
## v7.1.2 - 2018-03-23
* Update resin-preload to 6.2.0 and resin-sdk to 9.0.0-beta16 #830 [Alexis Svinartchouk]
## v7.1.1 - 2018-03-22
* Remove explicit anchor links in CLI docs #827 [Zach Walchuk]
## v7.1.0 - 2018-03-22
* Warn early if deploying a multicontainer project to an incompatible app #818 [Akis Kesoglou]
* Add legacy deploy method back #818 [Akis Kesoglou]
## v7.0.7 - 2018-03-20
* Update resin-preload to 6.1.2 #821 [Alexis Svinartchouk]
## v7.0.6 - 2018-03-20
* Make sure image name is all lowercase #815 [Akis Kesoglou]
* Improve handling of build log output #815 [Akis Kesoglou]
## v7.0.5 - 2018-03-15
* Add bash completions #801 [Ronald McCollam]
## v7.0.4 - 2018-03-15
* Generate consistent working anchors for both our md output & resin docs #813 [Tim Perry]
## v7.0.3 - 2018-03-15
* Fix getting window size when theres no TTY attached #812 [Akis Kesoglou]
## v7.0.2 - 2018-03-13
* Update full CLI docs with recent installation improvements too #807 [Tim Perry]
## v7.0.1 - 2018-03-12
* Recommend using unsafe-prem to avoid permission issues on install #805 [Tim Perry]
* Remove unnecessary resin-cli-auth dependency #805 [Tim Perry]
## v7.0.0 - 2018-03-09
* Add docker-compose-aware builds and deployments #792 [Akis Kesoglou]
* *BREAKING*: Remove support for plugins entirely #792 [Tim Perry]
* Update dashboard login to use the multicontainer SDK #792 [Alexis Svinartchouk]
* Multicontainer preload: Update resin-preload to 6.0.0-beta4 #792 [Alexis Svinartchouk]
* Update the keys action to use the multicontainer SDK #792 [Alexis Svinartchouk]
* Require multicontainer SDK #792 [Alexis Svinartchouk]
## v6.13.5 - 2018-03-07
* Fix prettier configuration to avoid linting errors #802 [Tim Perry]
## v6.13.4 - 2018-02-22
* Fix issue where emulated builds broke Docker `ENV` commands #796 [Gergely Imreh]
## v6.13.3 - 2018-02-20
* Tweak TS & add missing deps that may cause build failures in some envs #793 [Tim Perry]
## v6.13.2 - 2018-02-20
* Ensure login does not wait for the browser process to close #794 [Tim Perry]
## v6.13.1 - 2018-02-07
* Move to the correct coffeescript (no hyphen) dependency #786 [Tim Perry]
* Add typings for 'ent' #786 [Tim Perry]
## v6.13.0 - 2018-02-06
* Add support for Balena in local ssh #777 [Tim Perry]
## v6.12.9 - 2018-02-05
* Switch back to upstream global-tunnel-ng #781 [Alexis Svinartchouk]
## v6.12.8 - 2018-02-03
* Fix uuid params being parsed a numbers #774 [Thodoris Greasidis]
## v6.12.7 - 2018-01-30
* Add 'or mounted resinOS image' #767 [MoranF]
## v6.12.6 - 2018-01-29
* Don't use the deprecated 'os configure' format in internal calls #759 [Tim Perry]
## v6.12.5 - 2018-01-11
* Fix breakage in deploy command from recent TS conversion #754 [Tim Perry]
## v6.12.4 - 2018-01-10
* Start using Prettier #753 [Tim Perry]
## v6.12.3 - 2018-01-09
* Lint TypeScript and CoffeeScript with resin-lint #743 [Tim Perry]
* Move documentation generation to TypeScript #743 [Tim Perry]
* Convert most of utils to TypeScript #743 [Tim Perry]
## v6.12.2 - 2018-01-09
* Convert windows paths to posix when passing to tar #748 [Andrew Shirley]
## v6.12.1 - 2018-01-02
* Fix deprecation warning for os configure, when passing a bare UUID #744 [Tim Perry]
## v6.12.0 - 2017-12-19
* Add ssh option for direct host OS access #737 [Andreas Fitzek]
## v6.11.0 - 2017-12-18
* Fix docs generation when building on windows #729 [Tim Perry]
* Autodeploy built standalone binaries for all platforms to github #729 [Tim Perry]
* Package the CLI into a standalone runnable binary #729 [Tim Perry]
* Move from open to opn #729 [Tim Perry]
## v6.10.3 - 2017-12-15
* Ensure logout works even with invalid credentials, or if not logged in #730 [Tim Perry]
## v6.10.2 - 2017-11-27
* Inline the entire resin-cli-auth module #721 [Tim Perry]
## v6.10.1 - 2017-11-27
* Set up TypeScript compilation, and make a small start on converting the CLI #720 [Tim Perry]
* Don't commit raw JS build output #720 [Tim Perry]
## v6.10.0 - 2017-11-17
* Allow `os configure` to configure for an app, not just a specific device #718 [Tim Perry]
* Print help even for expected errors #718 [Tim Perry]
## v6.9.0 - 2017-11-16
* Allow non-interactice config generate for simple network settings #714 [Tim Perry]
* Fix issue where network settings were not used by `config generate` #714 [Tim Perry]
## v6.8.3 - 2017-11-16
* Remove resin promote command (which has never worked) to wait for larger resinOS provisioning updates #717 [Tim Perry]
## v6.8.2 - 2017-11-14
* Fix 'cannot read property R_OK of undefined' error in Node >=6 <6.3 #713 [Tim Perry]
## v6.8.1 - 2017-11-09
* Avoid AmbiguousApplication errors in device register when an id is used #711 [Tim Perry]
## v6.8.0 - 2017-10-27
* Allow preloading jetson-tx2 images, improve flasher images detection and remove the --dont-detect-flasher-type-images option. #706 [Alexis Svinartchouk]
## v6.7.4 - 2017-10-25
* Add preload to the CLI docs #702 [Tim Perry]
## v6.7.3 - 2017-10-25
* Allow specifying `--commit=latest` for `resin preload` #701 [Alexis Svinartchouk]
## v6.7.2 - 2017-10-24
* Make update-notifier more resilient and ensure it obeys NO_UPDATE_NOTIFIER, by updating it #699 [Tim Perry]
## v6.7.1 - 2017-10-24
* Respect the -dont-check-device-type option, fix error message #697 [Alexis Svinartchouk]
## v6.7.0 - 2017-10-18
* Added a device api key parameter to the `os configure` command. #487 [Pagan Gazzard]
* Added a `--device-api-key` option to the `config generate` command. #487 [Pagan Gazzard]
* Added a `--device-api-key` option to the `device register` command. #487 [Pagan Gazzard]
## v6.6.13 - 2017-10-18
* Fix issue where `os download` would always download prod images #689 [Tim Perry]
## v6.6.12 - 2017-10-16
* Update resin-preload to 4.0.2 to support preloading Edison images #687 [Alexis Svinartchouk]
## v6.6.11 - 2017-10-13
* Document how to `resin deploy` to an app as a collaborator #685 [Tim Perry]
## v6.6.10 - 2017-10-09
* Ensure hostname truly is optional when configuring device images #676 [Tim Perry]
## v6.6.9 - 2017-10-06
* Fix resin preload --splash-image argument handling #678 [Alexis Svinartchouk]
## v6.6.8 - 2017-10-06
* Ensure analytics failures (e.g. from broken tokens) at startup don't break commands #675 [Tim Perry]
## v6.6.7 - 2017-09-22
* Update to resin-sync, which fixes local push on windows #666 [Tim Perry]
* Add windows instructions to fix node-gyp installs #666 [Tim Perry]
## v6.6.6 - 2017-09-11
* Create ISSUE_TEMPLATE.md #655 [Kostas Lekkas]
## v6.6.5 - 2017-08-31
* Fix lodash bugs in device move & quickstart #643 [Tim Perry]
## v6.6.4 - 2017-08-31
* Catch uncommitted build output automatically in Travis #644 [Tim Perry]
## v6.6.3 - 2017-08-31
* Update README to link to the full CLI command documentation #641 [Tim Perry]
## v6.6.2 - 2017-08-31
* Use DOCKER_HOST from env if possible, and no connection options are available #642 [Tim Perry]
## v6.6.1 - 2017-08-28
* Update resin-preload to 3.1.4 #650 [Alexis Svinartchouk]
## v6.6.0 - 2017-08-28
* Add a --dont-check-device-type option for `resin preload` #647 [Alexis Svinartchouk]
## v6.5.3 - 2017-08-24
* Remove resin-preload build filtering workaround. #645 [Alexis Svinartchouk]
## v6.5.2 - 2017-08-22
### Changed
- Progress bar when preload builds its docker image or fetches the build size;
- Preload will do nothing if you try to preload a build that is already preloaded in the image.
## v6.5.1 - 2017-08-21
### Fixed
- Fix lodash upgrade bug that broke `resin help`
## v6.5.0 - 2017-08-18
### Changed
- Set up Travis npm autodeploy
- Upgrade to Lodash v4, drastically reducing install size (due to dedupes)
- Updated npm package description
- Added support for looking up shared apps via [owner]/[appname] strings
### Added
- Use forked global-tunnel-ng that doesn't proxy connections to socket files
- Preload support
## v6.4.0 - 2017-08-11
### Changed
- Support overlay2 in resin local push
- Support Docker versions greater than 1.X in resin sync
- Provide a helpful warning when Docker is not installed (or is unaccessible)
- Added a link to the Node download page in the warning for users with old Node versions
- Remove inconsistent (and now unneccesary) 'Tagging image as' message from local build output
## v6.3.1 - 2017-08-08
- Updated resin-cli-auth to point to the correct resin dashboard ued for authentication (for example, staging)
## v6.3.0 - 2017-08-03
### Fixed
- Fixed compatibility of `resin local push` with docker >= 1.12
## v6.2.0 - 2017-07-27
### Changed
- Support the new resinOS versions where the sample connection file is called `resin-sample.ignore`
## v6.1.1 - 2017-07-18
### Changed
- Hide the intro quickstart message for now (until it gets renovated)
## v6.1.0 - 2017-06-30
### Fixed
- Fix issue where emulated builds broke Docker `ARG` commands
- Fix issue when using resin deploy with non-standard stdin (e.g. git bash on windows)
### Added
- Bump resin-sync@8.0.1
- Permit resin sync to collaborators
- Fix "'cwd' must be a string" error in Node 8
- Do not explicitly disable ControlMaster option for device SSH connections
## v6.0.0 - 2017-06-26
### Added
- Added support for `--squash` parameter for `resin build`
### Fixed
- **Breaking** Remove Buffer polyfill, require Node v6+, and print warnings in older versions
## v5.11.1 - 2017-06-22
### Added
- Include Node version in Sentry logging
### Fixed
- Ensure to send .pem file contents rather than filename to docker daemon
- Add a polyfill to fix `local configure` in older (<6) Node versions
## v5.11.0 - 2017-06-19
### Added
- `package-lock.json` for `npm5` users
- Added ability to run an emulated build silently with `resin build`
- Gzip images when uploading in `resin deploy`
- Show a clear message immediately as the deploy starts, if we're deploying an image.
- Forced update to the newest resin-sdk (^6.4.1)
- Allow OS version selection when doing `resin device init`
- Actually tolerate the `--yes` param to `resin device init`
- Allows passing `--drive` to `resin device init`
- List detected drives with `resin util available-drives`
- Add the `resin os build-config` method to pass the interactive config step once
and reuse the built file for subsequent `resin os configure` calls (added the new `--config` param to it),
and for `resin device init` (same `--config` param)
- Improve the supported device types listing
### Fixed
- Ensure emulated builds use the correct relative path to qemu when called from any location
- Make emulated builds reliable in the presence for WORKDIR comands
## v5.10.2 - 2017-05-31
### Fixed
- Fixed command line arguments for `resin build`
## v5.10.1 - 2017-05-22
### Fixed
- Fixed breaking bug in `resin local ssh`
## v5.10.0 - 2017-05-22
### Added
- Reduce granularity of update checking to one day
- Include extra usage metadata in error logging to help debugging
- Add uploading of build logs when present with resin deploy
- Highlight cache usage in a local build
- Show a progress bar for upload progress
- Add ability to specify build-time variables for local builds
- Added the proxy support for the `resin ssh` command
### Fixed
- Fixed the not enough unicorns bug in resin build
- Removed the install-time warning for the `valid-email` package
## v5.9.1 - 2017-05-01
### Fixed
- Technical release because v5.9.0 was published earlier (erroneously)
## v5.9.0 - 2017-05-01
### Added
- HTTP(S) proxy support
## v5.8.1 - 2017-04-27
### Fixed
- The `ssh` command was broken
## v5.8.0 - 2017-04-26
### Added
- Add cloud builder output to local build
- Add nocache and tag options to resin deploy
- Add ability to build and deploy an image to resin's infrastructure
### Fixed
- Capture and report errors happening during the program initialization, like parsing invalid YAML config
## v5.7.2 - 2017-04-18
### Fixed
- Fixed warning on NPM install due to dependency conflicts
- Improved node v4 support (some operations are fixed, some will run faster)
## v5.7.1 - 2017-04-03
### Fixed
- Add basic support for the new ResinOS version format
## v5.7.0 - 2017-03-28
### Fixed
- The OS init issues:
* failing to get the superuser resin auth (tried to look into `/root/.resin`)
* failing to write to the drive
## v5.6.1 - 2017-03-23
### Added
- Add Sentry error tracking
### Fixed
- The unneeded warning about the default OS version download from the `device init` command.
- Changed the help references from gitter to forums.
## v5.6.0 - 2017-03-23
### Added
- The `--version` option to the `os download` command. Check `resin help os download` for details.
## v5.5.0 - 2017-03-10
### Added
- Require superuser for scan commands, also introduce docker timeout
- Bump resin-sync@7.0.0: use experimental rds which requires superuser permissions
## v5.4.0 - 2017-03-09
### Added
- Implement 'resin local stop'
- Implement 'resin local'
- Implement 'resin local push'
- Implement 'resin local ssh'
- Implement 'resin local scan'
- Implement 'resin local promote'
- Implement 'resin local logs'
- Implement 'resin local flash'
- Implement 'resin local configure'
### Changed
- Remove app create from primary commands
## v5.3.0 - 2017-03-03
### Added
- `resin sync` AUFS device support
### Changed
- Moved to the new version of `resin-sdk` (via `resin-sdk-preconfigured`)
## v5.2.4 - 2017-01-18
### Changed
- Fix documented requirements for resin ssh and resin sync
## v5.2.3 - 2017-01-04
### Changed
- Add missing `js-yaml` dependency.
## v5.2.2 - 2016-11-01
### Changed
- Fix `shutdown` command not being available.
## v5.2.1 - 2016-10-28
### Changed
- Fix `Boolean options can't have parameters` error in every command.
## v5.2.0 - 2016-10-27
### Added
- Add `shutdown` command.
- Add `--force` option to `device reboot` command.
## v5.1.0 - 2016-09-25
### Added
- Add `devices supported` command.
## v5.0.0 - 2016-09-15
### Added
- Automatically parse '.gitignore' for file inclusions/exclusions from resin sync by default. Skip parsing with `--skip-gitignore`.
- Automatically save options to `<sourceDirectory>/.resin-sync.yml` after every run.
- Support user-specified destination directories with `--destination/-d` option.
- Implement `--after` option to perform actions local (e.g. cleanup) after resin sync has finished.
- Implement interactive dialog for destination directory, with `/usr/src/app` being the default choice.
### Changed
- Require `resin sync` `--source/-s` option if a `.resin-sync.yml` file is not found in the current directory.
- Require `uuid` as an argument in `resin sync/ssh` (`appName` has been removed).
- Always display interactive device selection dialog when uuid is not passed as an argument.
- Disable ControlMaster ssh option (as reported in support).
## v4.5.0 - 2016-09-14
### Added
- Attempt to retrieve device type from the image's first partition.
## v4.4.0 - 2016-08-11
### Changed
- Display OS and Supervisor version in `devices` and `device` commands.
## v4.3.0 - 2016-08-11
### Added
- Implement `device public-url enable` command.
- Implement `device public-url disable` command.
- Implement `device public-url status` command.
- Implement `device public-url` command.
- Add global `--help` option.
## v4.2.1 - 2016-07-26
### Changed
- Fix log messages being `undefined`.
## v4.2.0 - 2016-06-22
### Added
- Add `verbose` option to `resin sync`.
## v4.1.0 - 2016-06-22
### Added
- Add `verbose` option to `resin ssh`.
## v4.0.3 - 2016-05-17
### Changed
- Fix `resin ssh` errors when running in `cmd.exe`.
## v4.0.2 - 2016-04-27
### Changed
- Upgrade `resin-sync` to v2.0.2.
## v4.0.1 - 2016-04-26
### Changed
- Fix unhandled exceptions in the `resin ssh` command.
## v4.0.0 - 2016-04-26
### Added
- Implement `resin ssh` command
### Changed
- Remove `resin sync` `exec` option.
- Upgrade `resin-sync` to v2.0.1.
- Upgrade `resin-sdk` to v5.3.0.
## v3.0.2 - 2016-04-08
### Changed
- Fix `os configure` command not working with shorter uuids.
## v3.0.1 - 2016-03-29
### Changed
- Log Mixpanel events based on the matching command signature.
## v3.0.0 - 2016-03-28
### Added
- Implement `config inject` command.
- Document the case where `EACCES` is thrown during login because of an expired token.
- Integrate `resin-plugin-sync` as a build-in command.
### Changed
- Allow `config generate` to generate a `config.json` for an application.
- Force update alert to always be shown.
- Only throw "Invalid 2FA code" if we're sure that's the cause during `login`.
## v2.7.0 - 2016-03-07
### Added
- Implement `config generate` command.
- Implement `device reboot` command.
## v2.6.2 - 2016-02-19
### Removed
- Remove debugging statement in `quickstart`.
## v2.6.1 - 2016-02-12
### Added
- Documented corrupted image MBR error.
- Show parser device status in `device` command.
- Show id a device is online in `devices` command.
- Make use of static images.
### Changed
- Improve analytics.
- Improve `quickstart` messages.
- Fix `device` example.
## v2.6.0 - 2016-01-21
### Added
- Add support for credential-based authentication.
- Redirect users to GitHub and Gitter in case of errors.
- Add Resin.io ASCII art header on `login`.
- Print an informative next-steps message after `login`.
- Print informative verbose help to `resin help`.
- Support for shorter uuids in all commands.
### Changed
- Change license to Apache 2.0.
- Don't make `device init` a primary command.
- Stop instructing users to run `quickstart` as root.
- Make `login` command purely interactive.
- Handle authentication in `quickstart` if user is not logged in.
- Redirect to `signup` from `login` if user doesn't have an account.
- Make sure to remove registered device resource in case of errors in `quickstart`.
- Upgrade Resin SDK to v5.0.1.
- Upgrade Resin Image Manager to v3.2.6.
- Make `devices` output shorter uuids.
## v2.5.0 - 2015-12-11
### Added
- Show device id in `resin devices`.
- Add helpful instructions after `resin quickstart`.
- Add timestamp to `resin logs` lines.
### Changed
- Lazy load command actions dependencies for performance reasons.
## v2.4.0 - 2015-12-01
### Added
- Show device types when selecting applications.
- Automatic token exchange login with the web dashboard.
### Changed
- Simplify download output messages.
## v2.3.0 - 2015-11-20
### Added
- Implement `settings` command.
- Handle Windows elevation automatically.
### Changed
- Show uuids in `devices` command.
- Clarify resin url in `login` and `whoami`.
## v2.2.0 - 2015-11-12
### Added
- Implement `device move` command.
## v2.1.0 - 2015-11-11
### Added
- Implement `config read` command.
- Implement `config write` command.
### Changed
- Clarify the need of computer password during `sudo` in `os initialize`.
## v2.0.1 - 2015-10-26
### Changed
- Fix critical error when elevating permissions.
## v2.0.0 - 2015-10-26
### Added
- Add `drive` option to `os initialize`.
- Add application name length validation.
- Allow passing a custom uuid to `device register`.
- Add `advanced` option in `device init`.
- Implement user/password login form with 2FA support.
### Changed
- Clarify the need for admin privileges on update.
- Fix non working `yes` option in `os initialize`.
- Fix non working `type` option in `app create`.
- Take device type as an option in `os initialize`.
- Improve the way the update notifier is shown.
- Ignore advanced configuration options by default.
- Fix `device info` shadowing other command help pages.
### Removed
- Remove login with token functionality.
- Remove project directory creation logic in `device init`.
- Remove `app associate` command.
## v1.1.0 - 2015-10-13
### Added
- Implement `os download` command.
- Implement `os configure` command.
- Implement `os initialize` command.
- Implement `device register` command.
- Add TROUBLESHOOTING guide.
- Add a dynamic widget for selecting connected drives.
### Changed
- Make sure temporary files are removed on failures in `device init`.
- Prompt to select application if running `device init` with no arguments.
- Only use admin privileges in `os initialize` to avoid the cache directory to belong to `root`.
- Separate help output per relevance.
- Only print primary command help by default.
- Print plugin warnings in red as the rest of the errors.
- Shorten the length of device await message.
- Upgrade Resin SDK to v3.0.0.
- Check that a directory is a `git` repository before attempting to run `git` operations on it.
- Improve plugin scanning mechanism.
- Fix `EPERM` issue in Windows after a successfull `device init`.
- Fix SDCard burning issues in Windows 10.
- Fix plugins not being loaded in Windows 10.
- Fix bug when listing the available drives in Windows when the user name contains spaces.
- Fix an edge case that caused drives to be scanned incorrectly in OS X.
- Fix operating system not being detected correctly when initializing a device.
### Removed
- Remove outdated information from README.