Releases: ubports/ubports-installer
UBports Installer 0.8.1-beta
A snap package can be installed by running snap install ubports-installer
on any Linux distribution.
You can help us test this release on UBports OPEN-CUTS.
Release notes
This release implements support for version 2 of the Installer's config file specification. This redesign draws from the experience we made with previous versions of the configuration structure and is expected to supercharge the UBports Installer's capabilities as a universal installation tool. You can learn more about the changes to the config file structure in the draft announcement and the changelog below.
Additionally, this release finalizes the heavy lifting in the re-factoring of the backend code started in 0.8.0-beta. The module responsible for translating the config files into action has been re-designed from the ground up and the code for the actions themselves is now organized in self-contained and testable plugins. This concept will be continued to reduce code redundancy and add support for a plethora of other operating systems. Community representatives interested in joining forces are welcome to contact @NeoTheThird to work out a game plan. Installing mobile operating systems does not have to be hard!
This marks the second-to-last major milestone in our road to a stable 1.0.0 release - the only thing missing now is a new User Interface! We're working hard to deliver this before the end of the year - stay tuned!
Community members interested in contributing to the development of the UBports Installer are welcome to join us on the road to 100% coverage. Writing unit-tests is a great way of getting to know the code while helping to improve the UBports Installer's stability down the road.
Changelog
- @NeoTheThird installer-configs specification v2 installer-configs#51 #1576
- @NeoTheThird @Vice1171 configuration steps can now specify conditions as nested boolean expressions #1536
- @NeoTheThird @fredldotme #1479 The Installer can now handle alternative bootloader unlock method, such as
fastboot flashing unlock
andfastboot oem unlock
. If a code is required, the user is presented with a prompt to enter that code. #1479 - @NeoTheThird Instead of a
fallback_user_action
, configuration steps can now specify any step or group of steps as afallback
, allowing for proper error handling #941 - @NeoTheThird Actions belonging together can be specified as a
group
step #940 - @NeoTheThird @kodaxx Fix an issue where the installer reported connection lost while the device was rebooting #1511
- @NeoTheThird @DaBisounours Fix an issue where
fastboot:boot
would not work #1575 - @NeoTheThird @StephenLesage Fix an issue where bootloader lock errors went unhandled in
fastboot:set_active
#1556 - @NeoTheThird @liss21 Fix a rare syntax error #1580
- @NeoTheThird Implement a
verbose
logging level (-v
) that is less extreme thandebug
(-vv
) and much less extreme thancommand
(-vvv
)
Thank you to the countless testers, bug reporters, and contributors who made these improvements possible! Special thanks to @Flohack74 for his tireless reviewing of pull requests!
Notes for Developers
While a whole bunch of important things changed, not immediate action is required. All v1
config files are translated to v2
automatically. We will publish more information on these changes soon.
UBports Installer 0.8.0-beta
A snap package can be installed by running snap install ubports-installer --beta
on any Linux distribution.
You can help us test this release on UBports OPEN-CUTS.
Release notes
Where the previous couple releases of the UBports Installer looked at refactoring, polishing, and improving the maintainability and stability of our libraries, this iteration finally tackles the installer's own back-end code. All JavaScript files have been documented, partially re-written, and broken up into properly testable modules:
This effort will continue in subsequent releases of the 0.8.x-beta
series of the UBports Installer.
Community members interested in contributing to the development of the UBports Installer are welcome to join us on the road to 100% coverage. Writing unit-tests is a great way of getting to know the code while helping to improve the UBports Installer's stability down the road.
Changelog
- @NeoTheThird Backend code cleanup and modularization #1540 #1559 #1567
- @NeoTheThird Unit-Tests based on Jest, ~40% coverage #958 #1553
- @NeoTheThird JSdoc documentation for all functions #956
- @NeoTheThird Fix an issue where the release script failed for no reason #1554
- @NeoTheThird Deprecate old checksum-string-style in favor of new checksum objects #1562
Thank you to the countless testers, bug reporters, and contributors who made these improvements possible! Special thanks to @Flohack74 for his tireless reviewing of pull requests!
Notes for Developers
- The transition period for the legacy
checksum
string has lapsed. You now need to specify an object with an algorithm. All live configurations have already been updated. Example:
{
"url": "https://gitlab.com/ubports/community-ports/android9/fxtec-pro1/fxtec-pro1/-/jobs/865239242/artifacts/raw/out/boot.img",
"checksum": {
"sum": "2204c2478854d4dfd1bb16fae2651f80ae07f4af4452eb4c0ff9bbc6ee3f6414",
"algorithm": "sha256"
}
}
- The command-line interface has changed. Consult
ubports-installer -h
for more information:
$ ubports-installer --help
Usage: ubports-installer [-f <file>] [-v[v] [-d]
UBports Installer (0.8.0-beta) source for linux
GPL-3.0 UBports Foundation <[email protected]>
The easy way to install Ubuntu Touch on UBports devices. A friendly cross-platform Installer for Ubuntu Touch. Just connect a supported device to your PC, follow the on-screen instructions and watch this awesome tool do all the rest.
https://devices.ubuntu-touch.io
Options:
-V, --version output the version number
-f, --file <file> Override the official config by loading a local file
-v, --verbose Print debugging information. Multiple -v options increase the verbosity
-d, --debug Enable electron's web debugger to inspect the frontend
-h, --help output usage information
UBports Installer 0.7.4-beta
A snap package can be installed by running snap install ubports-installer
on any Linux distribution.
You can help us test this release on UBports OPEN-CUTS.
Release notes
This maintenance release improves some error handling and improves the process of re-connecting to devices if the cable is unreliable.
Changelog
Changes over 0.7.2-beta
- @NeoTheThird Properly reconnect to unauthorized devices #983
- @NeoTheThird @Valeraaum Properly reconnect to offline devices #1317
- @NeoTheThird Fix an issue where reporting to OPEN-CUTS was not possible, #1538
- @NeoTheThird Instruct users to enable oem unlocking more clearly #1540
- @NeoTheThird @SerhiiZadorozhnyi Improve oem unlock error handling for the Oneplus 3 and the Nexus 5 #1498
- @NeoTheThird @l3modz Improve OEM unlock error handling on the Sony Xperia XZ #1498
- @NeoTheThird Fix path issue with heimdall flashing #1533
- @NeoTheThird @doniks Fix issue where it was possible to get stuck in installation options #1173
Changes over 0.7.3-beta
- @NeoTheThird @Vince1171 Fix an issue related to OEM unlock error handling on the Oneplus 2 ubports/installer-configs#45
- @NeoTheThird Fix an issue where the systemimage step would create an unneeded empty directory
Thank you to the countless testers, bug reporters, and contributors who made these improvements possible! Special thanks to @Flohack74 for his tireless reviewing of pull requests!
Notes for Developers
no action required
UBports Installer 0.7.3-beta
Deprecated in favor of 0.7.4-beta.
UBports Installer 0.7.2-beta
A snap package can be installed by running snap install ubports-installer
on any Linux distribution.
You can help us test this release on UBports OPEN-CUTS.
Release notes
This installer release includes a major refactoring effort of our promise-android-tools library, which controls how adb
, fastboot
and heimdall
talk to the devices. This allowed us to correct some early design mistakes to improve user experience and stability. The most noteworthy improvements include the installer's ability to detect the device type while the device is in fastboot
mode (previously this was only possible over adb
), and improved progress bars for fastboot flashing, and adb sideloading and pushing.
Changelog
- @NeoTheThird Completely re-design the promise-android-tools library (#1487)
- @NeoTheThird Implement a progress bar for fastboot flash and adb sideload and make adb push progress more fluent (#1494)
- @NeoTheThird Allow the initial device detection to use fastboot to identify the device (#902)
- @NeoTheThird Allow the user to dismiss the reporting prompt temporarily, meaning they will be asked again on the next run but do not report the current run (#1508)
- @UniversalSuperBox Fix an issue with the santoni installation
- @NeoTheThird Fix an issue where the download speed was not hidden after downloading system image files (#1509)
- @NeoTheThird Fix an issue where the installer would sometimes log cryptic messages (#1507)
- @NeoTheThird Fix an issue where the device cache would not be wiped properly (#1481)
- @NeoTheThird Fix an issue where the installer would try and execute the command
true
on Windows (#1474)
Changes since 0.7.0-beta
- @NeoTheThird Improved debug logging #1522 #1529 #1531
- @Flohack74 Fixed typos #1521
- @NeoTheThird Updated dependencies
Changes since 0.7.1-beta
- @NeoTheThird Fix an issue where fastboot flashing did not work if the tools were not installed locally, #1534 #1517
Thank you to the countless testers, bug reporters, and contributors who made these improvements possible!
Notes for Developers
no action required
UBports Installer 0.7.1-beta
Deprecated in favor of 0.7.2-beta
UBports Installer 0.7.0-beta
Deprecated in favor of 0.7.2-beta
UBports Installer 0.6.0-beta
A snap package can be installed by running snap install ubports-installer
on any Linux distribution.
You can help us test this release on UBports OPEN-CUTS.
Release notes
This release finally introduces a graphical user interface for automatic reporting to UBports OPEN-CUTS (#1432). Just use the installer as you would normally, and select the appropriate result when it's finished. If you do not want to report tests, you can of course permanently dismiss those prompts. You can now also access a GUI to store your API key through our new-and-improved settings section in the global menu (#694). To accommodate an upcoming device, a new fastboot:set_active
step has been added to the configuration file standard (#1469). Last but not least, this release fixes a whole bunch of long-standing issues by improving error handling in our adb/fastboot/heimdall library.
Changelog
13 changed files with 6,010 additions and 4,081 deletions
- @NeoTheThird GUI for OPEN-CUTS automatic reporting #1432, #955
- @NeoTheThird Re-work installer settings storage #694
- @NeoTheThird Improve fastboot and adb error handling #1184 #1033 #1324 #1331 #1100 #1468 #1473
- @Danct12 Add Redmi 4X (santoni) ubports/installer-configs#39
- @NeoTheThird fix issue where paste.ubuntu.com links in bugreports would be messed up #1476
- @retro486 Improve Suzu installation process #1305
- @NeoTheThird Fix a bug where the installer would get stuck during fastboot flashing #1367
- @NeoTheThird Allow selecting and copying text from the installer #1470
- @NeoTheThird Fix issue regarding the electron file picker under snap confinement #1467
- @synt4x93 Improve config file documentation ubports/installer-configs#41
Thank you to the countless testers, bug reporters, and contributors who made these improvements possible!
Notes for Developers
fastboot:set_active
The fastboot:set_active
step provides access to the `fastboot --set-active=a" command. It is a niche requirement, but some newer devices depend on it.
{
"type": "fastboot:set_active",
"slot": "a"
}
UBports Installer 0.5.6-beta
A snap package can be installed by running snap install ubports-installer
on any Linux distribution.
You can help us test this release on UBports OPEN-CUTS.
Release notes
This release adds support for additional configuration options when flashing fastboot images, such as --disable-verity
(#1459). MacOS users can now quit the UBports Installer by pressing Cmd+Q (#1047). A bug has been fixed that prevented the installer from reading absolute paths to config files (#1320) using the -f
option. A new step manual_download
has been added, to support downloading files with licensing restrictions that make it impossible to re-host them on our own servers for automatic downloading (#1456).
Experimental automatic reporting
Experimental automatic reporting has been added recently. Please check the instructions here to learn more.
Changelog
7 changed files, 150 additions, 51 deletions
- @NeoTheThird Quit on macos, fixes #1047 86a4d8e
- @NeoTheThird Implement additional fastboot flags, resolves #1459 71d46f7
- @NeoTheThird Support both absolute and relative paths, fix #1320 11575a6
- @NeoTheThird Add manual_download step, resolves #1456 055706d
Notes for Developers
manual_download step
The manual_download
configuration step has the following structure:
{
"type": "manual_download",
"condition": {"var": "bootstrap", "value": true},
"group": "firmware",
"file": {
"name": "package.json",
"url": "https://github.com/ubports/installer-configs/blob/master/package.json",
"checksum": {
"sum": "907f030a2e37c99dc8b0cfbf42f95213ef95b2e6714900ec002b213fad4672a6",
"algorithm": "sha256"
}
}
}
fastboot flash flags
Additional flags for fastboot flash
can be set in the fastboot:flash
action for every file individually. The raw
option tells the installer to use the fastboot flash:raw
command rather than fastboot flash
. The flags
option takes in an array with additional flags. Use caution when selecting these flags. Make sure you actually need them; don't just add everything. If you're using flags, do so because it's the only option to make it work.
{
"type": "fastboot:flash",
"condition": {"var": "bootstrap", "value": true},
"flash": [
{
"partition": "boot",
"file": "halium-unlocked-recovery_dora.img",
"group": "firmware",
"raw": true
},
{
"partition": "recovery",
"file": "halium-unlocked-recovery_dora.img",
"group": "firmware",
"flags": ["--disable-verity", "--disable-verification", "--force"]
}
]
}
UBports Installer 0.5.5-beta
A snap package can be installed by running snap install ubports-installer
on any Linux distribution.
You can help us test this release on UBports OPEN-CUTS.
Minor maintenance release
This maintenance release solves a rare issue with spaces in usernames on windows and adds error handling for OEM locks on the VollaPhone.
Experimental automatic reporting
Experimental automatic reporting has been added in the last release. Please check the instructions there to learn more.