The mills of InfiniTime grind slowly, but they grind exceedingly fine. It has been nearly 400 days since our last release, but there has been continuous steady progress over this time, bringing us to the point where we are happy to announce the release of version 1.16, Starfruit.
New features:
- The timer now vibrates for 10 seconds when it ends. No more missing the single buzz (@vkareh)
- Stopwatch app can stay running in the background - long press the button or swipe to exit without stopping the counter (@codingjourney)
- Heart rate measurements in the background: choose your preferred measurement period in the settings from continuous to every 30 minutes (or disabled, of course). Make sure to start heart rate measurements in the app after changing the setting. (@patgruber @mark9064)
- Step counter history: you can now see how many steps you did yesterday in the steps app (@Hunman)
- Calculator app. Does exactly what it says on the tin! (@minacode)
- The status icons now show when the alarm is enabled (@jmlich)
- Pride flag watchface featuring a variety of flags (accessible by long-pressing on the watchface) (@Aperture32GLaDOS)
- Terminal watchface revamp: now with new colours and weather (@JustScott)
- Sunset/sunrise time support for the weather app. This requires an update to companion apps (Gadgetbridge etc.) so support will be coming soon (@vkareh)
- Security setting to disable the ability to perform a firmware update or modify the filesystem. Useful if you have evil friends who want to mess with your watch (@DavisNT)
- Global theme change: aqua is out, dark grey is in! (@tituscmd)
Notable fixes:
- Weather forecast now shows imperial values the right way round, and rounds negative temperatures correctly (@vkareh @FintasticMan @mark9064)
- Resolved crash caused by changing the alarm time while the alarm is ringing, and improve the alarm ringing screen. This was the cause of many crashes, as it was easy to accidentally change a number while half awake. (@ljahn)
- Infineat watchface no longer crashes when loaded while charging (@SteveAmor)
- The touchscreen no longer turns off after a few seconds when touched continuously. Enjoy uninterrupted gaming and painting (@mark9064)
Performance and technical:
- Every pull request now has a "Run in InfiniEmu" button so you can try changes to InfiniTime out in your browser! This is now possible thanks to a full emulator of the hardware (!!!!) (@pipe01)
- All free memory is now automatically used for the FreeRTOS heap, so no more changing the heap size manually (@pipe01)
- Compatibility with newer compilers (tested up to GCC 14) (@lmamane)
And as always a huge thanks to the many contributors who've contributed things from better documentation to UI improvements to typo fixes. Your efforts make InfiniTime the experience that it is. Read the full changelog below, or try 1.16 and notice all the quality of life changes :)
Changelog
- Use all free RAM for FreeRTOS heap by @pipe01 in #2172
- weather: Fix inverted imperial forecast temperatures by @vkareh in #2184
- Show alarm controller state in status icons by @jmlich in #1884
- Alarm: Simplify alarm alerting screen (and fix bug with alerting on time value change) by @ljahn in #2211
- CI: Use artifact v4 instead of v3 by @jmlich in #2224
- Add "Run on InfiniEmu" link to pull requests, update actions/upload-artifact by @pipe01 in #2150
- Notification -> Notifications by @tituscmd in #2238
- Fix EOL related build issues on Windows by @madmini in #2077
- Prevents blocking when Infineat watchface is charging by @SteveAmor in #2256
- BatteryInfo App Redesign by @tituscmd in #2236
- work around g++ version 12, 13 and 14 spurious warning by @lmamane in #2158
- documentation make cmake work out of the box by @lmamane in #2157
- Documentation: Minor fix to example app code by @IdeallyGrey in #2152
- Remove defunct .gitconfig file by @madmini in #2078
- Simple calculator by @minacode in #1483
- Add background color to progress bar when flashing firmware by @tituscmd in #2237
- Remove the vibration while charging by @minacode in #1768
- Center text on timer button by @tituscmd in #2229
- Fix about screen vertical centering. by @mzrinsky in #2279
- Fixes the short ref not being set in Github builds by @Ghoelian in #2282
- notification: Initialise message by @FintasticMan in #1694
- Fix nrf sdk download links by @dariusarnold in #2270
- Refactors watch faces. Replace lv_tick_get() with xTaskGetTickCount() by @SteveAmor in #2264
- docker: fix NRF_SDK download and subsequent build.sh by @NeroBurner in #2299
- CI: use bash for get-base-ref-size job by @NeroBurner in #2305
- docker: fix libpango1.0-dev package name by @kon-foo in #2261
- DisplayApp: use std::ranges function where possible by @NeroBurner in #2300
- set static text as static text by @lmamane in #2312
- BatteryInfo App Redesign: Fixup by @tituscmd in #2310
- Set LF-only (\n) line endings for .sh files to fix #1905 by @zyphlar in #2181
- Ignoring npm files by @owenfromcanada in #2313
- Pride flag watchface by @Aperture32GLaDOS in #2201
- Disable legacy FreeRTOS functions by @mark9064 in #2326
- Initialise DisplayApp components in DisplayApp context by @mark9064 in #2331
- Analog face constexpr fix by @mark9064 in #2327
- (small) Music App Redesign by @tituscmd in #2292
- Dark App Launcher Tiles by @tituscmd in #2294
- navigation: fix greying out the app icon if not enabled by @mmind in #2301
- Setting to disable DFU and FS access by @DavisNT in #1891
- Minor documentation tweaks by @WhyNotHugo in #2335
- Remove redundant touchpanel read by @mark9064 in #2349
- Resolve paint corrupting screen scrolling by @mark9064 in #2324
- Touchscreen timeout fix by @mark9064 in #2325
- Unconditionally update motion by @mark9064 in #2328
- Unconditional motion fixup by @mark9064 in #2352
- Removes redundant words to save space by @SteveAmor in #1874
- ImmediateAlertService: fix latent bug by @DavisNT in #2159
- StopWatch: add persistence by @codingjourney in #2141
- Adds page indicator to music app by @SteveAmor in #1875
- Background HR by @mark9064 in #2322
- Correct tick overflow handling for timer reset by @mark9064 in #2149
- Tooling fixes by @mark9064 in #2323
- Constant frequency SystemTask state updates by @mark9064 in #2329
- Create a new
Colormethod in theTemperatureclass inSimpleWeatherServicefor easier reusability. by @JustScott in #2218 - Step counter history added by @Hunman in #2120
- Refactor Timer component to provide expiry information by @mark9064 in #2365
- Firmware validation: UI redesign by @tituscmd in #2338
- timer: Add ringing and counter by @vkareh in #1971
- Fix negative temperature rounding by @mark9064 in #2390
- Add shorter/simpler weather condition options. by @JustScott in #2134
- Add weather to the terminal watch face by @JustScott in #2204
- SimpleWeatherService: Add sunrise and sunset data by @vkareh in #2100
- Improved the Terminal Watchfaces UI by @JustScott in #2135
New Contributors
- @tituscmd made their first contribution in #2238
- @madmini made their first contribution in #2077
- @IdeallyGrey made their first contribution in #2152
- @mzrinsky made their first contribution in #2279
- @Ghoelian made their first contribution in #2282
- @dariusarnold made their first contribution in #2270
- @kon-foo made their first contribution in #2261
- @zyphlar made their first contribution in #2181
- @owenfromcanada made their first contribution in #2313
- @Aperture32GLaDOS made their first contribution in #2201
- @mmind made their first contribution in #2301
- @DavisNT made their first contribution in #1891
- @WhyNotHugo made their first contribution in #2335
- @codingjourney made their first contribution in #2141
- @JustScott made their first contribution in #2218
- @Hunman made their first contribution in #2120
Full Changelog: 1.15.0...1.16.0