Skip to content

@foosel foosel released this Mar 28, 2019 · 52 commits to rc/maintenance since this release

⚠️ Important note on release candidates

This is a Release Candidate of OctoPrint. It is not a stable release: severe bugs can occur, and they can be bad enough that they make a manual downgrade to an earlier version necessary - maybe even from the command line.

You should be comfortable with and capable of possibly having to do this before installing an RC.

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.

If you run into any obvious bugs, please follow "How to file a bug report" - I need logs and reproduction steps to fix issues, not just the information that something doesn't work.


Heads-up: 1.3.11 unbundles the Cura plugin

If you rely on the Cura Plugin for your workflow that so far was bundled with OctoPrint, be sure to install the Cura Legacy plugin that's now also available on the plugin repository.

Once installed the Cura Legacy plugin will import the settings and profiles from the former bundled Cura plugin automatically on first start.

Heads-up: 1.3.11 bundles a new Error Tracking plugin, please enable it on Release Candidates

The Error Tracking plugin is a completely separate plugin from the existing Anonymous Usage Tracking plugin. Its tracking is disabled by default. Its purpose is to collect error information from instances in order to allow better issue analysis especially during the Release Candidate phase, or when prompted after reporting a bug. Thus it will also ask you to enable it on start while subscribed to an RC release channel.

The plugin uses a instance, kindly provided to OctoPrint by


  • #1938 - Allow slicing parallel to printing on machines with more than one core.
  • #2462 - Also scan and process watched folder on startup, not just during runtime.
  • #2900 - Add new hook octoprint.printer.sdcardupload to allow plugins to override default way to upload files to the printer's SD card.
  • #2904 - Added new command line switches -4 and -6 to restrict binding of the server to IPv4 or v6 respectively.
  • #2905 - Use maximum of communication & temperature timeout as serial timeout to avoid issues if the user has set a longer temperature reporting interval than (busy) communication timeout.
  • #2945 - Adjust default regex for filtering temperature requests and responses to not filter some M115 responses as well. New regex is (Send: (N\d+\s+)?M105)|(Recv:\s+(ok\s+((P|B|N)\d+\s+)*)?(B|T\d*):\d+). If you modified your terminal filters you'll have to update that manually.
  • #2947 - Printer safety check plugin: Disable warning for Monoprice Select Mini V2 with firmware v4.1+.
  • #2953 - GCODE Viewer: Bring back the total number of printed layers.
  • #2962 - Logging: deletion confirmation and bulk delete for log file management.
  • #2965 - Add new hook to allow plugins to cleanly add custom events by plugins.
  • #2970 - Add configurable list of commands that should never be sent to the printer, and a configurable list of commands on which OctoPrint should pause the current print job. Allows more granular configuration of behaviour of M0, M1 and M25.
  • #2974 - Dedicated checkboxes to enable/disable webcam & timelapse functionality instead of relying on empty URLs.
  • #2976 - Correctly identify v6 representations of v4 networks for auto login. Also correctly identify ::1 as local network.
  • #2978 - Use module name instead of plugin identifier when loading plugins from entry points. Also load bundled plugins under octoprint.plugins.* instead of their identifier.
  • #2982 - Log user activity of who started/paused/resumed/cancelled the current print. Include owner of a print job in event data and log.
  • #2983 - Add clear button to filter box in file list.
  • #2986 - Forcelogin plugin: Make login page responsive.
  • #2988 - Add --disable-pip-version-check to pip calls to stop pip's tendency to confuse people with it's update nag messages.
  • #2997 - Forcelogin plugin: Accept authentication through API key and/or authorization headers.
  • #3010 - Add usage information for all folders to the API.
  • #3014 - Hardening against corrupt language packs.
  • #3023 - Hardening against corrupt preemptive caching configurations.
  • #3030 - Backup plugin: Change name of generated backup file to have an octoprint- prefix. See also #3039.
  • #3033 - Open serial port in exclusive mode. See also #3036.
  • #3038 - Detect Klipper firmware and adjust serial communication settings accordingly.
  • #3040 - Add setting to disable fuzzy estimation display in the UI.
  • #3049 - Workaround for broken PEP440 non-compliant Python version numbers under Debian. See also #3054.
  • #3051 - Always show unfuzzy total print time and print left in a tooltip.
  • #3055 - GCODE Viewer: Add ability to preview the current layer to be drawn.
  • #3057 - Performance improvements in file management operations & more aggressive cleanup of stale metadata.
  • #3066 - Docs: Add missing documentation about state in jobs endpoint on API.
  • #3072 - Hide temperature tab for machines with neither heated bed nor extruders.
  • #3073 - Hide tool section in "Control" tab for machines with no extruders.
  • #3074 - Updated several dependencies to newer versions.
  • Add elapsed time and reason for failure to PrintFailed event.
  • Add trigger_event parameter to and to trigger SettingsUpdated event on save of settings.
  • Simplify configuration change handling of wizards.
  • Minimum Python version is now 2.7.9.
  • Create a backup of working config.yaml after successful startup.
  • Detect incomplete startups and set safe mode flag for next startup.
  • Always show actual temperature as received from printer instead of "off" for very low temperatures. That way people will hopefully no longer blame OctoPrint for MINTEMP errors triggered by their firmware because it "can't handle temperatures under 10°C".
  • Add full version string OctoPrint <version> to API.
  • Add systemd unit file.
  • Deprecate appkey API in favor of new bundled Application Keys Plugin. AFAIK was never used by anyone anyhow.
  • Take bundle status into account for plugin sorting, bundled plugins should always win before not bundled plugins if no sorting key is provided.
  • Load generic templates after JavaScript assets, making it possible to reference already loaded libraries in any injected generic templates.
  • Hardening against callback errors in decorators on default view.
  • Unbundled the Cura plugin. It lives on as "Cura Legacy" at OctoPrint/OctoPrint-CuraLegacy and will also be available on the plugin repository.
  • Hardening against invalid SD status reports.
  • Cleanup now obsolete metadata.yaml files.
  • Use monotonic_time for relative times everywhere.
  • Support for heated chamber firmware capabilities.
  • Remove UI_API_KEY and API disabling. With the inclusion of the ForceLogin plugin that doesn't serve a real purpose anymore in most cases, and it was only ever more of a rate limiting feature than an actual security measure anyhow. Plus it lead to a ton of false security alarms.
  • Docs: Improve docs of connection API to avoid issues as encountered in #3043.
  • Action Command Prompt plugin: Set M876 as default command as discussed in MarlinFirmware/Marlin#12982.
  • Action Command Prompt plugin: Add M876 to EMERGENCY_PARSER compliant commands, if configured accordingly. See also MarlinFirmware/Marlin#12982.
  • Action Command Prompt plugin: Signal support for action command prompts to firmware via M876 P1, if configured accordingly. See also MarlinFirmware/Marlin#12982.
  • Action Command Prompt plugin: Properly handle PROMPT_SUPPORT capability report from firmware and configure action command prompt support accordingly. See also MarlinFirmware/Marlin#12982.
  • Error Tracking plugin: New plugin utilizing to track any kind of errors thrown in either backend or the default UI. Will ship disabled by default, has to be enabled by the user. Release Candidates will prompt users to enable it in order to improve on error detection during RC phase.
  • Forcelogin plugin: Set sorting key to 0 to increase likelihood of coming before alternative UIs.
  • Forcelogin plugin: Add favicon meta tags.
  • Plugin Manager plugin, Softwareupdate plugin: Use scrollables instead of pagination.
  • Printer Safety Check plugin: Add version restriction to Anycubic check.
  • Tracking plugin: Add elapsed time and reason for failure to print_failed event.
  • Tracking plugin: Add elapsed time to print_cancelled event.
  • Tracking plugin: Track firmware/communication errors.
  • Tracking plugin: Track printer safety warnings.
  • Tracking plugin: Track uptime of OctoPrint in ping event.

Bug fixes

  • #1881 - Another attempt at fixing the hard to intentionally reproduce issue where all API endpoints start returning 403 responses. Caching headers have been adjusted and API key handling has been changed, which might fix things.
  • #2859 - Fix for used port and baudrate to not be properly reflected on the UI.
  • #2916 - Possible workaround for a rare issue with the bundled Tornado dependency when running OctoPrint under Windows.
  • #2954 - Backup plugin: Fix an issue with calculation of available free space.
  • #2955 - Fix handling of action:resume or action:resumed received during PAUSING and handling of action:pause or action:paused received during RESUMING. Fix PAUSING state not allowing a resume to proceed. See also MarlinFirmware/Marlin#12982.
  • #2959 - Enforce max height smaller than available viewport for notifications so that they cannot scroll out of the screen.
  • #2967 - Tracking plugin: Fix exception caused on printer events when tracking is disabled and no UUID is thus set.
  • #2971 - Forcelogin plugin: Fix "remember me" not working as advertised. See also #2973.
  • #2992 - Backup plugin: Use shutil.move instead of os.rename and thus avoid issues with certain filesystem configurations. See also #2993.
  • #2996 - Use non-blocking writes on serial communication to avoid select blocking issues under certain conditions. See also #3004.
  • #3001 - Fix a race condition in SD printing detection.
  • #3012 - Fix a unicode vs ASCII bug in translating plugins.
  • #3024 - Fix inconsistent behaviour of CORS support on the API regarding static routes and the socket.
  • #3029 & #3045 & #3061 - Fix issues in the German translation
  • #3053 - GCODE Viewer: Fix an issue with multi extruder files where only a higher extruder index is actually used and all prior ones are undefined.
  • #3080 - Virtual Printer plugin: Fix tracking of negative movements and homing.
  • #3071 - Application Keys plugin: Fix appkeys not working when access control is disabled.
  • Fix a typo in an error message during startup.
  • paused action command must not trigger any local processing. See also MarlinFirmware/Marlin#12982.
  • Only use page size from local storage in ItemListHelper if configured.
  • Fix caching headers on main view.
  • Docs: Fix documentation for firmware info & capability plugin hooks.
  • Docs: Fix a formatting issue in the event docs, making it seem like events were deprecated when it was only payload entries that are deprecated.
  • Forcelogin plugin: Never handle the UI if ACL is disabled.
  • Tracking plugin: Fix tracking not starting fully if enabled during runtime.
  • Tracking plugin: Fix handling of missing print time. See also #3063.

Special thanks to all the contributors!

Special thanks to everyone who contributed to this release candidate, especially @agrif, @akraus53, @AndyQ, @CapnBry, @DanielJoyce, @devildant, @Fabi0San, @fake-name, @fieldOfView, @gloomyandy, @HarlemSquirrel, @hgross, @jubaleth, @melgish, @rgriebl and @tedder for their PRs.

More information

Assets 2
You can’t perform that action at this time.