Improvements:
- Improved gesture consistency (#720)
- Digital watchface: Changed the color of the BLE icon to the official "Bluetoothβ’ blue" (#556)
- PineTimeStyle: Integrated color picker into the watchface (long tap on the PTS watch face, and then tap on the gear icon that appears to open the color settings) (#718)
- PineTimeStyle: Fixed alignment of the icons (#869)
- Settings: Styled checkboxes as radio buttons (#679)
- Paddle: Speed randomization (#797)
- InfiniPaint: Vibration on color change (long tap to change color when running InfiniPaint) (#803)
New features:
- BLE secure pairing (#796 - #886)
- BLE file system API (#756 - #839)
- Weather service (integrations are planned for the future) (#353)
- Trip meter in Step app (#764)
- Chimes: Short vibration every hour or half an hour. Settings are available in the 3rd page of settings (#813)
- Shake to wake: The calibration of the sensitivity is available in the 3rd page of settings (#691)
Bugs fixed:
- Removed misleading info in SystemInfo app (#785)
In addition to the previously listed things there was also a bunch of housekeeping and documentation improvements done.
This release contains 47 pull requests and 232 commits in total.
This release brings the BLE secure pairing. When enabled by the companion app, this feature makes the BLE connectivity much more secure: InfiniTime displays a PIN code that the user must enter in the companion app. The connection is accepted only if this PIN code matches. The change makes transport encryption possible. Last but not least, this new mode makes the (re)connection a lot more reliable and fast, and it should resolve most if not all reconnection issues some users still encounter.
For now, the secure pairing is optional, and companion apps can still use the legacy (unsecured) mode, but we'll probably disable this legacy mode in the future to improve the security and privacy of InfiniTime. So, if you are a contributor to a companion app for InfiniTime, please check that your app supports this secure pairing mode!
For example, if you are using Gadgetbridge on Android, a prompt will ask you if you want to pair with your watch. Previously, we recommended to select "Do not pair" as pairing was not supported. Now, you can accept the pairing, which will enable this secure pairing mode. Using NRFConnect, you can enable this feature by selecting the Bond option when connecting to your watch.
This release also include 2 features that are not yet visible to the end-users: the weather service and the BLE file system API. Those feature were merged to allow developers and contributors of companion apps to implement them while we are working on their integrations in InfiniTime.
The weather service, as its name says, is a BLE API that allows the companion app to send weather data (temperatures, forecasts, ...) so InfiniTime can display it. The API is ready, but we still need to work on a weather app, and on integrating the weather info into the watchfaces.
The BLE file system API allows the companion app to send files to the external SPI flash memory. The ultimate goal is to offload the storage of static resources (bitmaps, fonts, ...) from the (relatively small) internal memory (512kB) to the external memory (4MB) and this API brings us a little closer to that goal.
Thank you @stephanie-eng, @SteveAmor, @geekbozu, @jharmer95, @Riksu9000, @kieranc, @Avamander, @NeroBurner, @eliwss0, @hubmartin, @evergreen22, @Arsen6331, @clemensvonmolo, @JF002 and @mabuch for your contributions.
Also thank you for your support of the project on LiberaPay and elsewhere.
Full diff: 1.7.1...1.8.0
Note to Gadgetbridge users : Please update to the latest version of Gadgetbridge (0.64.0 from F-Droid) before trying to update InfiniTime. We recently found an issue in Gadgetbridge 0.63.1 that confused the OTA in InfiniTime. Version 0.64.0 will fix the error message at the beginning of the OTA.