diff --git a/.versioneer-lookup b/.versioneer-lookup index 0c8f361a..35264944 100644 --- a/.versioneer-lookup +++ b/.versioneer-lookup @@ -10,10 +10,10 @@ # 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.5 # so are any fix/... branches -maintenance 1.2.4 3761995aff94acf32495556730f133a1626245b3 -fix/.* 1.2.4 3761995aff94acf32495556730f133a1626245b3 +maintenance 1.2.5 9a6099ffc2982455d631c9d68a3273d9eb55885c +fix/.* 1.2.5 9a6099ffc2982455d631c9d68a3273d9eb55885c # every other branch is a development branch and thus gets resolved to 1.3.0-dev for now .* 1.3.0 198d3450d94be1a2 pep440-dev diff --git a/CHANGELOG.md b/CHANGELOG.md index 2c2f80c1..fde5f440 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,38 @@ * It's not possible anymore to select files that are not machinecode files (e.g. GCODE) for printing on the file API. +## 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) ### Improvements @@ -231,7 +263,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`. diff --git a/README.md b/README.md index ac80de2e..57ebc9ab 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,35 @@ OctoPrint ========= -[![Flattr this git repo](http://api.flattr.com/button/flattr-badge-large.png)](https://flattr.com/submit/auto?user_id=foosel&url=https://github.com/foosel/OctoPrint&title=OctoPrint&language=&tags=github&category=software) - OctoPrint provides a responsive web interface for controlling a 3D printer (RepRap, Ultimaker, ...). It is Free Software and released under the [GNU Affero General Public License V3](http://www.gnu.org/licenses/agpl.html). Its website can be found at [octoprint.org](http://octoprint.org). +The documentation is located at [docs.octoprint.org](http://docs.octoprint.org). + +You are currently looking at the source code repository of OctoPrint. If you already installed it +(e.g. by using the Raspberry Pi targeted distribution [OctoPi](https://github.com/guysoft/OctoPi)) and only +want to find out how to use it, [the documentation](http://docs.octoprint.org/) and [the public wiki](https://github.com/foosel/OctoPrint/wiki) +might be of more interest for you. You might also want to subscribe to [the mailing list](https://groups.google.com/group/octoprint) +or the [G+ Community](https://plus.google.com/communities/102771308349328485741) where there are other active users who might be +able to help you with any questions you might have. + Contributing ------------ -Please see the project's [Contribution Guidelines](https://github.com/foosel/OctoPrint/blob/master/CONTRIBUTING.md). +Contributions of all kinds are welcome, not only in the form of code but also with regards to the +[official documentation](http://docs.octoprint.org/) or [the public wiki](https://github.com/foosel/OctoPrint/wiki), support +of other users in the [bug tracker](https://github.com/foosel/OctoPrint/issues), +[the Mailinglist](https://groups.google.com/group/octoprint) or +[the G+ Community](https://plus.google.com/communities/102771308349328485741). + +If you think something is bad as it is about OctoPrint or its documentation the way it is, please help +in any way to make it better instead of just complaining about it -- this is an Open Source Project +after all :) + +For information about how to go about contributions of any kind, please see the project's +[Contribution Guidelines](https://github.com/foosel/OctoPrint/blob/master/CONTRIBUTING.md). Installation ------------ @@ -21,6 +39,11 @@ Installation instructions for installing from source for different operating sys If you want to run OctoPrint on a Raspberry Pi you might want to take a look at [OctoPi](https://github.com/guysoft/OctoPi) which is a custom SD card image that includes OctoPrint plus dependencies. +After installation, please make sure you follow the first-run wizard and set up +access control as necessary. If you want to not only be notified about new +releases but also be able to automatically upgrade to them from within +OctoPrint, take a look [at the documentation of the Software Update Plugin](https://github.com/foosel/OctoPrint/wiki/Plugin:-Software-Update#making-octoprint-updateable-on-existing-installations). + Dependencies ------------ @@ -36,7 +59,11 @@ OctoPrint currently only supports Python 2.7. Usage ----- -Running the `setup.py` script installs the `octoprint` script in your Python installation's scripts folder +Running the `setup.py` script via + + python setup.py install + +installs the `octoprint` script in your Python installation's scripts folder (which depending on whether you installed OctoPrint globally or into a virtual env will be on your `PATH` or not). The following usage examples assume that said `octoprint` script is on your `PATH`. @@ -77,5 +104,12 @@ which is located at `~/.octoprint` on Linux, at `%APPDATA%/OctoPrint` on Windows at `~/Library/Application Support/OctoPrint` on MacOS. A comprehensive overview of all available configuration settings can be found -[on the wiki](https://github.com/foosel/OctoPrint/wiki/Configuration). Please note that the most commonly used -configuration settings can also easily be edited from OctoPrint's settings dialog. +[in the docs](http://docs.octoprint.org/en/master/configuration/config_yaml.html). +Please note that the most commonly used configuration settings can also easily +be edited from OctoPrint's settings dialog. + +Special Thanks +-------------- + +The development of OctoPrint is sponsored and maintained by [BQ](http://www.bq.com/). +Cross-browser testing services are kindly provided by [BrowserStack](http://www.browserstack.com/). diff --git a/src/octoprint/plugins/pluginmanager/__init__.py b/src/octoprint/plugins/pluginmanager/__init__.py index 715a9472..34b2a717 100644 --- a/src/octoprint/plugins/pluginmanager/__init__.py +++ b/src/octoprint/plugins/pluginmanager/__init__.py @@ -428,11 +428,16 @@ class PluginManagerPlugin(octoprint.plugin.SimpleApiPlugin, if self._pip_caller is None or not self._pip_caller.available: raise RuntimeError(u"No pip available, can't operate".format(**locals())) - if "--process-dependency-links" in args and self._pip_caller < self._pip_version_dependency_links: - args.remove("--process-dependency-links") + if "--process-dependency-links" in args: + self._log_message(u"Installation needs to process external dependencies, that might make it take a bit longer than usual depending on the pip version") + if self._pip_caller < self._pip_version_dependency_links: + args.remove("--process-dependency-links") return self._pip_caller.execute(*args) + def _log_message(self, *lines): + self._log(lines, prefix=u"*", stream="message") + def _log_call(self, *lines): self._log(lines, prefix=u" ", stream="call") @@ -529,6 +534,9 @@ class PluginManagerPlugin(octoprint.plugin.SimpleApiPlugin, def map_repository_entry(entry): result = dict(entry) + if not "follow_dependency_links" in result: + result["follow_dependency_links"] = False + if not "follow_dependency_links" in result: result["follow_dependency_links"] = False