All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Complete rewrite in Rust, bringing more robustness and performance.
- New TUI interface for improved user experience and understanding.
tweakcommand is now accessible via theconfigurecommand.- Better balance between configuration search time and exhaustiveness.
- Full rootless capabilities.
- More debug commands to help users to report issues:
--config,--log,--grey-devices. - Migration script for the configuration file from v6 to v7 format.
- Use
/dev/v4l/by-id/device path instead of/dev/v4l/by-path/under the hood for better persistence on some system/hardware.
- OpenCV is not used anymore for capturing V4L video stream, because of unreliability, and compatibility issues across distro.
- Removing
testcommand.
- Add custom meson options:
config_dir,create_config_dir,create_log_dir
- The
runcommand does not crash if one configuration cannot be applied on q device.
- Unit tests for instruction manipulations.
- New
meson testtarget including: unit tests +clang-format+clang-tidy.
- The user no longer has to type in the video feedback, but in the terminal.
- Better configuration handling.
- Better instruction search.
- Better error handling.
- Static linking of
libgccandlibstdc++if--prefer-staticmesonoption is enabled. disableconfiguration field is deprecated and renamedstatusfor more flexibility. It accepts the strings:start,idle,disable.- The
runcommand only applies instructions with thestartstatus. - The
tweakcommand displays all the time the video feedback. - Bump OpenCV to v4.11.0
- Bump argparse to v3.2
--werrormesonoption no longer enabled by default.spdlogdependency not needed anymore.
OpenCVerror:size.width>0 && size.height>0 in function 'imshow'.
- Improved building system compatibility.
- Compatibility issue with
fmtlibrary.
- Crash in
tweakcommand.
- Inconsistent file logging.
- Missing help print.
- Minor general improvements.
- YAML format support for storing camera configurations.
- Ability to save all camera instructions.
- Manual tweaking of camera instructions.
- Option to specify camera resolution.
- Zsh completion.
- Logging in file.
- Catch
ctrl-cto prevent camera interruptions.
- Freeze in video feedback.
- Issue with
testcommand. - Handling of multiple v4l paths for the same device.
- Boot command.
- Python code completely migrated to C++.
- Reduced installation size.
- Enhanced logging system.
- Config generated but not found issue.
- Exception thrown by
OpenCV. - Reduced installation size.
- Unable to execute commands.
- New
testcommand.
- Improved efficiency.
- Significantly reduced installation size.
- New advice and hint messages.
- Minor search issue.
- Default longer search duration.
- Automatic IR camera detection.
- Automatic IR emitter configuration.
- Exhaustive search functionality.
- Video feedback feature.
- Occasional systemd hanging issue.
- Improved installation paths.
- Native SELinux compatibility.
OpenRCsupport.
- Requirement for Python version >= 3.10.
- Config generation.
- Command not found error.
- Reduced size.
- Support for multiple emitter cameras.
- Persistent usage of
/dev/v4l/by-path.
- Memorization of broken instructions for skipping.
- Complete rework of implementation.
- Boot service for custom devices.
- Forced V4L2 backend in
OpenCV.
- Config generation.
- Asynchronous camera triggering.
- Camera triggering issue.
- Device symlink boot service side effect.
- Config generation through rework, optimization, and enhancement.
- Manual configuration commands.
- Integration option for Howdy.
- Bash auto-completion.
- Better systemd support.
- Integration with Howdy.
- Support for any device path format.
- Systemd service.
- Support for multiple devices.
- Limit for repeated negative answers to the same pattern.
- New configuration system.
- Exit codes for better error handling.
- Configuration file location.
- New
fixcommand to resolve common issues.
- Systemd service file to prevent
/dev/videofile descriptor error.