212 lines
9.6 KiB
Markdown
212 lines
9.6 KiB
Markdown
##
|
|
This file tracks configuration changes and deprecations. Additionally
|
|
changest to Moonraker that require user intervention will be tracked
|
|
here.
|
|
|
|
### December 24th 2023
|
|
- The `gpio` component no longer depends on `libgpiod`. Instead,
|
|
Moonraker now uses the [python-periphery](https://github.com/vsergeev/python-periphery)
|
|
library to manage GPIOs. This comes with several benefits:
|
|
- Distributions that do no ship with `libgpiod` will not fail during
|
|
installation if the `python3-libgpiod` package isn't present.
|
|
- Distributions with a Kernel Version of 5.5 or higher support bias
|
|
flags (ie: pull up or pull down). Previously this functionality
|
|
was tied to the `libgpiod` version. Specifically, Debian Buster
|
|
ships with a Kernel that supports bias, however the `libgpiod`
|
|
version does not.
|
|
- Version 2.0+ of `libgpiod` includes dramatic API changes that are
|
|
wholly incompatible with prior versions. Therefore maintaining
|
|
future versions would effectively require supporting two APIs.
|
|
- The `[button]` component now includes a `debounce_period` option.
|
|
This addition is the result of a behavior change in how gpio state
|
|
changes are debounced. Debouncing will now delay the event by the
|
|
time specified in the `debounce_period`. Additional state changes
|
|
received during this delay will not trigger a button event. The
|
|
`[button]` module retains the `minimum_event_time` option which will
|
|
ignore events shorter than the specified time.
|
|
|
|
### July 18th 2023
|
|
- The following changes have been made to `[update_manager <name>]`
|
|
extensions of the `git_repo` type:
|
|
- The `env` option has been deprecated. New configurations should
|
|
use the `virtualenv` option in its place.
|
|
- The `install_script` option has been deprecated. New configurations
|
|
should use the `system_dependencies` option to specify system package
|
|
dependencies.
|
|
- Configuration options for `[spoolman]` have been added
|
|
- Configuration options for `[sensor]` have been added
|
|
|
|
### Februrary 8th 2023
|
|
- The `provider` option in the `[machine]` section no longer accepts
|
|
`supervisord` as an option. It has been renamed to `supervisord_cli`.
|
|
|
|
### January 2nd 2023
|
|
- The `bound_service` option for `[power]` devices has been deprecated in
|
|
favor of `bound_services`. Currently this change does not generate a
|
|
warning as it can be reliably resolved internally.
|
|
|
|
### October 14th 2022
|
|
- The systemd service file is now versioned. Moonraker can now detect when
|
|
the file is out of date and automate corrections as necessary.
|
|
- Moonraker's command line options are now specified in an environment file,
|
|
making it possible to change these options without modifying the service file
|
|
and reloading the systemd daemon. The default location of the environment
|
|
file is `~/printer_data/systemd/moonraker.env`.
|
|
- Moonraker now manages files and folders in a primary data folder supplied
|
|
by the `-d` (`--data-path`) command line option. As a result, the following
|
|
options have been deprecated:
|
|
- `ssl_certificate_path` in `[server]`
|
|
- `ssl_key_path` in `[server]`
|
|
- `database_path` in `[database]`
|
|
- `config_path` in `[file_manager]`
|
|
- `log_path` in `[file_manager]`
|
|
- `secrets_path` in `[secrets]`
|
|
- Debugging options are now supplied to Moonraker via the command line.
|
|
The `-v` (`--verbose`) option enables verbose logging, while the `-g`
|
|
(`--debug`) option enables debug features, including access to debug
|
|
endpoints and the repo debug feature in `update_manager`. As a result,
|
|
the following options are deprecated:
|
|
- `enable_debug_logging` in `[server]`
|
|
- `enable_repo_debug` in `[update_manager]`
|
|
|
|
### July 27th 2022
|
|
- The behavior of `[include]` directives has changed. Included files
|
|
are now parsed as they are encountered. If sections are duplicated
|
|
options in the last section parsed take precendence. If you are
|
|
using include directives to override configuration in `moonraker.conf`
|
|
the directives should be moved to the bottom of the file.
|
|
- Configuration files now support inline comments.
|
|
|
|
### April 6th 2022
|
|
- The ability to configure core components in the `[server]`section
|
|
is now deprecated. When legacy items are detected in `[server]` a
|
|
warning will be generated. It is crucially important to move configuration
|
|
to the correct section as in the future it will be a hard requirement.
|
|
|
|
### Feburary 22nd 2022
|
|
- The `on_when_upload_queued` option for [power] devices has been
|
|
deprecated in favor of `on_when_job_queued`. As the new option
|
|
name implies, this option will power on the device when any new
|
|
job is queued, not only when its sourced from an upload. The
|
|
`on_when_upload_queued` option will be treated as an alias to
|
|
`on_when_job_queued` until its removal.
|
|
|
|
### February 16th 2022
|
|
- Webcam settings can now be defined in the `moonraker.conf` file, under
|
|
the `[octoprint_compat]` section. The default values are being used as
|
|
default values.
|
|
|
|
Default values:
|
|
| Setting | Default value |
|
|
|---------|---------------|
|
|
| flip_h | False |
|
|
| flip_v | False |
|
|
| rotate_90 | False |
|
|
| stream_url | /webcam/?action=stream |
|
|
| webcam_enabled | True |
|
|
|
|
### January 22th 2022
|
|
- The `color_order` option in the `[wled]` section has been deprecated.
|
|
This is configured in wled directly. This is not a breaking change,
|
|
the setting will simply be ignored not affecting functionality.
|
|
|
|
### December 24th 2021
|
|
- The `password_file` option in the `[mqtt]` section has been deprecated.
|
|
Use the `password` option instead. This option may be a template, thus
|
|
can resolve secrets stored in the `[secrets]` module.
|
|
|
|
### November 7th 2021
|
|
- Previously all core components received configuration through
|
|
the `[server]` config section. As Moonraker's core functionality
|
|
has expanded this is becoming unsustainable, thus core components
|
|
should now be configured in their own section. For example, the
|
|
`config_path` and `log_path` should now be configured in the
|
|
`[file_manager]` section of `moonraker.conf`. See the
|
|
[configuration documentation](https://moonraker.readthedocs.io/en/latest/configuration/)
|
|
for details. This is not a breaking change, core components
|
|
will still fall back to checking the `[server]` section for
|
|
configuration.
|
|
|
|
### April 19th 2021
|
|
- The `[authorization]` module is now a component, thus is only
|
|
loaded if the user has it configured in `moonraker.conf`. This
|
|
deprecates the previous `enable` option, as it is enabled
|
|
if configured and disabled otherwise.
|
|
- The API Key is now stored in the database. This deprecates the
|
|
`api_key_file` option in the `[authorization]` module. Users can
|
|
no longer read the contents of the API Key file to retrieve the
|
|
API Key. Instead, users can run `scripts/fetch-apikey.sh` to
|
|
print the API Key. Alternative a user can navigate to
|
|
`http://{moonraker-host}/access/api_key` from a trusted client
|
|
to retrieve the API Key.
|
|
|
|
### March 10th 2021
|
|
- The `cors_domain` option in the `[authoriztion]` section is now
|
|
checked for dangerous entries. If a domain entry contains a
|
|
wildcard in the top level domain (ie: `http://www.*`) then it
|
|
will be rejected, as malicious website can easily reproduce
|
|
this match.
|
|
|
|
### March 6th 2021
|
|
- The `enable_debug_logging` in the `[server]` section now defaults
|
|
to `False`. This dramatically reduces the amount of logging produced
|
|
by Moonraker for the typical user.
|
|
|
|
### March 4th 2021
|
|
- To enable OctoPrint compatibility with slicer uploads it is now
|
|
required to add `[octoprint_compat]` to `moonraker.conf`. After
|
|
making this change it is necessary to restart the Moonraker service
|
|
so the module is loaded.
|
|
|
|
### December 31st 2020
|
|
- The file manager no longer restricts the `config_path` to a folder
|
|
within the HOME directory. The path may not be the system root,
|
|
however it can reside anywhere else on the file system as long as
|
|
Moonraker has read and write access to the directory. This applies
|
|
to gcode path received from Klipper via the `virtual_sdcard` section
|
|
as well.
|
|
|
|
### December 6th 2020
|
|
- Moonraker is now installed as a systemd service. This allows logging
|
|
to stdout which can be viewed with the `journalctl -u moonraker` command.
|
|
This changes requires the user to rerun the install script. If
|
|
`moonraker.conf` is not located in the home directory, the command
|
|
will looks something like the following:
|
|
|
|
cd ~/moonraker
|
|
./scripts/install-moonraker.sh -f -c /home/pi/klipper_config/moonraker.conf
|
|
|
|
Otherwise you can run the install script with no arguments.
|
|
|
|
### November 19th 2020
|
|
- The install script (`install-moonraker.sh`) now has command-line
|
|
options:\
|
|
`-r` Rebuild the python virtual env\
|
|
`-f` Force an overwrite of `/etc/default/moonraker` during installation\
|
|
`-c /path/to/moonraker.conf` Allows user to specify the path to
|
|
moonraker.conf during configuration. Using this in conjunction with `-f`
|
|
will update the defaults file wih the new path.
|
|
- New dependencies have been added to Moonraker which require reinstallation.
|
|
Run the following command to reinstall and rebuild the virtualenv:
|
|
|
|
~/moonraker/scripts/install-moonraker.sh -r
|
|
|
|
- The power plugin configuration has changed. See the
|
|
[install guide](installation.md#power-control-plugin) for
|
|
details on the new configuration.
|
|
- Users transitioning from the previous version of the power plugin will need
|
|
to unexport any curently used pins. For example, the following command
|
|
may be used to unexport pin 19:
|
|
|
|
echo 19 > /sys/class/gpio/unexport
|
|
|
|
Alternatively one may reboot the machine after upgrading:
|
|
|
|
cd ~/moonraker/
|
|
git pull
|
|
~/moonraker/scripts/install-moonraker.sh -r
|
|
sudo reboot
|
|
|
|
Make sure that the power plugin configuration has been updated prior
|
|
to rebooting the machine.
|