Skip to content

1.3.10rc1 (release candidate)

Pre-release
Pre-release
Compare
Choose a tag to compare
@foosel foosel released this 06 Nov 11:05
· 3579 commits to rc/maintenance since this release

Feedback on this RC

Please provide general feedback on this RC in this ticket. An "All is working fine" is valuable feedback as well because it tells me people are actually testing this RC and just not finding problems with it. Thanks!

Heads-up for plugin authors regarding the sarge dependency

OctoPrint has updated its sarge dependency. The new version 0.1.5 has a small breaking change - the async keyword was renamed to async_ for compatibility reasons with Python 3.7. This might also affect your plugin if you happen to use sarge somewhere therein. If so, make sure you to update your plugin to use async_ instead of async (or just use OctoPrint's own octoprint.util.commandline.CommandlineCaller class which takes care of this and various other things).

See also here for the sarge changelog.

Improvements

  • #1504 - Added detection of EMERGENCY_PARSER firmware capability and if it's present add M108 to the cancel procedure, to cancel blocking heatups.
  • #2674 - Improved error handling when the file OctoPrint is currently printing from becomes unreadable.
  • #2698 - Made favicon color match custom theme color.
  • #2717 - Various speed ups of the GCODE viewer.
  • #2723 - Always allow the file analysis to run, even if the slicer does provide analysis data. Allows plugins implementing the analysis hook to override behaviour in all cases.
  • #2729 - Allow additional video formats to appear in the timelapse tab.
  • #2730 & #2739 & #2742 - Improved GCODE analysis speed.
  • #2740 & #2859 - Make the connection panel reflect the current connection parameters.
  • #2769 - Cura Plugin: Improve error handling a profile import fails.
  • #2802 - Updated the temperature filters to ignore more sent and received lines belonging to temperature requests/responses that so far weren't covered.
  • #2806 - Refactored some unit tests.
  • #2827 - Spelling fixes in the documentation.
  • #2839 - Recognize position reports that include a space after the axis, as e.g. observed in the firmware of AlfaWise U20
  • #2854 - Auto detect Teacup firmware.
  • #2865 - Added speed parameter to extrude command on the /api/printer/tool API endpoint which allows to set the feedrate to use for the extrude per request.
  • Improve SD print detection
  • Added the Anonymous Usage Tracking Plugin. Tracking will only take place if the plugin is enabled and you’ve decided to opt-in during initial setup (or enabled it manually afterwards, through the corresponding switch in the settings). The tracking data will give insight into how OctoPrint is used, which versions are running and on what kind of hardware OctoPrint gets installed. You can learn about what will get tracked (if you opt-in) on tracking.octoprint.org. Please consider helping development by participating in the anonymous usage tracking.
  • The OctoPi Support Plugin is now the Pi Support Plugin:
    • Always enabled when running on a Raspberry Pi, regardless of whether OctoPi is used or not.
    • Now detects undervoltage/overheat issues and displays an alert on the UI if such an issue is found.
    • Changed detection method of the Raspberry Pi Model to something a bit more future proof.
  • Added the Application Keys Plugin: The new bundled plugin offers an authorization for third party apps that doesn't involve manually copying API keys or using QR codes. Third party client developers are strongly advised to implement this workflow in their apps. Read more in the documentation.
  • Added the Backup & Restore Plugin: The new bundled plugin will allow you to make a backup of your OctoPrint settings, files and list of installed plugins, and to restore from such a backup on the
    same or another instance. This should make migration paths from outdated installations to newer ones easier.
  • Software Update Plugin: Automatic updates in outdated environments are no longer supported. After repeated issues out in the fields with ancient installations and ancient underlying Python environments, OctoPrint will no longer allow automatic updates of itself or plugins via the Software Update Plugin if a certain set of minimum versions of Python, pip and setuptools isn't detected. The current minimum versions reflect the environment found on OctoPi 0.14.0: Python 2.7.9, pip 9.0.1, setuptools 5.5.1. See also the related FAQ entry.
  • OctoPrint will now longer allow itself to be installed on Python versions less than 2.7.3 or higher than 2.7.x, to avoid peope running into issues in unsupported environments.
  • Protect/educate against the dangers of opening up OctoPrint on the public internet:
    • Detect connections to the UI from external IPs and display a warning in such cases.
    • Added explicit warning to the first run wizard.
    • Added explicit warning to the documentation.
    • Added the ForcedLogin Plugin: Disables anonymous read-only access. To get back the old behaviour you'll have to explicitely disable this plugin.
  • Removed printed/visited layer counts from the GCODE viewer since it was confusing people more than helping them.
  • Added a warning to the documentation re expensive code in gcode hooks.
  • Added the no_firstrun_access decorator.
  • Only disable autoscroll in the terminal when scrolling up, not when scrolling down.
  • Added a new asset type clientjs for JS client library components.
  • Added new options for the showConfirmationDialog UI helper:
    • oncancel: callback to call when the cancel button is pressed
    • noclose: don't allow dismissing/closing the dialog without having chosen to proceed or cancel.
  • Allow further access restrictions on API and Tornado routes by third party plugins.
  • Support using the JS client library with an unset API key.
  • Announcements Plugin: Add documentation.
  • Better detection of ipv6 support by the underlying OS.
  • Updated several dependencies to current versions where possible.

Bug fixes

  • #2629 - Cura Plugin: Fixed wrong gcode snippet being used when slicing against a printer profile with multiple extruders.
  • #2696 - Fixed a comment.
  • #2697 - Fixed documentation regarding unit of estimatedPrintTime field in the analysis result.
  • #2705 - Fixed internal server error on GET request for files on the printer's SD card.
  • #2706 - Fixed a documentation error regarding HTTP status code returned on invalid API key
  • #2712 - Fixed updating via commandline (octoprint plugins softwareupdate:update).
  • #2749 - Fixed empty API key being treated as anonymous API key.
  • #2752 - Only reset timeout to shorter "busy" timeout once the busy configuration command has been sent to the printer.
  • #2772 & #2764 - Stop sending commands to the printer if a fatal error is reported that results in a kill(), even if OctoPrint is configured to keep the connection going on firmware errors.
  • #2774 - Fixed autoscroll in the terminal stopping when switching browser windows or tabs.
  • #2780 - Fixed error when trying to save timeout settings.
  • #2800 - Fixed a conjugation error in the documentation.
  • #2805 - Fixed duplicated method name in a unit test.
  • #2846 - Removed requirement to have messages.pot exist to use babel_extract for translating plugins (see also #2846).
  • #2850 - Fixed a race condition in the web socket causing the push connection to fail (see also #2858).
  • #2852 - Fixed issue with zeroconf announcement failing for the second instance of OctoPrint on the same Linux host due to a name conflict.
  • Fixed an issue with collision free SD name detection.
  • Fixed some JS warnings in the GCODE viewer.
  • Software Update Plugin: Fixed the update button being visible although the update is impossible.
  • Fixed wrongly used .error instead of the correct .fail in the UI's logout handler.
  • Software Update Plugin: Fixed version output of CLI update message
  • Announcements Plugin: Fix an issue with atom feeds.
  • Fixed the disable_hotends snippet in case of a shared nozzle setup.

Special thanks to all the contributors!

Special thanks to everyone who contributed to this release candidate, especially @BillyBlaze, @bradcfisher, @eyal0, @fieldOfView, @gdombiak, @gerfderp, @hashashin and @tedder for their PRs.

More information