Hello my wonderful Rinkhalsnauts!
This is the November release. A lot of community work landed in this one, and three test builds went out ahead of it, so thank you to everyone who installed them and reported back. If you're on 20260901_01, here's everything that changed.
Highlights
- Prints started from the slicer or the cloud no longer fail about 30 seconds in. Rinkhals' metadata step could rewrite a G-code file while GoKlipper was already reading it, so the printer resumed mid-line and stopped with an "abnormal end of code" style error. The file is now replaced atomically, so a print that has already started keeps reading the original. This was a long-standing race, not something new in 20260901_01. If you added
[!mmu_ace]tomoonraker.custom.confas a workaround, you can remove it after updating. (#128) - Per-gate Spoolman spools for the ACE. Each ACE gate can now be bound to a Spoolman spool, and the binding survives status updates, Moonraker restarts and reboots. The active spool follows whichever gate is loaded at print start and at every tool change. (#157)
- Finished prints are recorded as completed, not cancelled. GoKlipper reports "standby" the moment the file is consumed and only says "complete" after its end-of-print routine, so Mainsail and Fluidd were logging every finished print as cancelled. Rinkhals now keeps reporting the print as running until the printer really is done. (#184)
- ACE prints from OrcaSlicer no longer fail at the start on the Kobra S1 (2.7.2.7). Rinkhals fed filament from the ACE at the same moment the printer started leveling, and the printer aborted with 10539 "Extruder must heat up first". It no longer feeds when the file chooses its own tool, since the printer loads that filament itself. (#196)
- Mainsail no longer freezes and drops its connection over and over after a long print. When a file was sliced without object labels, Rinkhals read the whole G-code on Moonraker's only thread every time Mainsail reconnected, which took about 20 seconds and dropped every connection... so Mainsail reconnected and it started again. It now only reads the top of the file, once. (#111)
- The clock is set after a reboot on printers connected by Ethernet. Rinkhals' time sync waited forever for Wi-Fi that never came up, so the clock stayed in 1970 in LAN-only mode and services that need a secure connection, like OctoEverywhere, couldn't connect. (#143)
- Bed mesh calibration from Mainsail fits each printer. The calibration script is now built from the commands your printer actually has. On the Kobra S1 it heats over the purge bin, wipes, and then stays parked on the silicone pad while it cools, instead of oozing at the wiper exit. The S1 Max keeps the calibration steps it had in 20260901_01 for now. (#101, #205)
- The Heightmap shows the mesh you are actually using, including adaptive meshes, on the Kobra S1 with firmware 2.7.2.7. (#102)
- Kobra 2 Pro 3.1.4: the touchscreen no longer dies when you leave the Rinkhals menu. The K3SysUi patch passed the wrong object pointer, which crashed the Anycubic UI when you returned to it. (#152)
Behavior changes to be aware of
- If you have
[spoolman]configured, the spool picker now appears in Mainsail and Fluidd. There is nothing to switch on. - The spool ID Rinkhals used to make up from the RFID SKU is gone. Spools are now real Spoolman spools you assign.
- Spools are not forgotten automatically.
spool_forget_afteris off by default. To have a gate drop its spool after it has been empty for a while, add for examplespool_forget_after: 300to[mmu_ace]. Putting a different RFID product into a gate still clears its assignment.spool_auto_match(off,uniqueorlatest) is also available and off by default. - A print that uses a tool mapped to an empty ACE gate is refused before it starts, with a message telling you which tool and gate, instead of failing hours later with "Filament is runout". Some prints that used to start (and then fail) will now be refused up front. (#131)
- "Print finished" notifications arrive when the printer actually stops moving, about 25 seconds later than before on the S1.
- New option
auto_feed: Falseunder[mmu_ace]turns Rinkhals' automatic filament feed at print start off completely, if you'd rather leave all loading to the printer.
Printing and calibration
- Large OrcaSlicer files no longer time out during metadata processing. The limit went from 20 seconds to 300. (#126)
MMU_TTG_MAPaccepts a partial map such asMAP=0,2instead of crashing or silently resetting, and when used mid-print it tells you it applies from the next print.- The bed mesh profile load arrow in Mainsail works on GoKlipper, and saving a profile named
defaultis no longer refused. - The K3 re-homes Z with the nozzle hot before probing, for a more accurate mesh. (#127)
- New console command
MMU_GATE_SKUS. - Getting an adaptive mesh: GoKlipper only probes the printed area when the G-code carries four comment lines that older slicer presets don't write. The FAQ has the lines to add to your start G-code.
Mainsail, Fluidd and Moonraker
- G-code console output such as
PROBE_ACCURACYnow shows up in Mainsail and Fluidd. (#129) - Saving a config file from Fluidd can no longer truncate it to zero bytes. (#159)
- Fluidd no longer freezes on ACE status updates, and filaments are editable in Fluidd again.
- Object queries return only the objects asked for. This fixes the BIQU Panda Breath "Auto" mode, and clients that poll no longer swallow ACE updates meant for others. (#140)
- The RFID temperature messages that filled most of the Moonraker log are now only logged when they change. (#130)
- Stopping Moonraker no longer leaves its supervisor running, which could end up with two Moonrakers. (#149)
- Moonraker now gets its full ten seconds to shut down cleanly.
Installer and web portal
- "Manage system versions" in the installer works again. The old firmware mirror was gone; it now reads the Rinkhals.Firmwares manifests. (#178)
- A failed Rinkhals update is reported as a failure, both in the web portal and on the touchscreen, instead of looking like it succeeded. (#170)
- Vanilla ACE no longer restarts Moonraker on every start on the Kobra 2 Pro 3.1.4. (#150)
A tip if you print to an ACE from OrcaSlicer or Mainsail
Put the printer in LAN mode. In cloud mode, Rinkhals can only start a print with a plain "print this file" command, which can't tell the printer which ACE slot to use. If the file doesn't choose a slot itself and nothing is loaded, the printer refuses with "The device cannot parse the file". In LAN mode the slot is sent along with the print, the same way the printer's own screen does it. (#200)
Thank you
This release is mostly community work. Thank you to rd65, kpaaro, jschroeck, metroiss, jansobczak, 7487 and Felixoid for the code, and to everyone whose reports, testing and debug bundles made the fixes possible: INDIAJULIETVICTOR, russdan and smeroni68 (#128), 1walkerit (#126), Hello-dot-Jpg (#140), ChuChuCharlie (#178), M4kI9H7 (#101), g-h-u-l (#131), mane (#170), lewandowskit (#196), Smock, Kobushi, Smock184 and dohlin (#205), dohlin (#143) and zekrom-vale (#111).
Known issues
These are open and not fixed in this release.
- #205 - on the Kobra S1 Max, a bed mesh calibration from Mainsail takes 5 to 9 minutes with no progress shown, and the Heightmap may keep showing the old mesh afterwards even though the new one was saved. Restarting the printer shows it. Please give it the full time before restarting.
- #134 - a report of an ACE tool change being silently dropped mid-print. We are waiting on a debug bundle.
Report problems to https://github.com/rinkhals-community/Rinkhals/issues with a debug bundle from the Management page of the Rinkhals web portal (http://<printer-ip>:8090).
Full Changelog: 20260901_01...20261101_01