After quite some time in development, I’m happy to present you the first release candidate of the 1.3.10 release!

The changelog is on the lengthy side again - don’t let that scare you though 😉

Here are some highlights from the release notes:

  • The OctoPi Support Plugin is now the Pi Support Plugin, will be enabled when a Raspberry Pi is detected as the underlying hardware platform and report on undervoltage or overheating situations.
  • 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.
  • 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 ❤
  • 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. Thanks to Aldo Hoeben for the idea and initial implementation!
  • Automatic updates in outdated environments are no longer supported. After repeated issues out in the field with ancient installations and ancient underlying Python environments, OctoPrint’s Softwareupdate Plugin will no longer allow automatic updates of itself or any installed 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 try to protect/educate more prominently against the dangers of opening up OctoPrint on the public internet via various new explicit warnings in the UI as well as a new notification that pops up if you log in from an external IP address. Thanks to the new bundled ForcedLogin Plugin OctoPrint will also no longer be accessible in a read-only way by anonymous guests - to get back the old behaviour, disable the plugin.
  • Added detection of EMERGENCY_PARSER firmware capability and if it’s present add M108 to the cancel procedure, to cancel blocking heatups.
  • Improved GCODE analysis speed
  • … and various further improvements and of course bug fixes.

There’s also a small heads-up for plugin authors:

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.

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

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

If you are tracking the “Maintenance RC” release channel, you should soon get an update notification just like you are used to from stable releases.

If you want to help test this release candidate and aren’t yet tracking the “Maintenance RCs” release channel, you can find information on how to switch in this guide (also linked below).

If you are not interested in helping to test release candidates, just ignore this post, 1.3.10 stable will hit your instance via the usual way once reports indicate that it’s ready 😊

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

Depending on how the feedback for this release candidate turns out, I’ll either look into releasing 1.3.10 or fix any observed regressions and push out a new release candidate ASAP.

Images

The new warning symbols of the Pi Support plugin when undervoltage and overheating are detected.
The new Backup & Restore Plugin.
An access request notification generated by the new Application Keys Plugin...
... and the new user settings dialog for management of all your Application Keys.
The new ForcedLogin makes sure anonymous users will no longer be able to watch your prints.

Discuss!