aaa35b9fix: remove sensitive values from error logs
db1ae2efix: sanitize automatic ESP Sentry events
f78798efeat: harden automatic Sentry events
f326d9bfeat: add reportable config allowlist
004672bMerge pull request #369 from MeticulousHome/disable-debug-shot-telemetry
92693a3Disable debug shot telemetry
dial updated
408921004077 → c3de9fad7e3a
c3de9fadMerge pull request #562 from MeticulousHome/sentry-automatic-events-privacy
5e130713feat: add Dial version metadata to Sentry
b9e1973achore: rotate Sentry client key
ded03f86feat: harden automatic Sentry events
838fc87aMerge pull request #561 from MeticulousHome/disable-debug-shot-telemetry
14597c11Remove debug shot telemetry setting
firmware updated
d28e82aafb43 → 7aa359b23ceb
7aa359bMerge pull request #489 from MeticulousHome/sentry-automatic-events-privacy
576d98erefactor: preserve ESP diagnostic detail
5d5ff75fix: sanitize automatic ESP diagnostics
crash-reporter updated
9c377cac4a53 → c9e74d09514a
c9e74d0Merge pull request #8 from MeticulousHome/sentry-automatic-events-privacy
f4c7c61feat: add privacy-safe crash diagnostics
2026-07-22 01:43:50 - version: 2026M1330-stable
backend updated
1de7a8ca3e95 → 4a3283ff2bc3
4a3283fMerge pull request #368 from MeticulousHome/disable-fluent-bit
9f8772fRemove Fluent Bit service controls
dial updated
315c1699b668 → 408921004077
4089210Merge pull request #560 from MeticulousHome/disable-fluent-bit
ce062daRemove Fluent Bit setting from Dial
2026-07-21 22:47:08 - version: 2026M1329-stable
linux updated
f7e1dec23d55 → 896ed562b8e7
896ed562bMerge pull request #2 from MeticulousHome/nightly
9e14e4a6eset the usbotg1 node as host only on meticulous DT
backend updated
a843576a8fd4 → 1de7a8ca3e95
1de7a8cMerge pull request #367 from MeticulousHome/agent/stable-timezone-retry-limit
d6e58e9Merge pull request #355 from MeticulousHome/fix/timezone-retry-limit
63a76b2Merge branch 'update-channel-follows-image' into stable
c0936fdMerge pull request #352 from MeticulousHome/nightly
90ac3e1chore(bugreport): increase client timeout to 600s when requesting machine logs
4036fe0chore: add logging limits
73e1dc2chore: concentrate all the compose configuration into the compose file
07b8160fix: emmulated files for reports generation and endpoint
bfc9072Add missing UUID dependency
687ccdafix: refresh firmware version before flashing
7babbedMake update channel follow image channel
e5373ccfeat(bug_report): compress report draft on submit request to save space
7599bfffix: consider current debug shot if report is requested during a brew
fba3899fix(reports): mount a volume for the reports dir and set an env var with the docker volume mnt point
4e2a11bchore: add tests to endpoint modifications
a3a15bbfix: allow the PUT method to be used on draft reports updates
1d06ce9feat: add multimedia to the updatable report information, also include the machineID in the /create endpoint response
5c2ffc0feat: add machine status to the user feedback report
dfdf612feat: report creation and serving endpoints change
2d706b1feat(bug_report): Implement the server endpoints to fetch relevant data for the report
96f315erefactor(machine.py): extract get_machine_info function from MachineInfoHandler
37628affeat:(database): create DB migration to add the bug_reports table
2790ba6Sync auto purge setting to firmware
133bf2frun new version of the black formater over everything
412e847update critical dependencies
6768c22ble: fix auto accept
e8c8174ble: register pairing agent to auto accept pairing requests by phones
c35fd96ble: monitor device connect and disconnect
ac9f2e4ble: await setup task immediately after creation
a60c2c9run_emualted: run uv sync before starting the backend
bd6d157Change default sink volume from 70% to 40%
fd949f7fix: add gstreamer1.0-plugins-base-apps for playsound3 gst-play-1.0 backend
c831d82gatt: log communications
ab18406update pyImprov to 0.2.0
77610a1zeroconf: dont pass lists of raw IP addresses
190ff65Add ble gatt unit tests
b1753dfrun_tests: use uv as well
c547b8dfix: use from=\"backend\" for hover seed and on-connect emit
66205edfeat: track profile hover state, emit on connect/create/load, add GET /profile/selected
9c9c95aREADME: update and rename
6b5fb0amachine: run format
09b49e1sound: upgrade to playsound3
97918e2add out folder to gitignore
e249d08fix: move system C library deps to machine group for CI compatibility
bb69085style: run black formatter with line-length 96
94a7db9lint: finally remove all the star imports
6ee169cAdd debian builder script
7691aaadeps: use uv for dependency management
987d817feat(config): sync partial retraction with esp nvs
bbb903cfeat(profile-load): stream simplified profile JSON to ESP32
7592ceedb: fix linting and DB issues
0e3454ddb: fix key error in deletion logic
fcd7155tests: test all database functions - not all tests passing
ca2fdaatests: add machine.py message parsing unit tests
dd26063ci/cd: add unit test running
c2dfffftests: add pytests script
41d9ca8Dockerfile: install dev requirements
c3d902etest: add pytest harness
85c7c31config: move all environment variables into config.py in preparation of mocking
62bdacafix: patch bare NaN tokens in historical shot files
324aa67chore(data.py): decode url encoded strings coming from the ESP
16e4efefix(wifi.py): validate the saved WiFi security type is still valid to connect
25fbc78fix: disable ETag for .zst files served decompressed
cb710e8feat: add 24-hour clock format configuration
27de0d7emulated: move MOTOR_ENERGY_PATH to a env
cabf679hostname: include the serial in the hostname
7fd63bachore(backlight_controller): remove \"jump to target if re-request\" on brightness thread
96b9fdcchore: do not send notification when the ESP restarts unexpectedly
8c314f8fix: set the esp_reset_request flag before calling _connection.reset()
8458171fix: patch Infinity tokens in shot files on access
4add933fix: sanitize Infinity/NaN in setpoint parsing to produce valid JSON
135da60ssh,services: add toggle for fluent-bit
f6c7126fix: check for the real client IP on the X-Real-IP header set by nginx
a9c8c16fix: do not create new logging handlers if there is one alrady created
31e479dchore: use machine name + serial number on usb test
58726e1chore: reframe way of testing usb connection
bd11803fix: check ESP message validity before reporting ESP issued
12921e1fix: expect a restart when updating ESP firmware
43954f6chore: sync python version among developer system, github runner and the Meticulous machine interpreters
2cf5b4dchore: run against play_sound.py
1cbfea8chore: increase motor MAX_ENERGY_ALLOWED threshold to 25000
734b83fFix f-string syntax error in machine.py line 518
f7f5928hore: variable rename and send ESP errors to backend sentry project too
dd2f7dechore: adequate logging of ESP Log messages
44d1ad1feat: add Sentry client for espresso-firmware sentry project
7935814feat: Add ESP monitoring
eb6980dchore: refactor alarms.py - Added 2 new alarms: - ESP_RESTART - ESP_DISCONNECTED - Added the feature to only set alarms for the duration of the session passing the end_time of the alarm as None it will not write an alarm file nor the alarm will be cleared by the AlarmManager - Added `quiet` option to `AlarmManager.setAlarm` to not send a notification to the dial app
3c19fdefeat: add a timeout to the ReadLine.readline fnc
c2e23c0alarms: dont hardcode the path
1db4db4sounds: ensure the sound player is in a lock
4216688fix: add the ESPInfo to the machine attribute
5a59fe8chore: Add all the machine information to debug logs, not only ESPInfo
8b7c870run black and flake8 commands
41bfb1dfix: convert percentage to position for position triggers
56c59e4fix: infinite end time in alarms was not compatible with integer type used in alarm messages
03aa94dchore: use NamedThreads instead of Threads
718ae1achore: sync up shot manager saving data and motor stress analysis
fd9c83afeat: alarms implementation
528e86bfeat: add motor energy compensation for when the machine is OFF
5415262chore: add warning image to notification of stressed motor chore: move all base64 image representations to `images/notificationImages/base64.py` to import from there
4a8d2e6feat: implement motor energy data saving thread to avoid losing it when turning the machine off
a1c7932chore: improve motor energy calculation
01470fffix: change absolute time reference from 4 to 1
dial updated
6aadb620e541 → 315c1699b668
315c169Merge pull request #554 from MeticulousHome/nightly
7acdaadchore(burreport): increase networking timeouts when reporting issues
web-app updated
f16041429cf3 → 0fa5934b219a
0fa5934Merge pull request #4 from MeticulousHome/nightly
b9bc656fix archive.zip download path to avoid cross-site issues
watcher updated
311cf70eb042 → 03ce735ec25c
03ce735Merge pull request #9 from MeticulousHome/nightly
58c85aemove to uv and add deb building
firmware initial
pinned to d28e82aafb43
plotter-ui initial
pinned to a82332b5d16d
2026-02-26 14:23:44 - version: not recorded
linux initial
pinned to f7e1dec23d55
uboot initial
pinned to 00ba0da24a8b
atf initial
pinned to bed39c167c88
imx-mkimage initial
pinned to 71b8c18af93a
debian initial
pinned to db279cf0c71d
backend initial
pinned to a843576a8fd4
dial initial
pinned to 6aadb620e541
web-app initial
pinned to f16041429cf3
watcher initial
pinned to 311cf70eb042
rauc initial
pinned to 269e1721b3c5
hawkbit initial
pinned to 60f34c8cdd0d
psplash initial
pinned to 5b0085b559f1
crash-reporter initial
pinned to 9c377cac4a53
2026-10-03 00:46:11 - version: 2026M1446-beta
backend updated
e37dcf3539ee → 0edd5ea3fee2
0edd5eaMerge pull request #437 from MeticulousHome/feat/report-contact-mail
793f217feat(reports): include the row status in the list entries
ae4a23dfeat(reports): contact email setting and mobile report dispatch
4432772Merge pull request #435 from MeticulousHome/feat/shot-data-sharing
96f0870refactor: allowlist the fields of shared debug shots
a93bc92feat: make shot_data_sharing tri-state until the user answers
a6a4fdafeat: add opt-in anonymous shot data sharing
dial updated
74ca42cb33a6 → e5b54da1dcb5
e5b54da1Merge pull request #630 from MeticulousHome/feat/report-contact-mail
0bed105afeat(bugreport): hold to remove the saved contact email
87a4163estyle(bugreport): shorter option pills in the bug report bubble
459184aafeat(bugreport): confirm the contact email and let it be changed later
4a87bd62refactor(bugreport): ask for the contact email on a full screen
6ab932dcchore(deps): bump espresso-api to 0.15.0
82580ac1feat(bugreport): ask for a contact email and upload mobile dispatches
ed36eaf0Merge pull request #629 from MeticulousHome/feat/help-us-improve-config
4bf43bf8feat(settings): move help us improve to the menu and confirm stop sharing
f7daf0c5Merge pull request #628 from MeticulousHome/chore/use-shared-api-types-beta
f7a33c40chore(deps): bump espresso-api to 0.14.0
1e76922cchore(types): use shared socket, settings and device info types from espresso-api
bd445a2bMerge pull request #626 from MeticulousHome/feat/shot-data-sharing-fullscreen
2b47f41efeat(settings): show help us improve full screen and return to the prompt
af22b11ffeat(settings): prompt for shot data sharing after the boot animation
3e5e7e14feat(settings): add help us improve screen for shot data sharing
2026-10-01 00:47:00 - version: 2026M1443-beta
meticulous-machine updated
61e8eaba62c7 → 84b1ae63f095
84b1ae6Merge pull request #129 from MeticulousHome/backpropagate-stable-to-beta-2026-09-25
adba2fdMerge remote-tracking branch 'origin/stable' into backpropagate-stable-to-beta-2026-09-25
7444b72Merge pull request #116 from MeticulousHome/fix/factory_pin_issue
de6f349fix: factory image pinning was not writting backend nor dial branch refs
backend updated
e8b776b9ce22 → e37dcf3539ee
e37dcf3Merge pull request #431 from MeticulousHome/fix/default_profile_removal
da1531ffix(dockerfile.deb): remove copy intruction from non-existent directory
78bf6fcMerge pull request #430 from MeticulousHome/backpropagate-stable-to-beta-2026-09-25
97c6400Merge remote-tracking branch 'origin/beta' into backpropagate-stable-to-beta-2026-09-25
ebd6b3fMerge pull request #427 from MeticulousHome/codex/community-upload-report-diagnostics
11733afMerge pull request #429 from MeticulousHome/codex/add-push-to-brew-duration
58a73b3Preserve beta profile payload projection
dbe0281Merge beta into push-to-brew duration
d30af5aRecord push-to-brew duration in normal shots
2648689Merge remote-tracking branch 'origin/stable' into backpropagate-stable-to-beta-2026-09-25
ef4805eInclude sanitized community upload status in bug reports
aef515dMerge pull request #425 from MeticulousHome/chore/change_simple_profile
a7e6568chore(simple profile): update the simple profile seved when in limited access mode
1649bccMerge pull request #422 from MeticulousHome/chore/limited-backend
e707af2style: apply black and fix flake8 findings
a7e22ffMake report submission and retention idempotent
fa7dd8dfeat: add backend limited access unlock
269281dHarden bug report workflow
ab38a48Merge pull request #416 from MeticulousHome/codex/sw-127-whitelist-esp32-profile-payload-ada
817f99cFilter profile payloads sent to ESP32
dial updated
aed014189bc3 → 74ca42cb33a6
74ca42cbMerge pull request #624 from MeticulousHome/fix/wifi-result-styling-restore
984966e8fix(wifi): restore result-screen styling lost in stable rollback merge
d0c650f1Merge pull request #623 from MeticulousHome/backpropagate-stable-to-beta-2026-09-25
d39c7f35fix(bug-report): send sentry feedback once, never retry
9f131981fix(bug-report): interpolate error into retry warning log
a2be3226fix(wifi): restore known-credentials wiring lost in stable rollback merge
195a2c6dMerge remote-tracking branch 'origin/beta' into test_merge
27c6c0a9Merge pull request #620 from MeticulousHome/codex/community-upload-diagnostics
8208af69fix: preserve upload failure diagnostics when queue persistence fails
fb247e4fMerge remote-tracking branch 'origin/stable' into test_merge
725ca8f0Add bounded and sanitized community upload diagnostics
2c15b113Merge pull request #617 from MeticulousHome/fix/espresso-api-lock-integrity
7a04aa57Merge pull request #615 from MeticulousHome/chore/factory_default_profile
bbd9101dfix(deps): sync package-lock with published espresso-api 0.13.0
27926f30Merge pull request #616 from MeticulousHome/chore/limited-dial
05c115a2fix: use initialized report event ID listener
c7c42eedchore: lock espresso api 0.13
00c4074efix: align limited dial with api exports
86c6a883feat: move limited access dial flow to backend
8de93e64fix: harden dial bug report delivery
79408a32fix(bug_report): flush timeout was reporting failure on ongoing report sends for slow networks
32b1382achore(default_profile): change the 9baritalian for the simple profile
dca20ae4Merge pull request #614 from MeticulousHome/codex/stable-wifi-contract-rollback
e7b62aa7chore(default_profile): change the 9baritalian for the simple profile
deb894bThe tarball freezes whatever base-files trixie served on the day it was built (base-files is pinned to trixie for libc, and it rewrites os-release). Every Debian point release ships a new base-files, so a tarball cached across a point release gets its os-release clobbered by the next dist-upgrade. Key on the archive version so each point release forces a tarball rebuild that resyncs base-files.
uboot updated
00ba0da24a8b → 0c516d30bb60
0c516d30bbMerge pull request #3 from MeticulousHome/codex/sw-122-one-shot-boot-switch
64613439dbFail closed when loading the boot kernel
012ea1c0c0Use rear button for one-shot RAUC switch
backend updated
1ab14dcebd21 → d479dfdd8eb8
d479dfdMerge pull request #417 from MeticulousHome/feat/manual-mode
9c28c0ffeat(manual-mode): node program for manual profiles; multi-stage profile from a manual shot
ee75b69feat(manual-mode): build a profile from a recorded manual brew, POST /profile/from_manual
a9f6d61feat(profiles): seed the two-stage Manual mode profile and hide it from the list
e5cefc4feat(machine): allow the finish action through to the ESP
249fcc5refactor(machine): stop ending the profile on a double click in the serial loop
2419981Merge pull request #390 from MeticulousHome/agent/sw-112-improve-esp32-crash-and-firmware-update-di
f7b19c4Merge current beta into SW-112
8e91d1cMerge pull request #389 from MeticulousHome/agent/sw-111-introduce-an-esp32-owned-uuid-for-hawkbit-
5d7c1b3Format beta integration regression
b70704dMerge beta into SW-112
01a4bf8Merge beta and resolve integration conflicts
c701890SW-112: mirror firmware log casing in regressions
5687ef5Merge current nightly into SW-112
8b611e7SW-112: preserve reset reasons across startup logs
750833cMerge pull request #403 from MeticulousHome/fix/clamp-debug-shot-retention
db9765afix: clamp debug shot retention to a maximum of 365 days
81cc5b5Merge pull request #413 from MeticulousHome/feat/mileage-counter
8d60707fix(machine): keep asking for the mileage until the ESP answers
927f141fix(machine): refresh the mileage cache when a shot ends
e9f6655feat(api): expose machine mileage in shot statistics
06f3407feat(machine): seed and read the ESP mileage counter
4e96718Merge commit '07cf9b559ee48f877d386fcf032660d764af4cb0' into beta
07cf9b5Merge pull request #412 from MeticulousHome/backpropagate-beta-to-nightly-2026-09-03
00f2c79Backpropagate beta into nightly (2026-09-03)
d721e8dMerge pull request #405 from MeticulousHome/feat/remove_hawkbit_updater_restart
bec0a2fMerge pull request #411 from MeticulousHome/fix/wifi_list_blocking_cold_scan
da6448bMerge pull request #409 from MeticulousHome/fix/wifi_health
ca182eefix(wifi): block the wifi list response on a cold-start scan
78e9a4bfix: add 'verified' flag to the wifi health status response
7f3d537Merge pull request #408 from MeticulousHome/backpropagate-beta-to-nightly-2026-08-25
8edd9d6Merge beta into nightly
334bb98Merge pull request #407 from MeticulousHome/split/pour-over-profiles
cc82f72Add Pour Over profile storage and API
cf14e06Merge pull request #398 from MeticulousHome/split/pour-over-history
a06be26ota: stop restarting rauc-hawkbit-updater on channel change
87786d4Add durable Pour Over history storage and API
9465c52Merge pull request #391 from MeticulousHome/codex/tare-behavior-retraction-distance
f2ce7b4SW-112: Improve ESP32 crash and firmware-update diagnostics in Sentry
e0c3f16SW-111: Introduce an ESP32-owned UUID for Hawkbit Controller ID migration
f6c1bf8SW-112: address review round 1
3712df1SW-111: address review round 1
457815eSW-111: Apply repository formatter
0d81cfaSW-112: Improve ESP32 crash and firmware-update diagnostics in Sentry
ec5e722SW-111: Introduce an ESP32-owned UUID for Hawkbit Controller ID migration
005f8dbSW-112: Improve ESP32 crash and firmware-update diagnostics in Sentry
fe2d11cSW-111: Introduce an ESP32-owned UUID for Hawkbit Controller ID migration
af60d51SW-111: Introduce an ESP32-owned UUID for Hawkbit Controller ID migration
625dd92SW-111: Introduce an ESP32-owned UUID for Hawkbit Controller ID migration
87c623dSW-112: Improve ESP32 crash and firmware-update diagnostics in Sentry
ee2474bSW-112: Improve ESP32 crash and firmware-update diagnostics in Sentry
5b66bcbSW-111: Introduce an ESP32-owned UUID for Hawkbit Controller ID migration
5d0869cSW-112: Improve ESP32 crash and firmware-update diagnostics in Sentry
15cbc11SW-111: address review round 1
7526b73SW-112: Improve ESP32 crash and firmware-update diagnostics in Sentry
c6668d9SW-112: Improve ESP32 crash and firmware-update diagnostics in Sentry
d8fb84dSW-112: Improve ESP32 crash and firmware-update diagnostics in Sentry
884345fSW-112: Improve ESP32 crash and firmware-update diagnostics in Sentry
6174a7dSW-112: Improve ESP32 crash and firmware-update diagnostics in Sentry
17d3be9SW-111: Introduce an ESP32-owned UUID for Hawkbit Controller ID migration
4361a9dSW-112: Improve ESP32 crash and firmware-update diagnostics in Sentry
29f2aa7SW-112: Improve ESP32 crash and firmware-update diagnostics in Sentry
caee357SW-112: Improve ESP32 crash and firmware-update diagnostics in Sentry
6b429a0SW-112: Improve ESP32 crash and firmware-update diagnostics in Sentry
5ce87c1SW-111: Introduce an ESP32-owned UUID for Hawkbit Controller ID migration
8bb99f2SW-112: Improve ESP32 crash and firmware-update diagnostics in Sentry
a59a8fcSW-112: Improve ESP32 crash and firmware-update diagnostics in Sentry
0bee176SW-112: Improve ESP32 crash and firmware-update diagnostics in Sentry
9ff2b5fSW-111: Introduce an ESP32-owned UUID for Hawkbit Controller ID migration
7a1638dfeat: support configurable tare behavior
69086adMerge pull request #380 from MeticulousHome/beta
21a2bf7Merge pull request #374 from MeticulousHome/beta
dial updated
025b3c8d03d1 → aed014189bc3
aed01418Merge pull request #611 from MeticulousHome/feat/manual-mode
f9f0c0bdfeat(manual-mode): setup flow from a quick-settings experimental menu
a3dd5441feat(brew-complete): save a manual brew as a profile from the quick menu
c9538598feat(barometer): flow ring and control-coloured target for manual brews
43d30088feat(barometer): manual target tick with a comet trail, driven from the stream
394aa81afix(gestures): only the brew screens forward a double click to the machine
32b98299feat(gestures): the dial decides what a double click does during a shot
0401a906Merge pull request #572 from MeticulousHome/agent/sw-97-investigate-occasional-slow-performance-in
336b2c52revert(privacy): restore beta serial tag
c80228abfix(privacy): scope serial to slowdown reports
7fd63bachore(backlight_controller): remove \"jump to target if re-request\" on brightness thread
web-app updated
4061dd0764e3 → b9bc6563c021
b9bc656fix archive.zip download path to avoid cross-site issues
2026-02-26 14:28:45 - version: not recorded
linux updated
f7e1dec23d55 → 9e14e4a6eb19
9e14e4a6eset the usbotg1 node as host only on meticulous DT
backend updated
a843576a8fd4 → 96b9fdcbe5e7
96b9fdcchore: do not send notification when the ESP restarts unexpectedly
8c314f8fix: set the esp_reset_request flag before calling _connection.reset()
8458171fix: patch Infinity tokens in shot files on access
4add933fix: sanitize Infinity/NaN in setpoint parsing to produce valid JSON
135da60ssh,services: add toggle for fluent-bit
f6c7126fix: check for the real client IP on the X-Real-IP header set by nginx
a9c8c16fix: do not create new logging handlers if there is one alrady created
31e479dchore: use machine name + serial number on usb test
58726e1chore: reframe way of testing usb connection
bd11803fix: check ESP message validity before reporting ESP issued
12921e1fix: expect a restart when updating ESP firmware
43954f6chore: sync python version among developer system, github runner and the Meticulous machine interpreters
2cf5b4dchore: run against play_sound.py
1cbfea8chore: increase motor MAX_ENERGY_ALLOWED threshold to 25000
734b83fFix f-string syntax error in machine.py line 518
f7f5928hore: variable rename and send ESP errors to backend sentry project too
dd2f7dechore: adequate logging of ESP Log messages
44d1ad1feat: add Sentry client for espresso-firmware sentry project
7935814feat: Add ESP monitoring
eb6980dchore: refactor alarms.py - Added 2 new alarms: - ESP_RESTART - ESP_DISCONNECTED - Added the feature to only set alarms for the duration of the session passing the end_time of the alarm as None it will not write an alarm file nor the alarm will be cleared by the AlarmManager - Added `quiet` option to `AlarmManager.setAlarm` to not send a notification to the dial app
3c19fdefeat: add a timeout to the ReadLine.readline fnc
c2e23c0alarms: dont hardcode the path
1db4db4sounds: ensure the sound player is in a lock
4216688fix: add the ESPInfo to the machine attribute
5a59fe8chore: Add all the machine information to debug logs, not only ESPInfo
8b7c870run black and flake8 commands
41bfb1dfix: convert percentage to position for position triggers
56c59e4fix: infinite end time in alarms was not compatible with integer type used in alarm messages
03aa94dchore: use NamedThreads instead of Threads
718ae1achore: sync up shot manager saving data and motor stress analysis
fd9c83afeat: alarms implementation
528e86bfeat: add motor energy compensation for when the machine is OFF
5415262chore: add warning image to notification of stressed motor chore: move all base64 image representations to `images/notificationImages/base64.py` to import from there
4a8d2e6feat: implement motor energy data saving thread to avoid losing it when turning the machine off
a1c7932chore: improve motor energy calculation
01470fffix: change absolute time reference from 4 to 1
dial updated
6aadb620e541 → 46794a991b31
46794a99chore(displayalignment): reduce number of vertical lines to 1
2f77dcc4chore(release): v1.102.2 [skip ci]
37f9d784fix(profilehomescreen): add missing useSocket import for profileHover emit
d5e12478Emit profileHover on physical device profile selection
6ef6cfa4chore(release): v1.102.1 [skip ci]
ce7802a2chore(lint): run formater
dc4e7ff1fix(store): add remove and clear actions to profile image adapter
cd569b48fix(hooks): add timeout cleanup to retry logic in usefetchdata
51d76a09fix(idle): reduce polling interval from 2s to 60s during idle screen
3e997f91fix(idlescreen): prevent orphaned timeout chain in screen dim cycle
0e5194d6fix(socket): add cleanup for all socket event listeners
766b1c6efix(socket): fix keyup listener never being removed on cleanup
a6a3bbd7chore(release): v1.102.0 [skip ci]
5200d31afix(heatingscreen): fix glitch if dial app crashes on click to start
1b30195efix(advanced): heading comma on initialsettings array
79a24f50fix(idlescreen): force update brightness to 1 on unmount
4a010824fix(settings): remove deprecated usb key
51b45b9bfeat(config): add telemetry service config
efd2b0acchore(settings): remove usb_mode screen
5d7a6385chore(release): v1.101.2 [skip ci]
8e4f58a0fix(homescreen): keep a quick screen transition on profile request
af5ff35echore(profilehomescreen): handle errors if loadprofile fails
web-app updated
f16041429cf3 → 4061dd0764e3
4061dd0update @meticulous-home/espresso-api
56e37d6add debug archive download button
7dbe1f6fix: needed connection to analytics to modify any setting
watcher updated
311cf70eb042 → e150083e4ed0
e150083move log and status collection into their own files and add compressed archive export
firmware initial
pinned to 6d3b36733e2c
plotter-ui initial
pinned to cec4db6d56aa
2026-02-26 14:23:03 - version: not recorded
linux initial
pinned to f7e1dec23d55
uboot initial
pinned to 00ba0da24a8b
atf initial
pinned to bed39c167c88
imx-mkimage initial
pinned to 71b8c18af93a
debian initial
pinned to db279cf0c71d
backend initial
pinned to a843576a8fd4
dial initial
pinned to 6aadb620e541
web-app initial
pinned to f16041429cf3
watcher initial
pinned to 311cf70eb042
rauc initial
pinned to 269e1721b3c5
hawkbit initial
pinned to 60f34c8cdd0d
psplash initial
pinned to 5b0085b559f1
crash-reporter initial
pinned to 9c377cac4a53
2026-02-26 18:46:11 - version: not recorded
linux initial
pinned to 9e14e4a6eb19
uboot initial
pinned to 00ba0da24a8b
atf initial
pinned to bed39c167c88
imx-mkimage initial
pinned to 71b8c18af93a
debian initial
pinned to db279cf0c71d
backend initial
pinned to 1919d3471ce1
dial initial
pinned to 9e278764e6e8
web-app initial
pinned to 7dbe1f6a0850
watcher initial
pinned to e150083e4ed0
firmware initial
pinned to 30d86debbc93
rauc initial
pinned to 269e1721b3c5
hawkbit initial
pinned to 60f34c8cdd0d
psplash initial
pinned to 5b0085b559f1
plotter-ui initial
pinned to cec4db6d56aa
crash-reporter initial
pinned to 9c377cac4a53
2026-09-04 17:40:18 - version: 2026M1401-nightly
backend updated
7f3d537231b6 → 07cf9b559ee4
07cf9b5Merge pull request #412 from MeticulousHome/backpropagate-beta-to-nightly-2026-09-03
00f2c79Backpropagate beta into nightly (2026-09-03)
d721e8dMerge pull request #405 from MeticulousHome/feat/remove_hawkbit_updater_restart
bec0a2fMerge pull request #411 from MeticulousHome/fix/wifi_list_blocking_cold_scan
da6448bMerge pull request #409 from MeticulousHome/fix/wifi_health
ca182eefix(wifi): block the wifi list response on a cold-start scan
78e9a4bfix: add 'verified' flag to the wifi health status response
a06be26ota: stop restarting rauc-hawkbit-updater on channel change
dial updated
d607b24e3a86 → ce0148ed2b16
ce0148edMerge pull request #602 from MeticulousHome/fix-analog-clock-local-time
7e818ebeMerge pull request #604 from MeticulousHome/backpropagate-stable-to-beta-2026-09-03
ced4d216Backpropagate stable into beta (2026-09-03)
2b0f9850Merge pull request #603 from MeticulousHome/fix/pin-tauri-cli-version
e43d5e79fix(docker): pin tauri-cli to a released version instead of git main
b2444c00test(clock): record native timezone validation and stabilize browser fixture
d9bcf629fix(clock): synchronize analog clock and settings with os local time
bdd0f6a0Merge pull request #601 from MeticulousHome/backpropagate-beta-to-nightly-2026-09-03
6215c41cBackpropagate beta into nightly (2026-09-03)
b7ed55bfMerge pull request #600 from MeticulousHome/chore/wifi_issues_ui_change