New release: 1.7.0
Thanks to a vacation and a surgery, this was one of the longest Release Candidate phases so far, spanning from August 4th until now. Thus I’m extra happy to finally present you with 1.7.0 today! 🥳
Like every single release (and release candidate) of OctoPrint ever since 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:
- Added support for the
EXTENDED_M20firmware capability. If detected, OctoPrint will now send
M20 Linstead of plain
M20requests 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.
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:
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.
Thanks to everyone who contributed to this release and provided full, analyzable bug reports, suggestions and feedback!
A special Thank you! to these fine people for their PRs:
And last but not least, another shoutout to everyone who reported back on the release candidates this time: @AndroidCloned, @Andy-ABTec, @b-morgan, @ChrisHeerschap, @cmock, @cp2004, @donb55, @gbickel1, @jneilliii, @JohnOCFII, @kazibole, @loskexos, @MangaValk, @mild-lemon, @mod38, @Onejk1, @Phydam, @Reperiel, @sticilface, @SwgDad99, @Taomyn and @The-EG.
If you are interested in some numbers, here's some data extracted from the anonymous usage tracking for the RCs that went before 1.7.0's stable release:
- 1.7.0rc2 (2021-08-11): 1366 instances, 63900h or 7.3 years of accumulative printing time
- 1.7.0rc3 (2021-09-13): 1330 instances, 45200h or 5.2 years of accumulative printing time
- 1.7.0rc1 (2021-08-04)
Overall there were 1976 instances that participated in the RC testing phase and which collectively completed 112267h or 12.8 years of print jobs.
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 you have any problems with your OctoPrint installation, please seek support on the community forum.
- Changelog and Release Notes
- FAQ entry "My OctoPrint update fails" (Read in case of any update problems!)
- Community forum
- Discord Server
- Contribution Guidelines (also relevant for creating bug reports!)
- How to file a bug report
- How to roll back to an earlier release (OctoPi)
- How to roll back to an earlier release (manual install)
- 11 Oct 2021