New release: 1.5.0

It might still a bit early to hand out Christmas presents 🎄, but this year deserves some special treatment, doesn’t it? And thus - after over four months of development and almost another month of RC testing - I hereby present you the next stable release of OctoPrint, version 1.5.0 🥳

“Wait, 1.5.0 already?” you might say, “You just released 1.4.0 earlier this year!” That’s correct - OctoPrint’s versioning has slightly changed and now fully adheres to the ideas behind semantic versioning, as-in, the so called PATCH number (the 0 in 1.5.0) will now only increase for releases containing bugfixes only. Instead, for the usual maintenance releases that contain improvements, fixes and the one or other new feature, the MINOR number (the 5 in 1.5.0) will increase from now on. Finally, backwards incompatible changes will increase the MAJOR number (the 1 in 1.5.0) - in OctoPrint’s specific case that will mean dropping Python 2 support in the not so distant future.

So, from 1.4.2 to 1.5.0 this makes a MINOR number increase and thus you can expect more than just bug fixes in this one :) 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:

  • Access Control is now mandatory and no longer can be disabled. If you so far had it disabled, upon upgrading to 1.5.0, OctoPrint will prompt you to create a username and password for the (first) admin user. This step was sadly necessary as too many people still will happily expose their completely unsecured OctoPrint instance on the public internet, causing additional support overhead from both attacked users and security researchers. See this guide for a way to have OctoPrint log you in automatically when connecting from an internal IP.
  • A new recovery page is available under /recovery/ that gives access to configured system commands, backups, basic printer controls and the new system information (see below), even if the main UI is no longer functional. This will hopefully help in case of a third party plugin or a misconfiguration messing with the core UI so much it is no longer usable. Take a look at this screenshot!
  • A new system information screen is available from footer, settings dialog and recovery page. It provides information on the system OctoPrint is running on that’s invaluable for support and issue analysis and will soon be asked for in support requests and bug reports. A one-click copy-paste link is provided. Take a look at this screenshot!
  • OctoPrint will now detect when there are too many resend requests being generated by the printer (default: more than 10% of transmitted lines getting a resend request as response) and display a prominent warning to help identify communication issues causing print failures. This detection will only get armed after 100 lines have been sent to the printer, to rule out issues during initial connection handshaking.
  • The bundled Software Update plugin now supports release channels for third party plugins, individually disabling notifications per update check and also update information overlays served from plugins.octoprint.org that will make future maintainer changes of plugins less cumbersome for all involved. Plugin developers probably want to take a look at the docs to learn how to make use of release channels. Take a look at this screenshot!
  • A new event plugin_backup_backup_created will be triggered on backup creation. Allows third party plugins to perform certain actions on backup creation, e.g. saving them to a cloud provider like GDrive as displayed by the Google Drive Backup plugin.
  • A terminal filter configuration for the busy protocol now comes preconfigured. If you have modified your stock terminal filters, you’ll have to add this manually, using name “Suppress processing responses” and regex Recv: (echo:\s*)?busy:\s*processing.
  • Support has been added for reading the long filename from M20 if included or adding it from a plugin (e.g. one that utilizes a storm of M33 to fetch all long names, proof of concept here). Please note: That’s the only way M33 will ever be supported in OctoPrint, as it is utterly the wrong way to go about fetching long names for a list of files of unknown size, so stop asking about it now please ;)
  • The whole code base now uses black, prettier, isort, pre-commit and a bunch of custom pre-commit hooks to ensure consistent formatting and enforcement thereof. For anyone doing development, a file containing revs to ignore by git blame is included so this should hopefully not nuke the usefulness of that as long as a current git version is used, set it up via git config blame.ignoreRevsFile .git-blame-ignore-revs.
  • New plugin timings logging feature. If enabled (via Settings > Server > Debug options) this will write two new files to the logging dir, plugintimings.log and plugintimings.csv, which contain timing information for each and every hook or implementation call on plugins registered with OctoPrint. This should be helpful to debug any kind of performance issues caused by third party plugins. It should also be a valuable tool to debug performance issues with bundled plugins.
  • The timelapse list now has a nifty little web player built in for MP4 timelapses, courtesy of @jneilliii. MP4 is now also the default format for new timelapses. Take a look at this screenshot!
  • Several dependencies have been upgraded, most prominently Font Awesome, which is now bundled in version 5. A compatibility layer should ensure that plugins still relying on 4.x icon and class names will continue to work as expected.
  • A big number of bug fixes, among which is a fix for cancelling/pausing taking too long, a fix in the plugin manager to remove timeout issues when installing huge plugins, a fix for M876 not force sending while printing, a fix for installation of tar.gz plugins and plugin installation under Windows, several performance improvements and much much more.

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.

Access Control is now mandatory and no longer can be disabled

If you so far had Access Control disabled, upon upgrading to 1.5.0, OctoPrint will prompt you to create a user name and password for the (first) admin user. This step was sadly necessary as too many people still will happily expose their completely unsecured OctoPrint instance on the public internet, causing additional support overhead from both attacked users and security researchers. See this guide for a way to have OctoPrint log you in automatically when connecting from an internal IP.

Known plugin incompatibilities

The following plugins are confirmed to have issues with OctoPrint 1.5.0, as revealed during the RC phase. Their authors have been informed of this but no fixed version was available at the time of release:

Thanks

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: @AndKe, @b-morgan, @benlye, @BillyBlaze, @ChrisHeerschap, @cp2004, @CRCinAU, @Crowlord, @Guilouz, @jneilliii, @JohnOCFII, @kmanley57, @Lantoit, @ManuelMcLure, @mild-lemon, @oliof, @Pavulon87, @Prutsium, @radfordwill, @schnello, @varazir and @zeroflow.

Insights

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

  • 1.5.0rc1 (2020-11-10): 894 instances, 10980h or 1.3 years of accumulative printing time
  • 1.5.0rc2 (2020-11-17): 263 instances, 1575h or 2.2 months of accumulative printing time
  • 1.5.0rc3 (2020-11-18): 830 instances, 16800h or 1.9 years of accumulative printing time

Overall there were 1334 instances that participated in the RC testing phase and which collectively completed 29391h or 3.4 years of print jobs.

Further Information

It may take up to 24h for your update 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 get an error about "no suitable distribution" during update, please read this.

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

Links


This is a companion discussion topic for the original entry at https://octoprint.org/blog/2020/11/30/new-release-1.5.0/
2 Likes

Hello, yesterday I upgraded OctoPrint to 1.5.0 version. I have an issue with Cura connection. When I star the print from Cura it's just processing the G-code but never start the print.

Upgraded, now I just keep getting Your printer's firmware reported an error. Due to that OctoPrint will disconnect. Reported error: Printer halted. kill() called! Worked fine before update!

So, I just updated to 1.5 and I have a question.

Was the ability to use a Raspberry Pi Zero W actually disabled intentionally so that it can no longer be used?

YES, I know that using the Raspberry Pi Zero W was never officially supported, but it still worked just fine as long as you didn't attach a camera.

It seems now however the developers have intentionally made it so that the program checks to see if you are using a Raspberry Pi Zero W and locks it out so cannot be used.

Can anyone confirm this please?

I am not sure what purpose this solved, other than forcing all of those who were using the Zero W just fine without a camera to have to upgrade their Raspberry Pi. I don't happen to have +$70 handy to upgrade the two Pi's on my two printers.

Interesting question. I'd love the answer as well. "How" does it not work? Does it straight up just not start OctoPrint or something?

1 Like

That's completely untrue, because (a) we are not evil people, and (b) there is only one developer.

It will still continue to work. If you have issues, I suggest you open a 'Get help' with all the requested information.

Okay, I got a pop up notification saying that the Zero was found but not supported when I tried to restart after the upgrade, so I thought maybe it was intentionally disabled. I will see if I can figure it out then. Thanks.

The popup, yes that was added, because people don't listen when the complain of performance issues - it takes the 'bearer of bad news' away from us helpful people on the forums. If it works just fine for you, that's ok, then you can disable the popup.

1 Like

Thanks! Like I said, when I saw the pop-up, and then it wouldn't connect to my printer after the upgrade my first thought was that the Zero W was intentionally disabled.

Sorry, I didn't think you were mean. I thought maybe there was some technical reason that the Zero W had to be refused the connection after the upgrade.

Thanks for your time.

1 Like

As a general rule of thumb, I can assure you that I will never (intentionally) lock out people of core functionality just because their setup is not recommended. It would save me a TON of grief if I did frankly, but I won't.

As it told you there, your printer is telling OctoPrint it encountered a critical error, which actually made it to lock OctoPrint out. It may well be that this worked before the upgrade and now doesn't, but I can assure you that is either pure conincidence or there's something beyond just the upgrade at work here.

2 Likes

Are we a little bit dramatic?

Octoprint tries to connect to the printer - no the other way around

Try the safe mode to rule out any plugins
if that doesn't work create a new post and upload the full logs

so is your tone

4 Likes

How much have you paid to whom for OctoPrint that you come along this way?

4 Likes

Fine, it's free software, nobody's forcing you to use it.

5 Likes

Works perfectly. No issues.

4 Likes

Thank you for the positive feedback!

You know, I was about to start a poll to allow people w/o issues to check a box w/o polluting this thread with "Works good for me!" comments (while really good for @foosel's peace of mind, would drown out people actually looking for help). But, I'm having trouble wording the poll options without being too snarky. :wink: Plus, people who have problems but don't spend the time to address them probably wouldn't take the time to take my silly poll and Gina can already look at her statistics of number of 1.5.0 installs vs. the number of people raising issues (vs. the number of entitled people demanding immediate support).

Just remember, Gina. Don't let the turkeys get you down.

P.S. If the humor doesn't cross the language barrier, in this context "turkeys" is used as a euphemism for annoying people here in the states.

Attribution: The system made the image I linked to a local image. It isn't my image. It was taken from this webpage (which does give information about the artist):

3 Likes

Sometimes we really are "two peoples divided by a common tongue", I assumed that was some reference to Thanksgiving.

2 Likes

FileManager no longer works under 1.5.0 or 1.5.1.

Anyone else having an issue with FileManager plug-in? Is there a different plug-in that may be actively maintained?

Thanks.

1 Like

Not that I'm aware of.
Depending on what you need it for you could use WinSCP instead.
It's like a remote filemanager for the pi.