OctoPrint 1.4.1rc1 erschienen

Lange nix mehr im Bezug zu OctoPrint gehört, so dass es heute mal wieder ein neues Release Candidate gibt. Dieses wird bei den „Normalnutzern“ nicht angezeigt, da die wenigstens das umgestellt haben. Ein RC ist immer ein Versuchsupdate bei dem es gut oder aber auch schlecht laufen kann. Danach folgt meistens der Dev-Release und später dann der Final-Release.

Mit dem heutigen 1.4.1rc1 wurden viele Funktionen hinzugefügt, aber auch eine Menge Fehler behoben, so dass ich Euch den kompletten Changelog nicht vorenthalten möchte.

  • The temperature tab got a new control to select preconfigured temperature profiles on all heaters with one click
  • The newly bundled “File Check” plugin will sanity check uploaded files and warn about potential issues. Currently the plugin only detects {travel_speed} place holders left in GCODE. Read more in the plugin’s README.
  • The first run wizard now allows to restore from a plugin right away.
  • You can now move files in the file list to other folders without the need of a third party plugin.
  • The Plugin Manager now shows stats on the plugins available on the repository, such as number of known installs, date of last release etc. Installed plugins now also make it more transparent whether they are already compatible to Python 3 or not.
  • The Plugin Manager now also supports installing so called single-file plugins – mini plugins only consisting of a single python file which are a quick and easy way to work around broken communication or similar backend-only situations. This feature was developed live on air, you can learn more about it in this episode of OctoPrint Code & Chat. Consequently, the Software Update plugin was also extended with some new version check and updater types to support auto-updating single file plugins, read more in the docs here.
  • The Printer Safety Check has been renamed to Firmware Check & extracted into a still bundled but separately maintained plugin. It now also detects firmware with known broken communication protocol implementations (like the infamous CBD make it and ZWLF make it variants) and links to related FAQ entries on detection.
  • The broken by design comm port auto detection has been rewritten completely from scratch. That should hopefully make auto detection work more reliably in the future.
  • Original file modification timestamps will now be persisted on restoring from a backup.
  • The “read-only” group behaviour has been fixed so that it is actually possible to create a read-only account. The User group is no longer enforced on users, though pre checked for new users (if kept default). This makes it also possible to create group less users, so keep that in mind.
  • The permission issue that kept the Announcement icon show up on the navbar has been solved.
  • A bunch of dependencies were upgraded to the latest versions. Among these is also the templating engine Jinja2, which results in a heads-up for plugin authors, read below.
  • … and many more improvements & fixes.
  • #216 – New control on Temperature tab to set all heaters to temperatures from a configured temperature profile with one click (see also #3617)
  • #2312 – Software Update: Refuse to update if there is insufficient disk scape to do so. Disk space threshold is configurable and defaults to at least 150MB of free space in the Python package installation folder, the internal plugin folder and the system’s temporary files folder. This value might be revisited and increased if it proves to be too small still.
  • #2451 – Add support for sub folders on the watched folder (see also #3557)
  • #3344 – Don’t invalidate server side cache on hard reload while printing. Should combat performance issues on low powered systems.
  • #3410 – Add bundled „File Check“ plugin to sanity check uploaded files and warn about potential issues. Currently the plugin only detects {travel_speed} place holders left in GCODE. Read more in the plugin’s README.
  • #3411 – GCode viewer: Show retracts, moves and head position only for the current layer to reduce visual noise.
  • #3415 – Backup: Allow to specify path to backup to create on CLI: octoprint plugins backup:backup --path /path/to/my/backup.zip
  • #3420 – Add manifest.json and link from web UI to allow styling of homepage shortcuts on mobile devices as UI-less browser window.
  • #3433 – Allow sorting of file list by last print date.
  • #3471 – Reword buttons on print cancel confirmation to avoid misunderstandings.
  • #3479 – Configuration option to disable SD print detection, to work around misbehaving firmware variants (e.g. Ultimaker 2/2+, for which that setting will also now get applied automatically)
  • #3482 – Configuration options to configure SameSite and SecureCookie headers. Might be needed for certain environments where OctoPrint gets embedded into a third party page, together with switching to https.
  • #3496 – Add option to restore from a backup right at the start of the first run setup wizard.
  • #3497 – Performance improvements for static assets: introduce gzip encoding, whitespace removal, assetpreloading, request count reduction & also update some frontend dependencies.
  • #3506 – Allow to inject custom temperature from plugins into the data collection in the backend. Note that this will not have custom temperature magically appear in the UI, this is only the first step towards that.
  • #3526 – Set LC_ALL and LANG environment variables in bundled startup files.
  • #3534 – Add optional request profiler. Can be enabled by starting the server with --debug and adding the perfprofile query parameter to any request.
  • #3567 – Clean up workaround for #2166 that is no longer needed
  • #3569 – Properly reflect on the UI that feed rate and flow rate modifiers are write-only ephemeral values that cannot be read back from the firmware by removing permanent display.
  • #3590 – Add M82 and M83 to extrude/retract commands to make sure the extruder really is switcher to relative and back to absolute in case of firmware that decouples the extruder from G90 & G91.
  • #3596 – Add move button to files and folders on file list in the sidebar so that moving around files and folders becomes natively supported by the UI (see also #3609)
  • #3604 – Add printselect and userdata as provided via the API to the Upload event.
  • #3606 – Plugin Manager: Include stats & github metadata for plugins in the repository, just like now available on plugins.octoprint.org.
  • Tracking: Send full environment with each daily pong for better stats regarding used Python & operating system versions
  • Keep load & print button active if the file is already loaded because otherwise some people get confused when they „can’t reprint the same file again“
  • Printer Safety Check: Renamed to Firmware Check & extracted into still bundled but separately maintained plugin. Now also detects firmware with known broken communcation protocol implementations (like the infamous CBD make it and ZWLF make it variants) and links to related FAQ entries on detection.
  • Moved source code repository from foosel/OctoPrint to OctoPrint/OctoPrint and updated links where needed accordingly.
  • Include python version in footer of UI
  • Plugin Manager: Add python compatibility information for installed plugins to overview in settings
  • Not only check general connectivity to the internet, but also whether DNS name resolution works (per default against octoprint.org). This is to combat repeatedly observed issues by users who managed to somehow get their system connected to the internet but without a valid nameserver configuration.
  • Allow disabling sanity checking of tool commands Tn sent to the printer, in case of misbehaving firmware that reports tools as invalid that aren’t invalid.
  • New bundled plugin „Printer notifications“ that implements support for //action:notification messages from the printer
  • Action Command Prompt: Renamed to „Printer dialogs“ in the settings
  • Add link to default cancel GCode script to GCode script editor. People tend to delete it and then are unable to find it again in the docs.
  • Persist file list styly in local storage just like sorting & filter options.
  • Appkeys: Allow to manually generate keys for users via the global settings as well.
  • Strongly recommend bundled Appkeys plugin over global API key for improved security.
  • Plugin Manager: Dedicated error message on general failure instead of unhelpful and misleading „pip not available“ message.
  • Port patterns and individual baudrates can now be put on a blacklist so they don’t get offered by OctoPrint to connect to and/or used in auto detection.
  • New hook octoprint.comm.transport.serial.additional_port_names to allow plugins to inject additional (custom) port names into OctoPrint to use for connecting to. Especially of interest in combination with octoprint.comm.transport.serial.factory.
  • Virtual Printer: Isolate fully into its own plugin, incl. migrating the settings from devel.virtualPrinter to plugins.virtual_printer.
  • Virtual Printer: Support baudrate and port properties on faked serial.
  • Plugin Manager: Support installing single file plugins from URL or from upload.
  • Improve performance of octoprint.filemanager.util.LineProcessorStream
  • Increase size of file metadata LRU cache to 100 entries
  • Refactored buffered readline wrapper around serial port and added logging of read \0 bytes. See also discussion in #2454.
  • Action Command Prompt aka Printer Dialogs: Default to emergency sending & signalling being enabled, if detected as supporte from the firmware’s capability report.
  • Plugin Manager: Small styling changes on plugin list and repository browser
  • Logging: Added an UI indicator when serial.log is active that acts as a reminder to disable it again after debugging.
  • Some layout optimizations in the About dialog.
  • Add link to Discord server to footer and About dialog.
  • GCode Viewer: Isolate fully into its own plugin, incl. migrating the settings from gcodeViewer to plugins.gcodeviewer.
  • Update Tornado, Jinja2, Flask and related dependencies to last versions supporting both Python 2 and 3. See also #3551
  • Various documentation fixes (see also #3516#3517#3575#3608)
  • Various translation fixes (see also #3514)

Bug fixes

  • #3346 – Only compute ETag for HTML once per reload & optimize performance of config hashing
  • #3376 – Do not close and reopen connection on spammed connection requests but instead deny them.
  • #3378 – Drop file descriptors everywhere we can to avoid issues with processes inheriting them.
  • #3394 – Fix broken by design comm port auto detection through complete rewrite.
  • #3404 – Fix ordering of replacement tabs for core tabs declared by plugins.
  • #3416 – Backup: Preserve original file modification timestamp on backup restore
  • #3422 – Fix caching on /api/files
  • #3467 – Fix temperature reporting for shared nozzle setups where the firmware only ever reports T0
  • #3492 – Fix /api/version permission requirements
  • #3493 – Fix a NoneType comparison error (see also #3494)
  • #3502 – Possible fix for web interface not fully loading due to a not removed timeout trigger.
  • #3510 – Work around a bug in Tornado causing same origin checks to be run case sensitive which doesn’t conform with RFC6454
  • #3525 – select command during an ongoing print should return 409 Conflict on the API
  • #3536 – Fix plugin data cleanup, it should not set deleted plugin settings to null but instead delete them from the config (see also #3566)
  • #3547 – Fix Read-only group behaviour so that it is actually possible to create read-only users. The User group is no longer enforced on users, though pre checked for new users (if kept default). This makes it also possible to create group less users, so keep that in mind.
  • #3553 – Virtual Printer: Fix issue where _simulateTemps may never reach target temp
  • #3554 – Fix persistence of default flag on group edit.
  • #3555 – Pin markupsafe Jinja2 dependency to >=1.1,<2.0. Newer versions are Python 3 only.
  • #3582 – Announcements: Fix navbar icon
  • Fix progress reporting on files with CRLF EOLs
  • Only use supplied analysis data if it is actually complete, otherwise enrich with our own analysis
  • Fix session validation, remove side effects for login behaviour after server restart.
  • Software Update: Delete unnecessary check_providers from config for good.
  • Mark all bundled plugins as Python 3 compatible (cosmetic change only, they already were).
  • Plugin Manager: Fix styling of affected versions list in plugin notification popups.
  • Change instances of logger.warn to logger.warning
  • Change instances of warnings.warning to warnings.warn
  • Don’t log warnings from plugin system initialization for CLI command invocations.
  • Fix some Py2vs3 bugs
  • Fix a bug that could cause custom translations to not properly load due to a missing path check.

Check Also

OctoPrint 1.4.2 Release

Kurz nach dem Release von OctoPrint 1.4.1 wurde ein neues Update raus gebracht, welche drei …

Kommentar verfassen