* Core/Main: fixed a bug where port values weren't updated due to pending write value.
* Expressions: improved `HELD` function implementation.
* Frontend/Dashboard/MultiValueSlider: strict snapping is now used.
* Frontend: fixed a bug where removing slave device would result in error.
* Settings: default slave keepalive is now 10 seconds.
version-0.21.1
What's new:
* Core/Ports: fixed bug where port ID mapping would happen multiple times.
* Frontend/Devices: fixed adding qToggleServer devices without `/api` suffix.
* Frontend/Ports: error details are now shown for transform expressions.
* Frontend/Attrdefs: a combo widget is now used for read-only attributes with choices.
* Frontend/Dashboard/OnOffIndicator: empty on/off values are now allowed and indicate "any" value.
* Frontend: fixed visual glitches when refreshing filtered lists.
* Frontend: fixed missing progress glass on forms and lists.
* Frontend: a lot of server-side code that was specific to [QUI](https://github.com/qtoggle/qui) has been moved to QUI.
* Frontend/Notifications: removed problematic waiting lock mechanism.
* Peripherals: method `get_port_args()` is now asynchronous.
* Ports, slave devices & peripherals are now cleaned up in parallel, to reduce shutdown time.
* Slaves: fixed a bug where port changes weren't reloaded on master restart.
* Slaves/Discover: adopted devices now are automatically set a password.
* Relaxed requirements.
version-0.21.1-beta.5