Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also .

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also .
base repository: foosel/OctoPrint
Choose a Base Repository
foosel/OctoPrint
3DKIN/OctoPrint
Akufnx/PrinterWebUI
ApxaHreJ1/OctoPrint
AxTheB/OctoPrint
Aylr/OctoPrint
Balestrino/OctoPrint
BarDweller/OctoPrint
Bevaz/OctoPrint
Bigfellas/OctoPrint
Booli/OctoPrint
Brandonmason1997/OctoPrint
CNCBASHER/OctoPrint
Cabalist/OctoPrint
CapnBry/OctoPrint
ChrisFullmer/OctoPrint
CraigRK/OctoPrint
Cribstone/OctoPrint
Cylindric/OctoPrint
Dadik/OctoPrint
DanLipsitt/OctoPrint
Daneild/OctoPrint
Darko8/OctoPrint
Fabi0San/OctoPrint
Fairs13/OctoPrint
FrozenCow/OctoPrint
HWiese1980/OctoPrint
Healman/OctoPrint
HooLySpeed/OctoPrint
Javierma/OctoPrint-TFG
JoseAlcerreca/OctoPrint
JujuZA/OctoPrint
Leapfrog3DPrinters/OctoPrint
Lucasth/OctoPrint
MYasirSheikh/OctoPrint
MattStultz/OctoPrint
MeatBlood/OctoPrint
MrBalonio/OctoPrint
Nickg617/OctoPrint
PhillipNordwall/OctoPrint
Pumpist/OctoPrint
Robo3D/OctoPrint
SG-O/OctoPrint
Salandora/OctoPrint
SheimyRahman/OctoPrint
StbLinux/OctoPrint
T3DT/OctoPrint
TheTesla/OctoPrint
ThomasSc/OctoPrint
Tolgrim/OctoPrint
TopherMan/OctoPrint
UBCRapid/RapidPrint
Yayaa10/OctoPrint
ZachNagengast/OctoPrint
ZlayaKakakha/OctoPrint
a0s/OctoPrint
aaronaskew/OctoPrint
acquadrod/OctoPrint
admsteck/OctoPrint
aferre/OctoPrint
ahtly89/OctoPrint
ajd4096/OctoPrint
alfo/OctoPrint
algspd/OctoPrint
archprlest/OctoPrint
aschatten/OctoPrint
avontd2868/OctoPrint
beeverycreative/BEEweb
brad/OctoPrint
brownedon/OctoPrint
bwattendorf/OctoPrint
charlescrain/OctoPrint
chriskoz/OctoPrint
cliffmu/OctoPrint
craftor/OctoPrint
crob09/OctoPrint
cybrox/OctoPrint
cyrusbowman/OctoPrint
danfinlay/OctoPrint
danieldiazie/OctoPrint
danveld/OctoPrint
daparix/OctoPrint
daprice/OctoPrint
darkomen/OctoPrint
dherkova/OctoPrint
dietzm/OctoPrint
digicious/OctoPrint
earasoft/OctoPrint
eddieparker/OctoPrint
evride/OctoPrint
faisalomar/OctoPrint
fargo66/OctoPrint
feelfreelinux/octoprint-android-server
fehknt/OctoPrint
fiquett/OctoPrint
fmalpartida/OctoPrint
frma71/OctoPrint
fusion94/OctoPrint
gadespc/OctoPrint
geco82/OctoPrint
georgewhewell/OctoPrint
giampy41/OctoPrint
hardwarewizz/OctoPrint
hcross/OctoPrint
hcxiong/OctoPrint
hehongyu1995/OctoPrint
hudbrog/OctoPrint
imitation/PrinterWebUI
imrahil/OctoPrint
itilguru/OctoPrint
jaeholop/OctoPrint
jamesgao/OctoPrint
jar13/OctoPrint
javy3c/OctoPrint
jbinkleyj/OctoPrint
jgoldshlag/OctoPrint
jimmcgaw/OctoPrint
jimmyken793/OctoPrint
jjros/OctoPrint
jmarasch/OctoPrint
jonnor/OctoPrint
jonyo/OctoPrint
julianrendell/OctoPrint
kalazzerx/OctoPrint
kevimccu/OctoPrint
khkhKSYuShKAkhkh/OctoPrint
kireli/OctoPrint
klaasvanrijn/OctoPrint
lLuCeFeRl/OctoPrint
leductan-nguyen/RaionPi
leoken/OctoPrint
linvinus/OctoPrint
liseman/OctoPrint
luisibanez/OctoPrint
m000z0rz/OctoPrint
macressler/OctoPrint
majklovec/OctoPrint
mannuz/OctoPrint
maxsom/OctoPrint
mayoff/OctoPrint
megalithic/OctoPrint
merkur2k/OctoPrint
midopple/OctoPrint
miguelangelcasanova/OctoPrint
misato/OctoPrint
mlb5000/OctoPrint
morlac/OctoPrint
moto-timo/OctoPrint
mrbeam/OctoPrint
nekromant/OctoPrint
netconstructor/OctoPrint
niberger/OctoPrint
norpchen/OctoPrint
nosyjoe/OctoPrint
nyndi/OctoPrint
objectprinting/OctoPrint
orias/OctoPrint
p3poni/OctoPrint
persong/OctoPrint
peteruithoven/OctoPrint
pnit/OctoPrint
polyprinter/OctoPrint
printrido/OctoPrint
qbit/OctoPrint
qharley/OctoPrint
r4v5/OctoPrint
rbisping/OctoPrint
remyyounes/OctoPrint
rooiejoris/OctoPrint
rubenkar/OctoPrint
ryanneufeld/OctoPrint
savorywatt/OctoPrint
sbeckeriv/PrinterWebUI
schieska/OctoPrint
sean-cc/OctoPrint
seemecnc/OctoPrint
skaegi/OctoPrint
smokintbird/OctoPrint
srwalter/OctoPrint
suolike/OctoPrint
swisstec/OctoPrint
tbfleming/OctoCut
tedder/OctoPrint
thedyerman/OctoPrint
thepangman/OctoPrint
thomaskneisel/OctoPrint
tinkercnc/OctoPrint
tjhowse/OctoPrint
tylerjwilk/OctoPrint
vandermore/OctoPrint
visar/PrinterWebUI
vpilat/OctoPrint
walkcow/OctoPrint
warriorlious/OctoPrint
wrxavex/OctoPrint
xj3-me/OctoPrint
xraceweb/OctoPrint
ymilord/OctoPrint-MrBeam
zhenninglim/OctoPrint
zzGladiatoRzz/OctoPrint
Nothing to show
base: 1.2.7
head repository: foosel/OctoPrint
Choose a Head Repository
foosel/OctoPrint
3DKIN/OctoPrint
Akufnx/PrinterWebUI
ApxaHreJ1/OctoPrint
AxTheB/OctoPrint
Aylr/OctoPrint
Balestrino/OctoPrint
BarDweller/OctoPrint
Bevaz/OctoPrint
Bigfellas/OctoPrint
Booli/OctoPrint
Brandonmason1997/OctoPrint
CNCBASHER/OctoPrint
Cabalist/OctoPrint
CapnBry/OctoPrint
ChrisFullmer/OctoPrint
CraigRK/OctoPrint
Cribstone/OctoPrint
Cylindric/OctoPrint
Dadik/OctoPrint
DanLipsitt/OctoPrint
Daneild/OctoPrint
Darko8/OctoPrint
Fabi0San/OctoPrint
Fairs13/OctoPrint
FrozenCow/OctoPrint
HWiese1980/OctoPrint
Healman/OctoPrint
HooLySpeed/OctoPrint
Javierma/OctoPrint-TFG
JoseAlcerreca/OctoPrint
JujuZA/OctoPrint
Leapfrog3DPrinters/OctoPrint
Lucasth/OctoPrint
MYasirSheikh/OctoPrint
MattStultz/OctoPrint
MeatBlood/OctoPrint
MrBalonio/OctoPrint
Nickg617/OctoPrint
PhillipNordwall/OctoPrint
Pumpist/OctoPrint
Robo3D/OctoPrint
SG-O/OctoPrint
Salandora/OctoPrint
SheimyRahman/OctoPrint
StbLinux/OctoPrint
T3DT/OctoPrint
TheTesla/OctoPrint
ThomasSc/OctoPrint
Tolgrim/OctoPrint
TopherMan/OctoPrint
UBCRapid/RapidPrint
Yayaa10/OctoPrint
ZachNagengast/OctoPrint
ZlayaKakakha/OctoPrint
a0s/OctoPrint
aaronaskew/OctoPrint
acquadrod/OctoPrint
admsteck/OctoPrint
aferre/OctoPrint
ahtly89/OctoPrint
ajd4096/OctoPrint
alfo/OctoPrint
algspd/OctoPrint
archprlest/OctoPrint
aschatten/OctoPrint
avontd2868/OctoPrint
beeverycreative/BEEweb
brad/OctoPrint
brownedon/OctoPrint
bwattendorf/OctoPrint
charlescrain/OctoPrint
chriskoz/OctoPrint
cliffmu/OctoPrint
craftor/OctoPrint
crob09/OctoPrint
cybrox/OctoPrint
cyrusbowman/OctoPrint
danfinlay/OctoPrint
danieldiazie/OctoPrint
danveld/OctoPrint
daparix/OctoPrint
daprice/OctoPrint
darkomen/OctoPrint
dherkova/OctoPrint
dietzm/OctoPrint
digicious/OctoPrint
earasoft/OctoPrint
eddieparker/OctoPrint
evride/OctoPrint
faisalomar/OctoPrint
fargo66/OctoPrint
feelfreelinux/octoprint-android-server
fehknt/OctoPrint
fiquett/OctoPrint
fmalpartida/OctoPrint
frma71/OctoPrint
fusion94/OctoPrint
gadespc/OctoPrint
geco82/OctoPrint
georgewhewell/OctoPrint
giampy41/OctoPrint
hardwarewizz/OctoPrint
hcross/OctoPrint
hcxiong/OctoPrint
hehongyu1995/OctoPrint
hudbrog/OctoPrint
imitation/PrinterWebUI
imrahil/OctoPrint
itilguru/OctoPrint
jaeholop/OctoPrint
jamesgao/OctoPrint
jar13/OctoPrint
javy3c/OctoPrint
jbinkleyj/OctoPrint
jgoldshlag/OctoPrint
jimmcgaw/OctoPrint
jimmyken793/OctoPrint
jjros/OctoPrint
jmarasch/OctoPrint
jonnor/OctoPrint
jonyo/OctoPrint
julianrendell/OctoPrint
kalazzerx/OctoPrint
kevimccu/OctoPrint
khkhKSYuShKAkhkh/OctoPrint
kireli/OctoPrint
klaasvanrijn/OctoPrint
lLuCeFeRl/OctoPrint
leductan-nguyen/RaionPi
leoken/OctoPrint
linvinus/OctoPrint
liseman/OctoPrint
luisibanez/OctoPrint
m000z0rz/OctoPrint
macressler/OctoPrint
majklovec/OctoPrint
mannuz/OctoPrint
maxsom/OctoPrint
mayoff/OctoPrint
megalithic/OctoPrint
merkur2k/OctoPrint
midopple/OctoPrint
miguelangelcasanova/OctoPrint
misato/OctoPrint
mlb5000/OctoPrint
morlac/OctoPrint
moto-timo/OctoPrint
mrbeam/OctoPrint
nekromant/OctoPrint
netconstructor/OctoPrint
niberger/OctoPrint
norpchen/OctoPrint
nosyjoe/OctoPrint
nyndi/OctoPrint
objectprinting/OctoPrint
orias/OctoPrint
p3poni/OctoPrint
persong/OctoPrint
peteruithoven/OctoPrint
pnit/OctoPrint
polyprinter/OctoPrint
printrido/OctoPrint
qbit/OctoPrint
qharley/OctoPrint
r4v5/OctoPrint
rbisping/OctoPrint
remyyounes/OctoPrint
rooiejoris/OctoPrint
rubenkar/OctoPrint
ryanneufeld/OctoPrint
savorywatt/OctoPrint
sbeckeriv/PrinterWebUI
schieska/OctoPrint
sean-cc/OctoPrint
seemecnc/OctoPrint
skaegi/OctoPrint
smokintbird/OctoPrint
srwalter/OctoPrint
suolike/OctoPrint
swisstec/OctoPrint
tbfleming/OctoCut
tedder/OctoPrint
thedyerman/OctoPrint
thepangman/OctoPrint
thomaskneisel/OctoPrint
tinkercnc/OctoPrint
tjhowse/OctoPrint
tylerjwilk/OctoPrint
vandermore/OctoPrint
visar/PrinterWebUI
vpilat/OctoPrint
walkcow/OctoPrint
warriorlious/OctoPrint
wrxavex/OctoPrint
xj3-me/OctoPrint
xraceweb/OctoPrint
ymilord/OctoPrint-MrBeam
zhenninglim/OctoPrint
zzGladiatoRzz/OctoPrint
Nothing to show
compare: 1.2.8
Commits on Oct 20, 2015
Commits on Oct 22, 2015
That was a tiny detail missing in 8bef18c that
caused issues with detecting which file was currently selected on the printer's
SD card (for "do not delete that" checks on the API).
Commits on Oct 23, 2015
Versions should now be PEP440 compatible.
(cherry picked from commit 711810d)
(cherry picked from commit 7cd0adb)
When doing 'git checkout <rev>' or 'git checkout <tag>' there will be no
branch info:

	$ git branch
	* (detached from 96fc70b)

After whitelisting '\(detached.*' we get:

	$ python setup.py version
	running version
	got version from git {'version': '1.2.5-1-gfd73e02', 'branch': 'HEAD',
	'full': 'fd73e02f4fa9f286407ad688feeeee3ebaffea60'}
	Version is currently: 1.2.5-1-gfd73e02

The '-1-gfd73e02' is this commit on top of the 1.2.5 tag.

While detached checkouts should be discouraged some buildsystems (e.g.
OpenEmbedded) have no real way to avoid it, which is what this patch
fixes. Actual people doing a checkout should use a branch.

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
(cherry picked from commit 987e637)
Runaway regex ;)
(cherry picked from commit 78277ac)
(cherry picked from commit 5fc8e22)
Commits on Oct 26, 2015
This change should make sure that only those settings actually make it into config.yaml
per plugin that do differ from the default settings. Up until now the full dictionary as received
e.g. from the REST API was saved, regardless whether it contained (only) default values or not.
That led to a lot of "null" entries in the config.yaml file, which for one looked horrible and also
led to problems when a plugin actually wanted to change its default values.

With this commit, two things are done. One, upon saving a configuration the default
implementation of the save routine in the settings plugin now first diffs the new data against
the defaults and only saves what is different. Two, upon server startup a cleanup method is
now called on settings plugins whose default implementation fetches the current data stored
in config.yaml, diffs that against the defaults and only writes back the diff result. If that is empty
the entry is completely deleted from config.yaml.
(cherry picked from commit d70fe32)
We need to merge with our current data since we only might get partial data
from our caller.
(cherry picked from commit 7ea1578)
This will allow you to add an errorhandler for your blueprint easily.
(cherry picked from commit b6053c1)
(cherry picked from commit 53a62ab)
Commits on Oct 29, 2015
(cherry picked from commit 119f3ba)
Commits on Nov 06, 2015
Commits on Nov 17, 2015
Salandora Salandora
Salandora and Salandora
…telist of errors
Commits on Nov 20, 2015
…visible

This might help with #1065 if indeed is related to background tab suspending behaviours in
browsers, but is a completely blind guess at this point since I still have not been able to
reproduce that issue myself.

Backported.

(cherry picked from commit 720cdad)
Otherwise the GCODE Viewer will get stuck "half way through" if
"sync with progress" is enabled but the tab/browser tab loses focus
during printing and only regains it after the print has finished.
HEAD "branch" also should disable usage of lookup table.
Commits on Nov 23, 2015
This way we create separate caches for URLs access via different schemes/prefixes/etc.
Otherwise our generated page might not work when accessing OctoPrint from external
after accessing it from internal once.
Commits on Nov 26, 2015
Commits on Nov 27, 2015
Also fixes a javascript error (gcodeFileViewModel unknown)
When autoscroll was disabled, terminal could run on endlessly, eating
memory until the browser crashes. Now a hard upper limit ensures
that not more than 3000 lines are ever stored in the terminal. If autoscroll
is disabled and the limit is reached, no more log lines will be added. That
ensures that the log will not scroll and the current log excerpt will stay put.
Commits on Nov 30, 2015
Now includes all bug reporting related information
as well plus a little flow chart regarding ticket creation.

Also reworded large sections.
Commits on Dec 02, 2015
Noticed while testing update path from 1.2.7 to 1.2.8

*bangs her head against a wall*
Now includes note about updatefix plugin and changelog
entry about fixed softwareupdate issue.
Commits on Dec 03, 2015
Commits on Dec 04, 2015
Mark Bastiaans and foosel
(cherry picked from commit 406fe75)
Showing with 5,556 additions and 2,022 deletions.
  1. +4 −1 .travis.yml
  2. +8 −7 .versioneer-lookup
  3. +2 −0 AUTHORS.md
  4. +124 −1 CHANGELOG.md
  5. +262 −49 CONTRIBUTING.md
  6. +4 −4 docs/api/job.rst
  7. +15 −5 docs/api/printer.rst
  8. +14 −3 docs/features/gcode_scripts.rst
  9. +11 −0 setup.cfg
  10. +22 −13 setup.py
  11. +528 −146 src/octoprint/_version.py
  12. +4 −54 src/octoprint/filemanager/storage.py
  13. +34 −6 src/octoprint/plugin/__init__.py
  14. +116 −9 src/octoprint/plugin/types.py
  15. +6 −7 src/octoprint/plugins/cura/__init__.py
  16. +19 −1 src/octoprint/plugins/cura/templates/cura_settings.jinja2
  17. +13 −4 src/octoprint/plugins/softwareupdate/__init__.py
  18. +1 −1 src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js
  19. +6 −6 src/octoprint/printer/profile.py
  20. +2 −0 src/octoprint/printer/standard.py
  21. +12 −8 src/octoprint/server/__init__.py
  22. +31 −22 src/octoprint/server/api/printer.py
  23. +56 −4 src/octoprint/server/util/flask.py
  24. +33 −29 src/octoprint/server/util/watchdog.py
  25. +6 −3 src/octoprint/server/views.py
  26. +84 −29 src/octoprint/settings.py
  27. +3 −2 src/octoprint/slicing/__init__.py
  28. +1 −1 src/octoprint/static/css/octoprint.css
  29. +1 −1 src/octoprint/static/gcodeviewer/js/renderer.js
  30. +0 −1 src/octoprint/static/js/app/dataupdater.js
  31. +101 −4 src/octoprint/static/js/app/main.js
  32. +46 −23 src/octoprint/static/js/app/viewmodels/control.js
  33. +4 −0 src/octoprint/static/js/app/viewmodels/files.js
  34. +31 −15 src/octoprint/static/js/app/viewmodels/gcode.js
  35. +1 −1 src/octoprint/static/js/app/viewmodels/printerprofiles.js
  36. +11 −10 src/octoprint/static/js/app/viewmodels/temperature.js
  37. +43 −13 src/octoprint/static/js/app/viewmodels/terminal.js
  38. +8 −1 src/octoprint/static/less/octoprint.less
  39. +8 −0 src/octoprint/templates/initscript.jinja2
  40. +1 −1 src/octoprint/templates/tabs/temperature.jinja2
  41. +1 −1 src/octoprint/templates/tabs/terminal.jinja2
  42. BIN src/octoprint/translations/de/LC_MESSAGES/messages.mo
  43. +418 −285 src/octoprint/translations/de/LC_MESSAGES/messages.po
  44. +128 −17 src/octoprint/util/__init__.py
  45. +47 −6 src/octoprint/util/comm.py
  46. +50 −0 src/octoprint/util/jinja.py
  47. +139 −0 tests/plugin/test_types_blueprint.py
  48. +313 −0 tests/plugin/test_types_settings.py
  49. +1 −0 tests/util/_files/jinja_test_data/.hidden_everywhere.txt
  50. +1 −0 tests/util/_files/jinja_test_data/normal_text.txt
  51. +1 −0 tests/util/_files/jinja_test_data/not_a_text.dat
  52. +3 −0 tests/util/_files/utf8_with_bom.txt
  53. +3 −0 tests/util/_files/utf8_without_bom.txt
  54. +208 −0 tests/util/test_file_helpers.py
  55. +76 −0 tests/util/test_jinja.py
  56. BIN translations/de/LC_MESSAGES/messages.mo
  57. +418 −285 translations/de/LC_MESSAGES/messages.po
  58. +423 −284 translations/messages.pot
  59. +1,650 −659 versioneer.py
@@ -6,4 +6,7 @@ python:
install:
- pip install -e .[develop]
script:
- nosetests tests/
- nosetests --with-doctest
sudo: false
git:
depth: 250
@@ -10,13 +10,14 @@
# master shall not use the lookup table, only tags
master

# maintenance is currently the branch for preparation of maintenance release 1.2.7
# so are any fix/... branches
maintenance 1.2.7-dev 536bb31965db17b969e7c1c53e241ddac4ae1814
fix/.* 1.2.7-dev 536bb31965db17b969e7c1c53e241ddac4ae1814

# Special case disconnected checkouts, e.g. 'git checkout <tag>'
# neither should disconnected checkouts, e.g. 'git checkout <tag>'
HEAD
\(detached.*

# maintenance is currently the branch for preparation of maintenance release 1.2.8
# so are any fix/... branches
maintenance 1.2.8 6c622f7c4332b71c6ece59552ffc87c146155c84 pep440-dev
fix/.* 1.2.8 6c622f7c4332b71c6ece59552ffc87c146155c84 pep440-dev

# every other branch is a development branch and thus gets resolved to 1.3.0-dev for now
.* 1.3.0-dev 198d3450d94be1a2
.* 1.3.0 198d3450d94be1a2 pep440-dev
@@ -53,6 +53,8 @@ date of first contribution):
* [Andrew Erickson](https://github.com/aerickson)
* [Nicanor Romero Venier](https://github.com/nicanor-romero)
* [Thomas Hou](https://github.com/masterhou)
* [Mark Bastiaans](https://github.com/markbastiaans)
* [Kevin Murphy](https://github.com/kevingelion)

OctoPrint started off as a fork of [Cura](https://github.com/daid/Cura) by
[Daid Braam](https://github.com/daid). Parts of its communication layer and
@@ -1,5 +1,128 @@
# OctoPrint Changelog

## 1.2.8 (2015-12-07)

### 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](http://plugins.octoprint.org/plugins/updatefix127/)
and [on Github](https://github.com/OctoPrint/OctoPrint-Updatefix-1.2.7/).

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](https://i.imgur.com/wvkgiGJ.png)).

#### Bed temperatures are now only displayed if printer profile has a heated bed configured

This release fixes a [bug](https://github.com/foosel/OctoPrint/issues/1125)
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](http://i.imgur.com/wp1j9bs.gif).

### Improvements

* Version numbering now follows [PEP440](https://www.python.org/dev/peps/pep-0440/).
* Prepared some things for publishing OctoPrint on [PyPi](https://pypi.python.org/pypi)
in the future.
* [BlueprintPlugin mixin](http://docs.octoprint.org/en/master/plugins/mixins.html#blueprintplugin)
now has an `errorhandler` decorator that serves the same purpose as
[Flask's](http://flask.pocoo.org/docs/0.10/patterns/errorpages/#error-handlers)
([#1059](https://github.com/foosel/OctoPrint/pull/1059))
* 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](https://github.com/foosel/OctoPrint/issues/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](https://github.com/foosel/OctoPrint/issues/1120) - Made the watchdog
that monitors and handles the `watched` folder more resilient towards errors.
* [#1125](https://github.com/foosel/OctoPrint/issues/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](https://github.com/OctoPrint/OctoPrint-Updatefix-1.2.7).
For more information please refer to the [Important information for people updating from version 1.2.7](#important-information-for-people-updating-from-version-127)
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](https://github.com/foosel/OctoPrint/pull/1067))
* Fixed a conflict with bootstrap-responsive, e.g. when using the
[ScreenSquish Plugin](http://plugins.octoprint.org/plugins/screensquish/)
([#1103](https://github.com/foosel/OctoPrint/pull/1067))
* 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
([#1051](https://github.com/foosel/OctoPrint/pull/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](https://github.com/foosel/OctoPrint/compare/1.2.7...1.2.8))

## 1.2.7 (2015-10-20)

### Improvements
@@ -386,7 +509,7 @@
changed under "Temperatures" in the Settings ([#343](https://github.com/foosel/OctoPrint/issues/343)).
* High-DPI support for the GCode viewer ([#837](https://github.com/foosel/OctoPrint/issues/837)).
* Stop websocket connections from multiplying ([#888](https://github.com/foosel/OctoPrint/pull/888)).
* New setting to rotate webcam by 90° counter clockwise ([#895](https://github.com/foosel/OctoPrint/issues/895) and
* New setting to rotate webcam by 90° counter clockwise ([#895](https://github.com/foosel/OctoPrint/issues/895) and
[#906](https://github.com/foosel/OctoPrint/pull/906))
* System commands now be set to a) run asynchronized by setting their `async` property to `true` and b) to ignore their
result by setting their `ignore` property to `true`.

No commit comments for this range

You can’t perform that action at this time.