@foosel foosel released this Dec 7, 2015 · 2818 commits to maintenance since this release

Assets 2

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.


  • Version numbering now follows PEP440.
  • Prepared some things for publishing OctoPrint on PyPi
    in the future.
  • BlueprintPlugin mixin
    now has an errorhandler decorator that serves the same purpose as
  • Interpret M25 in a GCODE file that is being streamed from OctoPrint as
    indication to pause, like M0 and M1.
  • 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 the watched 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
  • 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
  • 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 via http://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
  • 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.