Releases: MasonAmerica/mason-cli
Mason CLI v1.10
This release of the Mason CLI upgrades our pyaml dependency
Mason CLI v1.9
- We need to remove this entirely and do it on the backend instead as
we are supporting new Android OS versions now.
Mason CLI v1.8
This release of the Mason CLI includes minor fixes for X-Ray and other commands.
Bug fixes
- X-Ray uses adb key found in ~/.android directory.
- Splash artifact validation during registration.
- Latest Mason CLI version check.
- Respect version defined by project config file.
Mason CLI v1.7
This release of the Mason CLI focuses on quality improvements and adds support for splash screens.
New features
- Splash screens (which appear before boot animations) are now supported via the
mason register media splash
command. Note: this feature requires Mason OS 2.10+. - Support for registering directories of APKs and configs is now available.
Bug fixes
- Error messages around invalid or broken APKs has been improved.
- When initializing a new mason project with
mason.yml
already present, the file is moved tomason.yml.old
instead of being overwritten. - Numerous X-Ray error messages and statuses have been made clearer.
Signed-off-by: Alex Saveau [email protected]
Mason CLI v1.6
This release of the Mason CLI revolves around polish and maturity, focusing on performance, output clarity, and X-Ray improvements.
New features
X-Ray
X-Ray now supports generic adb commands through the mason xray $deviceId adbproxy
command. Once that command succeeds, you can run adb connect localhost:5555
and execute any adb command as you normally would. By extension, this means you can use Android Studio to remotely develop apps for your device.
X-Ray now also supports three new utility commands: shell
which mirrors adb shell
, screencap
which takes a screenshot on the device, and bugreport
which takes a bug report.
All or nothing consent model
The CLI previously used a one-at-a-time model. That is, when operating on multiple artifacts, you previously had to deal with each one individually and in turn. This caused performance bottlenecks and inconsistencies because you wouldn't be presented with the full picture of the operations about to be performed.
In the new model, you are presented with all planned operations upfront and only need to accept them once.
Improvements
- Massive performance improvements across the board, including startup time, upload speed, concurrent registration, concurrent deployment, and more.
- The CLI "UI" has been revamped to be more consistent and clear.
- A new
mason help
command is available to make accessing help information easier. - A new
--dry-run
flag is available on registration and deployment commands if you just want to see potential operations without executing them. - X-Ray help pages are now easy to access. For example,
mason xray logcat --help
now works.
Bug fixes
- Windows compatibility has been restored.
- Project registration now fails when attempting to upload an APK with different file contents than what is already present in the existing artifact.
- X-Ray received various tweaks and stability improvements.
Deprecations
- The
--turbo
and--no-turbo
flags have been deprecated and no longer do anything. All builds now use Turbo Builder.
Signed-off-by: Alex Saveau [email protected]
Mason CLI v1.5
This release of the Mason CLI improves the newly added functionality.
Bug fixes
- X-Ray would crash on start
- Registering projects with invalid configuration files displayed cryptic messages
- The "latest" keyword now correctly picks the last registered artifact when not registering new artifacts
Improvements
- Interactive mode is automatically disabled on CI environments
Signed-off-by: Alex Saveau [email protected]
Mason CLI v1.4
This release of the Mason CLI fixes a significant performance regression.
Signed-off-by: Alex Saveau [email protected]
Mason CLI v1.3
WARNING: a significant performance regression was identified. Please use v1.4 instead.
This release of the Mason CLI introduces X-Ray, simplifies dealing with versioning, and enables registering and building artifacts all in one go.
New features
X-Ray
The new mason xray
command group allows you to interact with X-Ray. This includes remotely pushing and pulling files, installing and uninstalling apps, and viewing logs.
For more details, take a look at our docs.
Project registration
The new mason register project
command and its helper mason init
enable registering and building all necessary artifacts for a Mason project in one go.
For more details, take a look at our docs.
Versioning improvements
The new latest
keyword lets you replace explicit versions with "latest". This works anywhere you need a version, from registering boot animations to specifying the APK version in an OS config.
Improvements
- Turbo builds are now the default, but can still be disabled with the
--no-turbo
flag. - Command names can be shorted as long as they don't conflict with other commands. For example,
mason register media bootanimation test-1 latest $file
can be shortened tomason r m b test-1 latest $file
. - Faster binaries are now available for macOS Catalina.
- Log levels can now be configured with the
LOGLEVEL
environment variable.
Deprecations
- The
mason build
command is deprecated.mason register config
now always starts a build. - The
mason stage
command is deprecated.mason register config
has replaced its functionality.
Signed-off-by: Alex Saveau [email protected]
Mason CLI v1.2
This release of the Mason CLI fixes an APK registration bug and introduces a new beta feature for fast Mason Config image building.
New Features
Turbo Builder
- Mason Config images can now be built using a new method that creates the images significantly faster. For example, run
mason stage --turbo config.yml
. This feature is now in beta and should be tested in a non-production environment before deploying to critical devices.
Improvements
- A bug was introduced in v1.1 that caused some APKs to not be accepted for registration based on their signatures. This release fixes that regression.
Mason CLI v1.1
This release of the Mason CLI addresses long-standing usability issues and bugs.
New Features
Prebuilt binaries
The Mason CLI now comes with pre-built executable binaries (attached below under "Assets"). This means you'll no longer have to install Python or Git to use the cli.
Build command improvements
- The
build
andstage
commands now support blocking until the build has finished with the--await
flag to make CI/CD easier. - The
stage
command now supports taking in multiple configs in the same way themason register config
command does.
Improvements
- Documentation for CLI commands has been reworked to be clearer and provide links to more in depth documentation on our https://docs.bymason.com site.
- The "UI" of the CLI (aka text output) has also been reworked to provide clearer statuses and errors.
- Input validation now happens earlier and has been made clearer. For example, if you forget to pass in a group to
mason deploy config
, the CLI will now error instead of doing nothing. - A
--version
flag has been added to make the CLI feel more intuitive to more developers. - Various performance improvements.
Deprecations
- The
--skip-verify
and-s
flags are now deprecated and have been replaced with more accurate--assume-yes
,--yes
, and-y
flags. - The
--debug
and--verbose
flags have been deprecated in favor of a--verbosity LEVEL
flag. For example, to show all logs, use-v debug
. To only display errors, use-v error
. - The
register media
argument order with the media file first has been deprecated to be more consistent with other commands in the Mason CLI. The new order ismason register media bootanimation $artifactName $version $mediaFile
.