What you do with the update procedure is to update the Bela code, which means the code contained in the Bela repo: github.com/BelaPlatform/Bela/ . This comprises the IDE, the core code and libpd.
However, the version of the image that you get with cat /etc/motd
reflects the operating system and the packages installed, independently from what Bela code is on it. In order to upgrade image you have to re-flash your SD card. This is a slightly more involved process which also requires you to back up your projects, but it gives your board more capabilities.
For instance, the v0.3.1 image you can find here has an entirely new operating system, boots faster, is recognized by the host computer as a MIDI device, has a more recent and efficient version of Supercollider, has a more recent kernel, which also means more drivers for hardware peripherals. We strongly advise users to upgrade to this image because of all the good things that come with it and because it marks a long-awaited modernization.
As of now, the Bela code is designed to work on all images, as we realize it is easier to upgrade the core code than upgrading the image. However, in the future we may drop support for older images in the Bela core code.
I hope it is clear now why the version number in /etc/motd
is not updated when updating the core code. However, we understand it would be nice to have a way of check the version of the core code that is currently on the board (through the "About Bela" button in the IDE). This - unfortunately - is not easy with the tools provided by github, as you can see from this ongoing discussion, so we need to look for a better solution in the future. Right now, the best way to get a sense of what version of the core code you are running is:
grep "BELA_.*_VERSION" /root/Bela/include/Bela.h