Permalink
Comparing changes
Open a pull request
7
contributors
Commits on Oct 22, 2015
Commits on Oct 23, 2015
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)
http://docs.travis-ci.com/user/migrating-from-legacy/ (cherry picked from commit bec0013)
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)
Commits on Oct 29, 2015
(cherry picked from commit 119f3ba)
Commits on Nov 17, 2015
…telist of errors
Commits on Nov 19, 2015
Commits on Nov 20, 2015
Commits on Nov 23, 2015
Commits on Nov 27, 2015
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
Commits on Dec 02, 2015
Commits on Dec 04, 2015
Unified
Split
Showing
with
5,556 additions
and 2,022 deletions.
- +4 −1 .travis.yml
- +8 −7 .versioneer-lookup
- +2 −0 AUTHORS.md
- +124 −1 CHANGELOG.md
- +262 −49 CONTRIBUTING.md
- +4 −4 docs/api/job.rst
- +15 −5 docs/api/printer.rst
- +14 −3 docs/features/gcode_scripts.rst
- +11 −0 setup.cfg
- +22 −13 setup.py
- +528 −146 src/octoprint/_version.py
- +4 −54 src/octoprint/filemanager/storage.py
- +34 −6 src/octoprint/plugin/__init__.py
- +116 −9 src/octoprint/plugin/types.py
- +6 −7 src/octoprint/plugins/cura/__init__.py
- +19 −1 src/octoprint/plugins/cura/templates/cura_settings.jinja2
- +13 −4 src/octoprint/plugins/softwareupdate/__init__.py
- +1 −1 src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js
- +6 −6 src/octoprint/printer/profile.py
- +2 −0 src/octoprint/printer/standard.py
- +12 −8 src/octoprint/server/__init__.py
- +31 −22 src/octoprint/server/api/printer.py
- +56 −4 src/octoprint/server/util/flask.py
- +33 −29 src/octoprint/server/util/watchdog.py
- +6 −3 src/octoprint/server/views.py
- +84 −29 src/octoprint/settings.py
- +3 −2 src/octoprint/slicing/__init__.py
- +1 −1 src/octoprint/static/css/octoprint.css
- +1 −1 src/octoprint/static/gcodeviewer/js/renderer.js
- +0 −1 src/octoprint/static/js/app/dataupdater.js
- +101 −4 src/octoprint/static/js/app/main.js
- +46 −23 src/octoprint/static/js/app/viewmodels/control.js
- +4 −0 src/octoprint/static/js/app/viewmodels/files.js
- +31 −15 src/octoprint/static/js/app/viewmodels/gcode.js
- +1 −1 src/octoprint/static/js/app/viewmodels/printerprofiles.js
- +11 −10 src/octoprint/static/js/app/viewmodels/temperature.js
- +43 −13 src/octoprint/static/js/app/viewmodels/terminal.js
- +8 −1 src/octoprint/static/less/octoprint.less
- +8 −0 src/octoprint/templates/initscript.jinja2
- +1 −1 src/octoprint/templates/tabs/temperature.jinja2
- +1 −1 src/octoprint/templates/tabs/terminal.jinja2
- BIN src/octoprint/translations/de/LC_MESSAGES/messages.mo
- +418 −285 src/octoprint/translations/de/LC_MESSAGES/messages.po
- +128 −17 src/octoprint/util/__init__.py
- +47 −6 src/octoprint/util/comm.py
- +50 −0 src/octoprint/util/jinja.py
- +139 −0 tests/plugin/test_types_blueprint.py
- +313 −0 tests/plugin/test_types_settings.py
- +1 −0 tests/util/_files/jinja_test_data/.hidden_everywhere.txt
- +1 −0 tests/util/_files/jinja_test_data/normal_text.txt
- +1 −0 tests/util/_files/jinja_test_data/not_a_text.dat
- +3 −0 tests/util/_files/utf8_with_bom.txt
- +3 −0 tests/util/_files/utf8_without_bom.txt
- +208 −0 tests/util/test_file_helpers.py
- +76 −0 tests/util/test_jinja.py
- BIN translations/de/LC_MESSAGES/messages.mo
- +418 −285 translations/de/LC_MESSAGES/messages.po
- +423 −284 translations/messages.pot
- +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`. | ||
Oops, something went wrong.