Note for Upgraders coming from 1.3.0rc1
Due to the encoding issue #1586 with the included update script that still existed in 1.3.0rc1 under certain circumstances you might encounter an error when upgrading to 1.3.0rc2 similar to this:
Installed /home/pi/oprint/lib/python2.7/site-packages/OctoPrint-1.3.0rc2-py2.7.egg Processing dependencies for OctoPrint==1.3.0rc2 Searching for tornado==4.0.2 Reading https://pypi.python.org/simple/tornado/ Best match: tornado 4.0.2 Downloading https://pypi.python.org/packages/66/bb/782999291b390181aa2c38ac3ad167567d933e92c0d7ce3f421b3abe4586/tornado-4.0.2.tar.gz#md5=985c0e704b765c33a6193d49d1935588 Processing tornado-4.0.2.tar.gz Writing /tmp/easy_install-Bl9zQY/tornado-4.0.2/setup.cfg Running tornado-4.0.2/setup.py -q bdist_egg --dist-dir /tmp/easy_install-Bl9zQY/tornado-4.0.2/egg-dist-tmp-dETMqs Traceback (most recent call last): File "/home/pi/oprint/lib/python2.7/site-packages/OctoPrint-1.3.0rc1-py2.7.egg/octoprint/plugins/softwareupdate/scripts/update-octoprint.py", line 275, in <module> main() File "/home/pi/oprint/lib/python2.7/site-packages/OctoPrint-1.3.0rc1-py2.7.egg/octoprint/plugins/softwareupdate/scripts/update-octoprint.py", line 272, in main install_source(python_executable, folder, user=args.user, sudo=args.sudo) File "/home/pi/oprint/lib/python2.7/site-packages/OctoPrint-1.3.0rc1-py2.7.egg/octoprint/plugins/softwareupdate/scripts/update-octoprint.py", line 215, in install_source raise RuntimeError("Could not update, \"python setup.py install\" failed with returncode %d: %s" % (returncode, _to_error(*stdout))) TypeError: _to_error() argument after * must be a sequence, not NoneType The update did not finish successfully. Please consult the log for details.
OctoPrint will report your upgrade as having failed. It actually has not. Simply doing a manual restart of your OctoPrint server should start up 1.3.0rc2 just fine.
The issue in question has been fixed in 1.3.0rc2, but naturally is still present in your existing 1.3.0rc1 version. See also #1599.
- OctoPrint will now track the current print head position on pause and cancel and provide it as new template variables
cancel_positionfor the relevant GCODE scripts. This will allow more intelligent pause codes that park the print head at a rest position during pause and move it back to the exact position it was before the pause on resume (Example). Note that this is NOT enabled by default and for now will necessitate adjusting the pause and resume GCODE scripts yourself since position tracking with multiple extruders or when printing from SD is currently not fool proof thanks to firmware limitations regarding reliable tracking of the various
Evalues and the currently selected tool
T. In order to fully implement this feature, the following improvements were also done:
PositionUpdatedevent when OctoPrint receives a response to an
PrintCancelledevents with position data from
M114position query on print interruption/end.
- Added (optional) firmware auto detection. If enabled (which it is by default), OctoPrint will now send an
M115to the printer on initial connection in order to try to figure out what kind of firmware it is. For FIRMWARE_NAME values containing "repetier" (case insensitive), all Repetier-specific flags will be set on the comm layer. For FIRMWARE_NAME values containing "reprapfirmware" (also case insensitive), all RepRapFirmware-specific flags will be set on the comm layer. For now no other handling will be performed.
- Added safe mode flag
--safeand config setting
startOnceInSafeModethat disables all third party plugins when active. The config setting will automatically be removed from
config.yamlafter the server has started through successfully.
octoprint configCLI that allows easier manipulation of config.yaml entries from the command line. Example:
octoprint config set --bool server.startOnceInSafeMode true
- #1422 - Added option for post roll for timed timelapse to duplicate last frame instead of capturing new frames. That makes for a faster render at the cost of a still frame at the end of the rendered video. See also #1553.
- #1551 - Allow to define a custom bounding box for valid printer head movements in the printer profile, to make print dimension check more flexible.
- #1583 - Strip invalid
pip uninstallcommands, if provided by the user as additional pip arguments.
- #1593 - Automatically migrate old manual system commands for restarting OctoPrint and rebooting or shutting down the server to the new system wide configuration settings. Make a backup copy of the old
config.yamlbefore doing so in case a manual rollback is required.
M114responses without whitespace between coordinates (protocol consistency - who needs it?).
- Don't focus files in the file list after deleting a file - made the list too jumpy.
- Better error resilience against errors in UI components.
M600is now marked as a long running command by default.
- Plugin Manager: Allow closing of all notifications and close them automatically on detected server disconnect. No need to keep a "Restart needed" message around if a restart is in progress.
- Software Update: "busy" spinner on check buttons while already checking for updates.
- Software Update: Prevent update notification when wizard is open.
- Plugin Manager / Software Update: The "There's a new version of pip" message during plugin installs and software updates is no longer displayed like an error.
- Plugin Manager / Software Update: The "busy" dialog can no longer be closed accidentally.
- #1148 - Fixed retraction z hop setting for Z-triggered timelapses. Was not correctly propagated to the backend and hence not taking effect.
- #1567 - Invalidate
/api/settingscache on change of the user's login state (include user roles into ETag calculation).
- #1586 - Fixed incompatibility of update script and command line helper with non-ASCII output from called commands.
- #1588 - Fixed feedback controls again.
/api/settingscache on change of the currently enabled plugins (by including plugin names into ETag calculation) and/or on change of the current effective config.
/api/timelapsecache on change of the current timelapse configuration.
- Fixed an issue causing the version number not to be properly extracted from
sdisttarballs generated under Windows.
- Get rid of double scroll bar in printer profile editor.
- Fixed tracking of current byte position in file being streamed from disk. Turns out that
self._handle.telllied to us thanks to line buffering.
- Fixed select & print not working anymore for SD files thanks to a timing issue.
PrintFailedevent payload (was still missing new folder relevant data).
- Fixed premature parse stop on
- Make sure
?l10nrequest parameter gets also propagated to API calls as
X-Localeheader in case of locale sensitive API responses.
- Fix language mixture due to cached template configs including localized strings; cache per locale.
- Only insert divider in system menu after core commands if there are custom commands.
- Fix update of webcam stream URL not being applied due to caching.
- Fixed a rare race condition causing the new "The settings changed, reload?" popup to show up even when the settings change originated in the same client instance.
- Fixed a bunch of missing translations.
- Pinned Tornado version to 4.0.2. Former version requirement was able to pull in a beta version causing issues with websockets due to a bug in
permessage-deflatehandling. The Tornado requirement needs an update, but we'll leave it at 4.0.2 for 1.3.0 since we'll need to do some migration work for compatibility with anything newer. Potentially related to #1523.
maintenance not yet released as part of a stable release
- #1567 - Fix issue with restricted settings getting parsed to the wrong data structure in the frontend if loaded anonymously first.
- #1571 - Fix parsing of port number from HTTP Host header for IPv6 addresses
- Fix issue with settings restriction causing internal settings defaults to be changed.