⚠️ Important note on release candidates
This is a Release Candidate of OctoPrint. It is not a stable release: severe bugs can occur, and they can be bad enough that they make a manual downgrade to an earlier version necessary - maybe even from the command line.
You should be comfortable with and capable of possibly having to do this before installing an RC.
Feedback on this RC
Please provide general feedback on this RC in this ticket. An "All is working fine" is valuable feedback as well because it tells me people are actually testing this RC and just not finding problems with it.
If you run into any obvious bugs, 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.
Heads-up: 1.3.11 unbundles the Cura plugin
Once installed the Cura Legacy plugin will import the settings and profiles from the former bundled Cura plugin automatically on first start.
Heads-up: 1.3.11 bundles a new Error Tracking plugin, please enable it on Release Candidates
The Error Tracking plugin is a completely separate plugin from the existing Anonymous Usage Tracking plugin. Its tracking is disabled by default. Its purpose is to collect error information from instances in order to allow better issue analysis especially during the Release Candidate phase, or when prompted after reporting a bug. Thus it will also ask you to enable it on start while subscribed to an RC release channel.
The plugin uses a sentry.io instance, kindly provided to OctoPrint by sentry.io.
- #1938 - Allow slicing parallel to printing on machines with more than one core.
- #2462 - Also scan and process watched folder on startup, not just during runtime.
- #2900 - Add new hook
octoprint.printer.sdcarduploadto allow plugins to override default way to upload files to the printer's SD card.
- #2904 - Added new command line switches
-6to restrict binding of the server to IPv4 or v6 respectively.
- #2905 - Use maximum of communication & temperature timeout as serial timeout to avoid issues if the user has set a longer temperature reporting interval than (busy) communication timeout.
- #2945 - Adjust default regex for filtering temperature requests and responses to not filter some
M115responses as well. New regex is
(Send: (N\d+\s+)?M105)|(Recv:\s+(ok\s+((P|B|N)\d+\s+)*)?(B|T\d*):\d+). If you modified your terminal filters you'll have to update that manually.
- #2947 - Printer safety check plugin: Disable warning for Monoprice Select Mini V2 with firmware v4.1+.
- #2953 - GCODE Viewer: Bring back the total number of printed layers.
- #2962 - Logging: deletion confirmation and bulk delete for log file management.
- #2965 - Add new hook
octoprint.events.register_custom_eventsto allow plugins to cleanly add custom events by plugins.
- #2970 - Add configurable list of commands that should never be sent to the printer, and a configurable list of commands on which OctoPrint should pause the current print job. Allows more granular configuration of behaviour of
- #2974 - Dedicated checkboxes to enable/disable webcam & timelapse functionality instead of relying on empty URLs.
- #2976 - Correctly identify v6 representations of v4 networks for auto login. Also correctly identify
::1as local network.
- #2978 - Use module name instead of plugin identifier when loading plugins from entry points. Also load bundled plugins under
octoprint.plugins.*instead of their identifier.
- #2982 - Log user activity of who started/paused/resumed/cancelled the current print. Include
ownerof a print job in event data and log.
- #2983 - Add clear button to filter box in file list.
- #2986 - Forcelogin plugin: Make login page responsive.
- #2988 - Add
--disable-pip-version-checkto pip calls to stop pip's tendency to confuse people with it's update nag messages.
- #2997 - Forcelogin plugin: Accept authentication through API key and/or authorization headers.
- #3010 - Add usage information for all folders to the API.
- #3014 - Hardening against corrupt language packs.
- #3023 - Hardening against corrupt preemptive caching configurations.
- #3030 - Backup plugin: Change name of generated backup file to have an
octoprint-prefix. See also #3039.
- #3033 - Open serial port in exclusive mode. See also #3036.
- #3038 - Detect Klipper firmware and adjust serial communication settings accordingly.
- #3040 - Add setting to disable fuzzy estimation display in the UI.
- #3049 - Workaround for broken PEP440 non-compliant Python version numbers under Debian. See also #3054.
- #3051 - Always show unfuzzy total print time and print left in a tooltip.
- #3055 - GCODE Viewer: Add ability to preview the current layer to be drawn.
- #3057 - Performance improvements in file management operations & more aggressive cleanup of stale metadata.
- #3066 - Docs: Add missing documentation about state in
jobsendpoint on API.
- #3072 - Hide temperature tab for machines with neither heated bed nor extruders.
- #3073 - Hide tool section in "Control" tab for machines with no extruders.
- #3074 - Updated several dependencies to newer versions.
- Add elapsed time and reason for failure to
SettingsUpdatedevent on save of settings.
- Simplify configuration change handling of wizards.
- Minimum Python version is now 2.7.9.
- Create a backup of working
config.yamlafter successful startup.
- Detect incomplete startups and set safe mode flag for next startup.
- Always show actual temperature as received from printer instead of "off" for very low temperatures. That way people will hopefully no longer blame OctoPrint for MINTEMP errors triggered by their firmware because it "can't handle temperatures under 10°C".
- Add full version string
OctoPrint <version>to API.
- Add systemd unit file.
- Deprecate appkey API in favor of new bundled Application Keys Plugin. AFAIK was never used by anyone anyhow.
- Take bundle status into account for plugin sorting, bundled plugins should always win before not bundled plugins if no sorting key is provided.
- Hardening against callback errors in decorators on default view.
- Unbundled the Cura plugin. It lives on as "Cura Legacy" at OctoPrint/OctoPrint-CuraLegacy and will also be available on the plugin repository.
- Hardening against invalid SD status reports.
- Cleanup now obsolete
monotonic_timefor relative times everywhere.
- Support for heated chamber firmware capabilities.
UI_API_KEYand API disabling. With the inclusion of the ForceLogin plugin that doesn't serve a real purpose anymore in most cases, and it was only ever more of a rate limiting feature than an actual security measure anyhow. Plus it lead to a ton of false security alarms.
- Docs: Improve docs of connection API to avoid issues as encountered in #3043.
- Action Command Prompt plugin: Set
M876as default command as discussed in MarlinFirmware/Marlin#12982.
- Action Command Prompt plugin: Add
EMERGENCY_PARSERcompliant commands, if configured accordingly. See also MarlinFirmware/Marlin#12982.
- Action Command Prompt plugin: Signal support for action command prompts to firmware via
M876 P1, if configured accordingly. See also MarlinFirmware/Marlin#12982.
- Action Command Prompt plugin: Properly handle
PROMPT_SUPPORTcapability report from firmware and configure action command prompt support accordingly. See also MarlinFirmware/Marlin#12982.
- Error Tracking plugin: New plugin utilizing sentry.io to track any kind of errors thrown in either backend or the default UI. Will ship disabled by default, has to be enabled by the user. Release Candidates will prompt users to enable it in order to improve on error detection during RC phase.
- Forcelogin plugin: Set sorting key to 0 to increase likelihood of coming before alternative UIs.
- Forcelogin plugin: Add favicon meta tags.
- Plugin Manager plugin, Softwareupdate plugin: Use scrollables instead of pagination.
- Printer Safety Check plugin: Add version restriction to Anycubic check.
- Tracking plugin: Add elapsed time and reason for failure to
- Tracking plugin: Add elapsed time to
- Tracking plugin: Track firmware/communication errors.
- Tracking plugin: Track printer safety warnings.
- Tracking plugin: Track uptime of OctoPrint in
- #1881 - Another attempt at fixing the hard to intentionally reproduce issue where all API endpoints start returning
403responses. Caching headers have been adjusted and API key handling has been changed, which might fix things.
- #2859 - Fix for used port and baudrate to not be properly reflected on the UI.
- #2916 - Possible workaround for a rare issue with the bundled Tornado dependency when running OctoPrint under Windows.
- #2954 - Backup plugin: Fix an issue with calculation of available free space.
- #2955 - Fix handling of
PAUSINGand handling of
PAUSINGstate not allowing a resume to proceed. See also MarlinFirmware/Marlin#12982.
- #2959 - Enforce max height smaller than available viewport for notifications so that they cannot scroll out of the screen.
- #2967 - Tracking plugin: Fix exception caused on printer events when tracking is disabled and no UUID is thus set.
- #2971 - Forcelogin plugin: Fix "remember me" not working as advertised. See also #2973.
- #2992 - Backup plugin: Use
os.renameand thus avoid issues with certain filesystem configurations. See also #2993.
- #2996 - Use non-blocking writes on serial communication to avoid
selectblocking issues under certain conditions. See also #3004.
- #3001 - Fix a race condition in SD printing detection.
- #3012 - Fix a unicode vs ASCII bug in translating plugins.
- #3024 - Fix inconsistent behaviour of CORS support on the API regarding static routes and the socket.
- #3029 & #3045 & #3061 - Fix issues in the German translation
- #3053 - GCODE Viewer: Fix an issue with multi extruder files where only a higher extruder index is actually used and all prior ones are undefined.
- #3080 - Virtual Printer plugin: Fix tracking of negative movements and homing.
- #3071 - Application Keys plugin: Fix appkeys not working when access control is disabled.
- Fix a typo in an error message during startup.
pausedaction command must not trigger any local processing. See also MarlinFirmware/Marlin#12982.
- Only use page size from local storage in
- Fix caching headers on main view.
- Docs: Fix documentation for firmware info & capability plugin hooks.
- Docs: Fix a formatting issue in the event docs, making it seem like events were deprecated when it was only payload entries that are deprecated.
- Forcelogin plugin: Never handle the UI if ACL is disabled.
- Tracking plugin: Fix tracking not starting fully if enabled during runtime.
- Tracking plugin: Fix handling of missing print time. See also #3063.
Special thanks to all the contributors!
Special thanks to everyone who contributed to this release candidate, especially @agrif, @akraus53, @AndyQ, @CapnBry, @DanielJoyce, @devildant, @Fabi0San, @fake-name, @fieldOfView, @gloomyandy, @HarlemSquirrel, @hgross, @jubaleth, @melgish, @rgriebl and @tedder for their PRs.