Blog

Mender 1.3.0 released - automated U-Boot patching!

21st Dec 2017

We are happy to announce the production release of Mender 1.3.0!

The key features of Mender 1.3 are covered below below, and you can see the detailed items in the Mender 1.3.0 release notes.

Easier device integration: Automated U-Boot patching

To make testing easier we provide demo images for a set of reference devices. However, production-grade boards are usually custom in order to make them fit a form factor and reduce the cost of mass production by removing unnecessary hardware features.

Therefore it is important to make it as easy as possible to integrate a new device with Mender. The feedback from the community is that Mender's U-Boot integration was the hardest part, especially for developers who have not worked with U-Boot in the past. The integration with U-Boot is required in order for Mender to support robust and atomic updates out of the box by switching between two root file systems.

To address this, we have automated the generation of the required board-specific U-Boot patch! We have compile-tested the generated patches against all boards supported by U-Boot.

Currently about 1400 boards are supported by U-Boot itself, however only about 600 of them compile successfully out of the box. Our goal is that these 600 boards that already compile will continue to compile with the automatically generated Mender patch. Note however that as we do not have access to those 600 boards, we cannot do run-time tests on them, only compile-time tests. So there might still be some diagnostics and tweaking required, but it significantly lowers the effort required to integrate a new device as you will always have a good starting point!

The meta-mender-beaglebone layer has been removed, as the automatic patching produces the required integration for this board. To test the automated patching, please use the current rocko (2.4) branch of meta-mender (or later).

In addition, we are researching several areas to simplify device integration with Mender even further in the future. One interesting next step we are considering is to use the UEFI-provider in U-Boot in order to load an UEFI-app that does the partition selection, rather than patching the existing U-Boot that comes with the board. This would remove the need for patching U-Boot altogether, and we can run-time test the partition selection code that runs on all boards. We welcome any feedback on this direction!

Yocto Project rocko (2.4) support

meta-mender has a brand new rocko branch, so you can integrate Mender with this newest stable release of the Yocto Project!

In-product onboarding

Documentation quality is a key focus area for Mender in order to make Mender easy to use. However, it is even better if documentation is not needed at all because the product is self-explanatory. One of the first improvements you will notice in Mender 1.3 is a step in this direction: the new in-product onboarding guide.

For example, if you have not yet connected any devices to the server it will let you know about the next steps to do this:

No devices found

It is also context-sensitive. For instance, it will direct you back if you go to the Deployments tab before you have any devices connected:

Not ready for deployment

You can hide or show the help tips by clicking your email address at the top right:

Hide help tips

Good onboarding is important, it strikes a balance between allowing users to play around without getting lost or overwhelmed. We hope we were able to make a good compromise with the design and would be very interested in hearing your feedback!

Raspberry Pi 3 reference device

We are very happy to add Raspberry Pi 3 as a reference device to Mender 1.3 and future versions! This means that we will include Raspberry Pi 3 in our CI environment and ensure it works with future versions of Mender as well.

Raspberry Pi 3 B

In addition, we will provide demo images, i.e. disk images (.sdimg) and Artifacts (.mender), for Mender supporting Raspberry Pi 3 for future versions of Mender so you can easily test and build for this device type! It is very likely other revisions of the Raspberry Pi will work well too.

Resuming Artifact downloads

If you have a large Artifact (.mender) file and the connection gets interrupted as your devices are close to finishing the download, it is quite wasteful to start the download from scratch again. In fact, this may cause the download to be restarted many times in unreliable networks because it may be interrupted over and over.

To alleviate this, the Mender client now supports resuming of downloads, so it will pick up from the byte where it left off when downloading the Artifact from the server!

State scripts improvements

State scripts, introduced in Mender 1.2, became a popular feature set.

Mender 1.3 introduces several improvements to logging the output of the state scripts. Errors now contain the full description, not just the error code and all output from state scripts is logged to stderr. This should help diagnosing any failures while running the state scripts.

In addition, retry functionality has been added. This allows a state script to tell Mender to wait before proceeding with the update (in addition to proceed or stop). This enables better support for many use cases, including update confirmation by the end user.

User management

If several members of your team want to manage software updates to your devices it is now possible to create separate user accounts for each of them -- so you do not have to share an account. To do this, click on your email address on the top right and "User management":

Create new user

There is a REST API available for user management as well, so you can automate user creation and removal.

All users have the same permissions. We plan to introduce more advanced permission sets with Role-based access control (RBAC) as well as external authentication (e.g. LDAP) in the future.

Smarter auto-logout

To improve security, the Mender UI automatically logs you out after 15 minutes in 1.2.0 and newer versions. However, we got several reports from the community that this functionality was annoying (the well-known tradeoff between security vs. usability).

Mender 1.3.0 helps alleviate this by being smarter to test for activity before logging you out. So if you are using any aspect of the UI, it should reset the 15 minute counter, thus you should not get logged out that frequently.

In the future we also plan to add a Keep me logged in checkbox if you are on a very secure computer and location and want to disable this functionality altogether.

Try Mender 1.3

The documentation has a new 1.3 section that includes all the resources you need to get going. To test the new features, you can start with these pages:

We also encourage you to try integrating a new board with Mender to see how much easier it is with the new autopatching feature set! Take a look at the updated device integration documentation.

Upgrading to Mender 1.3

If you are using Mender 1.2, follow the Mender 1.3 upgrade documentation to upgrade to Mender 1.3.0.

It will likely work to use the same document to upgrade older releases of Mender as well, but please note that the official and tested upgrade path is always from the previous minor or patch release (i.e. 1.2.x releases for upgrading to 1.3.0).

Try Hosted Mender beta

Hosted Mender is a secure Mender server we host for you, so you do not have to spend time maintaining scalability, security, certificates, uptime, upgrades and compatibility of the Mender server. Simply point your Mender clients to our server!

Hosted Mender is currently in beta and fully compatible with the new Mender 1.3.0 client release. We recommend that you use Yocto Project's pyro (2.3) or later version with these Mender releases for the best experience.

Sign up for Hosted Mender beta for free at https://mender.io/signup.

Support for your board

If you are getting started with OTA updates or do not have time to integrate the Mender client with your board, we are happy to help with professional services to enable Mender support for your board!

Share your feedback

We are happy to continue to see your general feedback on Mender, be it positive or need for improvement, on the Mender mailing list. Your continued feedback ensures Mender will meet your needs even better in the future!

If you believe you have encoutered a bug, please submit your report at the Mender JIRA issue tracker.

We hope you enjoy the new features and are looking forward to hearing from you!