New / Updated Features
- #3611 : Add
M108
command to cancelM109
,M190
, andM303
- #3625, #3813, #3819, #4298 : Add Print Job Timer and statistics (
PRINTCOUNTER
) - #3653, #4106 : Add temperature watch for the heated bed (
WATCH_BED_TEMP_PERIOD
) - #3662 : New Filament Change feature (
FILAMENT_CHANGE_FEATURE
) - #3676, #4035, #4040, #4126 : New advance extrusion algorithm (
LIN_ADVANCE
) - #3720 : Use a positive flag for Host Keepalive (
HOST_KEEPALIVE
) - #3789 : Add
M999 S1
to restart without flushing the buffer - #3806 : Add CoreYZ support, fix CoreXY, CoreXZ (
COREYZ
) - #3808, #3895 :
SINGLENOZZLE
basic multi-extruder support - #3985 : Support for inches, Fahrenheit, Kelvin (
INCH_MODE_SUPPORT
,TEMPERATURE_UNITS_SUPPORT
) - #3992 : Add error-checking of
E
parameter inM303
- #4013 : Add
S
parameter to stay in place on tool-change. Example:T1 S1
- #4053, #4060, #4094, #4158 : Add support for the Cartesio UI (
BOARD_CNCONTROLS_12
) - #4159 : Support for RigidBot V2 and its digipot (
BOARD_RIGIDBOARD_V2
) - #4192: Support for Vellemann K8400 (
BOARD_K8400
) - #4054, #4354 : Add
NOZZLE_CLEAN_FEATURE
- #4163, #4339 : Add
MIXING_EXTRUDER
andSWITCHING_EXTRUDER
- #4222 : Add
P
parameter toM302
(more like RepRapFirmware) - #4226 : Add
EMERGENCY_PARSER
to allow override commands - #4241 : Add a serial transfer buffer option (
TX_BUFFER_SIZE
) - #4244 : Dyze High Temperature Thermistor support (up to 500°C)
- #4271, #4279 : Add
X_DUAL_STEPPER_DRIVERS
option - #4299 : Add
NOZZLE_PARK_FEATURE
- #4305 : Drop-in custom boot screens
- #4336 : Add support for BLTouch sensor (
BLTOUCH
) - #4362 : Add
DUAL_NOZZLE_DUPLICATION_MODE
- #4408 : Add support for
REPRAPWORLD_GRAPHICAL_LCD
Performance & Stability
- #3613 : Fix an issue with sudden acceleration
- #3642 : Suppress host keepalive during
M109
/M190
- #3650 : Prevent stuck
M109
/M190
if a target temperature is changed - #3661 : Fix handling of UTF-8 characters in SD card filenames
- #3751 : Fix long
G2
/G3
arcs blocking machine idle - #3757 : Don't allow setting auto fan pins in
M42
- #3781 : Improved performance in Delta movement
- #3788 : Improvements for Dual X Carriage
- #3797 : Less blocking in
G2
,G3
, andG5
- #3828 : Fix endstops default enabled state
- #3829, #4010 : Fix position adjustment when switching extruders
- #3888 : Fix issues with MAX31855 thermocouples
- #3909 : Fix initialization of some arrays
- #3939, #4214 : Reduce positional error, clear command queue on "Stop print"
- #3955, #3958 : Fix
M428
for compatibility with Delta and SCARA - #3995, #4140 : Beeps and tones no longer stall execution
- #4012 : Prevent bad watchdog timeouts
- #4092 : Add reporting of SD read errors
- #4095, #4097 : Fix issues with Filament Runout Sensor
- #4165 : Bring RUMBA pins file up to current methods
- #4167 : Add a checksum to the EEPROM to detect errors
- #4169 : Fix wait-for-cooling in
M109
/M190
- #4204 : Adjust software endstops, if needed, on tool-change
- #4250 : Adjust wait-for-cooling timeout
- #4253, #4257 : Broader support for filament runout sensor
- #4256, #4278, #4291 : Optimizations for single-hotend setups
- #4258, #4287, #4321, #4327, #4374, #4376, #4390 : Fix and improve print job timer and counter
- #4280 : Fix write-to-file serial output
- #4287 : Support for prints over 18h 12m 15s in the print counter
- #4360 : Fix issues with
G28
when T0 isn't the active tool - #4365 : Tweak planner acceleration constraint
- #4370 : Add DELTA forward kinematics (to get XYZ from ABC)
- #4389 : Optimize planner code with less
float
division - #4402 : Fix bugs related to the shifted coordinate space
Configuration
- #3609 : Add versioning to the configuration files
- #3632 : Simplified language setting in
Configuration.h
- #3672 : Simplified probe configuration
- #3702 : Simplified pins files
- #3779 : Automatic assignment of X2, Y2, Z2 stepper connectors
- #3928 : Clean up Delta configuration examples
- #4065 : Remove support for XY servo endstops
- #4252, #4292 : Generalize options that specify PLA and ABS
- #4296 : Update BQ Hephestos 2 configuration
- #4306 : Replace
ENDSTOPS_ONLY_FOR_HOMING
withENDSTOPS_ALWAYS_ON_DEFAULT
- #4337 : Change endstop-inverting options from const bool to define
- #4398, #4400 : Sanity checking of safe homing, temp sensors
- #4414 : Remove all
#include
fromConfiguration.h
/Configuration_adv.h
Homing and Bed Leveling
- #3707 : Fix curved movements in
G29
for Delta - #3775 : Report current position to host after
G29
- #3782 : Require homing of Z before
G29
bed leveling - #3798 : Allow using probe indices (
I
andJ
) withM421
Set Probe Point - #3942 : Fix servo probe raise in
G28
and other non-leveling contexts - #4021, #4066, #4085, #4093, #4108 : Allow the use of probes without Auto Bed Leveling
- #4181 : Fix curved movements in Allen Key deploy & stow
- #4207 : Clean up Allen Key code, allow use on Cartesian machines
- #4217, #4235 : Fix
MIN_Z_HEIGHT_FOR_HOMING
cumulative raising - #4307, #4320, #4323, #4342, #4356, #4358, #4361, #4368, #4373, #4381, #4387 : Major cleanup of homing and leveling
- #4308, #4330, #4378, #4379 : Improved logging of homing and leveling
Mesh (Manual) Bed Leveling
- #3760, #3903, #3911 : Improved Mesh (Manual) Bed Leveling
- #3802 : Add MBL resting position after homing (
MESH_G28_REST_ORIGIN
) - #3956, #4199 : Keep Mesh Bed Leveling active when homing X, Y, or Z alone
- #4146 : Allow Mesh Bed Leveling to work when homing to max Z
- #4154 : Use
Z_RAISE_BETWEEN_PROBINGS
for Mesh (Manual) Bed Leveling - #4202 : Fix position adjustment for MBL when switching tools
LCD Controllers
- #3110, #4001 : Improved axis movement from the LCD controller
- #3670 : Use directional buttons on controllers that have them
- #3739 : Option to reverse the encoder wheel (
REVERSE_ENCODER_DIRECTION
) - #3740 : Add individual axis homing to the LCD menu
- #3762 : Don't display heated bed on Graphical LCD if no heated bed
- #3914, #3944 : Fix LCD contrast adjustment range for different panels
- #3936 : Support for SAV_3DGLCD OLED LCD controller
- #4025 : Fix manual LCD movement with multiple extruders
- #4057 : Show millimeters (not steps) moved in LCD babystepping
- #4168, #4277 : Support VIKI2 display with RAMPS and MKS 1.3 / 1.4
- #4188, #4201 : Add Printer Info and Printer Statistics to the LCD menu
- #4243, #4309 : Improve static/scrolling LCD screens
- #4254 : Show full kill screen (not just message line)
- #4265 : All new beeper / speaker / buzzer code and tone queue
- #4285 : Remove delay for small manual encoder axis moves
- #4357, #3957 : Improvements for the RepRapWorld Keypad
Languages
- #3712, #3746, #3785, #4185, #4341 : Updated Japanese language
- #3748, #3976, #4228, #4259, #4415 : Updated Czech language
- #3754 : Updated Portuguese language
- #3787, #3952 : Updated Galician language
- #3805 : Updated Polish language
- #3932, #3933, #3950 : Updated Danish language
- #4024, #4274: Add Greek language (el, el-gr)
- #4029, #4329, #4395 : Updated Italian language
- #4055, #4069 : Add Croatian language
- #4078 : Updated Spanish language
- #4229 : Updated German language
For Developers
- #3224 : Fix Makefile for Melzi and Arduino 1.6.x
- #3631, #3643, #3660, #3671, #3681 : Stepper, Planner, Endstops, Temperature as singletons
- #3715, #3803 : Clean up the
buildroot
folder - #3922, #3923, #3924, #3925, #3926, #3947 : Optimize singletons with
static
data & methods - #4043 : Add a non-blocking delay function
- #4023, #4049 : Add macros for moving servos
- #4034 : Allow the use of a custom image to display at startup
- #4080, #4081, #4096, #4100, #4134, #4162, #4183 : Cleanup of probing / leveling functions
- #3567, #4056 : Add helper scripts to make working with Marlin and Git easier
- #4064, #4074 : Additional patterns added to
.gitignore
- #4186 : Add generalized macros to initialize variable-size arrays
- #4245 : Simplify
thermistortables.h
- #4272 : Fix M100 issues (
M100_FREE_MEMORY_WATCHER
) - #4286 : Make it easier to do formatted debug output
- #4319 : Specify units (
mm_s
ormm_m
) in feedrate variable names - #4355 : Rename ultralcd implementation files
- #4397 : Cleanup to EEPROM read/write code
- #4404 : Cleanup to stepper indirection code
- #4232, #4234, #4335, #4340, #4353, #4349, #4355, #4359, #4369, #4372, #4383 : …and more code cleanup