Permalink
Browse files

Merge branch 'devel' into dev/click

Conflicts:
	setup.py
	src/octoprint/__init__.py
	src/octoprint/plugin/core.py
	src/octoprint/server/__init__.py
  • Loading branch information...
2 parents a65ad50 + 55075d4 commit b326efbc3c87b4e15516bb03ec90c738722ecc2b @foosel committed Oct 26, 2015
Showing with 28,189 additions and 4,301 deletions.
  1. +4 −0 .gitignore
  2. +4 −1 .travis.yml
  3. +7 −4 .versioneer-lookup
  4. +4 −0 AUTHORS.md
  5. +231 −1 CHANGELOG.md
  6. +4 −0 MANIFEST.in
  7. +62 −8 README.md
  8. +54 −0 THIRDPARTYLICENSES.md
  9. +4 −4 docs/api/job.rst
  10. +1 −1 docs/api/logs.rst
  11. +40 −1 docs/configuration/config_yaml.rst
  12. +3 −3 docs/configuration/logging_yaml.rst
  13. +17 −0 docs/events/index.rst
  14. +4 −0 docs/features/gcode_scripts.rst
  15. +2 −0 docs/plugins/concepts.rst
  16. +26 −0 docs/plugins/hooks.rst
  17. +28 −0 docs/plugins/mixins.rst
  18. +22 −1 docs/plugins/viewmodels.rst
  19. +1 −1 run
  20. +4 −2 scripts/octoprint.init
  21. +2 −4 setup.cfg
  22. +76 −20 setup.py
  23. +1 −5 src/octoprint/__init__.py
  24. +8 −0 src/octoprint/events.py
  25. +49 −4 src/octoprint/filemanager/__init__.py
  26. +0 −52 src/octoprint/filemanager/storage.py
  27. +3 −1 src/octoprint/filemanager/util.py
  28. +39 −9 src/octoprint/plugin/__init__.py
  29. +180 −28 src/octoprint/plugin/core.py
  30. +525 −14 src/octoprint/plugin/types.py
  31. +145 −0 src/octoprint/plugins/corewizard/__init__.py
  32. +114 −0 src/octoprint/plugins/corewizard/static/js/corewizard.js
  33. +59 −0 src/octoprint/plugins/corewizard/templates/corewizard_acl_wizard.jinja2
  34. +42 −0 src/octoprint/plugins/corewizard/templates/corewizard_webcam_wizard.jinja2
  35. +136 −26 src/octoprint/plugins/cura/__init__.py
  36. +228 −62 src/octoprint/plugins/cura/profile.py
  37. +1,325 −0 src/octoprint/plugins/cura/profiles/fdmprinter.json
  38. +45 −37 src/octoprint/plugins/cura/static/js/cura.js
  39. +7 −0 src/octoprint/plugins/cura/templates/_snippets/settings/cura/engineLog.jinja2
  40. +10 −0 src/octoprint/plugins/cura/templates/_snippets/settings/cura/enginePath.jinja2
  41. +58 −0 src/octoprint/plugins/cura/templates/_snippets/settings/cura/profileImporter.jinja2
  42. +34 −0 src/octoprint/plugins/cura/templates/_snippets/settings/cura/profiles.jinja2
  43. +4 −101 src/octoprint/plugins/cura/templates/cura_settings.jinja2
  44. +34 −0 src/octoprint/plugins/cura/templates/cura_wizard.jinja2
  45. +101 −23 src/octoprint/plugins/pluginmanager/__init__.py
  46. +337 −92 src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js
  47. +18 −0 src/octoprint/plugins/pluginmanager/templates/pluginmanager_about.jinja2
  48. +116 −1 src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2
  49. +154 −50 src/octoprint/plugins/softwareupdate/__init__.py
  50. +2 −1 src/octoprint/plugins/softwareupdate/scripts/update-octoprint.py
  51. +110 −51 src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js
  52. +24 −6 src/octoprint/plugins/softwareupdate/templates/softwareupdate_settings.jinja2
  53. +13 −3 src/octoprint/plugins/softwareupdate/updaters/pip.py
  54. +11 −1 src/octoprint/plugins/softwareupdate/updaters/update_script.py
  55. +32 −15 src/octoprint/plugins/virtual_printer/__init__.py
  56. +99 −60 src/octoprint/plugins/virtual_printer/virtual.py
  57. +29 −0 src/octoprint/printer/__init__.py
  58. +10 −8 src/octoprint/printer/profile.py
  59. +26 −10 src/octoprint/printer/standard.py
  60. +203 −40 src/octoprint/server/__init__.py
  61. +97 −56 src/octoprint/server/api/__init__.py
  62. +6 −3 src/octoprint/server/api/files.py
  63. +5 −2 src/octoprint/server/api/log.py
  64. +47 −8 src/octoprint/server/api/settings.py
  65. +7 −8 src/octoprint/server/api/slicing.py
  66. +185 −0 src/octoprint/server/api/system.py
  67. +21 −17 src/octoprint/server/api/timelapse.py
  68. +5 −0 src/octoprint/server/apps/__init__.py
  69. +12 −0 src/octoprint/server/util/__init__.py
  70. +44 −17 src/octoprint/server/util/flask.py
  71. +60 −0 src/octoprint/server/util/jinja.py
  72. +11 −1 src/octoprint/server/util/sockjs.py
  73. +48 −8 src/octoprint/server/util/tornado.py
  74. +189 −50 src/octoprint/server/views.py
  75. +126 −35 src/octoprint/settings.py
  76. +54 −4 src/octoprint/slicing/__init__.py
  77. +1 −1 src/octoprint/static/css/octoprint.css
  78. +513 −477 src/octoprint/static/gcodeviewer/js/Worker.js
  79. +249 −0 src/octoprint/static/js/app/client/base.js
  80. +29 −0 src/octoprint/static/js/app/client/browser.js
  81. +27 −0 src/octoprint/static/js/app/client/connection.js
  82. +53 −0 src/octoprint/static/js/app/client/control.js
  83. +85 −0 src/octoprint/static/js/app/client/files.js
  84. +31 −0 src/octoprint/static/js/app/client/job.js
  85. +22 −0 src/octoprint/static/js/app/client/languages.js
  86. +25 −0 src/octoprint/static/js/app/client/logs.js
  87. +207 −0 src/octoprint/static/js/app/client/printer.js
  88. +43 −0 src/octoprint/static/js/app/client/printerprofiles.js
  89. +43 −0 src/octoprint/static/js/app/client/settings.js
  90. +45 −0 src/octoprint/static/js/app/client/slicing.js
  91. +112 −0 src/octoprint/static/js/app/client/socket.js
  92. +24 −0 src/octoprint/static/js/app/client/system.js
  93. +60 −0 src/octoprint/static/js/app/client/timelapse.js
  94. +110 −0 src/octoprint/static/js/app/client/users.js
  95. +47 −0 src/octoprint/static/js/app/client/util.js
  96. +18 −0 src/octoprint/static/js/app/client/wizard.js
  97. +204 −229 src/octoprint/static/js/app/dataupdater.js
  98. +288 −9 src/octoprint/static/js/app/helpers.js
  99. +68 −30 src/octoprint/static/js/app/main.js
  100. +31 −0 src/octoprint/static/js/app/viewmodels/about.js
  101. +29 −34 src/octoprint/static/js/app/viewmodels/connection.js
  102. +31 −91 src/octoprint/static/js/app/viewmodels/control.js
  103. +116 −134 src/octoprint/static/js/app/viewmodels/files.js
  104. +0 −88 src/octoprint/static/js/app/viewmodels/firstrun.js
  105. +24 −22 src/octoprint/static/js/app/viewmodels/gcode.js
  106. +5 −13 src/octoprint/static/js/app/viewmodels/log.js
  107. +36 −42 src/octoprint/static/js/app/viewmodels/loginstate.js
  108. +2 −30 src/octoprint/static/js/app/viewmodels/navigation.js
  109. +26 −44 src/octoprint/static/js/app/viewmodels/printerprofiles.js
  110. +10 −28 src/octoprint/static/js/app/viewmodels/printerstate.js
  111. +457 −210 src/octoprint/static/js/app/viewmodels/settings.js
  112. +12 −25 src/octoprint/static/js/app/viewmodels/slicing.js
  113. +100 −0 src/octoprint/static/js/app/viewmodels/system.js
  114. +79 −61 src/octoprint/static/js/app/viewmodels/temperature.js
  115. +10 −21 src/octoprint/static/js/app/viewmodels/terminal.js
  116. +13 −26 src/octoprint/static/js/app/viewmodels/timelapse.js
  117. +69 −116 src/octoprint/static/js/app/viewmodels/users.js
  118. +12 −27 src/octoprint/static/js/app/viewmodels/usersettings.js
  119. +188 −0 src/octoprint/static/js/app/viewmodels/wizard.js
  120. +231 −110 src/octoprint/static/js/lib/bootstrap/bootstrap.js
  121. +0 −6 src/octoprint/static/js/lib/bootstrap/bootstrap.min.js
  122. +9,210 −0 src/octoprint/static/js/lib/jquery/jquery-2.1.4.js
  123. +4 −0 src/octoprint/static/js/lib/jquery/jquery-2.1.4.min.js
  124. +341 −0 src/octoprint/static/js/lib/jquery/jquery.bootstrap.wizard.js
  125. +0 −5 src/octoprint/static/js/lib/jquery/jquery.min.js
  126. +38 −30 src/octoprint/static/less/octoprint.less
  127. +677 −0 src/octoprint/templates/_data/agpl.html
  128. +9 −0 src/octoprint/templates/_snippets/settings/webcam/ffmpegBitrate.jinja2
  129. +10 −0 src/octoprint/templates/_snippets/settings/webcam/ffmpegPath.jinja2
  130. +6 −0 src/octoprint/templates/_snippets/settings/webcam/ffmpegThreads.jinja2
  131. +7 −0 src/octoprint/templates/_snippets/settings/webcam/watermark.jinja2
  132. +17 −0 src/octoprint/templates/_snippets/settings/webcam/webcamOrientation.jinja2
  133. +9 −0 src/octoprint/templates/_snippets/settings/webcam/webcamSnapshotUrl.jinja2
  134. +9 −0 src/octoprint/templates/_snippets/settings/webcam/webcamStreamUrl.jinja2
  135. 0 src/octoprint/templates/dialogs/_snippets/changepassword.jinja2
  136. +53 −0 src/octoprint/templates/dialogs/about.jinja2
  137. +44 −0 src/octoprint/templates/dialogs/about/about.jinja2
  138. +1 −0 src/octoprint/templates/dialogs/about/authors.jinja2
  139. +1 −0 src/octoprint/templates/dialogs/about/changelog.jinja2
  140. +1 −0 src/octoprint/templates/dialogs/about/license.jinja2
  141. +1 −0 src/octoprint/templates/dialogs/about/thirdparty.jinja2
  142. +0 −14 src/octoprint/templates/dialogs/confirmation.jinja2
  143. +0 −54 src/octoprint/templates/dialogs/firstrun.jinja2
  144. +25 −3 src/octoprint/templates/dialogs/settings.jinja2
  145. +17 −3 src/octoprint/templates/dialogs/settings/features.jinja2
  146. +19 −0 src/octoprint/templates/dialogs/settings/folders.jinja2
  147. +7 −0 src/octoprint/templates/dialogs/settings/gcodescripts.jinja2
  148. +43 −7 src/octoprint/templates/dialogs/settings/serialconnection.jinja2
  149. +22 −0 src/octoprint/templates/dialogs/settings/server.jinja2
  150. +17 −52 src/octoprint/templates/dialogs/settings/webcam.jinja2
  151. +1 −1 src/octoprint/templates/dialogs/usersettings.jinja2
  152. +66 −0 src/octoprint/templates/dialogs/wizard.jinja2
  153. +6 −0 src/octoprint/templates/dialogs/wizard/firstrun_end.jinja2
  154. +6 −0 src/octoprint/templates/dialogs/wizard/firstrun_start.jinja2
  155. +6 −5 src/octoprint/templates/index.jinja2
  156. +10 −8 src/octoprint/templates/initscript.jinja2
  157. +4 −0 src/octoprint/templates/javascripts.jinja2
  158. +1 −1 src/octoprint/templates/navbar/login.jinja2
  159. +2 −2 src/octoprint/templates/navbar/systemmenu.jinja2
  160. +7 −2 src/octoprint/templates/overlays/reloadui.jinja2
  161. +10 −10 src/octoprint/templates/sidebar/files.jinja2
  162. +1 −1 src/octoprint/templates/tabs/control.jinja2
  163. +6 −1 src/octoprint/templates/tabs/timelapse.jinja2
  164. +206 −134 src/octoprint/timelapse.py
  165. BIN src/octoprint/translations/de/LC_MESSAGES/messages.mo
  166. +369 −247 src/octoprint/translations/de/LC_MESSAGES/messages.po
  167. +56 −33 src/octoprint/users.py
  168. +173 −43 src/octoprint/util/__init__.py
  169. +528 −237 src/octoprint/util/comm.py
  170. +19 −1 src/octoprint/util/gcodeInterpreter.py
  171. +261 −66 src/octoprint/util/pip.py
  172. +30 −0 src/octoprint/util/piptestballoon/setup.py
  173. +5 −1 src/octoprint_setuptools/__init__.py
  174. +0 −1 tests/filemanager/__init__.py
  175. +97 −5 tests/filemanager/test_filemanager.py
  176. +2 −1 tests/filemanager/test_localstorage.py
  177. +6 −0 tests/plugin/_plugins/another_ordered_hook_plugin.py
  178. +4 −1 tests/plugin/_plugins/hook_plugin.py
  179. +6 −2 tests/plugin/_plugins/mixed_plugin/__init__.py
  180. +6 −0 tests/plugin/_plugins/one_ordered_hook_plugin.py
  181. +6 −2 tests/plugin/_plugins/startup_plugin.py
  182. +24 −7 tests/plugin/test_core.py
  183. +139 −0 tests/plugin/test_types_blueprint.py
  184. +313 −0 tests/plugin/test_types_settings.py
  185. +1 −2 tests/slicing/test_slicingmanager.py
  186. +291 −0 tests/static/js/lib/qunit-1.18.0.css
  187. +3,828 −0 tests/static/js/lib/qunit-1.18.0.js
  188. +133 −0 tests/static/js/lib/qunit-parameterize.js
  189. +18 −0 tests/static/js/test-helpers.html
  190. +80 −0 tests/static/js/test-helpers.js
  191. +112 −0 tests/users/__init__.py
  192. +73 −0 tests/util/test_comm_helpers.py
  193. +144 −0 tests/util/test_counted_event.py
  194. +180 −0 tests/util/test_repeated_timer.py
  195. BIN translations/de/LC_MESSAGES/messages.mo
  196. +369 −247 translations/de/LC_MESSAGES/messages.po
  197. +363 −238 translations/messages.pot
View
@@ -1,3 +1,7 @@
+src/octoprint/templates/_data/AUTHORS.md
+src/octoprint/templates/_data/CHANGELOG.md
+src/octoprint/templates/_data/THIRDPARTYLICENSES.md
+
*.tar.bz2
*.tar.gz
*.7z
View
@@ -6,4 +6,7 @@ python:
install:
- pip install -e .[develop]
script:
-- nosetests tests/
+- nosetests --with-doctest
+sudo: false
+git:
+ depth: 250
View
@@ -10,10 +10,13 @@
# master shall not use the lookup table, only tags
master
-# maintenance is currently the branch for preparation of maintenance release 1.2.4
+# maintenance is currently the branch for preparation of maintenance release 1.2.8
# so are any fix/... branches
-maintenance 1.2.4 3761995aff94acf32495556730f133a1626245b3
-fix/.* 1.2.4 3761995aff94acf32495556730f133a1626245b3
+maintenance 1.2.8 6c622f7c4332b71c6ece59552ffc87c146155c84 pep440-dev
+fix/.* 1.2.8 6c622f7c4332b71c6ece59552ffc87c146155c84 pep440-dev
+
+# Special case disconnected checkouts, e.g. 'git checkout <tag>'
+\(detached.*
# every other branch is a development branch and thus gets resolved to 1.3.0-dev for now
-.* 1.3.0 198d3450d94be1a2 pep440-dev
+.* 1.3.0 198d3450d94be1a2 pep440-dev
View
@@ -51,6 +51,10 @@ date of first contribution):
* [Mark Walker](https://github.com/markwal)
* [Lucas Clemente](https://github.com/lucas-clemente)
* [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)
+ * [Marcel Hellwig](https://github.com/punkkeks)
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
View
@@ -2,6 +2,19 @@
## 1.3.0 (unreleased)
+### New Features
+
+* A new wizard dialog for system setups that can also be extended by plugins. Replaces the first run dialog
+ for setting up access control and can also be triggered in other cases than only the first run, e.g.
+ if Plugins necessitate user input to function properly.
+* An About dialog including licenses, authors, the changelog and more, extendable by plugins if necessary.
+* New features within the plugin system (TODO):
+ * New plugin mixin `UiPlugin` for plugins that want to provide an alternative web interface delivered by the
+ server.
+* Extracted a Javascript client library for utilizing the server's API, can be reused by `UiPlugin`s. (TODO)
+
+(TODO) = needs to be further described and documented
+
### Improvements
* Upgraded versioneer, generated version numbers are now PEP440 compatible (relevant
@@ -11,11 +24,228 @@
Manager install and uninstall dialog.
* Allow hiding plugins from Plugin Manager via ``config.yaml``.
* Cura Plugin: "Test" button to check if path to cura engine is valid.
+* Cura Plugin: Now also supports 15.06 version of CuraEngine.
+* New central configuration option for commands to restart OctoPrint and to
+ restart and shut down the system OctoPrint is running on. This allows plugins
+ (like the Software Update Plugin or the Plugin Manager) and core functionality
+ to perform these common administrative tasks without the user needing to define
+ everything redundantly.
+* `pip` helper now adjusts `pip install` parameters corresponding to detected
+ `pip` version:
+ * Removes `--process-dependency-links` when it's not needed
+ * Adds `--no-use-wheel` when it's needed
+ * Detects and reports on completely broken versions
+* Better tracking of printer connection state for plugins and scripts:
+ * Introduced three new Events `Connecting`, `Disconnecting` and
+ `PrinterStateChanged`.
+ * Introduced new GCODE script `beforePrinterDisconnected` which will get sent
+ before a (controlled) disconnect from the printer. This can be used to send
+ some final commands to the printer before the connection goes down, e.g.
+ `M117 Bye from OctoPrint`.
+ * The communication layer will now wait for the send queue to be fully processed
+ before disconnecting from the printer for good. This way it is ensured that
+ the `beforePrinterDisconnected` script or any further GCODE injected into it
+ will actually get sent.
+* Additional baud rates to allow for connecting can now be specified along side
+ additional serial ports via the settings dialog and the configuration file.
+* Option to never send checksums (e.g. if the printer firmware doesn't support it),
+ see [#949](https://github.com/foosel/OctoPrint/issues/949).
+* Added secondary temperature polling interval to use when printer is not printing
+ but a target temperature is set - this way the graph should be more responsive
+ while monitoring a manual heatup.
+* Documentation improvements
+* Test buttons for webcam snapshot & stream URL, ffmpeg path and some other settings
+ (see also [#183](https://github.com/foosel/OctoPrint/issues/183)).
+* Temperature graph automatically adjusts its Y axis range if necessary to
+ accomodate the plotted data (see also [#632](https://github.com/foosel/OctoPrint/issues/632)).
+* "Fan on" command now always sends `S255` parameter for better compatibility
+ across firmwares.
### Bug Fixes
* It's not possible anymore to select files that are not machinecode files (e.g.
GCODE) for printing on the file API.
+* Changes to a user's personal settings via the UI now propagate across sessions.
+* [#1047](https://github.com/foosel/OctoPrint/issues/1047) - Fixed 90 degree
+ webcam rotation for iOS Safari.
+
+## 1.2.7 (2015-10-20)
+
+### Improvements
+
+ * [#1062](https://github.com/foosel/OctoPrint/issues/1062) - Plugin Manager
+ now has a configuration dialog that among other things allows defining the
+ used `pip` command if auto detection proves to be insufficient here.
+ * Allow defining additional `pip` parameters in Plugin Manager. That might
+ make `sudo`-less installation of plugins possible in situations where it's
+ tricky otherwise.
+ * Improved timelapse processing (backported from `devel` branch):
+ * Individually captured frames cannot "overtake" each other anymore through
+ usage of a capture queue.
+ * Notifications will now be shown when the capturing of the timelapse's
+ post roll happens, including an approximation of how long that will take.
+ * Usage of `requests` instead of `urllib` for fetching the snapshot,
+ appears to also have [positive effects on webcam compatibility](https://github.com/foosel/OctoPrint/issues/1078).
+ * Some more defensive escaping for various settings in the UI (e.g. webcam URL)
+ * Switch to more error resilient saving of configuration files and other files
+ modified during runtime (save to temporary file & move). Should reduce risk
+ of file corruption.
+ * Downloading GCODE and STL files should now set more fitting `Content-Type`
+ headers (`text/plain` and `application/sla`) for better client side support
+ for "Open with" like usage scenarios.
+ * Selecting z-triggered timelapse mode will now inform about that not working
+ when printing from SD card.
+ * Software Update Plugin: Removed "The web interface will now be reloaded"
+ notification after successful update since that became obsolete with
+ introduction of the "Reload Now" overlay.
+ * Updated required version of `psutil` and `netifaces` dependencies.
+
+### Bug Fixes
+
+ * [#1057](https://github.com/foosel/OctoPrint/issues/1057) - Better error
+ resilience of the Software Update plugin against broken/incomplete update
+ configurations.
+ * [#1075](https://github.com/foosel/OctoPrint/issues/1075) - Fixed support
+ of `sudo` for installing plugins, but added big visible warning about it
+ as it's **not** recommended.
+ * [#1077](https://github.com/foosel/OctoPrint/issues/1077) - Do not hiccup
+ on [UTF-8 BOMs](https://en.wikipedia.org/wiki/Byte_order_mark) (or other
+ BOMs for that matter) at the beginning of GCODE files.
+ * Fixed an issue that caused user sessions to not be properly associated,
+ leading to Sessions getting duplicated, wrongly saved etc.
+ * Fixed internal server error (HTTP 500) response on REST API calls with
+ unset `Content-Type` header.
+ * Fixed an issue leading to drag-and-drop file uploads to trigger frontend
+ processing in various other file upload widgets.
+ * Fixed a documentation error.
+ * Fixed caching behaviour on GCODE/STL downloads, was setting the `ETag`
+ header improperly.
+ * Fixed GCODE viewer not properly detecting change of currently visualized
+ file on Windows systems.
+
+([Commits](https://github.com/foosel/OctoPrint/compare/1.2.6...1.2.7))
+
+## 1.2.6 (2015-09-02)
+
+### Improvements
+
+ * Added support for version reporting on detached checkouts
+ (see [#1041](https://github.com/foosel/OctoPrint/pull/1041))
+
+### Bug Fixes
+
+ * Pinned requirement for [psutil](https://pypi.python.org/pypi/psutil)
+ dependency to version 3.1.1 of that library due to an issue when
+ installing version 3.2.0 of that library released on 2015-09-02 through
+ a `python setup.py install` on OctoPrint. Also pinned all other requirements
+ to definitive versions that definitely work while at it to keep that from
+ happening again.
+
+([Commits](https://github.com/foosel/OctoPrint/compare/1.2.5...1.2.6))
+
+## 1.2.5 (2015-08-31)
+
+### Improvements
+
+ * [#986](https://github.com/foosel/OctoPrint/issues/986) - Added tooltip for
+ "additional data" button in file list.
+ * [#1028](https://github.com/foosel/OctoPrint/issues/1028) - Hint about why
+ timelapse configuration is disabled.
+ * New central configuration option for commands to restart OctoPrint and to
+ restart and shut down the system OctoPrint is running on. This allows plugins
+ (like the Software Update Plugin or the Plugin Manager) and core functionality
+ to perform these common administrative tasks without the user needing to define
+ everything redundantly.
+ * Settings dialog now visualizes when settings are saving and when they being
+ retrieved. Also the Send/Cancel buttons are disabled while settings are saving
+ to prevent duplicated requests and concurrent retrieval of the settings by
+ multiple viewmodels is disabled as well.
+ * Better protection against rendering errors from templates provided by third
+ party plugins.
+ * Better protection against corrupting the configuration by using a temporary
+ file as intermediate buffer.
+ * Added warning to UI regarding Z timelapses and spiralized objects.
+ * Better compatibility with Repetier firmware:
+ * Added "Format Error" to whitelisted recoverable communication errors
+ (see also [#1032](https://github.com/foosel/OctoPrint/pull/1032)).
+ * Added option to ignore repeated resend requests for the same line (see
+ also discussion in [#1015](https://github.com/foosel/OctoPrint/pull/1015)).
+ * Software Update Plugin:
+ * Adjusted to utilize new centralized restart commands (see above).
+ * Allow configuration of checkout folder and version tracking type via
+ Plugin Configuration.
+ * Display message to user if OctoPrint's checkout folder is not configured
+ or a non-release version is running and version tracking against releases
+ is enabled.
+ * Clear version cache when a change in the check configuration is detected.
+ * Mark check configurations for which an update is not possible.
+ * Made disk space running low a bit more obvious through visual warning on
+ configurable thresholds.
+
+### Bug Fixes
+
+ * [#985](https://github.com/foosel/OctoPrint/issues/985) - Do not hiccup on
+ unset `Content-Type` part headers for multipart file uploads.
+ * [#1001](https://github.com/foosel/OctoPrint/issues/1001) - Fixed connection
+ tab not unfolding properly (see also [#1002](https://github.com/foosel/OctoPrint/pull/1002)).
+ * [#1012](https://github.com/foosel/OctoPrint/issues/1012) - All API
+ responses now set no-cache headers, making the Edge browser behave a bit better
+ * [#1019](https://github.com/foosel/OctoPrint/issues/1019) - Better error
+ handling of problems when trying to write the webassets cache.
+ * [#1021](https://github.com/foosel/OctoPrint/issues/1021) - Properly handle
+ serial close on Macs.
+ * [#1031](https://github.com/foosel/OctoPrint/issues/1031) - Special
+ handling of `M112` (emergency stop) command:
+ * Jump send queue
+ * In case the printer's firmware doesn't understand it yet, at least
+ shutdown all of the heaters
+ * Disconnect
+ * Properly reset job progress to 0% when restarting a previously completed
+ printjob (see [#998](https://github.com/foosel/OctoPrint/pull/998)).
+ * Report an update as failed if the `pip` command returns a return code that
+ indicates failure.
+ * Fixed sorting of templates: could only be sorted by name, individual
+ configurations were ignored (see [#1022](https://github.com/foosel/OctoPrint/pull/1022)).
+ * Fixed positioning of custom context menus: were offset due to changes in
+ overall positioning settings (see [#1023](https://github.com/foosel/OctoPrint/pull/1023)).
+ * Software Update: Don't use display version for comparison of git commit
+ hashs.
+ * Fixed temperature parsing for multi extruder setups.
+ * Fixed nested vertical and horizontal custom control layouts.
+
+([Commits](https://github.com/foosel/OctoPrint/compare/1.2.4...1.2.5))
+
+## 1.2.4 (2015-07-23)
+
+### Improvements
+
+ * `RepeatedTimer` now defaults to `daemon` set to `True`. This makes sure
+ plugins using it don't have to remember to set that flag themselves in
+ order for the server to properly shut down when timers are still active.
+ * Fixed a typo in the docs about `logging.yaml` (top level element is
+ `loggers`, not `logger`).
+ * Support for plugins with external dependencies (`dependency_links` in
+ setuptools), interesting for plugin authors who need to depend on Python
+ libraries that are (not yet) available on PyPI.
+ * Better resilience against errors within plugins.
+
+### Bug Fixes
+
+ * Do not cache web page when running for the first time, to avoid caching
+ the first run dialog popup along side with it. This should solve issues
+ people were having when configuring OctoPrint for the first time, then
+ reloading the page without clearing the cache, being again prompted with
+ the dialog with no chance to clear it.
+ * Fix/workaround for occasional white panes in settings dialog on Safari 8,
+ which appears to have an issue with fixed positioning.
+ * Fixed form field truncation in upload requests that could lead to problems
+ when trying to import Cura profiles with names longer than 28 characters.
+ * Fixed webcam rotation for timelapse rendering.
+ * Fixed user settings not reaching the editor in the frontend.
+ * Notifications that are in process of being closed don't open again on
+ mouse over (that was actually more of an unwanted feature).
+
+([Commits](https://github.com/foosel/OctoPrint/compare/1.2.3...1.2.4))
## 1.2.3 (2015-07-09)
@@ -225,7 +455,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`.
View
@@ -2,7 +2,11 @@ recursive-include src/octoprint/static *
recursive-include src/octoprint/templates *
recursive-include src/octoprint/plugins *
recursive-include src/octoprint/translations *
+include src/octoprint/util/piptestballoon/setup.py
include versioneer.py
include src/octoprint/_version.py
+include AUTHORS.md
+include CHANGELOG.md
+include LICENSE
include README.md
include requirements.txt
Oops, something went wrong.

0 comments on commit b326efb

Please sign in to comment.