Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
Unreleased¶
0.9.3 - 2024-09-05¶
Changed¶
- server: Use
asyncio.run
to launch the server as recommended by the official Python documentation. - announcements: Look for xml files at
<data_path>/development/announcements
whendev_mode
is set to True. - build: Move scripts from the "data" directory into a folder inside the moonraker package.
Fixed¶
- confighelper: Don't resolve symbolic links to the main configuration file.
- power: Allow special characters in the user/pass options for backends that support Basic Authentication.
0.9.2 - 2024-07-30¶
Added¶
- install: Add support for installing Moonraker's python package via pip.
- scripts: Add script to sync python and system dependencies from
pyproject.toml
andsystem-dependencies.json
respectively. - dev: Add pre-commit hook to call
sync_dependencies.py
.
Fixed¶
- build: Build from sdist now correctly includes share data.
- build: Remove stray
.gitignore
from Python Wheel.
Changed¶
- install: The
MOONRAKER_FORCE_DEFAULTS
environment variable has changed toMOONRAKER_FORCE_SYSTEM_INSTALL
.
0.9.1 - 2024-07-25¶
Fixed¶
- source_info: Fixed
importlib.metadata
compatibility issues with python versions 3.9 or older.
0.9.0 - 2024-07-25¶
Added¶
- notifier: The
attach
option now supports Jinja2 templates. - notifier: The
attach
option may now contain multiple attachments, each separated by a newline. - notifier: Added support for a configurable
body_format
- power: Added support for generic
http
type switches. - metadata: Added support for OrcaSlicer
- zeroconf: Added support for a configurable mDNS hostname.
- zeroconf: Added support for UPnP/SSDP Discovery.
- spoolman: Added integration to the Spoolman filament manager.
- update_manager: Added support for update rollbacks
- update_manager: Added support for stable
git_repo
updates - server: Added a
--unixsocket
command line option - server: Command line options may also be specified as env variables
- server: Added a
route_prefix
option - webcam: Webcam APIs can now specify cameras by
uid
orname
- deps: Added support for optional
msgspec
anduvloop
packages - extensions: Agents may now register remote methods with Klipper
- file_manager: Add
check_klipper_config_path
option - button: Added
debounce_period
option - history: Added a check for previous jobs not finished (ie: when power is
lost during a print). These jobs will report their status as
interrupted
. - build: Added support for optional speedup dependencies
uvloop
andmsgspec
- update_manager: Added support for "zipped" application updates
- file_manager: Added
enable_config_write_access
option - machine: Add support for system peripheral queries
- mqtt: Added the
status_interval
option to support rate limiting - mqtt: Added the
enable_tls
option to support ssl/tls connections - mqtt: Added support for a configurable
client_id
- history: Added
user
field to job history data - history: Added support for auxiliary history fields
- spoolman: Report spool ids set during a print in history auxiliary data
- sensor: Added support for history fields reported in auxiliary data
- power: Added support for
uhubctl
devices - update_manager: Add support for pinned git commits
- update_manager: Added support for updating pip managed python apps
Fixed¶
- simplyprint: Fixed import error preventing the component from loading.
- update_manager: Moonraker will now restart the correct "moonraker" and "klipper" services if they are not the default values.
- job_queue: Fixed transition when auto is disabled
- history: Added modification time to file existence checks.
- dbus_manager: Fixed PolKit warning when PolKit features are not used.
- job_queue: Fixed a bug where the
job_transition_gcode
runs when the queue is started. It will now only run between jobs during automatic transition. - klippy_connection: Fixed a race condition that can result in skipped subscription updates.
- configheler: Fixed inline comment parsing.
- authorization: Fixed blocking call to
socket.getfqdn()
- power: Fixed "on_when_job_queued" behavior when the internal device state is stale.
Changed¶
- build: Bumped apprise to version
1.8.0
. - build: Bumped lmdb to version
1.4.1
- build: Bumped tornado to version
6.4.0
- build: Bumped jinja2 to version
3.1.4
- build: Bumped zeroconf to version
0.131.0
- build: Bumped libnacl to version
2.1.0
- build: Bumped distro to version
1.9.0
- build: Bumped pillow to version
10.3.0
- build: Bumped streaming-form-data to version
1.15.0
- machine: Added
ratos-configurator
to list of default allowed services - update_manager: It is now required that an application be "allowed" for Moonraker to restart it after an update.
- update_manager: Git repo validation no longer requires a match for the remote URL and/or branch.
- update_manager: Fixed potential security vulnerabilities in
web
type updates. This change adds a validation step to the install, front-end developers may refer to the configuration documentation for details. - update_manager: The
env
option for thegit_repo
type has been deprecated, new configurations should use thevirtualenv
option. - update_manager: The
install_script
option for thegit_repo
has been deprecated, new configurations should use thesystem_dependencies
option. - update_manager: APIs that return status report additional fields. See the API Documentation for details.
- proc_stats: Improved performance of Raspberry Pi CPU throttle detection.
- power: Bound services are now processed during initialization when
initial_state
is configured. - gpio: Migrate from libgpiod to python-periphery
- authorization: The authorization module is now loaded as part of Moonraker's core.
- database: Migrated the underlying database from LMDB to Sqlite.
- history: Use dedicated SQL tables to store job history and job totals.
- authorization: Use a dedicated SQL table to store user data.
REMOVED¶
- simplyprint: Removed defunct "AI" functionality
0.8.0 - 2023-02-23¶
Note
This is the first tagged release since a changelog was introduced. The list below contains notable changes introduced beginning in Feburary 2023. Prior notable changes were kept in user_changes.md and api_changes.md.
Added¶
- Added this changelog!
- Added pyproject.toml with support for builds through pdm.
- sensor: New component for generic sensor configuration.
- file_manager: Added new scan metadata endpoint.
- file_manager: Added new thumbnails endpoint.
- file_manager: Added file_system_observer configuration option.
- file_manager: Added enable_observer_warnings configuration option.
- file_manager: Added ability to upload to symbolic links.
- metadata: Added support for Simplify3D V5 metadata parsing
- machine: Added shutdown_action configuration option.
- machine: Added service detection to the
supervisord_cli
provider. - machine: Added
octoeverywhere
to the list of default allowed service. - power: Added support for "Hue" device groups.
- websockets: Added support for direct bridge connections.
- update_manager: Added new refresh endpoint.
- update_manager: Added support for pinned pip upgrades.
- websockets: Added support for post connection authentication over the websocket.
- scripts: Added database backup and restore scripts.
Changed¶
- Converted Moonraker source into a Python package.
- The source from
moonraker.py
has been moved toserver.py
. The remaining code inmoonraker.py
serves as a legacy entry point for launching Moonraker. - file_manager: Improved inotify synchronization with API requests.
- file_manager: Endpoint return values are now consistent with their respective websocket notifications.
- machine: The provider configuration option
now expects
supervisord_cli
instead ofsupervisord
. - update_manager: Relaxed requirement for git repo tag detection. Now only two parts are required (ie: v1.5 and v1.5.0 are acceptable).
Deprecated¶
- file_manager: The
enable_inotify_warnings
configuration option has been deprecated in favor ofenable_observer_warnings
.
Fixed¶
- file_manager: Fix edge condition where
create_file
notifications may be sent before acreate_dir
notification. - power - Fixed URL encoding issues for http devices.
- template: A ConfigError is now raised when a template fails to render during configuration.
- machine: Fixed support for Supervisord Version 4 and above.
- update_manager: Added package resolution step to the APT backend.
- update_manger: Fixed PackageKit resolution step for 64-bit systems.
- update_manager: Fixed Python requirements file parsing. Comments are now ignored.
Removed¶
- Pycurl dependency. Moonraker no longer uses Tornado's curl based http client.
0.7.1 - 2021-07-08¶
- Experimental pre-release