- Battery Monitor Widget: Stay on top of your vessel’s power system with a dedicated compact Battery Monitor Widget. Instantly view individual batteries or whole banks, including State of Charge, remaining capacity, remaining time, voltage, current, power flow, and temperature. Batteries are detected automatically, with Signal K Zones support for clear warning and alarm visibility at a glance.
- Faster first-load widget data display so dashboards feel more immediate and alive
- Smoother dashboard transitions with reduced startup animation on Radial, Linear, Compass, Compact Linear, Windsteer, Racesteer, and Autopilot widgets
- More robust History API integration using the server-provided HistoryAPI type and improved registration cleanup. Thanks to @tkurki
- Newly added widgets now open their options automatically, speeding up setup and reducing extra taps
- Fixed the plugin-config-data directory location. Fixes #1006
- Fixed documentation link references
- Built-in Time-Series storage and History-API provider now use the native node:sqlite feature, eliminating binary and external dependencies.
- Requires Node.js 22.5.0 or newer. If you use an older Node.js version, you must select an alternative History-API provider.
- IMPORTANT: Before upgrading Node.js, always confirm your Signal K server and OS supports the required Node.js version. See the Signal K installation documentation.
- Extending v4.5.x features to VenusOS (32bit OS) - Error: Failed to start: Error loading duckdb native binding: unsupported arch 'arm' for platform 'linux'. Fixes #979
- Uninstallation does not remove all files. Fixes #981
- Reduce unwarranted installation size.
- DuckDB initialized when features are not enabled.
- Parquet data compression and pruning not executing.
- DuckDB dependency causing build and installation errors. Fixes #979
- Reduced installation size. Fixes #980
- Effortlessly review your vessel’s history with the new Widget Historical Charts—automatically track, store, and visualize key data. Instantly access up to the last full day of performance: just two-finger tap or right-click any widget to open a seamless history dialog—no setup, no clutter, just the trends you need. (Requires Signal K v2.22.1)
- Dashboards now start with fully populated Data Charts, powered by KIP’s managed Time-Series History-API provider or other compatible history providers. (Requires Signal K v2.22.1)
- Added internet availability detection for remote queries.
- Added "Days" as a selectable time scale in the Data Chart widget.
- Improved integration by validating server plugin presence, plugin state, and configuration.
- Added a Node-RED introduction guide to the Help section.
- Migrated KIP plugin historical storage internals from
duckdbto@duckdb/node-apiand Parquet export writing to@dsnp/parquetjs.
- Improved KIP plugin OpenAPI compatibility.
- Resolved slow Data Inspector performance caused by high resource usage in deep loop logic.
- Remote Control feature should not require Admin permission. Fixes #940
- New AIS Radar widget: Turn AIS traffic into an instant tactical view with live targets, dynamic range rings, fast zoom controls, and smart filters—so you can spot nearby vessels quicker and make confident navigation decisions at a glance.
- New signalk-anchoralarm-plugin (by Scott Bender) embedded widget to surface its features and make anchor setting and monitoring fast and easy.
- Added a Simple Wind mode in Windsteer (a popular request) to mimic classic instruments. Toggle “Enable Advanced Compass Mode” off to lock the dial to +/- 180° and keep indicators stable. Fixes #828
- New high‑impact snackbar templates with inform/warn/alert layouts, bold colors, and icons that make different app message types instantly recognizable.
- Racesteer (beta): corrected tack/gybe angle, indicator reference, and layline calculations for better precision. Fixes #858
- Fixed occasional double‑fire on long‑press gestures (reduced extra processing).
- Prevented duplicate app events from async PUT responses (reduced extra processing).
- Multi State Switch widget: Take control of multi‑mode devices (chargers, inverters, and more) with a clear state list that highlights the active mode and lets you switch states with a tap. Fixes #404
- Copy and Cut & Paste Widget Between Dashboards: Build dashboards faster by copying existing widgets—including their configuration—across dashboards in seconds. Fixes #554
- Minor all Red Night mode theming corrections to save night vision.
- Gauge instrument highlights exceeds gauge scale when zones definition lack upper or lower scale definition. Fixes #871
- Zones State Panel widget: monitor the health/state of multiple sensors and devices at a glance. Configure multiple paths per panel; each Zone States control uses KIP’s color-coded Zone severity and prominent status message to spot warnings/alarms early without digging through notification menus. Powered by Signal K metadata zone configuration. Fixes #873
- Better chartplotter mode with automatic night/day mode and manual night mode button applying to both Freeboard SK and KIP. Requires Freedoard SK version above v2.19.6.
- Ability to hide widget label for Switch Panel Group and the new Zone States Panel.
- Framework and dependency updates to stay current.
- Fix chartplotter mode notification badge not displaying.
- Fix some controls are too bright in red night mode.
- Racer Line and Timer widgets now include:
- Support for named lines (configured in the Racer plugin).
- Time To Line and Time To Boat in the Race Line widget.
- Clearer button guidance via tooltips and improved label visibility.
- Enhanced Data Chart widget:
- Optional “points only” rendering for the tracked series, improving readability for wrap‑around data (e.g. values that jump from the top to the bottom of the scale).
- Data point precision that adapts to the selected time window for a more consistent experience from seconds to hours.
- Faster initial value display to reduce the “dead spot” feeling.
- Data Chart widget Options: Path form losing previously saved path source.
- Enhanced the Remote Control experience:
- Automatically selects the first available remote instance.
- Supports dashboard tile selection using the Enter and Spacebar keys.
- Better keyboard support with Enter/Spacebar actions on the:
- Dashboard selection in the sidebar navigation.
- Dashboard tiles configuration in the Settings page.
- Improved chart smoothness by reintroducing chart streaming in:
- Data Chart widget
- Numeric widget’s background chart.
- Added one-click path copy to clipboard in the Data Inspector, facilitating path pasting in widget configuration.
- Simplified widget development.
- Occasional dashboard jumping when using the Remote Control feature. Fixes #899
- Issue where switching remote-controlled dashboards while the target was in edit mode could overwrite the dashboard. Fixes #899
- Updated Windsteer widget “Next Waypoint” indicator path to use the course provider. Fixes #886
- Fixed Radial, Linear, and Compass widget rendering issues when smaller than 8px.
- Configurations page layout not fully expanding on large displays. Fixes #874
- Widgets overlapping others on creation when space was available but smaller than the widget’s minimum size. Fixes #843
- Fixed form submission required field validation on the Options page Display tab.
- Added “No configuration is required for this plugin.” to the KIP plugin configuration section to better set expectations.
- Return to last active dashboard when leaving Options, Settings and Help
- Reduce minichart dataset storage churn
- Gauge zones not drawn in initial app load
- More Switch Panel toggle control not responding to touch on Android Chrome and RPi Chromium
- Widget Racesteer icon rendering is missing colors
- Rare case where changing widget source does not resubscribe to data and reloading the dashboard is needed.
- Switch Panel not responding to touch with Chrome on some OS/versions when fill color opacity is 0.
- More Embedded widget overflow causing scrollbar
Broken package
- Automatic configuration backup before upgrade execution.
- Unresponsive Switch Panel widget
- Embedded Widget overflow causing scrollbar
- Migration launched more them once
- Align page header styles with Freeboard‑SK for better visual integration.
- Remote Control page: minor UX and UI refinements.
- Correct widget sizing after configuration upgrades when width/height were missing in legacy layouts.
- Prevent an upgrade edge case that created a stray Freeboard panel and pushed widgets off‑screen.
- Next‑gen widget framework: A simplified component architecture that makes widgets faster to develop, leaner to run, and more consistent to configure — now with an automated widget generator and AI‑assisted guidance to get you from idea to working widget in minutes. Want to contribute your first widget? Run
npm run generate:widgetand follow the prompts. - Data Chart, streamlined: Dataset configuration now lives directly inside the widget. The separate “Dataset Options” page has been retired for a cleaner flow.
- Racesteer (beta): Performance‑plugin powered windsteer with real‑time optimal steering cues and on‑the‑fly performance ratios against your polar based on live conditions. Requires a valid polar chart.
- Radial Gauge, your way: Hide the needle, progress bar, and ticks independently for ultra‑custom layouts.
- Snappier gestures on macOS Chrome with responsiveness refinements.
- Precision layouts with 2× grid resolution for tighter, more accurate arrangements.
- Chartplotter Mode control: Optional setting to disable KIP gestures over the Freeboard‑SK chart to prevent accidental swipes while moving the chart. Fixes #845.
- Dashboard editor ergonomics: Cancel/Ok button order now follows platform conventions (Sorry folks. You'll need to rewire your brains. Doctors say it's healthy!).
- Smarter upgrades: Configuration upgrade service now supports v2.12 → v4 config migrations with a new upgrade activity window.
- Documentation refresh: Syntax‑highlighted help, a comprehensive Chartplotter Mode guide, and clearer text across Remote Control and Notifications.
- Eliminated an occasional “empty dashboard flicker” when dashboards load. Mostly visible on low computing power hardware.
- Data Trends widget: fixed UI overlap on small screens. Fixes #848.
- Authentication reliability: Token renewal logic reworked to avoid 24‑day timer limits.
- Chartplotter Mode: A dual‑panel, performance‑tuned split experience that lets you run KIP dashboards and Freeboard‑SK together in one adaptive shell. Keep the chart live while moving between dashboards. Seamless side‑by‑side in landscape, smart vertical stacking in portrait and as always, designed for mobile and touch. Use the per‑dashboard forced collapse option for data‑focused layouts while Freeboard remains active in the background. Drag resize split distribution with commit‑on‑save editing. This feature brings you:
- Freeboard-SK chart continuity while you cycle dashboards (full-on dedicated MFD feel, Signal K native!)
- Remote dashboard switching compatible (no chart context loss)
- Split collapse and change dashboard transitive animations
- Per‑dashboard collapse flag to lock map closed for data‑dense layouts
- Optional Freeboard‑SK widget still available if persistent background map not required
- Updated help documentation:
- New Community section: curated video library, creator channel directory, contribution guidelines (PR / Discord #showcase) and ecosystem resource table.
- Added optional Chromium "No Sleep" and resource usage optimization launch parameters to the "Kiosk Mode" documentation.
- Enhanced "Digital Switching and PUT" section with links to supported devices.
- "Managing Dashboards" tips and recommendations update.
- Level gauge: Dual-scale heel angle indicator combining a high‑precision ±5° fine level with a wide ±40° coarse arc for fast trim tuning and broader heel / sea‑state monitoring. Special thanks to @fymmot for permission to integrate his plugin code. See https://github.com/fymmot/signalk-heel-angle
- Minor Switch Panel state visibility improvement using bold fonts and a glow effect. Fixes #813
- Enhance Countdown Timer Widget with Configurable Time and Sound Alerts. Fixes #814
- Dashboard edit button in disabled state on initial app load. Fixes #809
- Dashboard edit button disabled by default on load. Fixes #805
- Clicking the right sidenav Settings button closes the sidenav but does not navigate to the page on some browsers.
- Failed to start: pluginConstructor is not a function. Fixes #808
- Unpublished packages: manipulation errors
- Remote Control Plugin: Instantly switch dashboards on any KIP from any KIP (or your phone). Perfect for mast displays, hard‑to‑reach screens, and non‑touch devices. Open Actions → Settings → Remote Control, pick a device, tap a dashboard—done. Enable remote control in Options → Display → Remote Control.
- Added Kiosk Mode setup guide to Help
- A new dashboard navigation experience. Introducing our all-new Dashboard sidenav designed for speed. Effortlessly jump between dashboards with a single tap, always knowing exactly where you are thanks to clear highlighting of your current dashboard.
- Discover the brand new Settings button at the top of the sidenav. Instantly access tools to manage your dashboards, plus quick links to Options, Data Inspector, and Help—all in one place.
- Personalize your dashboards with style: double-click any dashboard to open the new icon gallery and give each page a unique visual identity.
- All configuration controls are now streamlined as tabs within the Options page, making customization faster and more enjoyable than ever.
- Reduced GPU memory usage to improve performance and stability, especially on low-end hardware such as the RPi Zero 2.
- Added canvas bitmap blitting for better rendering speed and visual performance.
- Replaced HammerJS with native gesture support for improved responsiveness.
- Updated CSS to help prevent accidental page reloads and unwanted text selection on mobile devices.
- Enabled Notification audio on mobile.
- Faster app loading with local font and font swap support
- Linux/RPi UI cleanup with removal of unnecessary scroll bars in multiple pages
- Increased mobile Wake Lock support
- Help component active page marker
- Dashboard card Drag & Drop and Long Press event collision preventing dashboard reordering in Chromium.
- Expose option to invert pitch and roll axes in Horizon gauge widget
- Enhance memory management and lifecycle handling
- Application dependencies updated
- Pitch & Roll widget: Horizon-style attitude display for live pitch and roll, helping monitor vessel motion in sea state.
- Radial gauge: Progress bar start position (left, middle, right) — enables split-from-center and regressive styles.
- Linear gauge: Needle option refined — tick values and bars are centered within the needle for better readability.
- Add Widget dialog: Optional plugin dependency awareness and display.
- Widget resize: Touch events could stop responding. Fixes #759
- Racer Start Line widget: Correct rotation button direction. Thanks @gregw — Fixes #757
- Real‑time True Wind Trends widget with dual top axes for direction (°) and speed (kts). Shows live values plus SMA over the period average for faster tactical wind shift / pressure awareness.
- Data Chart layout: Cleaner vertical option, optional min/max line, flexible top/right axes, larger fonts for readability.
- Dataset Service circular angle stats: Correct mean/SMA/min/max for wrap‑around angles (no 0→360 jump spikes) for smoother, accurate trends.
- Widget categories: New Core & Racing groupings (retired "Basic") reduce hunting time and clarify purpose.
- Configuration upgrade guidance: More prominent tips ease migration and new input control adaptation after upgrades.
- Help access: "Get help" button on empty dashboards boosts documentation visibility and user support.
- Tutorial widget: Clearer instructions improve first‑time user experience.
- Help documentation updates.
- Enforce WSS under HTTPS to avoid mixed‑content issues. Contribution by @tkurki
- Server reconnect counter should not resets when switching tabs; removed redundant snackbar action button.
- @tkurki made their first contribution
- Dashboard swipe gesture over Freeboard-SK and Embed widgets not changing dashboard. Fixes #744
- Path Options form with hardcoded paths falsy reported as invalid
- Display of Windsteer widget's True Wind Angle indicator is not optional
- Numeric widget now features mini background charts for instant visual trend insights
- Data Chart widget now supports vertical orientation and inverted value scales for greater flexibility
- Data Chart loading speed and resource usage significantly improved, enabling smoother performance with large datasets
- Fixed login loop bug in V3.4+ when KIP is run on Signal K server and authentication is denied
- Dashboard ID URL not redirecting to dashboard instance (/mxtommy/kip/#/dashboard/1)
- Widget resize handles too small to operate with fingers on smaller screens
- Display network connection and socket error messages only
- WebSocket retry should not stop after five attempts
- Gain tactical racing advantages with new signalk-racer plugin integrated widgets for start line analysis and race countdowns. Contribution by @gregw
- Optimized dashboard loading and switching speed for a more responsive user experience.
- Optimized Data Chart widget for significantly faster loading and smoother performance.
- Added Simple Linear widget zones support.
- Automatic detection of Signal K Autopilot API version for seamless integration.
- Enforced widget minimum dimension for better layout consistency.
- General framework updates and codebase refactoring for maintainability and performance.
- Dataset service does initialize on early app startup.
- Data Chart widget resets data when automatic night mode is enabled.
- Gauge widgets does not correctly distribute highlights over dynamic scales.
- Sidebar swipe gesture functionality stops responding in one direction.
- @gregw made their first contribution
- Stripped Vessel Base Delta path first character
- Improve dashboard loading speed and keydown handling
- Fix null path configuration option when path is not required
- Enhanced empty dashboard experience with intuitive visual guidance and one-click customization prompts for seamless onboarding
- Advanced recursive data flattening engine converting complex nested objects into accessible data paths for improved widget compatibility
- Completely redesigned networking architecture with state machine management for enhanced connection reliability, performance, and user experience
- Autopilot widget now properly handles 'off-line' connection states with appropriate visual indicators
- Removed unit conversion option from slider widget UI to preserve original path format integrity
- New autopilot widget with responsive UI.
- New Wind Steering widget UI:
- Added Current/Drift and Set.
- Improved wind speeds visibility.
- Apparent wind used for tack angle and sector calculation.
- Widget server plugin dependency validation and UI enhancements.
- Add support for optional and hardcoded paths in widgets increasing flexibility.
- Add days:hours:minutes:Seconds to Time unit format options. Fixes #682.
- Reduce package size.
- Support for Date values provided in metadata. Fixes #665. Special thanks to @emonty
- Add code linter. Special thanks to @emonty
- Add project documentation.
- Fix bouncy slider when selecting non-default value display. Fixes #671
- Position type paths should not be converted to radian. Fixes #670
- Numeric Widget has scrollbar on resize for some browsers. Fixes #640
- Add automatic reconnection on mobile OS app resume
- Data Chart form error with invalid dataset uuid
- Linear gauge not respecting scales with no ticks. Fixes #621
- Text overlap on low resolution screens. Fixes #624
- Minor performance improvement to Data Chart widget
- Fix embed overflow scrollbar
- Fix canvas cleanup process
- Harden known webkit canvas bug with custom webfont
- Swipe sensitivity reported by trackpad device users
- Sidebars occasionally stops responding to swipes
- Documentation: Embed widget, Dataset & Data Charts and Data Inspector guides update
- Help section on Updating Signal K Data (using PUT commands)
- Switch Panel Indicator control only listing PUT enabled paths. Fixes #609
- Embed widget not accepting relative URL and causing issues when loading KIP embeds on devices other then the server
- Missing image assets
- Only enable metadata supportsPUT path filter for SK v2.12 or more
- Add option the allow input device events on Embed widget content. Fixes 602
- Add signal K plugin presence and enabled status service.
- Data Chart widget not applying red night mode.
- Update Tutorial text.
- Fixes Embedded Web Page not working after 3.0 upgrade. Fixes #598
- Touch first user experience with hotkey support
- Fullscreen dashboards experience with the removal of the bottom navbar
- New grid Dashboard layout for easy widgets rearrangement
- New deep black and true white themes for improved sunlight contrast.
- Seven new high contrast colors available.
- Widget duplication feature
- Increased Gauge color reaction to Zones highlights enhancing data state awareness
- Ability to disregard Zones configuration in applicable widgets
- Ability to have no unit label for unitless paths
- New Position widget. Special thanks to @mantas_sidlauskas
- New Slider widget
- New Label widget
- Dashboard pages can be labeled, reordered and duplicated
- New additional low Brightness+Sepia Night mode for those whom want to keep colors at night.
- Simplified configuration management. Configuration file download & upload support
- Redesigned Notification user experience
- Enhanced Data Inspector user experience including identification of PUT supported paths
- New Inch, Millimeter and Fuel economy units. Special thanks to @emonty
- Redesigned Help section
- Enhanced Responsive design on tablets and mobile
- Boolean Panel label cut off #582
- Conversion of seconds to HH:MM:SS loses sign #581
- Token renewal loop #580
- Fix Toggle Switches Boolean Control Panel - Push mode not not changing color on touchscreen #579