v1.1.0-beta.1
The first beta of the 1.1 line. It carries everything in 1.0.2 plus about two thousand
changes made on the trunk since 1.0 branched, and most of them land in four places.
The home screen was rebuilt on a square grid, and editing it finally works the way you
expect. Tool changers and multi-toolhead machines gained the tools they were missing:
per-tool offsets with automatic calibration, the multi-tool screens on IDEX and
dual-extruder machines, and on the Snapmaker U1, loading or unloading several heads in
one go. Add-on chamber heaters became first-class, with a diagnostics card that tells
you why a heater is not heating. And the filament screens now know where every piece
of lane information came from, so an edit you make, the printer's own record and
Spoolman's spool data stop silently overwriting one another.
Why the version has a -beta.1 on it. Beta builds carry the release they are
heading for plus a prerelease suffix, which sorts below the plain 1.1.0 that the
stable 1.1 release will use, and above every 1.0.x fix on the stable line. So a
hotfix on 1.0 never looks like an upgrade to you, and 1.1.0 arriving does. To get
this build, set the update channel in Settings to Beta.
Upgrading from 1.0?
- Your home screen is converted, not reset. Widgets keep their relative place: one
that filled the left third of the screen still does, and widgets that touched still
touch. Sizes can shift slightly because the new grid divides the screen differently,
and a widget that genuinely no longer fits is re-placed on its own. Your widgets,
their settings and your extra pages all carry over. The conversion runs the first time
the home screen is drawn, and what you see then is what gets saved. - Going back to 1.0 costs you the home layout. A 1.0 build saves home positions in
its own grid's units, so when you return to 1.1 the home screen comes back rearranged,
or, from some 1.0 builds, reset to its defaults. Arrange it again in edit mode.
Everything else survives the round trip. - Your 1.0 settings are kept (#1305). The first start of 1.1 saves your old
settings.jsonbeside the new one assettings.json.pre-migration, before converting
it. HelixScreen never reads that copy back; it is there if you want your 1.0 settings. - Display sleep turns the backlight off, as in 1.0.2 (#1594, #1708). 1.0.1 powered
the panel down at sleep, which left some AD5X, U1, K1, K2 and Pi DSI panels wedged or
cycling colours on wake. The panel is now powered down only when there is no backlight
to turn off. The/display/panel_power_offsetting in settings.json still forces it. - Print preparation tracking needs nothing from your config (#1234). The phase
tracking toggle, the installer's--with-phase-trackingflag and the plugin service
that rewrote PRINT_START are gone; see Changed below for what happens to a PRINT_START
that was already instrumented. - Some installs move on disk, automatically. On the AD5M, HelixScreen's own files
move to/data/.helixscreenso they stop showing up in the print file list. On the K2,
the install moves off the 240MB system overlay onto the user partition.
Both are migrated in place by the update. helixscreen.envvalues are taken literally (#1682). The file is no longer run
through the shell, so$VAR,${VAR},$(command)and backticks are not expanded.
A line using them is skipped with a warning in the log, so write the final value
itself. Only the settings documented for this file are accepted; anything else is
skipped and logged. A few values are checked before they are used: the log file has
to be a.logunder/tmp,/var/logor the install folder, andHELIX_NICEhas to
be 0 to 19. An env file that the web interface can edit, like the one the Snapmaker U1
keeps inprinter_data, is honoured.- A custom update server moves out of
settings.json(#1718).settings.jsoncan be
edited from the web interface, so it no longer chooses where updates are downloaded
from. To point a printer at your own server, putr2_urlordev_urlin
/var/lib/helixscreen/update_urls.json, a file only root or HelixScreen's own user may
own. The old keys insettings.jsonare ignored, and the log says where to move them.
A customlog_pathhas to sit under/tmp,/var/logor HelixScreen's own folders. - A refused
helixscreen.envsays so on screen (#1712). When the file cannot be
trusted (wrong owner, or still writable by others after the automatic repair) the
launcher used to fall back to defaults with nothing on the display. Now a startup
warning says what is wrong, names the one command that fixes it, and stays on screen
until closed; lines the launcher skips (a setting this file may not change, shell
syntax in the value, a bad quote) are listed with the key and the reason each was
ignored.
Still being proven. Two features in this beta are hidden unless beta features are
on, because they have not yet been checked on enough real machines: the belt tension
tuner, which has never measured a real belt, and the Tool Offsets screen. Several
filament-system changes below were built from captured printer data rather than on the
hardware itself, and say so where that is the case. Reports from owners of those
machines are exactly what a beta is for.
Added
Home screen
- One square-cell grid on every panel (#1126, #1559) - the home screen divides both
axes by the same cell size, so a cell is square on every display and a rotated panel
transposes its layout exactly. Widgets place and resize at half-cell steps, three times
the resolution the old grid had. Every shipped
layout was redrawn for the new grid, including a new ultrawide layout for 1480x320 and
1920x440 panels, which used to draw into the left fifth of the screen. - Edit mode shows where a widget can land - whole-cell dots are always drawn, and the
half-cell dots between them appear only while the selected widget can use them. A
visible dot is a legal drop target. - Pages swipe in edit mode, and widgets move between them (#1638) - carry a widget
past a page's edge, or hold it there, and the next page slides in under your finger.
Add a page by tapping the "+ Add page" tile one swipe past your last page, in edit
mode or not; it is there even when you have a single page. In edit mode you can also
drag a widget past your last page: an empty page slides in, and dropping the widget
there creates the page. At your first page's left edge nothing slides in: let go with
most of the widget past that edge and a new page is created in front of it. At the
8-page limit there is no "+ Add page" tile and neither edge creates a page. - The widget catalog opens by category, with search (#1016) - thirty-seven widgets in
one scroll had become something you hunt through, worst on 480px panels. The catalog
now opens on five categories, has a search box that matches names and descriptions,
and lists widgets this printer cannot use in their own section with the reason. Widget
names and descriptions are translated for the first time. - UI Scale setting, with a layout per scale (#1484) - Settings -> Display & Sound
gains a UI Scale choice: Automatic, which shows the scale it picked, or a fixed 100 to
200%. Each scale keeps its own home arrangement, so trying a different scale and coming
back restores the layout you had, which 1.0 could not do. On very high-density
displays such as phones, Automatic now scales by the screen's real pixel density
instead of drawing everything a third of its intended size. - Proper sizing on 1080p and larger panels - a 1080p screen used to get the same
widget size as a 720p one while text and icons grew 1.6x around it, so labels ran out
of their boxes. Large panels have their own size tier now. - Navigation buttons read by shape, not just colour - inactive buttons use outline
icons and the active one is larger and filled, which survives washed-out panels and
colour-blind eyes. (thanks @just-trey)
Home screen widgets
No widget types were added or removed; most of the existing ones changed.
- Icon tiles resize - the single-icon tiles (power, lock, shutdown, firmware restart,
LED, network and the rest) scale with their tile instead of staying one fixed size, and
can be resized for the first time. On most panels they take half-cell steps in width;
on the smallest panels, and for the Power tile, they keep whole cells. A widget refuses
a size it cannot draw, and edit mode shows that size in red. - The filament sensor tile is tappable - a tap opens its dialog, where Load, Unload,
Purge, Resume and Cancel Print all work. Which sensor the tile watches is picked in
edit mode. - The clog meter is a readable scale (#1017) - at one cell the gauge, its value and
its label were crammed into a box narrower than the words. It is now a two-cell
horizontal scale labelled at each end (TANGLE and CLOG for FlowGuard, SAFE and FAULT or
a detection length for the others), so a reading tells you which fault it is heading
toward. Tapping the FlowGuard tile shows the actual reading instead of only the mode. - The temperature and fan stacks adapt to their shape - given height, they put each
icon above its reading; kept compact, they sit side by side. - The nozzle temperatures tile fits any size (#1613) - it picks its font by the
tile's height and its labels by width, shortening labels before shrinking numbers. - Choose which camera a widget shows (#1487) - a camera widget's settings list
Automatic plus every webcam the printer has, noting snapshot-only feeds and cameras
that were ruled out. The choice is remembered by camera name, so it survives an address
change, and falls back to Automatic if that camera goes away. - Scheduled pauses are marked on the progress bar (#1509) - filament changes (
M600),
PAUSE/M601and slicer pause-at-layer stops each draw a tick where they fall in the
print, on the home print card and the print screen. A file sliced withM73progress
places the ticks at the slicer's own percentages. - The bypass tile works - it could be added but never appeared, and it showed as
engaged whenever the printer did not report bypass at all. - Firmware restart and job queue tiles no longer clip, and icons step down a size on
large panels, where ten widget and screen-size combinations were clipping.
Tool changers and multi-toolhead printers
- IDEX and dual-extruder printers get the multi-tool screens (#1350) - a printer is
now recognised as multi-tool by counting its hot ends, so IDEX machines, dual
extruders and tool changers that do not run klipper-toolchanger get the tool selector
and filament screens instead of the single-extruder ones, andT0/T1tool switching
works on them. Built from test configurations; not yet verified on these machines. - Tool Offsets screen with automatic calibration (#1480) - per-tool X, Y and Z offsets
in one place, and a one-tap calibration that runs your printer's own routine, follows
it live, and saves every axis with a single restart. Where that routine calibrates
every tool, the manual paper test is hidden. Beta-gated for now. (thanks @Monstrofil) - Per-tool Z offset from Print Tune - Print Tune has a Global / T0..Tn selector, so
each tool keeps its own first-layer height, and the save button appears whenever any
tool's offset is unsaved and writes it permanently. It used to vanish after the next
Klipper restart. - Snapmaker U1: load or unload several toolheads at once - a picker lists every head
with what it holds, pre-ticks loaded heads for an unload, and says which heads cannot
take the operation and why. The printer's own batch command does the work, preheating
the next head while the current one finishes, and the header names the head being
worked on.
Filament systems
- Your edits, the printer and Spoolman stop overwriting each other (#1649, #1653) -
every piece of lane information now has a known source, and the more trustworthy
source wins instead of whichever wrote last. A colour you pick for a lane beats the
linked spool's and keeps its colour name. A spool linked from Spoolman owns its brand,
material and name (read-only while Spoolman is unreachable), and its remaining weight
comes from the server. Your edits on AFC, Happy Hare and ACE are marked as yours in the
printer's shared lane record, so Mainsail or Orca refreshing it does not wipe them. A
reading from one source that leaves a field out no longer blanks what another source
knows. When a printer repeats an edit you made back to the screen, it is still read as
your edit, not as the printer's own data, so clearing it brings back what the printer
really reports (#1633). When another tool writes a lane after you did, the newer edit
wins, whichever side made it (#1632). - A new spool is judged by what the hardware read (#1710) - when a spool goes into a
slot, a different tag, or a different material or colour read off the spool, clears the
old spool's details; a matching read keeps them. When the hardware can't tell (an
untagged spool, or a slot the firmware only remembers), your details stay and a small
"Same spool?" notice offers Clear. It is not shown on the lane feeding a print, or for a
slot with nothing to clear. - Spool swaps are noticed, even with the screen off - each lane remembers a
fingerprint of the spool it held, so a spool swapped while HelixScreen was not
running clears the old spool's edits instead of painting them onto the new one.
Works on QIDI Box, the Snapmaker U1 (by the spool's RFID tag) and Creality CFS,
including Kalico-based CFS setups. - QIDI Box lanes behave like every other system (#1632) - slot presence, swap
detection, edits that persist and repaint, and a Clear Spool that clears the Box's own
records. - Humidity and drying per box - the filament environment screen follows the way
your hardware actually encloses filament: one heated enclosure over four slots, a
sealed box per lane, or one box per unit. Each box shows its temperature and humidity
and names the slots it covers, and its dryer is set from the numeric keypad within
what that box accepts. A single box opens straight to its details, a few identical
ones get tabs, and boxes that can do different things are listed side by side. When
the dryer can only heat some boxes at a time, the waiting ones say they are queued
and which box is using the heater. - Favourite filaments (#1100) - star any row in the filament catalog. Favourites lead
the vendor list and float to the top of their vendor's view, on every printer. - Load and Unload for the external spool (#1486) - the bypass spool's menu on the
filament system screen now has its own Load and Unload, engaging bypass first when
needed, so you no longer have to go to the Filament screen for it. - ACE shows where the filament actually is (#1677, #1678) - the path reads the ACE's
hub and toolhead sensors, so a strand parked short of the hub is drawn there rather than
back at the spool. An ACE Pro with a fifth spool on its bypass switch gets a working
bypass control. - AFC buffers with a pressure sensor drive the buffer meter - an
FPS_PSFbuffer
reports what Happy Hare's sync feedback reports, so the buffer meter and path tint
work on AFC unchanged. Not yet verified on hardware. - AD5X tool remapping uses the IFS's own commands - the screen reads and writes the
printer's tool map throughIFS_MAP_TOOL, so a remap matches what the printer reports. - Spool labels lead with the spool number (#1491) - on every label layout the spool
number is the first and largest line, and weight moves to its own line so a narrow tape
truncates that rather than the number.
Chamber heaters
- Add-on chamber heaters are detected and explained (#1290) - DragonBreath and Panda
Breath heaters are found at startup, each with its own safety ceiling. On the
temperature screen, the chamber card shows any fault with a translated reason and a
Reset button, the element temperature, and the filter fan with its own toggle, so the
graph keeps the rest of the screen. Like
every heater, the chamber heater's status also shows how hard it is working as a
percentage. A heater that has dropped off the network says Offline instead of offering
a target it cannot reach. The Panda Breath's status format has not been verified on a
stock unit.
Printing
- Heater duty on every heater (#1290) - the Controls and print status screens show how
hard each heater is working as a percentage beside its status, so a nozzle running flat
out and falling behind looks different from one holding temperature easily. - Chamber temperature per material (#1263) - Material Temperatures has a chamber
column, editable on printers with a chamber heater. - Pick the next file while one prints (#1395) - a Files button on the print status
screen opens the file list mid-print. Starting a print stays blocked until the current
one ends, and the start button says so. - K2 with the k2-improvements mod - its print start sequence is recognised, so the
preparation steps are named correctly, heat soak and the chamber wait show as soaking,
and the bed is no longer meshed twice. - Camera button on remote screens - running HelixScreen against a printer on another
machine, the print screen gains a Camera button for the full-screen webcam view. It
stays hidden on the printer's own screen. - Macros remember their parameters - save default values for any macro that takes
parameters, from edit mode in the Macros panel or a home Macro Button's options. With
Ask for parameters on, the form opens already filled in; switch it off and the macro
runs straight away with the saved values. Defaults are kept per printer, and a
dangerous macro still asks for confirmation.
Calibration and tuning
- Pressure advance, measured by the printer (#1452) - on printers that can measure it
themselves, a Pressure Adv. button on the Controls panel runs the measurement for the
tool you pick and shows the result, flagged if it's outside the usual range. The
Snapmaker U1 applies and keeps the value; on the FlashForge Creator 5 Pro you copy it
into the slicer. Takes a few minutes and heats and purges. (thanks @Monstrofil) - Belt tension by plucking (#1303, #1231) - park the gantry, pluck each belt by hand,
and the tuner listens on the accelerometer and reports the belt's frequency as the
median of five good plucks, with a live waveform and spectrum. It reads the whole
harmonic series rather than the tallest peak, which is what made the old driven sweep
report some belts a full octave sharp. Beta-gated: this has not yet measured a real
belt, and it stays hidden until it has (BELT_TUNER.mdhas the validation plan). - Switch a Kalico heater between PID and MPC (#1237) - the method selector on Kalico
printers is out of beta. It migrates your config in both directions, and cancelling a
running MPC calibration asks first, because cancelling means an emergency stop and a
firmware restart. - Input shaper saves the shaper you picked - the chips under the results graph are
now one choice per axis, and Save writes that choice to your config. Save used to
write Klipper's own recommendation regardless of what you selected. - Motion settings - jog speeds and step distances are yours to set, under Settings ->
Printing -> Motion or from the cog on the Motion screen's header. Separate XY and Z
speed sliders, and all six step distances (the jog pad's inner and outer rings and the
two Z buttons) take any value you type. Speeds are capped at the printer's own speed
limit, including one the printer reports after you set them, and Reset Distances asks
before wiping your values. - Z jogs stop at the axis limits - a Z jog that would run past the end of travel stops
at the limit and warns once, instead of sending a move Klipper refuses. X and Y already
worked this way. - Your baby-step size is remembered - the Z-offset step you last used is the one you
get next time.
Printers
- VzBot 330 and 235 (#1689), FLSUN S1 and S1 Pro, and the base Creality K2
(#1606), each with artwork. The base K2 is now told apart from the K2 Plus and Pro, and
its camera option no longer claims the Plus's AI model. - Snapmaker U1 firmware settings - the pre-print toggles (bed mesh, input shaper,
pressure advance, timelapse) read and set the firmware's stored values instead of
always reading off. Tangle sensitivity, end-of-print unload per toolhead, and manual
bed levelling with a PEI plate check are all on screen.
Loading preheats to the firmware's own temperature for that filament. Firmware faults
appear with translated wording. - Snapmaker U1 with the multiACE mod (#1426) - keeps its filament screen instead of
being mistaken for a plain ACE setup.
Small and portrait screens
- The Motion screen gives the jog pad more room - the X, Y and Z position moves into
the header, so on a landscape panel the jog pad takes the width the position card used,
about a third wider at 480x320. An axis that is not homed shows its position greyed
out. On a portrait panel the jog pad sits beside a tall Z column, with the jog modes and
levelling buttons in one row underneath. - The Filament screen fits small and portrait panels - on a portrait panel it becomes
one column, and the temperature graph shows only when there is room for it, with a graph
button on the spool strip to open it otherwise. The Load, Unload, Purge, Extrude and
Retract buttons are full size and stay put whether or not the cold-extrusion warning is
showing. Cool Down keeps its place in the material grid, greyed out while nothing is
heating. The tool picker shows the tool's number (or the name you gave it), and on the
Snapmaker U1 it is labelled Toolhead.
Display and sound
- Bouncing Printer screensaver (#1680) - the screensaver everyone already knows.
Your printer drifts across a black screen and reflects off the edges, picking up a new
tint on every wall. Land a true corner and it celebrates. The sprite is whatever
printer this screen is attached to, auto-detected or picked by hand, so a Trident
bounces a Trident. It costs a fraction of what Flying Toasters does; on
AD5M-class hardware the corner celebration is a backdrop flash rather than confetti, to
stay clear of the print loop. Select it under Settings -> Display & Sound ->
Screensaver. (thanks @Tintef) - Fireworks screensaver - shells rise from behind a line of hills under a starry
night sky, trail sparks, and burst as peonies, chrysanthemums, willows or rings, each
spark fading from white through its shell's colour to an ember. It adjusts how many
sparks and bursts it draws to what the board can afford. Select it under Settings -> Display & Sound
-> Screensaver. - All five screensavers on every board - Flying Toasters, Starfield, 3D Pipes,
Bouncing Printer and Fireworks now run on the AD5M and Centauri Carbon too, which had
none, and on every other board with a 16-bit display. Each saver draws less on a
slower board rather than stalling it, and the starfield redraws only what moved, so it
costs a small fraction of what it did. - The AD5X buzzer plays chords and music - UI sounds play as chords, tracker music
plays in four voices, andM300beeps from your macros take the buzzer when Klipper
holds it. - On-screen keyboard keys look like keys - each key has a raised edge in its own
colour instead of a flat black shadow. - Hardware rotation with touch that follows (#1275) - a panel turned 180 degrees can
rotate on the display hardware where it supports it, and touch, mouse and touch
calibration all follow the turned picture. Quarter turns stay in software, which is
the only way touch can follow them today.
Setup and settings
- Find your printer by searching (#1028) - first-run printer selection replaces the
scroll through about 105 machines with a search box, a grid of vendors and a list per
vendor. - Install HelixScreen's helper macros from Settings (#1271) - a row under Advanced
installs or updates the macro pack without running the installer. It backs up
printer.cfgfirst, restarts Klipper right away when idle, offers the restart for
after the print when one is running, and refuses to touch anything mid-print. - Hardware Health shows its status - the Settings row carries the live result with a
severity-coloured icon, and critical problems get their own alert icon.
Files and USB
- USB sticks mount on boards that do not mount them - where nothing else mounts a
USB stick, HelixScreen mounts it read-only itself and unmounts it on shutdown. Sticks
plugged in while the app runs appear within about a second, and short DOS-style names
such as3DBENC~1.GCOare recognised as G-code.
Installing and updating
- One package for the K1 series and the AD5X - both boards run the same build, which
is smaller than the K1C's was. It is still published under each board's name, so
existing updaters keep finding it. - Smaller downloads - packages carry only the splash screens and printer images the
panel's resolution can show (K2 assets 42MB to 9MB, Centauri Carbon to 2.8MB), and
embedded packages drop music the machine cannot play. - Logs and caches survive an update - on the K1, Centauri Carbon, U1 and AD5X, a web
update used to delete the logs you needed and throw away the thumbnail cache. Both now
live beside the install instead of inside it.
Changed
- Clear Spool forgets everything (#1661) - it erases everything HelixScreen and the
printer's firmware remember about the slot, leaving only what the hardware can
physically read. That includes the printer's own record: the whole gate map entry on
Happy Hare, and the slot record on AFC, AD5X, QIDI Box and Kalico-based CFS. ACE, the
Snapmaker U1 and stock CFS keep their own record, because their firmware offers no way
to erase it or re-reads the spool's tag. Clearing a single field brings back what the
machine reports for it. Clear Spool is refused on the lane feeding a print that is
running, paused or preparing, and the menu says why. On Happy Hare in Spoolman pull
mode, clears and edits are refused with Spoolman named as the reason, instead of
appearing to work. - Emptying a page in edit mode removes it (#1638) - moving a page's last widget
elsewhere, or removing it, deletes the empty page. The main page always stays, and so
does a page holding widgets greyed out because their hardware is not detected. - Print preparation phases are inferred (#1234) - the screen works out the current
phase from toolhead movement and temperatures, on any printer, without editing its
config. A PRINT_START that already carriesHELIX:PHASEmarkers keeps working.
Uninstalling the plugin (Settings -> Advanced, orinstall.sh --uninstall) removes those
markers from PRINT_START, backing up each file it edits as<file>.bak.<timestamp>;
the change takes effect at the next Klipper restart. The Uninstall row now reports
what actually happened (a clean removal, one that left a file for you to look at, or a
failure) instead of always saying it worked. - Tool changers without ASSIGN_TOOL remap without beta features - the job file is
rewritten before printing whenever remapping needs it, and the plugin's Install row is
back in Settings -> Advanced, no longer beta-gated. A dialog at startup warns when
Moonraker is too old for remapping, and can be dismissed per printer. - Loading filament does not preheat twice (#1494, #1495) - when the filament system,
your macro or the "allow cold load" setting already handles heat, the screen no longer
preheats first. On QIDI printers this stops a preheat that the stock macro then
overrode. - Temperature keypads stop at your printer's maximum (#1615, #1619) - and say what
the limit is when you hit it. Material temperature presets are not limited, so an ABS
preset above a 260 degree hotend's limit saves fine and is applied at the limit. - K1: Creality Print keeps working (#1468, #1637) - installing HelixScreen on a K1 no
longer stops Creality's backend services, so Creality Print can still reach the
printer. Only the stock screen is replaced. - K2: spaghetti detection keeps working (#1378) - installing HelixScreen takes over the
camera and the stock detection service, so HelixScreen now runs the K2's own AI model on
camera snapshots during a print instead. It follows the printer's AI settings the first
time, then Settings -> Safety & Notifications -> Spaghetti Detection and Pause on
Detection are yours. The alert is translated and shows the detection's confidence, and
a print that is already paused is not paused again. Uninstalling restores the stock
service. - Cool Down works on the base K2 - it no longer errors on a K2 whose chamber has a
fan but no heater. Your own customised cooldown macro is never rewritten. - The chamber heater owns the chamber reading (#1465) - a probe named "chamber" no
longer hides the U1's cavity sensor. A sensor you assign by hand still wins. - Snapmaker U1: a print with an unset spool is stopped before it starts - a tagless
spool with no material set is caught up front, instead of the printer heating and
homing and then reporting a runout minutes later. - AD5M: no startup music - playing it ties up the AD5M's single core, and it has
killed prints. The AD5X keeps its music. - Forge-X: installs stay put - HelixScreen installs outside the folder Forge-X
cleans (either of its clean actions deleted the install), and an install that
replaces an older one removes it, which could hold 81MB and put two screens on the
display at boot. A Forge-X install refuses--auto-update, which would have wiped
your preserved settings. - QIDI: the stock screen stays off (#1533) - it is disabled before it is stopped and
kept off at every boot, so it no longer comes back after a restart. Installing sets
aside only the screen software that is actually present, and restores only that. - Uninstalling HelixScreen also removes its Moonraker plugin, so Moonraker stops
logging an error for it on every boot. - Self-built and forked builds do not send diagnostics (#1410) - debug bundles and
crash reports upload only from official release builds by default.
HELIX_DIAGNOSTIC_UPLOADS=1turns them on. - Tools and lanes are numbered from 1 (#957) - everywhere the screen names a tool, a
nozzle or a lane for you to read, it counts the way people do: "Tool 1" and "Nozzle 1"
where it used to say T0, including the pre-print filament check and the tool switcher.
G-code, macros and the console keep the T0 spelling the printer expects. - Portrait home ships the print status card in its Detailed style, which adds the
Job Queue button. - The empty Plugins screen is gone from Settings -> System (#1235).
Fixed
Performance
- Faster drawing on every board - the screen draws directly instead of through a
separate render thread, which measured cheaper on every shipping board. The K1 family
gains an image cache that cuts home screen drawing by about 14%, the home screen loads
its printer picture at the exact size first instead of rescaling on every visit, and
the theme skips rebuilding when nothing changed. - Raspberry Pi: GPU presentation where the Pi has a hardware renderer (#1580) - the
Pi package includes a build that hands finished frames to the GPU. The launcher uses
it only when it finds a real hardware renderer, and falls back to the standard display
path if it is declined or crashes. - Tool remapping streams the file instead of holding the whole G-code file in memory.
- Turning animations off stops all of them, including screen transitions and the
heater icon pulse.
Crashes and stability
- One Klipper fault, one dialog - a shutdown that names its reason no longer stacks a
Printer Error alert under the recovery dialog. While the recovery dialog is up, a
further fault shows as a notification and in the notification history instead of
another dialog. - K1 crash while drawing (#1673) - an image could be freed while the display was
still drawing it. Teardown now waits for drawing to finish, including behind every
dialog. - Crash tapping jog controls after switching printers (#1707), and screens from the
previous printer are freed instead of kept in memory. - Unplugging a touchscreen or mouse could crash the app or leave input dead.
- A bad byte in a Wi-Fi name, printer name or file name (#1493) could stop the app or
silently lose a whole settings save. - Small-memory boards (#724) - a background thread that failed to start could take
the whole app down. - AD5M Pro crash loop - the watchdog could retry a crashing app forever with the
screen dark. It now gives up and hands over to the system. - A whole class of crash when leaving a screen, where a screen reacted to a value that
had already been freed, is closed off across the app.
Network
- A printer whose address changed was retried at the old one forever - the Android
app hanging mid-print until a restart. The printer's name is looked up again before
every reconnect. - A brief disconnect no longer brings up the connection-failed dialog meant for a
printer that was never reached. - An administrator's radio block is left alone (#1697) - HelixScreen stopped turning
Wi-Fi on at boot on machines where it never set Wi-Fi up.