Material changing during printing – which is now accessible via the ‘Tune > Extruder’ menu.
Ability to set lighting brightness (and behavior), just like Ultimaker 2.
Being able to identify which user sent the print job, and when the print came through the network (via the ‘Tune’ menu).
XY offset calibration, which now allows for half steps, for even better tuning.
Being informed when you are already running or trying to update this firmware version.
Diagnostic features

The updated version is designed to improve support, and help users to better diagnose printer issues. We’ve added:

Two NFC testing menus. One can be used for testing the NFC hardware, the other tests if it can properly see NFC tags. The second menu also tells you if other NFC tags (that are not Ultimaker materials) are in range (for example, the Dutch OV-Chip kaart).
The ability to test the limit switches via the diagnostic menu.
A diagnostic test to check the XY motion system, ensuring all XY motions are executed correctly without losing any steps. This also checks that the motors are functioning properly and that all pulleys are fastened.
The ability to test the PT100 and heater response in the print core. This makes sure the print core is outputting enough power, and that the temperature increase can be measured back.
System integrator features

The following features have been added to improve integration with the Cura app, and with future products.

Add documentation on the API is now served by the printer itself, via http://[ip]/docs/api.
There’s now an ‘Add job history’ API (http://[ip]/api/v1/history/print_jobs) which displays all previous print jobs, with handy general information.
There’s also an ‘Add an event history’ API (http://[ip]/api/v1/history/events) which lists general events that happened in the printer.
When using NDC material, the remaining amount is available on the API.
Each print job is given a unique ID, which is returned when starting a job with the API. This ID means you can check if the same job is still running, and it can also be used to locate the job in the history API.
You can now access your unique Ultimaker 3 machine ID, via http://[ip]/api/v1/system/guid.
There’s an API to pre-heat the printer bed, which is very useful when you’re remotely printing, but can’t send the job just yet.
You can now access information about where the job was started from (and by who) on the print job API.
There’s an ‘Improve lighting’ API for quick color / brightness changes, which also offers a separate interface for blinking the LEDs.
High-value fixes

We’ve also made several bug fixes, which will greatly improve your user experience. Here are the key changes:

A fix for the ‘I2C head communication error’.
If you abort the print while the bed is heating up, it now directly aborts, instead of waiting for the bed to reach the set temperature.
It no longer waits for the second hot-end to cool down when starting a pure single extrusion print.
A fix for the display being occasionally ‘displaced’.
Improvements when working with NFC materials. The most notable is the ability to scan the same spool twice, even after you’ve selected return.
A fix for the print cores not always reaching target temperatures (due largely to the cooling fan and print core variations).
We’ve also added a time-out if you’re trying to heat up the print core and it never reaches the target temperature. This can sometimes happen if the silicon cover is missing under the print core.

Other changes

Here are a few other changes we’ve made to the firmware:

We’ve removed the ‘Are you sure?’ message when starting a USB print with warnings (which had ‘Ignore’ on the right, while the previous menu had ‘Ignore’ on the left).
The X/Y Jerk setting from Cura is no longer ignored.
We’ve improved the movement at high speeds (over 200mm/s), as before, there was a slight audible stutter in the movement, which could cause layer shifts.
The firmware is set to start heating the bed and hot-ends as quickly as possible when starting a print.
If you directly start a manual Z offset after switching the printer on, it no longer crashes the bed into the printer.
When aborting the XY calibration print, the XY offset is no longer reset to 0.
We’ve fixed the webcam view issues.
There’s also a fix for M0/M1 handling for Pause, which fixes it at height plugin from Cura.
We’ve made a few minor process speed improvements in active levelling and XY calibration.
Some users have had problems with a rare bug, where the printer refuses to heat up when starting a print. This has now been resolved.
We’ve made improvements on the ‘dump logs to USB’ menu, to prevent errors.
The Remove.gcode file extension is now in the USB printing menu.
We’ve fixed the bug where remote access authentication remained disabled after running the Wi-Fi setup.
The system start-up time has been reduced by a few seconds.