I hope you are having a nice summer, even though we are still in the middle of a pandemic. The last weeks here in OctoPrint HQ aka my office have been primarily spent on working on what is going to be 2.0.0, however there was also a significant amount of work that went into the next minor release, and thus I’m excited to share with you the first 1.7.0 release candidate today!

As always, there are quite a number of improvements and fixes in this one. How about we take a look at some of the highlights from the changelog together?

  • 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.
  • Thanks to @jneilliii there’s a new bundled plugin “Event Manager” for managing event subscriptions via the UI.
  • 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.
  • @cp2004 did some magic and improved the animation performance across all modals in the UI.
  • The Software Update Plugin now sports an update log with a link to the associated 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.
  • The Software Update Plugin will also now prompt for an update of OctoPrint during first time setup if there’s a new version available, before any other settings.
  • 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.
  • Added tracking of user agent string via new tracking event webui_load. This will allow making more informed development decisions with regards to frontend development.
  • OctoPrint’s console output will now be colored based on log severity.
  • Various fixes like fixing a non deterministic sorting behaviour and working around an arc rendering bug in Chrome, fixing some inconsistencies, typos and wordings and so on.
  • … and even more.

Please also take a look at the following heads-ups:

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.

You can find the full changelog and release notes as usual on Github.

Special thanks to everyone who contributed to this release candidate and provided full, analyzable bug reports, you help making the next release as stable as possible! And a big Thank You to @apbarratt, @cp2004, @eltonlaw, @eyal0, @iawiltdotcom, @jneilliii, @jugmac00, @kantlivelong, @LazeMSS, @ldursw, @oliof, @sparxooo, @StevilKnevil and @TwoRedCells for their PRs!

As the past RCs have shown me that a lot of people appear to be unaware of this: Please do not install this RC if you expect a fully stable version. It is not a stable release, it is a release candidate: severe bugs may occur, and they might be bad enough that they make a manual downgrade to an earlier version necessary - maybe even from the command line.

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

If you want to and can help test this release candidate, you can find information on how to switch to the "Maintenance RCs" release channel in this guide if not already done (also linked below).

Please provide feedback on this RC. For general feedback you can use this ticket on the tracker. The information that everything works fine for you is also valuable feedback 😄. For bug reports 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 so make sure to fill out all fields of the issue template.

Thanks!

Depending on the feedback regarding this version I'll look into fixing any observed regressions and bugs and pushing out a follow-up version as soon as possible and necessary.

Images

The new bundled Event Manager plugin, courtesy of @jneilliii, makes it easy to manage event subscriptions.
The update log in the Software Update plugin gives you a track log of all the updates you applied or tried to apply.
With Python 2.7 being EOL since January 1st 2020 now, a new warning popup will remind you to finally upgrade.
On the command line, OctoPrint's output will now be colored according to the log level.

Discuss!