Skip to main content
Keeping m87 updated ensures you have the latest features, bug fixes, and security improvements.

Update Command

The easiest way to update m87 is using the built-in update command:
This downloads and installs the latest m87 binary to the same location as your current installation.
The update command works for installations in standard locations like ~/.local/bin or /usr/local/bin. For custom installations, you may need to update manually.

Updating the CLI

1

Check current version

First, check which version you’re currently running:
2

Run update

Update to the latest version:
The command will:
  • Check for the latest release
  • Download the appropriate binary for your platform
  • Replace your current m87 binary
  • Preserve file permissions
3

Verify update

Confirm the new version is installed:

Updating the Runtime

After updating the m87 CLI, you should also update the runtime on your edge devices.

Update Local Runtime

If you’re updating the runtime on the same machine where you updated the CLI:
This restarts the runtime service with the new binary.
Restarting the runtime will briefly disconnect any active sessions to the device.

Update Remote Device Runtime

To update the runtime on a remote device:
1

Update the binary

Execute the update command on the remote device:
2

Restart the runtime

Restart the runtime to use the new binary:
3

Verify the update

Check the runtime is running with the new version:

Combined Update Command

You can combine both steps into a single command:

Update Multiple Devices

To update multiple devices at once, use a shell loop:
Or list all devices and update them:

Manual Update Methods

Update via Installation Script

Re-run the installation script to get the latest version:
This will download and install the latest release to ~/.local/bin/m87.

Update from GitHub Releases

1

Download the latest release

Visit the releases page and download the appropriate binary for your platform:Linux (amd64):
Linux (arm64):
macOS (amd64):
macOS (arm64):
2

Make it executable

3

Replace existing binary

Update from Source

If you built m87 from source, update by pulling the latest code and rebuilding:
See Building from Source for detailed build instructions.

Docker-Based Installation

If you’re running m87 via Docker:
1

Pull the latest image

2

Verify the update

Your alias remains the same, so no additional configuration is needed.

Update Strategies

Scheduled Updates

For production deployments, consider scheduling updates during maintenance windows:

Staged Rollout

For large fleets, update a small subset first:
1

Test on staging devices

2

Monitor for issues

3

Roll out to production

Once verified, update production devices in batches.

Version Compatibility

CLI and Runtime Versions

The m87 CLI and runtime are designed to be compatible across versions, but it’s recommended to keep them in sync:
  • Recommended: CLI and runtime on the same version
  • Supported: CLI up to 2 minor versions ahead of runtime
  • Not recommended: Runtime newer than CLI

Checking Versions

Local CLI version:
Remote runtime version:

Rollback

If an update causes issues, you can rollback to a previous version:
1

Download previous release

Visit releases page and download a specific version:
2

Replace the binary

3

Restart runtime if needed

Troubleshooting Updates

Problem: m87 update returns an error.Solutions:
  • Check network connectivity: curl -I https://github.com
  • Verify write permissions to the installation directory
  • Try manual update from GitHub releases
  • Check disk space: df -h
Problem: Runtime fails to start after updating.Solutions:
If issues persist, see Troubleshooting guide.
Problem: m87 --version still shows old version.Possible causes:
  • Multiple m87 binaries in PATH
  • Shell cached the old binary location
Solutions:

Release Notifications

To stay informed about new releases:
  1. Watch the GitHub repository:
    Visit github.com/make87/m87 and click “Watch” → “Custom” → “Releases”
  2. Check for updates periodically:
  3. Subscribe to release RSS:
    https://github.com/make87/m87/releases.atom
Major version updates may include breaking changes. Always review the release notes before updating production systems.