Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
sha512sums.txt | 2025-09-09 | 479 Bytes | |
octoprint-1.11.3.tar.gz | 2025-09-09 | 3.2 MB | |
octoprint-1.11.3.source.tar.gz | 2025-09-09 | 6.7 MB | |
octoprint-1.11.3-py3-none-any.whl | 2025-09-09 | 3.5 MB | |
1.11.3 source code.tar.gz | 2025-09-08 | 6.7 MB | |
1.11.3 source code.zip | 2025-09-08 | 7.2 MB | |
README.md | 2025-09-08 | 6.3 kB | |
Totals: 7 Items | 27.3 MB | 20 |
✋ Heads-ups
The heads-ups from 1.11.0 still apply, please read this release's release notes as well for a full picture of what you should be aware of and what changed!
🔒 Explicitly configure whether to use shell mode for your system event subscriptions
OctoPrint 1.11.3 introduces a new shell
parameter on type: system
commands that allows to specify whether the command should be run in a shell (true
, currently the default) or directly (false
, the future default).
Running commands in a shell has security implications as a misconfigured command with placeholders coming from external, potential untrusted sources can lead to arbitrary command execution. However, running commands in a shell also allows for more powerful scripting and also access to the shell’s environment, making it often unnecessary to set the full paths of commands that are supposed to be run.
OctoPrint so far has been running system commands defined in event hooks within a shell. Starting with OctoPrint 1.11.3, OctoPrint will log a message to octoprint.log
when it encounters a system hook that hasn’t yet explicitly configured shell
, and default to enabling shell mode. From 1.13.0 onward, this behaviour will change, and OctoPrint will default to not enabling shell mode in such cases, to further reduce the attack surface.
You should make an explicit decision now. Try to make your commands work without having to enable shell mode, and thoroughly vet your commands and parameter processing if you have to enable shell mode.
The bundled Event Manager's UI has been adjusted to allow you to configured the shell
parameter.
🔥 Switch to Application Keys, the global API key will be removed in 1.13.0
The global API key has been deprecated for a long time now. So far the deprecation notice said it would be removed in OctoPrint 2.0, however this now has been rescheduled to OctoPrint 1.13.0.
OctoPrint 1.12.0 will prepare this removal further and ship with a new health check enabled that will detect if you have a global API key set. OctoPrint 1.13.0 will then remove it altogether.
Instead of using the global key you should create individual Application Keys for your third party clients. That way they get permissions matching the user account used for key creation and you can also revoke access to one app without having to change the keys for all other apps. It's also recommended to create a user account without admin access and use that for third party clients where possible.
⛈ 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.
♻ Changes
🔒 Security fixes
- RCE in OctoPrint via Unsanitized Filename in File Upload, severity High (7.5): OctoPrint versions up until and including 1.11.2 contain a vulnerability that allows an authenticated attacker to upload a file under a specially crafted filename that will allow arbitrary command execution if said filename becomes included in a command defined in a system event handler and said event gets triggered.
If no event handlers executing system commands with uploaded filenames as parameters have been configured, this vulnerability does not have an impact.
See also the GitHub Security Advisory and CVE-2025-58180
Minor Security fixes
- #5169: Got rid of unused and unneeded cookie setter functionality in
LargeResponseHandler
as it could be used to break returned responses through used input.
✨ Features & improvements
Application Keys Plugin
- Added a new CLI command to trigger the appkey request workflow, see
octoprint plugin appkeys:request-key --help
for details.
Event Manager Plugin
- Allow configuring whether to enable shell mode on a system event hook.
- Slight UI changes to improve UX.
Healthcheck Plugin
- New healthcheck to check for deprecated global API key being set and possibly used, disabled for now, will be enabled with 1.12.0
🐛 Bug fixes
Core
- #5177: Removed an unwanted side effect on
HierarchicalChainMap._unflatten
that could make it impossible to reset the run-time value of adict
-based setting back to an empty dict. - Got rid of any uses of the
cgi
module, which has been deprecated for a while now and removed from Python 3.13+. - Added a note that the global API key will be removed with the release of OctoPrint 1.13.0.
- Pinned the
psutil
dependency to version 6.0.0 to work around a problem with its builds available on piwheels.
Application Keys Plugin
- #5170: Fix access request handling on newly opened page
Upload Manager Plugin
- Use proper name for
filesViewModel
instead of deprecated namegcodeFilesViewModel
.
🎉 Special thanks to all the contributors!
Special thanks to everyone who contributed to this bugfix release!
Also a big thank you to @prabhatverma47 for responsibly disclosing the security vulnerabilities fixed in this release.
🔗 More information
- Commits
- Release candidates:
- As this is a bugfix release, there were no release candidates