Notes for Upgraders
A bug in 1.2.7 prevents directly updating to 1.2.8, here's what to do
A bug in OctoPrint 1.2.7 (fixed in 1.2.8) prevents updating OctoPrint to version 1.2.8. If you try to perform the update, you will simply be told that "the update was successful", but the update won't actually have taken place. To solve this hen-egg-problem, a plugin has been made available that fixes said bug (through monkey patching).
The plugin is called "Updatefix 1.2.7" and can be found in the plugin repository and on Github.
Before attempting to update your installation from version 1.2.7 to version 1.2.8, please install the plugin via your plugin manager and restart your server. Note that you will only see it in the Plugin Manager if you need it, since it's only compatible with OctoPrint version 1.2.7. After you installed the plugin and restarted your server you can update as usual. The plugin will self-uninstall once it detects that it's running under OctoPrint 1.2.8. After the self-uninstall another restart of your server will be triggered (if you have setup your server's restart command, defaults to sudo service octoprint restart
on OctoPi) in order to really get rid of any left-overs, so don't be alarmed when that happens, it is intentional.
If you cannot or don't want to use the plugin, alternatively you can switch OctoPrint to "Commit" based tracking via the settings of the Software Update plugin, update, then switch back to "Release" based tracking (see this screenshot).
Bed temperatures are now only displayed if printer profile has a heated bed configured
This release fixes a bug that caused bed temperature display and controls to be available even if the selected printer profile didn't have a heated bed configured.
If your printer does have a heated bed but you are not seeing its temperature in the "Temperature" tab after updating to 1.2.8, please make sure to check the "Heated Bed" option in your printer profile (under Settings > Printer Profiles) as shown in this short GIF.
Improvements
- Version numbering now follows PEP440.
- Prepared some things for publishing OctoPrint on PyPi
in the future. - BlueprintPlugin mixin
now has anerrorhandler
decorator that serves the same purpose as
Flask's
(#1059) - Interpret
M25
in a GCODE file that is being streamed from OctoPrint as
indication to pause, likeM0
andM1
. - Cache rendered page and translation files indefinitely. That should
significantly improve performance on reloads of the web interface. - Added the string "unknown command" to the list of ignored printer errors.
This should help with general firmware compatibility in case a firmware
lacks features. - Added the strings "cannot open" and "cannot enter" to the list of ignored
printer errors. Those are errors that Marlin may report if there is an issue
with the printer's SD card. - The "CuraEngine" plugin now makes it more obvious that it only targets
CuraEngine versions up to and including 15.04 and also links to the plugin's
homepage with more information right within the settings dialog. - Browser tab visibility is now tracked by the web interface, disabling the
webcam and the GCODE viewer if the tab containing OctoPrint is not active.
That should reduce the amount of resource utilized by the web interface on
the client when it is not actively monitored. Might also help to mitigate
#1065, the final verdict
on that one is still out though. - The printer log in the terminal tab will now be cut off after 3000 lines
even if autoscroll is disabled. If the limit is reached, no more log lines
will be added to the client's buffer. That ensures that the log will not
scroll and the current log excerpt will stay put while also not causing
the browser to run into memory errors due to trying to buffer an endless
amount of log lines. - Increased timeout of "waiting for restart" after an update from 20 to 60sec
(20sec turned out to be too little for OctoPi for whatever reason). - Added a couple of unit tests
Bug Fixes
- #1120 - Made the watchdog
that monitors and handles thewatched
folder more resilient towards errors. - #1125 - Fixed OctoPrint
displaying bed temperature and controls and allowing the sending of GCODE
commands targeting the bed (M140
,M190
) if the printer profile doesn't
have a heated bed configured. - Fixed an issue that stopped the software updater working for OctoPrint. The
updater reports success updating, but no update has actually taken place. A
fix can be applied for this issue to OctoPrint version 1.2.7 via
the Updatefix 1.2.7 plugin.
For more information please refer to the Important information for people updating from version 1.2.7
above. - Fix: Current filename in job data should never be prefixed with
/
- Only persist plugin settings that differ from the defaults. This way the
config.yaml
won't be filled with lots of redundant data. It's the
responsibility of the plugin authors to responsibly handle changes in default
settings of their plugins and add data migration where necessary. - Fixed a documentation bug (#1067)
- Fixed a conflict with bootstrap-responsive, e.g. when using the
ScreenSquish Plugin
(#1103) - Fixed OctoPrint still sending SD card related commands to the printer even
if SD card support is disabled (e.g.M21
). - Hidden files are no longer visible to the template engine, neither as (GCODE)
scripts nor as interface templates. - The hostname and URL prefix via which the OctoPrint web interface is accessed
is now part of the cache key. Without that being the case the cache could
be created referring to something like/octoprint/prefix/api/
for its API
endpoint (if accessed viahttp://somehost:someport/octoprint/prefix/
first
time), which would then cause the interface to not work if accessed later
via another route (e.g.http://someotherhost/
). - Fixed a JavaScript error on finishing streaming of a file to SD.
- Fixed version reporting on detached HEADs (when the branch detection
reported "HEAD" instead of "(detached" - Fixed some path checks for systems with symlinked paths
(#1051) - Fixed a bug causing the "Server Offline" overlay to pop under the
"Please reload" overlay, which could lead to "Connection refused" browser
messages when clicking "Reload now" in the wrong moment.
(Commits)