After almost a month of release candidate testing, I’m happy to be able to present you the next stable OctoPrint release today: 1.6.0 has just been released! 🥳

And like every single release (and release candidate) of OctoPrint ever since early 2016 this release was made possible only through your continued support of my work 💕

The full changelog contains a long list of new features, improvements and bug fixes, but here are some of the highlights:

  • Timelapses and log files now allow bulk downloads: Select multiple files and you’ll be offered to download all of them in one ZIP archive.
  • @cp2004 improved the UX for the Plugin Manager and the Software Updater: All buttons and related actions have been moved to the top of the dialog, leaving more space for the list of plugins and update targets and getting rid of a double scrollbar in the process.
  • If OctoPrint’s UI detects you are trying to upload a file that already exists, it’ll now prompt you what to do: cancel, rename to a conflict free name or overwrite the existing file. You can disable this via the Settings if you prefer the old approach of simply always overwriting. Note that this conflict detection only happens if you use OctoPrint’s user interface, the API has not been touched.
  • Remember the new System Info dialog introduced in 1.5.0? It has been enhanced and now also allows downloading a full SystemInfo Bundle, containing not only the system information visible in the dialog but also octoprint.log, serial.log and anything else that’s usually requested from you when you report a bug or ask for support on the forums or the Discord server. So now you can just download a single bundle zip that contains everything in one go. The bundle download is also available on the recovery page (/recovery) and can also be requested on the command line (via octoprint systeminfo .). A bundle viewer webapp has also been created that allows viewing these bundles easily in every browser, even on mobile.
  • OctoPrint’s backup plugin so far didn’t allow you to restore a backup from a newer version than what was currently running. This was done to not run into any compatibility issues when you try to restore a current backup on an ancient OctoPrint install. Since this poses problems when you have created a backup on an only slightly newer version however (think 1.5.3 vs 1.5.2) this has now been slightly disarmed - OctoPrint 1.6 and later will now allow you to restore backups from the same major.version version, regardless of patch level. So restoring a backup from 1.6.1 will be allowed on 1.6.0, restoring a backup from 1.7.0 on 1.6.x won’t.
  • As we observed some issues in the community with misconfigured autologin settings, OctoPrint will now ensure the validity of IP address ranges configured for that and refuse to use invalid ones.
  • The logging UI saw some work done by @eyal0 and the workflow of managing log levels during development or debugging has been improved by that.
  • If OctoPrint detects that it can’t reach the internet, it will now display a small offline indicator in the navbar. This should hopefully help people diagnose such issues faster.
  • A new hook octoprint.printer.handle_connect is now in place that allows plugin developers to hook into the process of connecting to a printer, prevent that from going through or triggering actions based on it in a synchronous fashion.
  • The bundled PiSupport Plugin has been extracted into its own project to be able to have it on a different release cycle than OctoPrint proper. It is still considered a bundled plugin by OctoPrint.
  • Several bugs have been fixed, e.g. the config CLI has been fixed so that octoprint config set plugins.softwareupdate.credentials.github <PAT> for setting the GitHub PAT for the updater’s rate limiting workaround actually works, the expected page reload on the login dialog no longer triggers a scary “server offline” message, running OctoPrint on Python 3.10 should no longer throw an endless stream of errors, and much much more.

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.

Also make sure to check any of the heads-ups or plugin incompatibilities listed below.

Heads-ups

Please read the following carefully, it might impact you and how you use OctoPrint! Also see the Further Information and Links below for more information, where to find help and how to roll back.

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+.

Thanks

Thanks to everyone who contributed to this release and provided full, analyzable bug reports, suggestions, feedback and - of course - funding!

A special Thank You! to these 17 fine people for their PRs!

And last but not least, a big shoutout to everyone who reported back on the release candidates this time: @b-morgan, @benlye, @berrystephenw, @ChrisHeerschap, @cp2004, @don-willingham, @ejhoness, @gege2b, @jneilliii, @JohnOCFII, @kazibole, @KenLucke, @LightningShark25, @loskexos, @MacShenanigans, @mobby999, @Patbonamy, @popshansen, @Reperiel, @Sembazuru, @Taomyn, @The-EG and @zeroflow.

Insights

If you are interested in some numbers, here's some data extracted from the anonymous usage tracking for the RCs that went before 1.6.0's stable release:

  • 1.6.0rc1 (2021-03-30): 1122 instances, 35400h or 4.0 years of accumulative printing time
  • 1.6.0rc2 (2021-04-14): 964 instances, 18300h or 2.1 years of accumulative printing time
  • 1.6.0rc3 (2021-04-21): 878 instances, 9440h or 1.1 years of accumulative printing time

Overall there were 1702 instances that participated in the RC testing phase and which collectively completed 63264h or 7.2 years of print jobs.

Further Information

If connected to the internet, OctoPrint will allow you to apply this update automatically via an update notification. It may take up to 24h for this notification to pop up, so don't be alarmed if it doesn't show up immediately after reading this. You can force the update however via Settings > Software Update > Advanced options > Force check for update.

If your update fails chances are high you are running into one of the common update issues listed with fixes here, so please go through that FAQ entry first.

If you have any problems with your OctoPrint installation, please seek support on the community forum.

Images

Bulk download of log files
Bulk download of log timelapses
Better UX for the Plugin Manager
Better UX for the Software Update plugin
Upload conflict handling - cancel, rename or overwrite.
Download SystemInfo Bundles right from the System Info panel, but also the recovery dialog and the CLI
Bundleviewer at bundleviewer.octoprint.org for viewing SystemInfo Bundles

Discuss!