This document lists breaking changes and deprecations in Signal K Server.
The Admin UI has been upgraded from React 16 to React 19. This is a significant update that may affect embedded webapps and plugin configuration panels.
| Component | Before | After |
|---|---|---|
| React | 16.14.0 | 19.x |
| React DOM | 16.14.0 | 19.x |
| React Router | 4.x | 6.x |
| Language | JavaScript | TypeScript |
If your webapp uses Module Federation to share React with the Admin UI:
Singleton sharing is now required - Your webapp must configure React and ReactDOM as singletons with requiredVersion: false. See vite.config.js for the current configuration.
React 19 compatibility - If your webapp bundles its own React, it should be compatible with components rendered by the host. Most React 16/17/18 code works unchanged in React 19, but some deprecated APIs have been removed.
String refs removed - React 19 no longer supports string refs (ref="myRef"). Use useRef() instead.
defaultProps on function components - Deprecated. Use JavaScript default parameters instead.
Plugin configuration panels using ./PluginConfigurationPanel export continue to work. The props interface remains the same:
configuration - the plugin's configuration datasave - function to save configurationThe following changes have been implemented with the introduction of Resources API and apply to applications using the ./signalk/v2/resources endpoint.
Note: These changes DO NOT impact applications using the ./signalk/v1/resources endpoint.
The version 1 specification defined resource Ids with the following format urn:mrn:signalk:uuid:<UUIDv4>.
e.g. urn:mrn:signalk:uuid:18592f80-3425-43c2-937b-0be64b6be68c
The Resource API has dropped the use the prefix and ids are now just a uuidv4 value.
e.g. 18592f80-3425-43c2-937b-0be64b6be68c
This format is used for both accessing a resource e.g. /signalk/v1/api/resources/waypoints/18592f80-3425-43c2-937b-0be64b6be68c as well as the value within an href attribute.
Example:
{
"name": "...",
"descripton": "...",
"href": "/resources/waypoints/18592f80-3425-43c2-937b-0be64b6be68c",
...
}
The Resources API has updated the definition of the following resources and may break applications that simply shift to using the v2 api without catering for the changes:
start, end properties.position attribute, added name, description and type attributes.geohash attribute, added name and description properties.geohash and region attributes, added href and properties attributes.Please see the Resources OpenAPI definition for details.
With the introduction of the Course API the following paths should now be considered deprecated:
/signalk/v1/api/vessels/self/navigation/courseGreatCircle/signalk/v1/api/vessels/self/navigation/courseRhumblineNote: The Course API does currently maintain values in these paths for the purposes of backward compatibility, but applications and plugins referencing these paths should plan to move to using the equivalent paths under /signalk/v2/api/vessels/self/navigation/course.