Releases: meowmeowahr/kevinbotlib
1.0.0-alpha.17
KevinbotLib 1.0.0-alpha.17
π₯ Breaking Changes
- KevinbotLib now requires Python>=3.10
- KevinbotLib Redis Comms now requires Redis>=7.4
- KevinbotLib Comm/Redis has been majorly refactored, causing incompatibilities with most old applications
- A typo was fixed in RawSerialInterface that may break some existing applications
π New Features
- Kevinbot Simulation Framework π
- KevinbotLib Coordinate System with Coord2d, Angle2d, Pose2d, sendables, and 3d counterparts π
- Dashboard: 2d coordinate grid widget
- Dashboard: Accent color customization is now supported
- Comms: Add abstract classes for communication classes
- Comms: Added a new multi_set, multi_get, and PipelinedCommSetter for better performance
- Cli: Added command line interface for log directory
- Cli: Added command line interface for serial enumeration
- Scheduler: Command and Trigger overrun warnings
- Joystick: Added support for command-based
- Vision: Simulation support
- Camera passthrough is experimental on macOS
- An extra firewall rule may need to be added for the ZeroMQ IPC server
- UNENCRYPTED video data from the simulator will be exposed on an ephemeral port on 127.0.0.1
- Serial: Simulation support
ποΈ Improvements
- Theme: added support for flat QPushButtons
- Deployment: don't fail when a manifest isn't present
- Joystick: Remote Joysticks now use a polling loop
- Redis: Numerous performance improvements
- Apps: All GUI apps are now using superqt/fonticon_mdi7 instead of qtawesome. This allows the apps to use MDI7 icons
πͺ² Bug Fixes
- Comm: fix reliability on unstable connections
- Logger: Fix log escaping - some messages like
<locals>
would fail before - Dashboard: Don't show save dialog on exit if there are no changes
- Logger: fix ABC implementations in StreamRedirector
License Notice
Pre-built Binaries are licensed under the GNU GPLv3
Important
SDL2 is required for the KevinbotLib Control Console and Joystick Development
https://wiki.libsdl.org/SDL2/Installation
Full Changelog: 1.0.0-alpha.16...1.0.0-alpha.17
1.0.0-alpha.16
KevinbotLib 1.0.0-alpha.16
π₯ Breaking Changes
- All references to
XboxController
have been renamed toNamedController
,XboxAxis
->NamedAxis
, etc
π New Features
- Robot, Console: Add robot heartbeat system to detect when robot code has stopped
- Deployment: Add support for manifest with git and timestamp data
- Dashboard: add slider widget
ποΈ Improvements
- Joystick interfaces now use SDL2's GameController API for maximized compatibility
- Dashboard: Graphs will no longer cause application slowdown, and now use pglive
- Theme: QComboBox dropdown, QSlider themes have been added
πͺ² Bug Fixes
- Comm: fix timeout errors
License Notice
Pre-built Binaries are licensed under the GNU GPLv3
Important
SDL2 is required for the KevinbotLib Control Console
https://wiki.libsdl.org/SDL2/Installation
Full Changelog: 1.0.0-alpha.15...1.0.0-alpha.16
1.0.0-alpha.15
KevinbotLib 1.0.0-alpha.15
π₯ Breaking Changes
- Fileserver: FTP support has been removed due to security concerns
- Console: Switch to Pub/Sub protocol for enable updates - Robot code must be updated to KevinbotLib 1.0.0a15
- Console: Settings have been relocated to the same location as all other KevinbotLib Apps - Settings will be reset
- Robot: Robot will no longer log to stderr by default
π New Features
- Joystick: Controller Mapper support
- Joystick: Basic rumble support on local controllers
- Console: GUID-linked controller mapper tool
- Console: Display source of logs
- Dashboard: Add graph widget
- Comm: Socket timeout support
- Log Downloader: Key authentication support
- Robot: Heartbeat system for control console to detect when code is running
ποΈ Improvements
- macOS: Add correctly sized macOS icons (thanks to IconKitchen)
- Dashboard: Preserve raw view scroll on data update
- Dashboard: Use BLAKE3 hash or large binary data in Data View
- Theme: Basic support for QComboBox
- Log Downloader: Show host key before connecting
πͺ² Bug Fixes
- Console: Fix crash when quickly moving axes while on controllers tab
- Console: Fix crash when re-connecting robot
- Console: Fixed joystick selector layout
- Console: Fixed SDL2 not found dialog
- Console: Fix battery display glitches
- Dashboard: Fix potential crash when re-connecting robot
- Build: Python Standard Distributions no longer include docs, build scripts
- Comm: Allow subscribe before connecting
License Notice
Pre-built Binaries are licensed under the GNU GPLv3
Important
SDL2 is required for the KevinbotLib Control Console
https://wiki.libsdl.org/SDL2/Installation
Full Changelog: 1.0.0-alpha.14...1.0.0-alpha.15
1.0.0-alpha.14
KevinbotLib 1.0.0-alpha.14
π New Platforms
- Linux ARM64
π New Features
- Console: Display error message if SDL2 is not found, instead of a silent exit
πͺ² Bug Fixes
- Dashboard, Log Viewer, Log Downloader: Enable native menu bar on macOS
- Comm: Fix listener loop ended when connecting without pub/sub subscriptions
- Comm: Fix on_disconnect not triggering when connection is dead
- Windows: Fix crash when running built applications without a console
License Notice
Pre-built Binaries are licensed under the GNU GPLv3
Important
SDL2 is required for the KevinbotLib Control Console
https://wiki.libsdl.org/SDL2/Installation
Full Changelog: 1.0.0-alpha.13...1.0.0-alpha.14
1.0.0-alpha.13
KevinbotLib 1.0.0-alpha.13
π New Platforms
- macOS Intel
- macOS ARM
- Windows x64
π New Features
- Windows and macOS build scripts
πͺ² Bug Fixes
- Fix logging crash on Windows when sys.stdout is None
- Fix architecture and glibc reporting in Linux build script
βΌοΈ Known Issues
- Pre-built binaries still need SDL2 to be installed for the Control Console to launch
- KevinbotLib is still in Alpha, so expect issues
Notice
Pre-built Binaries are licensed under the GNU GPLv3
Important
SDL2 is required for the KevinbotLib Control Console
https://wiki.libsdl.org/SDL2/Installation
Full Changelog: 1.0.0-alpha.12...1.0.0-alpha.13