# Changelog
Table of new and noteworthy changes:
| Since | Description |
|--------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 0.3.6 | __New Release__ |
| 0.3.6 | Update most dependencies to their latest releases |
| 0.3.5 | __New Release__ |
| 0.3.5 | Update most dependencies to their latest releases |
| 0.3.4 | __New Release__ |
| 0.3.4 | Fix at least one scenario where Eruption failed to fully initialize a device when that device was not yet ready during bootup of the system |
| 0.3.4 | Improve the stability of the eruption-fx-proxy session daemon |
| 0.3.4 | Update all dependencies to their latest releases |
| 0.3.3 | __New Release__ |
| 0.3.3 | Backported multiple bugfixes from the `develop` branch: |
| 0.3.3 | Ratelimit log-messages |
| 0.3.3 | Improved removal of failed or disconnected devices |
| 0.3.3 | Improved general stability |
| 0.3.3 | Update all dependencies to their latest releases |
| 0.3.2 | __New Release__ |
| 0.3.2 | Fix special hotkeys and volume control dial knob on `ROCCAT Vulcan 100/12x` |
| 0.3.1 | __New Release__ |
| 0.3.1 | Fix a critical bug where some devices caused input spam |
| 0.3.1 | Fix a bug where the brightness regulator does not work |
| 0.3.1 | Revert switch to `hidraw` backend. Use the `libusb` backend of hidapi for now |
| 0.3.1 | Update all dependencies to their latest releases |
| 0.3.0 | __New Release__ |
| 0.3.0 | Fix a locking issue that lead to excessive jitter and noticeable input lag |
| 0.3.0 | Add a new user-session daemon: `eruption-fx-proxy` that supersedes some features of `eruption-netfx` |
| 0.3.0 | Replace the `Ambient Fx` effect based on `eruption-netfx` and `netfx.profile` with the newer and more efficient `Ambient Effect` provided by `eruption-fx-proxy` |
| 0.3.0 | Improve compatibility with USB HUBs and KVM switches |
| 0.3.0 | Improve compatibility with laptop docks |
| 0.3.0 | ~~Add support for most Wayland compositors to the `eruption-process-monitor` session daemon. (To enable support for automatic profile switching)~~ |
| 0.3.0 | Improve stability of some drivers, most notably: `ROCCAT Kone Pro Air`, `ROCCAT/Turtle Beach Elo 7.1 Air` |
| 0.3.0 | Further reduce CPU load of the `eruption` daemon by only trying to invoke Lua event handler functions that actually exist. Thanks to `Phen-Ro` for implementing this! |
| 0.3.0 | Add a table view to `eruptionctl` used for showing script and profile parameters. Thanks to `Phen-Ro` for implementing this! |
| 0.3.0 | Improve parameter handling in `eruptionctl`. Thanks to `Phen-Ro` for implementing this! |
| 0.3.0 | Switch the `hidapi` backend from `libusb` to the linux-specific `hidapi-hidraw` |
| 0.3.0 | Add a new companion utility `eruption-macro` that allows to record macros, which then can be assigned using the `eruption-keymap` utility |
| 0.3.0 | ~~Ship an initial technology preview version of the new `Pyroclasm UI`~~ |
| 0.3.0 | Allow to configure the fade duration or to completely disable fading when switching profiles. Thanks to `Phen-Ro` for implementing this! |
| 0.3.0 | `Eruption SDK`: Add APIs for switching profiles and for modifying configuration parameters. Thanks to `Phen-Ro` for implementing this! |
| 0.3.0 | `Eruption SDK`: Improve the Python 3 SDK and publish it on |
| 0.3.0 | `Eruption SDK`: Rename Rust package to `eruption-sdk` and publish on |
| 0.3.0 | Improve the way we handle parameters of `*.profile` files. Thanks to `Phen-Ro` for implementing this! |
| 0.3.0 | New Lua scripts: `stock-gradient.lua` linearly interpolates colors from a pre-defined color scheme or from a stock gradient |
| 0.3.0 | New profile: `rainbow-vertical.profile` that makes use of the newly introduced Lua script that renders stock gradients and custom color schemes |
| 0.3.0 | Update all dependencies to their latest releases |
| 0.3.0 | New theme for the eruption CLI tools (`--help`) output, provided by Clap v4 |
| 0.3.0 | Bump MSRV to latest stable Rust `1.64` |
| 0.2.0 | __New Release__ |
| 0.2.0 | Add support for named color-schemes |
| 0.2.0 | Add support for importing `pywal` generated color-schemes via `eruptionctl color-schemes import pywal` |
| 0.2.0 | Add new profile `Lava Lamp (System palette)` that makes use of imported color-schemes |
| 0.2.0 | Modify Lua script `batique.lua` to support imported color-schemes |
| 0.2.0 | Update the project description, add the new website: |
| 0.2.0 | Implement support for a systemd-based software watchdog and add a watchdog daemon for development purposes |
| 0.2.0 | Add experimental support for `ROCCAT Kone Pro` series mice |
| 0.2.0 | Add experimental support for `ROCCAT Kone Pro Air` series mice |
| 0.2.0 | Add experimental support for `ROCCAT Kone XP` series mice |
| 0.2.0 | Add experimental support for `ROCCAT Kain 100 AIMO` series mice |
| 0.2.0 | Add new companion utility `eruption-keymap` that allows to define simple and complex macro mappings |
| 0.2.0 | Update all dependencies to their latest revisions |
| 0.1.23 | __New Release__ |
| 0.1.23 | Implement emergency exit of Eruption using Easy Shift+ + BACKSPACE key |
| 0.1.23 | Implement full support for Wayland based graphics stacks (Add support for `NetworkFX Ambient Effect`) |
| 0.1.23 | Implement *breaking changes* to the D-Bus API |
| 0.1.23 | Release a new version of the `Eruption Profile Switcher` GNOME Shell extension; please be sure to update to at least `v23`! |
| 0.1.23 | Switch to Rust 2021 edition, rustc >= `1.58` is now required to build Eruption |
| 0.1.23 | Update all dependencies to their latest revisions. Most notably: `mlua:v0.7.4`, using `Lua 5.4` and many more |
| 0.1.23 | Fix a possible deadlock scenario on shutdown of the `eruption` daemon |
| 0.1.23 | Add a new user-session daemon: `eruption-audio-proxy` that should alleviate the need to manually change the configuration files of `PipeWire` or `PulseAudio` |
| 0.1.23 | Add basic infrastructure for i18n an l10n, currently available languages: `en-US`: 100%; `de-DE`: approx. 60% |
| 0.1.23 | Update the Eruption GUI to the latest version `0.0.11` (this is a technology preview only; it is not production ready yet) |
| 0.1.23 | Add support for changing the device specific (local) brightness of all connected devices, in addition to the global brightness |
| 0.1.23 | Add support for changing device specific parameters of the following devices: `ROCCAT Kone Pure Ultra`, `ROCCAT Burst Pro` |
| 0.1.23 | Add a new administrative companion utility `eruption-hwutil` that can be used to configure devices offline, without requiring the Eruption daemon to be running |
| 0.1.23 | Add a new `device status` subsystem that allows to poll status information like e.g. wireless signal strength or battery levels |
| 0.1.23 | Improve formatting of syslog log output; the default log-level is now `WARN` for all of the provided daemons |
| 0.1.23 | Add experimental support for Linux Userspace LEDs interface. This allows kernel-level triggers like e.g. net or disk activity to trigger userspace events |
| 0.1.23 | Add new Lua scripts: `swirl-simplex.lua` and `domain-coloring.lua` |
| 0.1.23 | Add new profiles: `Audio Visualization (1-4)`, `Color Swirls (Simplex): Rainbow` and `Domain Coloring (1-3)` |
| 0.1.23 | Add new profile: `Blackout` that turns all LEDs off, except for overlays and indicators |
| 0.1.23 | Add experimental support for `ROCCAT Magma` series keyboards |
| 0.1.23 | Add experimental support for `ROCCAT/Turtle Beach Elo 7.1 Air` series headsets |
| 0.1.23 | Add experimental support for `ROCCAT Kain 200/202` series wireless mice |
| 0.1.23 | Add experimental support for `ROCCAT Sense AIMO XXL` / `ROCCAT Aimo Pad Wide` series RGB mousepads |
| 0.1.23 | Add a technology preview of the `Eruption SDK` (Software Development Kit), supporting the following programing languages: `Rust` via crate `eruption-rs`, `Python 3` via the `eruption` Python module, `C/C++` via `liberuption.so`, and `Shell` via `eruption-cmd` |
| 0.1.22 | __New Release__ |
| 0.1.22 | Update all dependencies to their latest revisions. Most notably: `mlua:v0.6.2`, and many more |
| 0.1.22 | Update the Eruption GUI to the latest version `0.0.10` (this is a technology preview only; it is not production ready) |
| 0.1.22 | Start porting the Eruption GUI to GTK4 |
| 0.1.22 | Add experimental support for `ROCCAT Kone XTD` series mice (input only, no LEDs currently since they don't support realtime effects) |
| 0.1.22 | Allow dimming of zones on the canvas, using the newly added `dim-zone.lua` script |
| 0.1.22 | Provide dimmed/high contrast versions of some profiles: `Color Swirls (Perlin) (dimmed)` and variants |
| 0.1.22 | Add Support for the GNOME 4x `Mutter` window manager on Wayland to the `eruption-process-monitor` |
| 0.1.22 | Add per-device config infrastructure to the daemon proper and to `eruptionctl` |
| 0.1.21 | __New Release__ |
| 0.1.21 | Release a new version of the `Eruption Profile Switcher` GNOME Shell extension; please be sure to update to `v15`! |
| 0.1.21 | New package `eruption` available that currently ships without the GUI. Use the git snapshot package `eruption-git` if you want to stay on the bleeding edge |
| 0.1.21 | Add support for macros on the primary layer. This complements the simple remapping of keys, now we support 1:N remapping of keys too |
| 0.1.21 | Add support for an "Audio muted" indicator |
| 0.1.20 | __New Release__ |
| 0.1.20 | Release a new version of the `Eruption Profile Switcher` GNOME Shell extension; please be sure to update to `v14`! |
| 0.1.20 | Update the Eruption GUI to the latest version `0.0.8` (this is a technology preview only; it is not production ready) |
| 0.1.20 | Add support for multiple profile directories. NOTE: This will require a manual update to `/etc/eruption/eruption.conf` |
| 0.1.20 | New effect plugin/Lua script/profiles for simulation of organic movements, based on the excellent `Ternimal` console application |
| 0.1.20 | New profiles: `Animal: Blobby + Color Swirls (Perlin)`, `Animal: Blobby + Wave`, `Animal: Breathing (1)`, `Animal: Breathing (2)`, `Animal: Breathing (3)` and `Solid Color` |
| 0.1.20 | Add experimental support for `ROCCAT Kone Aimo Remastered` series mice |
| 0.1.20 | Add experimental support for `ROCCAT Vulcan Pro` series keyboards |
| 0.1.20 | Add experimental support for `ROCCAT Vulcan TKL` series keyboards |
| 0.1.20 | Add experimental support for `Corsair Strafe Gaming` (non-RGB) series keyboards |
| 0.1.20 | Add support for device hot-plugging without manual intervention. The Eruption daemon will now restart and bind to all supported devices, when a new device is plugged in |
| 0.1.20 | Allow changing script parameters during runtime via `eruptionctl` and via the Eruption GUI |
| 0.1.20 | The companion tool `eruptionctl` gained the ability to query the currently active profile and the currently active slot |
| 0.1.20 | Add official support and documentation for using Eruption with PipeWire |
| 0.1.20 | Eruption now has a failsafe mode, that gets activated whenever an irrecoverable error is encountered |
| 0.1.20 | Multiple bugs and paper cuts have been fixed |
| 0.1.19 | __New Release__ |
| 0.1.19 | Release a new version of the `Eruption Profile Switcher` GNOME Shell extension; please be sure to update! |
| 0.1.19 | Add support for `ROCCAT Vulcan Pro TKL` series keyboards |
| 0.1.19 | First beginnings of a GTK+ based GUI for Eruption |
| 0.1.19 | Add support for USB HID based event handling for mouse devices. This should enable the extra buttons on supported devices |
| 0.1.19 | Update Lua scripts to better handle the unified canvas |
| 0.1.19 | Add profile `batique-mouse.profile` specifically for mice |
| 0.1.19 | Network FX protocol supports painting to the full canvas now, not only to the keyboard |
| 0.1.19 | Fixed brightnes bug: Wrong initial brightness, was only correct after a key has been pressed |
| 0.1.19 | Added a new infrastructure for managing gradient objects using handles |
| 0.1.19 | Added a new Lua script `lava-lamp.lua` that shows a lava lamp like effect |
| 0.1.19 | New profiles: `Blue FX + Color Swirls (Perlin)`, `Red FX`, `Red Wave`, `Heartbeat: System Monitor`, `Fireplace`, `Flight (Perlin)`, `Lava Lamp`, `Lava Lamp (Pastel)` |
| 0.1.19 | Improve stability of the core daemon as well as the process-monitor daemon |
| 0.1.18 | __New Release__ |
| 0.1.18 | Released a new version of the `Eruption Profile Switcher` GNOME Shell extension; please be sure to update! |
| 0.1.18 | Refactor code to enable support for other device classes in the future, not just keyboards and mice |
| 0.1.18 | First steps to support handling multiple devices of a device class, using a single instance of Eruption |
| 0.1.18 | Use one unified LED color map as the "canvas" for all managed devices |
| 0.1.18 | Cleanups and removal of deprecated and/or legacy code |
| 0.1.18 | Reduce device input lag/latency even further by strictly prioritizing input events above all other tasks |
| 0.1.18 | Add experimental support for the ROCCAT Kova AIMO |
| 0.1.17 | __New Release__ |
| 0.1.17 | Released a new version of the `Eruption Profile Switcher` GNOME Shell extension; please be sure to update! |
| 0.1.17 | Add a new daemon `eruption-process-monitor` that monitors the system for certain events and acts upon them |
| 0.1.17 | Add experimental support for the ROCCAT Kone Aimo |
| 0.1.17 | Support changing the master brightness via the dial knob on the keyboard |
| 0.1.17 | Add a new Lua library `easing.lua`, that provides multiple easing functions |
| 0.1.17 | Add a new Lua script `pulse.lua` that displays a pulsating color on a fixed set of keys |
| 0.1.16 | __New Release__ |
| 0.1.16 | Released a new version of the `Eruption Profile Switcher` GNOME Shell extension; please be sure to update! |
| 0.1.16 | Add support for ROCCAT Kone Pure Ultra LED |
| 0.1.16 | Add a new companion tool `eruption-debug-tool` that may be used to debug USB HID devices |
| 0.1.16 | Revert to previous version of the Lua script `shockwave.lua` but with an updated neighbor selection algorithm |
| 0.1.16 | Added a new Lua script `halo.lua` that shows a rainbow colored animated halo when a key has been pressed |
| 0.1.15 | __New Release__ |
| 0.1.15 | Released a new version of the `Eruption Profile Switcher` GNOME Shell extension; please be sure to update! |
| 0.1.15 | Improved robustness of device initialization code |
| 0.1.15 | Stopped original key events from leaking through on macro invocations |
| 0.1.15 | Repaired broken key repetition functionality (on Linux virtual terminals) |
| 0.1.15 | Allow Lua VMs to load additional Lua extension modules at runtime |
| 0.1.15 | Added support for the new `Network FX` protocol - please see [NETFX.md](./NETFX.md) for further information |
| 0.1.15 | Added a new Lua script `netfx.lua` implementing the Network FX server |
| 0.1.15 | Added a new Profile `netfx.profile` that makes use of `netfx.lua` |
| 0.1.15 | Added a new companion tool `eruption-netfx`, that implements the `Network FX` reference client |
| 0.1.15 | Lowered CPU load and power consumption in the spectrum analyzer code |
| 0.1.14 | __New Release__ |
| 0.1.14 | Improved the spectrum analyzer |
| 0.1.13 | __New Release__ |
| 0.1.13 | Fixed a bug with suspend/resume. Eruption will now be restarted after system wakes up from suspend |
| 0.1.13 | Fixed multiple bugs in color handling code that artificially limited the usable color-space |
| 0.1.13 | Added the "Hamming" window function to the spectrum analyzer |
| 0.1.13 | Added a few new profiles based on new Lua scripts: "Color swirls - {Perlin, Turbulence, Voronoi}" and "Flight - Perlin" |
| 0.1.13 | Reduced CPU usage further by approximately 1-2%, when under load (4 Lua VMs @24 fps) |
| 0.1.13 | Reduced CPU usage further, to now be around 0.5% - 1.3%, when idle (no frame generation updates) |
| 0.1.12 | Switched from `lua 5.4` to `luajit` (still using `mlua`), to mitigate SIGBUS issues and to improve performance |
| 0.1.13 | Improve the `eruptionctl` CLI utility |
| 0.1.13 | Fix multiple bugs in the sensors.rs module that surfaced in sysmon.lua |
| 0.1.13 | Crash the daemon with abort() on a critical error, instead of just deadlocking |
| 0.1.13 | Improved the main loop, use async constructs |
| 0.1.12 | __New Release__ |
| 0.1.12 | Switched from `rlua` to `mlua` (now using Lua version 5.4) |
| 0.1.12 | Beginnings of the CLI tool `eruptionctl` |
| 0.1.12 | Added Lua effect-script: wave.lua |
| 0.1.12 | AFK effect: Assign a .profile to show, when the user is AFK (Away From Keyboard) |
| 0.1.12 | __Start of this changelog__ |