Skip to content

Releases: OctoPrint/OctoPrint

1.7.1

01 Nov 15:00
Compare
Choose a tag to compare

This is a bugfix release for 1.7.x.

The heads-ups from 1.7.0 still apply, please read this release's release notes as well for a full picture of what you should be aware of and what changed!

Issues while updating?

On every new OctoPrint release we see some people run into the same issues with outdated or broken environments all over again. If you encounter a problem during update, please check this collection of the most common issues encountered over the past couple of release cycles first, and test if the included fixes solve your problem.

Bug fixes

  • #4267 - Properly escape names of uploaded files and timelapses containing a #. Not doing so would make such files unmanageable through the core UI.
  • #4273 (PR) - Plugin Manager: Fix a wrong sorting selected in the list of installed plugins and the list of plugins on the repository.
  • #4292 - Set requesting of low latency mode on the serial connection to disabled by default, as there's a small number of users for which this causes issues in connecting.

Special thanks to all the contributors!

Special thanks to everyone who contributed to this bugfix release, especially @QuinnDamerell for their PR!

More information

  • Commits
  • As this is a bugfix release, there were no release candidates

1.7.0

11 Oct 13:54
03d3dfb
Compare
Choose a tag to compare

Issues while updating?

On every new OctoPrint release we see some people run into the same issues with outdated or broken environments all over again. If you encounter a problem during update, please check this collection of the most common issues encountered over the past couple of release cycles first, and test if the included fixes solve your problem.

Heads-up for anyone still on OctoPi 0.15.0 or 0.15.1

OctoPrint 1.7.0 is the final release that will allow updating through the built in Software Update plugin. The Python environment on OctoPi 0.15.* has now become so ancient that the overhead of keeping on supporting it is no longer sustainable, and the likelihood of spontaneous breakage has increased significantly.

If you are one of the ~5% of users still on OctoPi 0.15, create a backup of your OctoPrint data, flash the latest OctoPi 0.18 to ideally a fresh SD card (they age too...) and restore from backup. That should get you up and running under a current OctoPi release in no time and additionally migrate you to Python 3.

Heads-up for anyone still on Python 2

I'll do my very best to keep OctoPrint functional under Python 2 until the release of OctoPrint 2.0.0, however Python 2.7 has been EOL now for almost two years, a lot of third party libraries are releasing updates for Python 3 only at this point, and many plugin authors for OctoPrint do so as well.

It is time to upgrade, and so OctoPrint 1.7.0 will now show you a pop-up about that fact when you open the UI. You do not have to act, but it is strongly recommended you do if you don't want to be left behind, and the pop-up will also tell you how to update:

image

Please do, the less Python 2 users are out there I still have to support, the more time I have for moving towards 2.0.

Heads-up for plugin authors: octoprint.util.get_free_bytes has been removed

The utility function octoprint.util.get_free_bytes, now deprecated since version 1.2.5 in favor of psutil.disk_usage, has finally been removed. If for any reason you've been using this in your third party plugin, ignoring the deprecation warning OctoPrint has been printing out to the log since 2015, now is the time to finally fix things.

Features & improvements

  • #2888 - New event FilamentChange triggered when commands M600, M701 or M702 are sent to the printer. (PR #4187)
  • #3936 - Software Update: The Software Update plugin will now prompt for an update as the first step during the first run setup wizard, if there's an update available.
  • #4059 - Timelapse: Switched to using -b:v instead of just -b for FFMPEG bitrate specification. Also improved sanity checking of timelapse rendering parameters.
  • #4065 - Software Update: Added an update log with link to the release notes. You will now be able to see the update events of the past 30d right from within the Software Update settings in case you need to debug something. The update log will also be shared into the system info bundle.
  • #4069 - Plugin Manager & Software Update: Added a link to the FAQ if actions are blocked due to undervoltage.
  • #4085 - Improved animation performance across all modals in the UI. (PR #4103, PR #4164)
  • #4098 (PR) - Use G0 for jogging instead of G1.
  • #4099 - Attempt to set low latency mode on the serial port on POSIX systems (e.g. Linux) to improve serial performance. If unsupported should gracefully fall back to former behaviour.
  • #4101 - Mark "G90 influences extruder" as relevant for Marlin 2. (PR #4116)
  • #4105 (PR) - Improved UI performance by getting rid of ResizeSensor and copywidth.
  • #4107 - Added an option to disable the cache busting on the webcam stream URL. (PR #4124)
  • #4111 (PR) - Added an unselect command on the files API.
  • #4114 (PR) - Added the ability to rename files and folders via the move dialog.
  • #4128 (PR) - Added ignored commands. They behave identical to blocked commands in that they are not sent to the printer by OctoPrint, but other than those they do not generate a blocked command event with severity warn but rather just info. The list by default ships as empty.
  • #4131 - Plugin Manager: Improve performance of settings dialog by making better use of caching headers on the plugin repository endpoint. (PR #4132)
  • #4143 - A new hook octoprint.system.additional_commands allows plugin authors to add new entries to the system command menu from their plugins.
  • #4145 (PR) - Backup: Clarified what the various "exclude" options do precisely.
  • #4149 - Removed the artifical upper limit of 10 extruders in the UI.
  • #4157 - Added arc calculation to GCODE analysis. (PR #4159)
  • #4166 - Plugin Manager: OctoPrint will now detect if a plugin install fails due to a Python version mismatch and show a special message with link to an FAQ entry on the matter.
  • #4166 - If still running under Python 2, OctoPrint will now show a notification linking to update instructions to Python 3 on page reload/connection to the backend.
  • #4173 (PR) - Upgraded Tornado to 6.x under Python 3
  • #4193 (PR) - Added a new bundled plugin "Event Manager" for managing event subscriptions via the UI.
  • #4204 - Make the new event manager use the new (faster) CSS only modal fade in animation.
  • Tracking: Added tracking of user agent string via new tracking event webui_load. Slightly different reimplementation of (unmerged) PR #4148.
  • The third party plugin blacklist now supports plugin and python version ranges.
  • Added support for the EXTENDED_M20 firmware capability. If detected, OctoPrint will now send M20 L instead of plain M20 requests to firmwares, to allow immediate fetch of long names. Quoted long names, as apparently sent by some firmwares even though there was never a mention of that during the initial feature discussions, are also supported now.
  • Added support for the AUTOREPORT_POS firmware capability. If detected, OctoPrint will enable position auto reporting on connection.
  • Improved logging of folder configuration issues during startup. That should help in debugging any kind of related problems.
  • Made the system info bundle more visible. Many users are still copy/pasting the textual system info dump and forget to share the bundle. So the request was rephrased to target the bundle and the textual info dump was hidden behind a "More" area. Also, the bundle viewer has been linked.
  • Added a new frontend callback onBeforePrintStart. That can be used to hook into and prevent the start of a print job via click on "Start" in the print state or click on select & print in the file list. Will be used by a new version of the bundled PiSupport plugin to show an additional confirmation when starting a new job while the system is throttled due to undervoltage or overheating.
  • OctoPrint's console output will now be colored based on log severity.
  • Added a new, bundled plugins only, hook octoprint.systeminfo.additional_bundle_files that allows bundled plugins to declare additional files to include in system info bundles. Why only bundled plugins? The goal is to keep bundles small and easy to process, and if every third party plugin can add files to it that would probably change fast.

Bug fixes

  • #4073 - Fixed non deterministic sorting of empty folders in the file list by upload date in Chrome browsers.
  • #4074 - Invalid GCODE analysis results will no longer cause HTTP errors on the files API.
  • #4075 (PR) - Fixed centering of icons in the control tab buttons.
  • #4078 - When running under Python 3, OctoPrint will do its best to keep names of uploaded files as is, without slugification. A config option to enforce the old behaviour (`feature.enforceReally...
Read more

1.7.0rc3 (release candidate)

13 Sep 11:41
Compare
Choose a tag to compare
Pre-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.

Thanks!

Bug fixes

  • #4207 - Software Update: Fix "Update log" content being visible on the wrong settings tab
  • #4210 (regression) - Fix label placement in progress dialog, as e.g. used by the timelapse bulk delete feature.
  • #4216 (regression) - Announcements: Fix announcements dialog sizing (PR #4217)
  • #4226 (regression) - Set autocapitalize="none" on login fields again. Longer standing regression, fixed in this RC due to minimal impact and side effect potential.
  • #4231 - Plugin Manager: Make sure plugin list export URL is prefixed with the correct base URL.

Special thanks to all the contributors!

Special thanks to everyone who contributed to this release candidate and provided full, analyzable bug reports, especially to @cp2004 for his PR!

More information

1.7.0rc2 (release candidate)

11 Aug 12:42
Compare
Choose a tag to compare
Pre-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.

Thanks!

Improvements

  • #4204 - Make the new event manager use the new (faster) CSS only modal fade in animation.

Bug fixes

  • #4202 (regression) - Fix None handling error in print time estimation during print start.
  • #4203 (regression) - Only try to set low latency mode to True, never to False. Just don't do anything if low latency mode isn't requested.

Special thanks to all the contributors!

Special thanks to everyone who contributed to this release candidate and provided full, analyzable bug reports!

More information

1.7.0rc1 (release candidate)

04 Aug 13:37
Compare
Choose a tag to compare
Pre-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.

Thanks!

Heads-up for plugin authors: octoprint.util.get_free_bytes has been removed

The utility function octoprint.util.get_free_bytes, now deprecated since version 1.2.5 in favor of psutil.disk_usage, has finally been removed. If for any reason you've been using this in your third party plugin, ignoring the deprecation warning OctoPrint has been printing out to the log since 2015, now is the time to finally fix things.

Features & improvements

  • #2888 - New event FilamentChange triggered when commands M600, M701 or M702 are sent to the printer. (PR #4187)
  • #3936 - Software Update: The Software Update plugin will now prompt for an update as the first step during the first run setup wizard, if there's an update available.
  • #4059 - Timelapse: Switched to using -b:v instead of just -b for FFMPEG bitrate specification. Also improved sanity checking of timelapse rendering parameters.
  • #4065 - Software Update: Added an update log with link to the release notes. You will now be able to see the update events of the past 30d right from within the Software Update settings in case you need to debug something. The update log will also be shared into the system info bundle.
  • #4069 - Plugin Manager & Software Update: Added a link to the FAQ if actions are blocked due to undervoltage.
  • #4085 - Improved animation performance across all modals in the UI. (PR #4103, PR #4164)
  • #4098 (PR) - Use G0 for jogging instead of G1.
  • #4099 - Attempt to set low latency mode on the serial port on POSIX systems (e.g. Linux) to improve serial performance. If unsupported should gracefully fall back to former behaviour.
  • #4101 - Mark "G90 influences extruder" as relevant for Marlin 2. (PR #4116)
  • #4105 (PR) - Improved UI performance by getting rid of ResizeSensor and copywidth.
  • #4107 - Added an option to disable the cache busting on the webcam stream URL. (PR #4124)
  • #4111 (PR) - Added an unselect command on the files API.
  • #4114 (PR) - Added the ability to rename files and folders via the move dialog.
  • #4128 (PR) - Added ignored commands. They behave identical to blocked commands in that they are not sent to the printer by OctoPrint, but other than those they do not generate a blocked command event with severity warn but rather just info. The list by default ships as empty.
  • #4131 - Plugin Manager: Improve performance of settings dialog by making better use of caching headers on the plugin repository endpoint. (PR #4132)
  • #4143 - A new hook octoprint.system.additional_commands allows plugin authors to add new entries to the system command menu from their plugins.
  • #4145 (PR) - Backup: Clarified what the various "exclude" options do precisely.
  • #4149 - Removed the artifical upper limit of 10 extruders in the UI.
  • #4157 - Added arc calculation to GCODE analysis. (PR #4159)
  • #4166 - Plugin Manager: OctoPrint will now detect if a plugin install fails due to a Python version mismatch and show a special message with link to an FAQ entry on the matter.
  • #4166 - If still running under Python 2, OctoPrint will now show a notification linking to update instructions to Python 3 on page reload/connection to the backend.
  • #4173 (PR) - Upgraded Tornado to 6.x under Python 3
  • #4193 (PR) - Added a new bundled plugin "Event Manager" for managing event subscriptions via the UI.
  • Tracking: Added tracking of user agent string via new tracking event webui_load. Slightly different reimplementation of (unmerged) PR #4148.
  • The third party plugin blacklist now supports plugin and python version ranges.
  • Added support for the EXTENDED_M20 firmware capability. If detected, OctoPrint will now send M20 L instead of plain M20 requests to firmwares, to allow immediate fetch of long names. Quoted long names, as apparently sent by some firmwares even though there was never a mention of that during the initial feature discussions, are also supported now.
  • Added support for the AUTOREPORT_POS firmware capability. If detected, OctoPrint will enable position auto reporting on connection.
  • Improved logging of folder configuration issues during startup. That should help in debugging any kind of related problems.
  • Made the system info bundle more visible. Many users are still copy/pasting the textual system info dump and forget to share the bundle. So the request was rephrased to target the bundle and the textual info dump was hidden behind a "More" area. Also, the bundle viewer has been linked.
  • Added a new frontend callback onBeforePrintStart. That can be used to hook into and prevent the start of a print job via click on "Start" in the print state or click on select & print in the file list. Will be used by a new version of the bundled PiSupport plugin to show an additional confirmation when starting a new job while the system is throttled due to undervoltage or overheating.
  • OctoPrint's console output will now be colored based on log severity.
  • Added a new, bundled plugins only, hook octoprint.systeminfo.additional_bundle_files that allows bundled plugins to declare additional files to include in system info bundles. Why only bundled plugins? The goal is to keep bundles small and easy to process, and if every third party plugin can add files to it that would probably change fast.

Bug fixes

  • #4073 - Fixed non deterministic sorting of empty folders in the file list by upload date in Chrome browsers.
  • #4074 - Invalid GCODE analysis results will no longer cause HTTP errors on the files API.
  • #4075 (PR) - Fixed centering of icons in the control tab buttons.
  • #4078 - When running under Python 3, OctoPrint will do its best to keep names of uploaded files as is, without slugification. A config option to enforce the old behaviour (feature.enforceReallyUniversalFilenames) has been added for compatibility reasons. This should solve issues with name collisions due to slugification.
  • #4084 - Enforcing printTimeLeft on the print job information from the API is an int.
  • #4092 - Fixed inaccessible tool dropdown.
  • #4117 - GCODE Viewer: Worked around a Chrome-only rounding issue with short arcs with large radii causing rendering artifacts. If Chrome is detected, the viewer will now fall back on an approximation of the 2D context's arc command, implemented via bezier curves, that doesn't suffer from the same browser bug. This fallback implemented can also be intentionally toggled or untoggled via a new advanced renderer option. See also this blog post.
  • #4122 (PR) - Removed a debug span.
  • #4129 (PR) - Software Update: Fixed a button size inconsistency.
  • [#4136](https://github.com/OctoPrint/OctoP...
Read more

1.6.1

10 May 13:26
Compare
Choose a tag to compare

This is a bugfix release to fix two bugs in 1.6.x.

The heads-ups from 1.6.0 still apply, please read this release's release notes as well for a full picture of what you should be aware of and what changed!

Bug fixes

  • #4115 - GCode viewer: Fix dragging when a printer profile with center origin is selected. As a welcome side effect, this now also means the GCode viewer will finally update the bed dimensions properly on printer profile change.
  • #4119 - Fix blocking timeout when requesting an SD file list while printing & prevent an SD list refresh while printing.

Special thanks to all the contributors!

Special thanks to everyone who contributed to this bugfix release!

More information

  • Commits
  • As this is a bugfix release, there were no release candidates

1.6.0

27 Apr 09:21
Compare
Choose a tag to compare

Heads-up for plugin authors: Support for the plugin control properties __plugin_init__ and __plugin_implementations__ (plural!) has been removed

The two plugin control properties __plugin_init__ and __plugin_implementations__ (note the plural!) have been deprecated ever since OctoPrint 1.2.0 and have finally been removed.

It is highly unlikely that your plugin has ever used them given that they were already marked as deprecated for the very first version of OctoPrint to ever even support plugins. Still, just in the case of anyone out there making use of them regardless, here's a heads-up that they will no longer be utilized in OctoPrint 1.6+.

Features & improvements

  • #3544 - Timelapse: Bulk downloads of multiple timelapses in one zip archive. See also #3856.
  • #3595 - GCode Viewer: "Center viewport on model" and "Zoom in on model" now take the current layer's bounding box into account, instead of the whole model's. See also #3880.
  • #3711 - Plugin Manager: Button to export the list of installed plugins to a machine readable JSON file. See also #3833.
  • #3746 - Logging: Bulk downloads of multiple logs in one zip archive.
  • #3801 - Get rid of double scrollbars in Plugin Manager and Software Update settings dialogs. See also #3835 and #3836.
  • #3818 - Backup: Base the backup name on the configured instance name.
  • #3819 - File search now searches through both internal and displayed file name.
  • #3828 - Separate error messages from connection state on Printer Status and Job API by introducing a new error field next to state.
  • #3830 - Reword the warning about using the global API key.
  • #3835 - PMGR: Improve UX by moving notices to a collapsible "info" section at the top of the window, moving the Get More button to the top bar, fixing the top bar when scrolled and highlighting available notices with red icon & text and an auto-show if needed.
  • #3836 - SWU: Improve UX by moving check for updates & update all buttons to the top of the interface & moving advanced options to a collapsed section at the top of the interface.
  • #3840 - Add an indicator to the frontend if OctoPrint detects it can't connect to the internet.
  • #3866 - Backup: Add plugin helpers create_backup and delete_backup.
  • #3873 - A new file name collision dialog is now triggered on upload if the uploaded file is detected as already existing on the server. The dialog allows to cancel the upload, rename the file or forcefully overwrite the file already on disk. This confirmation dialog can be disabled via Settings > Features to restore the old behaviour (overwrite without asking).
  • #3882 - For determining pip behaviour and Python environment, capture testballoon output from the pip call's stdout/stderr instead of a temporary file.
  • #3885 - Support permission objects as keys to SettingsPlugin.get_settings_restricted_paths, instead of just user, admin, never. This allows plugin authors to more granular control on which settings get presented to what user types.
  • #3895 - Ensure connectivity check wizard comes before usage tracking wizard. See also #3918.
  • #3903 - Add two new events GcodeScript${ScriptName}Running and GcodeScript${ScriptName}Finished that will be triggered when gcode scripts are run.
  • #3919 - systemd: Change service type in bundled unit file to exec
  • #3920 - Add an ES5 polyfill to improve compatibility of third party plugins on really old browsers.
  • #3924 - Tracking: Allow to change your decision made in the wizard before submitting it.
  • #3925 - Announcement: Set default state to avoid pop-in
  • #3925 - Action Command Prompt: Fix icon
  • #3942 - Blacklist: Allow to change your decision made in the wizard before submitting it.
  • #3943 - Connectivity check: Allow to change your decision made in the wizard before submitting it.
  • #3944 - Add frontend callback onUserSettingsBeforeSave that gets called on core components and registered plugin view models when user settings are saved.
  • #3946 - Ensure validity of IP address ranges configured for autologin and refuse to use invalid ones.
  • #3947 - Logging: Automatically add logger on selection. See also #3957.
  • #3950 - Logging: Start new config with empty logger. See also #3951.
  • #3952 - Logging: Save logging settings only when there actually were changes. See also #3953 and #3949.
  • #3958 - Include slicing.defaultSlicer on the settings API.
  • #3963 - Improve error message during server startup if a Python bug with non-ASCII host names gets encountered.
  • #3966 - Add IDs and classes to terminal panels and buttons, to allow easier targeting from third party plugins.
  • #3972 - Timelapse: the used ffmpeg command line can now be configured in detail
  • #3978 - Remove redundant Python 2 float conversion relics.
  • #3984 - Add a hook octoprint.printer.handle_connect for plugins to prevent a connect from going through.
  • #3987 - Enforce scrollbars to be visible on Safari
  • #3993 - Backup: Add warning for backups that are too big to restore via upload.
  • #4017 - GCode Viewer: New option to make the viewer ignore all commands until a certain line in the file is found. This can be used to ignore priming lines.
  • #4024 - SWU: Improve error reporting in case of detected undervoltage/overheating.
  • #4031 - PMGR: Change default sorting of repository view from "name" to "popularity".
  • #4035 - PMGR: The API endpoint api/plugin/pluginmanager has been deprecated and split into plugin/pluginmanager/plugins, plugin/pluginmanager/orphans and plugin/pluginmanager/repository. There's also now plugin/pluginmanager/<key> to retrieve information for a specific plugin by its identifier.
  • #4049 - Improve consistency in the settings headers.
  • #4050 - Default temperature regex of terminal filters now also recognizes C, P, R and L values as support by Marlin, as well as negative values.
  • #4050 - Docs: pip install command should use quoted source for maximum compatibility with people's dev environments.
  • #4080 (regression) - Fix horizontal scrollbar size in Safari and get rid of horizontal scrolling in notifications altogether.
  • #4082 (regression) - Fix SD card printing
  • #4102 - Add option to revert back to former behaviour of always lower casing SD Card file names reported by the firmware to work around a bug in Prusa Firmware (prusa3d/Prusa-Firmware#3115). Auto detect Prusa Firmware and automatically enable this option if firmware autodetection is enabled. See also #3994 for reference.
  • New --overlay command line flag to defined additional config overlays to apply to OctoPrint's defaults before loading config.yaml. This wil...
Read more

1.6.0rc3 (release candidate)

21 Apr 14:06
Compare
Choose a tag to compare
Pre-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.

Thanks!

Improvements

  • #4102 - Add option to revert back to former behaviour of always lower casing SD Card file names reported by the firmware to work around a bug in Prusa Firmware (prusa3d/Prusa-Firmware#3115). Auto detect Prusa Firmware and automatically enable this option if firmware autodetection is enabled. See also #3994 for reference.

Bug fixes

  • #4086 (regression) - GCode viewer: Fix visualization of models containing arcs, with "Center viewport on model" and "Zoom in on model" selected.

Special thanks to all the contributors!

Special thanks to everyone who contributed to this release candidate and provided full, analyzable bug reports!

More information

1.6.0rc2 (release candidate)

14 Apr 13:20
Compare
Choose a tag to compare
Pre-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.

Thanks!

Improvements

  • #4071 - Better change of plugin manager styling that has better compatibility with some third party plugins.
  • GCODE viewer: Option to render a layer specific bounding box, to help with further analysis of #4086.
  • GCODE viewer: Option to render line segment starts, to help with further analysis of #4086.
  • GCODE Analysis: New command line option --layers will also calculate and output layer stats. Recognizes zhop. To help with further analysis of #4086.

Bug fixes

  • #4080 (regression) - Fix horizontal scrollbar size in Safari and get rid of horizontal scrolling in notifications altogether.
  • #4082 (regression) - Fix SD card printing

Special thanks to all the contributors!

Special thanks to everyone who contributed to this release candidate and provided full, analyzable bug reports, and especially to @cp2004 and @LazeMSS for their joint PR!

More information

1.6.0rc1 (release candidate)

30 Mar 11:57
Compare
Choose a tag to compare
Pre-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.

Thanks!

Heads-up for plugin authors: Support for the plugin control properties __plugin_init__ and __plugin_implementations__ (plural!) has been removed

The two plugin control properties __plugin_init__ and __plugin_implementations__ (note the plural!) have been deprecated ever since OctoPrint 1.2.0 and have finally been removed.

It is highly unlikely that your plugin has ever used them given that they were already marked as deprecated for the very first version of OctoPrint to ever even support plugins. Still, just in the case of anyone out there making use of them regardless, here's a heads-up that they will no longer be utilized in OctoPrint 1.6+.

Features & improvements

  • #3544 - Timelapse: Bulk downloads of multiple timelapses in one zip archive. See also #3856.
  • #3595 - GCode Viewer: "Center viewport on model" and "Zoom in on model" now take the current layer's bounding box into account, instead of the whole model's. See also #3880.
  • #3711 - Plugin Manager: Button to export the list of installed plugins to a machine readable JSON file. See also #3833.
  • #3746 - Logging: Bulk downloads of multiple logs in one zip archive.
  • #3801 - Get rid of double scrollbars in Plugin Manager and Software Update settings dialogs. See also #3835 and #3836.
  • #3818 - Backup: Base the backup name on the configured instance name.
  • #3819 - File search now searches through both internal and displayed file name.
  • #3828 - Separate error messages from connection state on Printer Status and Job API by introducing a new error field next to state.
  • #3830 - Reword the warning about using the global API key.
  • #3835 - PMGR: Improve UX by moving notices to a collapsible "info" section at the top of the window, moving the Get More button to the top bar, fixing the top bar when scrolled and highlighting available notices with red icon & text and an auto-show if needed.
  • #3836 - SWU: Improve UX by moving check for updates & update all buttons to the top of the interface & moving advanced options to a collapsed section at the top of the interface.
  • #3840 - Add an indicator to the frontend if OctoPrint detects it can't connect to the internet.
  • #3866 - Backup: Add plugin helpers create_backup and delete_backup.
  • #3873 - A new file name collision dialog is now triggered on upload if the uploaded file is detected as already existing on the server. The dialog allows to cancel the upload, rename the file or forcefully overwrite the file already on disk. This confirmation dialog can be disabled via Settings > Features to restore the old behaviour (overwrite without asking).
  • #3882 - For determining pip behaviour and Python environment, capture testballoon output from the pip call's stdout/stderr instead of a temporary file.
  • #3885 - Support permission objects as keys to SettingsPlugin.get_settings_restricted_paths, instead of just user, admin, never. This allows plugin authors to more granular control on which settings get presented to what user types.
  • #3895 - Ensure connectivity check wizard comes before usage tracking wizard. See also #3918.
  • #3903 - Add two new events GcodeScript${ScriptName}Running and GcodeScript${ScriptName}Finished that will be triggered when gcode scripts are run.
  • #3919 - systemd: Change service type in bundled unit file to exec
  • #3920 - Add an ES5 polyfill to improve compatibility of third party plugins on really old browsers.
  • #3924 - Tracking: Allow to change your decision made in the wizard before submitting it.
  • #3925 - Announcement: Set default state to avoid pop-in
  • #3925 - Action Command Prompt: Fix icon
  • #3942 - Blacklist: Allow to change your decision made in the wizard before submitting it.
  • #3943 - Connectivity check: Allow to change your decision made in the wizard before submitting it.
  • #3944 - Add frontend callback onUserSettingsBeforeSave that gets called on core components and registered plugin view models when user settings are saved.
  • #3946 - Ensure validity of IP address ranges configured for autologin and refuse to use invalid ones.
  • #3947 - Logging: Automatically add logger on selection. See also #3957.
  • #3950 - Logging: Start new config with empty logger. See also #3951.
  • #3952 - Logging: Save logging settings only when there actually were changes. See also #3953 and #3949.
  • #3958 - Include slicing.defaultSlicer on the settings API.
  • #3963 - Improve error message during server startup if a Python bug with non-ASCII host names gets encountered.
  • #3966 - Add IDs and classes to terminal panels and buttons, to allow easier targeting from third party plugins.
  • #3972 - Timelapse: the used ffmpeg command line can now be configured in detail
  • #3978 - Remove redundant Python 2 float conversion relics.
  • #3984 - Add a hook octoprint.printer.handle_connect for plugins to prevent a connect from going through.
  • #3987 - Enforce scrollbars to be visible on Safari
  • #3993 - Backup: Add warning for backups that are too big to restore via upload.
  • #4017 - GCode Viewer: New option to make the viewer ignore all commands until a certain line in the file is found. This can be used to ignore priming lines.
  • #4024 - SWU: Improve error reporting in case of detected undervoltage/overheating.
  • #4031 - PMGR: Change default sorting of repository view from "name" to "popularity".
  • #4035 - PMGR: The API endpoint api/plugin/pluginmanager has been deprecated and split into plugin/pluginmanager/plugins, plugin/pluginmanager/orphans and plugin/pluginmanager/repository. There's also now plugin/pluginmanager/<key> to retrieve information for a specific plugin by its identifier.
  • #4049 - Improve consistency in the settings headers.
  • #4050 - Default temperature regex of terminal filters now also recognizes C, P, R and L values as support by Marlin, as well as negative values.
  • #4050 - Docs: pip install command should use quoted source for maximum comp...
Read more