Resin-cli 5.0.0, breaking changes

You can use resin sync (part of our resin-cli suit) to sync your local changes to a certain device on the fly, without needing to go through a git push/download cycle. This is especially useful when prototyping or testing changes quickly.

In the upcoming, 5.0.0 release of the resin-cli we are adding a number of changes that will enhance your resin sync experience. It will, however, be also a breaking change! It is coupled with backend/service changes, thus you will need to update to be able to continue to use the CLI!


  • resin sync --source/-s option is mandatory if a .resin-sync.yml file is not found in the current directory (note: this is the breaking change)
  • resin sync now only accepts uuid as a destination (appName has been deprecated)
  • If you have a resin-sync.yml you will be prompted to change it to a .resin-sync.yml

New features

  • Parse .gitignore for file inclusions/exclusions from resin sync by default (don’t parse with --skip-gitignore)
  • Automatically save options to ${source}/.resin-sync.yml after every run
  • Support user-specified destination directories with --destination/-d option
  • New --after/-a option which allows you to run commands on your dev machine after the sync is complete, useful for clean up


  • Disable ControlMaster ssh option

You can update for example by running npm i -g resin-cli, or if you are on ArchLinux, there’s a package available on AUR (see previous thread).

More information about the .resin-sync.yml file (if you want to generate one or edit it manually) can be found in the documentation.

1 Like