github MarlinFirmware/Marlin 2.0.8
Marlin 2.0.8

latest releases: 2.1.2.2, 2.1.1.2, 2.1.1.1...
3 years ago

New Features

New Machines and Boards

  • Anet ET4 / ET4P and Anet TFT28 / TFT35 (#20280)
  • BigTreeTech E3 RRF
  • BigTreeTech SKR CR6 (#20522)
  • BigTreeTech SKR Mini MZ V1 (#19818, #20069)
  • BigTreeTech SKR V2.0 (#21503, #21717, #21741)
  • BigTreeTech SKR-SE-BX (STM32H743IIT6 ARM Cortex M7) and BIQU_BX_TFT70 (#21536)
  • Creality v4.2.10 board (#20647)
  • Creality v4.3.1 (Ender 6) board (#20512)
  • Creality v4.5.2 (#20378)
  • Creality v4.5.3 (CR-6 SE, CR-6 MAX) (#20468)
  • Eryone Thinker V2 (#21190)
  • FLSUN Delta QQS-Pro (#19793)
  • FLY CDY (#19979)
  • FLY MINI (#19185)
  • FYSETC Cheetah 2.0 (#20897)
  • FYSETC E4 (#20032)
  • FYSETC Spider (#21458)
  • KRATOS32 / K.32 board and LCD controllers (#21334)
  • Longer LK Pro / Alfawise PRO (#20185, #20372)
  • MKS Robin E3 / E3D v1.1 (#20216)
  • MPX_ARM_MINI board (Mingda MD-16) (#20711)
  • NUCLEO-F767ZI dev board (#19373)
  • Ramps-S v1.2 (#19815)
  • SMART RAMPS 1.4 with Mega2560 (#21059, #21128)
  • Zonestar Z8 XM2 (#19991)

Configuration Updates

  • Ensure A4988 for unspecified driver type (#19798)
  • Allow MAX31865 resistance values configuration (#19695)
  • TFT Presets, Generic options, Sanity checks (#19723)
  • Default LASER_POWER_INLINE to OFF (#19727)
  • Distinct Chopper Timing settings (#19781, #19850)
  • Longer3D: LONGER_LK_TFT28 now set by config (#19817)
  • Configure TMC interpolation per driver (#19828)
  • Guards for large BLOCK_BUFFER_SIZE (>=128) (#20130)
  • Allow dummy thermistors without pin definitions (#20159, #20247)
  • Add Thermistor 20-21 notes (#19246)
  • Permit touch calibration override
  • Optional M42/M226; Add more features filters (#19664)
  • Option to prevent (extra) Watchdog init on STM32 (#19693)
  • Sanity-check mutually-exclusive G34 features (#19706)
  • Add HAS_MEDIA_SUBCALLS to enable/disable M32
  • Option to ignore SD at startup (#20099)
  • Option to open the File Browser on Media Insert (#20151)
  • Use MANUAL_PROBE_START_Z for UBL manual probing (#20160)
  • Proper pullup/pulldown configurability (#20242)
  • No Z_MULTI_ENDSTOPS when HOMING_Z_WITH_PROBE (#20254)
  • Group related homing options (#20283)
  • Leveling Fade Height default setting (#20316)
  • Clarify Delta & SCARA config location (#20403)
  • Clarify "not Interrupt-capable" error message (#20419)
  • Add Z_SENSORLESS sanity checks (#20421, #20438)
  • SHORT_MANUAL_Z_MOVE is now FINE_MANUAL_MOVE
  • Option to always enable leveling after G28
  • Minimum temp options for Probing and G12 Nozzle Clean (#20383)
  • Improve STM32 timer conflict messages (#20544)
  • Add OPTIMIZED_MESH_STORAGE option (for UBL) (#20371)
  • Validate defined probe points (#20572)
  • Allow define of HOMING_FEEDRATE_(XY|Z)
  • Apply SHOW_BOOTSCREEN to TFT_COLOR_UI (#20586)
  • Clarify sanity-check for custom status bitmap (#20588)
  • Adjustable precision in M105 temperature report (#20602, #20687)
  • Multi-Z stepper inverting (#20678)
  • Configurable Corner Leveling point order (#20733)
  • USE_M73_REMAINING_TIME sanity-check (#20751)
  • Configure / disable PRINTCOUNTER save interval (#20856)
  • Configure / disable PRINTCOUNTER save interval (#20856)
  • Touch Calibration Screen auto-save option (#20971)
  • Allow Zero Endstops (e.g., for CNC) (#21120, #21188)
  • Combine Z_AFTER_DEACTIVATE with UNKNOWN_Z_NO_RAISE (#20444)
  • Renamed some "SPEED" options as "FEEDRATE" (#21217)
  • Default microsteps to axis first stepper (#21230)
  • Safe Z homing for Power Loss Recovery (#16909)
  • Extend Heater Overshoot Options (#21273)
  • Undef unused 2nd serial option(s) (#21331)
  • Sanity-checks for NOZZLE_CLEAN_FEATURE (#21332)
  • Main / Config Custom Submenus (#18177)
  • Better chopper defaults
  • More detailed serial config error
  • Sanity check MIXING_EXTRUDER + DISTINCT_E_FACTORS (#21689)
  • Make Cancel Objects reporting optional (#21698)

Optimized / Improved

  • Fix various errors, warnings in example config builds (#19686)
  • Add loose soft endstop state, apply to UBL fine-tune (#19681)
  • If needed, home before G34 (#19713)
  • Handle M410 in the main task (#19752)
  • Fix Color UI external_control, wait_for_release (#19771)
  • Fix HAL/STM32 FastIO for analog pins (#19735)
  • Fix G35 PROGMEM strings (#19926)
  • Handle UTF in long filenames (#20087, #20115, #20121, #20135)
  • G34 Z stepper locking (#20091)
  • Optimize M360
  • Update IDEX menus, add post-M605 event G-code (#20133)
  • Reduce RAM usage for TFT Color UI on SGen-L (#20179)
  • Abort print on media removal (#20200)
  • Skip unnecessary (costly) SW Stepper Enable (#20218)
  • Allow Status Message without LCD (#20246)
  • Optimize emergency parser check
  • On pause release the extruder for easier filament change (#20346)
  • Fix, improve Tramming Wizard behavior (#20437, #20796)
  • MAX Thermocouples rework (#20447)
  • Support RGBW on PCA9632 (#20455)
  • Preheat before Power Loss Recovery homing (#20697)
  • Support up to 6 Tramming points (#20720, #21646)
  • Init KILL, SUICIDE, PSU earlier (#20810)
  • Init serial ports first (#20944)
  • Improve probe preheat behavior (#21033)
  • Use 'H' value for UBL G29 z-clearance (#21114)
  • Fix and improve G-code queue (#21122)
  • Pause SD queue early on M25 (#21317)
  • Add reporting to M207/8/9 (#21335)
  • Optimize MarlinSettings with template methods (#21426)
  • Optimize LSF for size, efficiency (#21443)
  • Optimize BLTouch code for size (#21477)
  • Generalize MMU (#21469)
  • Move last bootscreen delay to end of setup (#21665)
  • Use temp_info_t for temp_redundant (#21715)

Board / HAL Updates

  • Retire HAL for STM32F4 / F7 (#20153)
  • Improved MKS Robin support (#19333)
  • Minor SPI fixes, systick_callback for STM32F1 HAL compatibility (#19565)
  • Update MKS SGen-L V2 RGB LED pins (#19762)
  • Teensy 4.1 Ethernet support (#19801, #21316)
  • Ignore NativeEthernet on AT90USB1286 (#19885)
  • AZTEEG X5 mini LED pins (#19909)
  • Generalize BTT SKR E3-DIP version (#19910)
  • Rename, adjust Dagoma F5 (#19947)
  • FAST_PWM for STM32F1 (#19952)
  • FAST_PWM for STM32 (#20025)
  • Get STM32 clock rates from framework (#19978)
  • HAL support for 8s watchdog
  • Standardize Marlin SPI (#19989)
  • STM32F1 cleanup, incl. SoftwareSerial removal (#20046)
  • BTT SKR driver expansion board (#20088, #20123)
  • Allow overriding servo pin for MKS Robin Mini (#20158)
  • FLSun Hispeedv1 Board update (#19959)
  • Migrate Hispeedv1 (QQS-Pro) to HAL/STM32 (#20354)
  • Use RTD for MAX31865 reading (#20188)
  • Add BTN_ENC_EN for many boards (#19796, #19890, #20684)
  • SKR E3 Turbo Controller Fan (#20320)
  • Permit SD EEPROM emulation on Ender-3 V2 (#20353)
  • Suspend Servos for STM32+NeoPixel (#19963)
  • SPI TFT for STM32F4 boards (#20384)
  • MKS Robin Pins fixes for STM32 and STM32F1 (#20404)
  • Add HAS_PIN_27_BOARD for CREALITY_V4 (#20446)
  • MKS Robin Nano V3 and STM32F4x0Vx Variant (#20430, #21174, #21238)
  • Let boards set Default TMC Slave Addresses (#20498)
  • 12-bit ADC resolution for STM32 (#20519, #20562)
  • Overrides to prevent STM32 timer conflicts (#20545)
  • Unify FYSETC F6 1.3 / 1.4 (#20507)
  • Better defaults, compatibility for SDIO + STM32 (#20570, #21440)
  • USB Flash Drive via native USB Host + MSC (#20571)
  • Prefix SD SPI pins (SCK, MISO, MOSI, SS) (#20606)
  • Define SANGUINOLOLU 1.1 enable pins (#20682)
  • Wanhao One+ SD Detect pin (#20724)
  • ESP32 Tone Generator (#20704)
  • NEOPIXEL overridable on BTT SKR (#20797)
  • FYSETC_242 OLED 12864 for S6 (#20767)
  • Lerdge K/S/X support for Flash Drive (#20593)
  • Add labels, condition for BTT GTR M5 pins (#20772)
  • Updated display timing for SKR Pro (#21346)
  • ZONESTAR_LCD warning for RAMPS / ReARM (#20702)
  • Refactor serial class with templates (#20783, #21249, #21287, #21318)
  • Allow SERVO0_PIN override on Creality Melzi (#21007)
  • EXP headers for RAMPS 1.x (#21054)
  • Trigorilla Pro: Allow for swapped Z-stops
  • Add BOARD_PREINIT (for Longer3D open drain pins) (#21159)
  • Lerdge-K TMC 2208/9 UART pins (#21299)
  • Lerdge-X I²C EEPROM pins, size (#21322)
  • Update display timing for SKR Pro (#21346)
  • Update Anet V1.0 display timing (#21425)
  • GT2560 Rev.A Plus Z Max Pin with BLTouch (#21375, #21512)
  • Board IDs for G2560 Rev B, G2560 v4, GTM32 VD (#21499)
  • EXP2_01_PIN for BTT BTT002 1.0
  • Changes supporting "Prussia3D" MK3 (#21617)
  • MCP4451 Digipot Support for Azteeg X5 GT (#21680)

Board / HAL Fixes

  • Fix onboard SD card support for Teensy 3.6 & 4.1 (#19593)
  • Fix TEMP_ADC_PROBE support for STM32F1 (#19582)
  • Fix Archim1 stepper timing (with new variant) (#19596)
  • Fix HAL/STM32 FastIO for analog pins (#19735)
  • Fix Smoothieboard digipots i2c pin (#19784)
  • Fix TMC serial port for FYSETC AIO_II (#19842)
  • Fix BTT002 PeripheralPins PWM assignments (#20036)
  • Fix E4d@box pins, stepper i2s (#20055)
  • Fix FYSETC S6 timer conflict (#20044)
  • Fix FYSETC S6 I2C EEPROM size (#20340)
  • Fix FYSETC_S6 heaters pins (#21483)
  • Fix SKR E3 DIP pin CLCD_SPI_CS (#20078)
  • Fix GTR NeoPixel pin with FYSETC Mini12864 (#20203)
  • Fix BTT GTR 1.0 endstop/DIAG pins (#20296)
  • Fix and optimize MightyBoard (#20493)
  • Fix Creality EEPROM watchdog freq. (#20510)
  • Fix TMC220x short circuit (#20731)
  • Fix Trigorilla Pro STOP pins (#20801)
  • Fix ESP32 I2S init placement (#21019)
  • Fix mini12864 v2.1 + PSU control + NeoPixel backlight (#21021)
  • Fix STM32F1 emergency parser (#21011)
  • SAMD51: Respect serial buffer size (#21194)
  • Fix SKR E3 Mini V2.0 Fan Bug (#21079)
  • Fix and add STM32 SDIO DMA (#21476)
  • Add E1 pins for RAMPS 1.4.4 / AGC
  • Fix Grand Central SD dependency (#21660)

New LCDs / Controllers

New LCD / Controller Features

  • Add Touch Calibration screen (#20049, #20454, #20524)
  • "Sound: ON/OFF" menu item (#19901)
  • Fysetc Mini 12864 + GT2560 A(+) (#19878)
  • Multi-platform DWIN_CREALITY_LCD support (#20738)
  • Touch UI support for X2, Y2 and Z2 (#19538)
  • Implement wait_for_user for Color UI (#19694)
  • ANET_FULL_GRAPHICS_LCD_ALT_WIRING for SKR 1.4 (#20011, #20427)
  • Anet 1.0 alternative graphical LCD wiring (#20022)
  • Color UI single touch menu navigation (#20053)
  • Tramming Wizard submenu option (#20000)
  • COLOR_UI without TOUCH_SCREEN 👍🏻 (#20178, #20269)
  • Remaining Time for Prusa-style LCD layout (#20148)
  • TFTGLCD support for STM32F1xx (#20515)
  • Small / Large Bootscreen option for TFT_COLOR_UI (#20578)
  • LVGL G-code preview (#20589, #20564)
  • MKS WiFi for TFT_LVGL_UI (#20191)
  • LVGL UI G-code console (#20755)
  • LVGL "more" menu (#20940, #21004)
  • Mesh Editor for FTDI Eve Touch UI (#21381)
  • MKS LVGL UI: Display/edit fan percentage (#21544)
  • E3V2 DWIN Advanced Settings menu (#21534, #21700)
  • Color UI Move Screen for 320x240 TFT (#21708)

LCD / Controller Updates

  • Update French language (#20472)
  • Update Hungarian language (#20996, #21266, #21407)
  • Update Italian language (#19654, #19953, #20480, #20551, #20663, #20789, #21537)
  • Update Russian (#20508, #20529)
  • Update Ukrainian (#20508, #20668)
  • Update Slovak language (#19561, #20181, #21224)
  • Add Spanish translations (#20020)
  • TFT Refactoring (#19192)
  • Provide FYSETC F6 v1.3 LCD pins for HD44780 (#19769)
  • Color UI for MKS SGen-L V2 (#19919, #20209)
  • Color UI circular task queue (#19918)
  • Reset calibration screen touch timer on click (#19951)
  • Y-center GLCD status logo, reorganize (#19954)
  • Increase SPI Speed on LPC. Color and Classic UI for MKS SGEN L. (#19945)
  • Show un-mounted media slot (#20005)
  • Better Classic UI touch resolution (#20004)
  • Use status bitmaps based on LCD_FIRST_TOOL
  • Better edit range for Linear Advance K (#20155)
  • Reapply superscript substitution (#20219)
  • Clear menu history for browse media on insert (#20236)
  • Display position on LCD in current units (#20145)
  • Set “lcd_move_e” index to fix the label (#20263)
  • Shorter Filament Load/Unload Strings to fit Graphical Display (#20369)
  • Allow BTT EXP-MOT be used with 10-pin (EXP1) displays (#20396)
  • Move ExtUI ABL mesh edit, limit to bilinear (#20381)
  • Cutter Power in percent format (#20410)
  • Legacy MKS WiFi Cura plugin compatibility (#20589)
  • Assisted Tramming improvements (#20298)
  • 4 / 5 digits for some edit items (#20793)
  • Color UI Multi-language support (#20725, #20915, #20972)
  • Increase filament runout distance edit limit (#20828)
  • lcd_put_wchar_max for COLOR_UI (#20838)
  • ZONESTAR_LCD warning for RAMPS / ReARM (#20702)
  • Graphical TFT fixes, cleanup (#20861)
  • KILL, BEEPER pins for LCD_FOR_MELZI (#20924)
  • Refresh screen on M22 (detach) (#20958)
  • Re-calibrate touch after EEPROM reset, if needed (#20934)
  • Fix and extend FTDI EVE Touch UI (#20393, #20466, #20517, #20518, #20532, #20549, #20987, #21232, #21148, #21167, #21487, #21607)
  • Ender 3 V2 display improvements (#20983, #21072, #21369, #21035)
  • Support for FYSETC mini12864 with BTT002 (#21096)
  • Support for YHCB2004 with GT2560 v4.1B (#21091, #21111, 21450, #21472)
  • Clean up, optimize ExtUI/TFT code (#21333)
  • MKS UI: Monitor state when idle (#21452)
  • Update u8g / AVR display timing defaults (#21518)
  • Touch UI Bed Mesh Screen refactor, enhancements (#21521)
  • Delay U8glib init using U8glib-HAL 0.4.4 (#21496)
  • Space-separate scrolling Status Message (#21523)
  • ExtUI::onPostprocessSettings (#21683)

LCD / Controller Fixes

  • Fix Move Screen with disabled Touch (#19558)
  • Restore ° (degree symbol) to 6x9 small info font (#19645)
  • Fix screen click reading too often (#19696)
  • Fix Anycubic i3 Mega target temperature display (#19572)
  • Fix German translation purging/unloading (#19615)
  • Use LiquidCrystal_I2C@1.1.4 for RA_CONTROL_PANEL (#19875)
  • Fix Tune/Fan edit items
  • Fix "autotune" LCD message (#20127)
  • Fix and improve Ender-3 V2 (#19642, #20324, #20338, #20352, #20443, #20526, #20837, #21272)
  • Fixes for TFTGLCD Panel, FastIO (#19614)
  • Fix UTF8 handling for Color UI (#19708)
  • Fix and optimize MKS UI (#19869, #20813)
  • Fix some LVGL bugs (#19900, #19904, #20214)
  • Fix 320x240 touch buttons Y (#20079)
  • Fix Filament Change menu items (#20201, #20565)
  • FIX TMC menu message (#20294)
  • Fix “back” location for Level Bed Corners
  • Fix Spindle/Laser Control menu (#20347)
  • Fix ZoneStar LCD 2004 buttons (#20489)
  • Fix DOGM status message scrolling (#20557)
  • Fix ST7920 timing for Rumba32, Fysetc S6 (#20556)
  • Fix Menu Mixer for Color UI (#20566)
  • Fix SD SPI Speed override, FTDI mesh edit (#20657)
  • Fixes for TFTGLCD (#20734)
  • Fix Anycubic Chiron TFT issues (#20807, #21152, #21183)
  • Fix Ender 3 V2 unwanted E motion on manual moves (#20806)
  • Fix MKS SGen-L with FYSETC_MINI_12864 LCD (#20998)
  • Fix AZSMZ_12864 on SMART RAMPS (#21056)
  • Fix MKS LVGL UI Main screen / buttons / icons (#21468, #21595)

Serial / Host Updates

  • G35 workaround for Pronterface "feature" (#19577)
  • Fix M503 output for M907 motor current (#19777)
  • Fresh Web GUI (based on bootstrap.js) (#19812)
  • Help hosts when Marlin is password-locked (#20348)
  • Fix "//action" prefix (#20600)
  • Fix M48 output (#20713)
  • Fix reporting of TMC_S2VSA/B (#20730)
  • Improve RPi host kernel panic mitigation
  • Refactor Serial ports for more flexibility
  • Enable Purge More / Resume with EP + Host Prompt (#21671)

General Issues Fixed

  • Ignore M22 during SD print
  • Fix G2/G3 arcs over 180° (#20292, #20314, #20322)
  • Improve plan_arc circle detection (#20440)
  • Fix Buzzer (pin) init for uninitialized FastIO (#19559)
  • No move on Park = No move on Resume (#19569)
  • Fix compile of MMU2 with S-mode disabled (#19584)
  • Fix Z_AFTER_HOMING without probe (#19607)
  • Allow bypass for cold E movement (#19606)
  • Keep HAL tasks running during PID Autotune (#19671)
  • Fix starting fan with bad material preset index (#19773)
  • Watchdog Refresh for LVGL Asset Load (#19724)
  • Fix SET_SOFT_ENDSTOP_LOOSE w/out soft endstops (#19734)
  • Fix IDEX layer shift and DIR states (#19756)
  • Apply home offsets to probing, Z Safe Homing (#19423)
  • Fix G2/G3 P<circles> E and Z motion (#19797)
  • Fix Anycubic Chiron "Ready" detection (#19880)
  • Fix Chiron probe low point (#19962)
  • Fix PASSWORD compile w/out LCD (#19888)
  • Fix DAC-related bugs (#19907, #19921, #20205)
  • Keep SPI active on LPC176x (#19932)
  • Fix Laser / Spindle issues (#19970, #20509)
  • Fix STM32 HW Serial + EP compile (#19990)
  • Don't close diveDir in fileExists (#20035)
  • Fix Endstop Interrupts with SPI endstops, sanity checks (#20051)
  • Fix tool-change servo index for E2 and up (#20060)
  • Use extra G35 BLTouch HS Mode clearance in Tramming Wizard (#20057)
  • Fix Linux GPIO logging (#20093)
  • Fix MAX6675 SPI init, conflicts (#20086)
  • Fix MAX31865 on SPI (PT100/1000) support (#20074)
  • Fix extraneous Linear Advance DIR change (#20131)
  • Multi-Hotend Preheat Fixes (#20165)
  • Fix NaN mesh entries with ABL_BILINEAR_SUBDIVISION (#20143)
  • Fix bad SET_FAST_PWM_FREQ calls (#20227)
  • Fix backward Filament (Presence) Sensor pulls (#20228)
  • Fix Load Filament wait (#20243)
  • Fix UBL manual mesh adjust behavior (#20248)
  • Fix Z4 in ENABLE/DISABLE_AXIS_Z (#20256)
  • Add missing header to use HAS_SD_HOST_DRIVE (#20270)
  • Fix M73 LCD code typo (#20300)
  • Prevent Watchdog reset writing Creality 4.x EEPROM (#20328)
  • Fix MESH_BED_LEVELING without SEGMENT_LEVELED_MOVES (#20363)
  • Fix TMC_HOME_PHASE divide-by-zero (#20368)
  • Fix auto#.g file handling, add NO_SD_AUTOSTART (#20071)
  • Fix UBL Debug Messages (#20423)
  • Fix issues with preheating before leveling
  • Fix SD print completion logic (#20456)
  • Fix RESTORE_LEVELING_AFTER_G28 behavior (#20471)
  • Apply HOME_AFTER_DEACTIVATE to G28 O (#20525)
  • Fix G34 compile with bed leveling disabled (#20537)
  • Fix UBL mesh inset Z position (#20538)
  • Fix G28 leveling state, UBL compile (#20499)
  • Apply NO_MOTION_BEFORE_HOMING to joystick motion (#20462)
  • Fix PARKING_EXTRUDER homing with solenoid (#20473)
  • Fix CHAMBER_FAN_MODE 0 build (#20621)
  • Fix UBL mesh edit delta moves (#20620)
  • Fix thermal error protection, reporting (#20655)
  • Fix IDEX reboot on travel after G28 X (#20654)
  • Defer "quiet probing" till the last Z bump (#20610)
  • Don't apply hotend_offset.z to Z soft endstops (#20675)
  • MMU2 as a standard serial device (#20771, #20794, #20811)
  • Raise Z on exit from 'Level Bed Corners' (#20817)
  • Remove extra G29 V newlines (#20955)
  • Fix ARM delay function (#20901)
  • Fix TEMP_0_TR_ENABLE, rename temp conditions (#21016)
  • Fix: Unsupported use of %f in printf (#21001)
  • Fix remaining time divide-by-zero (#21080)
  • Fix IDEX broken endstop test (#21110)
  • Fixes for MP_SCARA (#21113, #21686)
  • Fix cleaning_buffer_counter check (#21115)
  • Fix LEVEL_CORNERS_USE_PROBE with BLTOUCH_HS_MODE (#21161)
  • Init (stow) BLTouch before X/Y homing (#21192)
  • Fix M355 with NEOPIXEL (#21200)
  • Fix GTR / SKR PRO + USB Flash Drive build (#21197)
  • Fix M876 when called from EP (#21210)
  • Duplicate fan speed in M106/7 IDEX Duplication Mode (#21208)
  • Apply AUTO_POWER_CONTROL later in setup() (#21193)
  • Fix Host Keepalive serial target (#21283, #21290)
  • Fix LPC + TMC boot loop (#21298)
  • Fix TouchMI stow in G34 (#21291)
  • Fix password menu stickiness before first auth (#21295)
  • Un-pause fans on STOP
  • Fix macros that call macros crashing (#21383)
  • Apply endstops-always-on for G28 sensorless (#21441, #21442)
  • Avoid watchdog reset in all wired EEPROMs (#21436)
  • Remove extraneous 'extern' hints (#21516)
  • Fix FAT delete of items with longname (#21528)
  • Make DELAY_NS round up on AVR (#21546)
  • Park Magnetic Switching Toolhead at the very end (#21552)
  • Fix M114 E / R broken by LIN_ADVANCE (#21579)
  • Fix Resume Print with UBL (#21564)
  • Fix Max Temperature not enforced (#21592)
  • Fix and improve Power Monitor (#21551)
  • Always swap with PRIME_FIRST_USED disabled (#21622)
  • Don't display service prompt unless needed (#21654)
  • Prevent extrusion on M600 un-park (#21670)
  • Fix Thermal Runaway false-alarm in M303, add HeaterWatch::check (#21743)
  • Fix compile with DISTINCT_E_FACTORS + SLIM_LCD_MENUS (#21733)

Build and Upload

  • Fix 'bossac' upload on Windows (#19545)
  • Fix and improve Makefile / CMake (#19640)
  • Fix at90usb1286 build (#19687)
  • Fix digipot compilation (#19731)
  • Fix mega2560ext environment (#19730)
  • More PIO dependencies optimizations
  • Update ZMIB_V2 env names (#19886)
  • Permit spaces in dependencies g++ path (#19929)
  • PIO env for MKS Nano boards in STM32 (#19905)
  • Fix 0 extruders & bed compile (#20030)
  • Sanity-check illegal native USB (#20047)
  • Optimized (non-optiboot) Melzi env (#20021)
  • Windows LPC Upload for non-admins (#20208)
  • Fix STM32F1 ‘freeMemory()’ warnings (#20319)
  • Update to STM32 v10, optimize build (#20325)
  • Fix up start, monitor baud (#20326)
  • Require a minimum PlatformIO version (#20361)
  • Use a newer LPC176x framework (#20469)
  • Check for misplaced configs on build (#20599)
  • Set build_flags via custom_marlin.FEATURE (#20692)
  • Silence unused parameter warnings
  • Compile fewer extraneous sources (#20822)
  • USB Flash Drive env hints for Auto Build Marlin (#20592)
  • Replace lib_deps for custom_marlin.FEATURE (#20858)
  • Update platform ststm32 (#20928, #21219)
  • Let libmaple accept RX/TX_BUFFER_SIZE (#21177)
  • Fix LERDGE 'extends' env references (#21305)
  • Preflight checks for PlatformIO build (#21068, #21191, #21361, #21372, #21658, #21574)
  • Misc build fixes (#21413)
  • Split up platformio.ini into ini folder (#21507)
  • Require PlatformIO >= 5.0.3
  • Fix Rumba32 variant for Marlin (#21497)
  • Add 'jump relaxing' compile flag to AVR targets (#21566)
  • Fix Flash size (512KB) for STM32F103ZE (#21590)
  • Skip scripts during platformio init (#21643)
  • Let compiler do Temperature.h inlining

For Developers

  • Bring “mftest -a” up to date with latest codebase
  • Digipots refactor / cleanup (#19690)
  • Rename ultralcd => marlinui
  • Internal G29N for G28+G29 (#20800)
  • Pins post-process header (#19860)
  • Add mfconfig script used to manage configurations
  • Add alternative ternary macros IF_ENABLED, IF_DISABLED
  • Distinct runout states (#19965)
  • Add parser.is_command(letter, code)
  • Local testing with Makefile, Docker, mftest (#19981)
  • Better USB Media Host conditions (#20176)
  • Adjust axis homed / trusted methods (#20323)
  • Avoid invalid memory optimizations (#20389)
  • More configurable animated bootscreen
  • Homing feedrates as XYZ array (#20426)
  • Balance CI tests (#20485)
  • Add manual move type ALL_AXES for UBL mesh editing
  • Fix and consolidate PSTR aliases (#20812, #20831)
  • Move singlenozzle temp/fan (#20829)
  • Internal G29N code as shortcut for G28\nG29
  • Clean up MarlinCore and MarlinUI (#20832, #20846, #20852, #20868, #20869, #20874)
  • Init KILL, SUICIDE, PSU earlier (#20810)
  • No extra build folder for st/jlink upload (#21341)
  • Script to generate Marlin TFT Images (#21340)
  • Read extra ENVS from pins.h in preflight checks (#21361)
  • AutoReport class (Temperature, Cardreader) (#20913, #20959)
  • Allow mftest -t to select test by number
  • Add -g3 to include macros in debug symbols (#21052)
  • Script to download & build Configurations (#20992)
  • Make F_CPU a compile-time constant (#21051)
  • Tweak tests, consolidate pins target validation (#21254, #21261)
  • Script to generate Marlin TFT Images (#21340)
  • Added typedef celsius_t (#21374, #21678)
  • Group UBL parameters in a structure
  • More IntelliSense-friendly declarations
  • Define HW serial ports needed for TMC UART (#21446)
  • Apply TMC UART to STM32, simplify
  • Improve uncrust script
  • Replace const float & with const_float_t (#21505)
  • getHighESpeed => autotemp_task
  • Macros to eliminate 'f + 0.0' (#21568, #21642)
  • Drop return value from Serial::write() (#21567, #21577)
  • Rename tick() to isr() to hilight interrupt-time
  • Disable assert() by default with -DNDEBUG
  • Add whole-degree accessors (#21685)
  • Clean up / improve generate_version script (#21674)
  • Add INO to .editorconfig
  • Prettier output from opt_enable, et.al. (#21707)
  • Drop compiler flag merge-constants due to GCC bug (#21711)

Don't miss a new Marlin release

NewReleases is sending notifications on new releases.