v2.23.0-beta.2
Pre-release
Pre-release
🚀 Features
- feat: surface pre-release versions in appstore
- PR: #2335
- feat: add "All" context option to data browser
- PR: #2333
- feat: add showcase banner to React 19 admin UI header
- PR: #2348
- Implementing display units system in metadata
- PR: #2225
- fix(ui): replace unit preferences pill buttons with dropdown select R19
- PR: #2371
- feat: add native WebSocket ping/pong heartbeat for stale connection cleanup
- PR: #2387
- feat(history): add multi-provider support to History API
- PR: #2381
- feat: track and display device token expiry in admin UI
- PR: #2369
- feat: R19 Data Browser multi-term OR search
- PR: #2415
- fix: filter version list in R19 app store versions modal
- PR: #2413
- feat: include resolved IP address in mDNS discovery results
- PR: #2404
🐛 Fixes
- fix: history duration and resolution in seconds
- PR: #2338
- fix: update previousPoint when active route geometry changes
- PR: #2337
- fix: appstore install/remove progress not shown in UI
- PR: #2339
- fix: R19 hamburger menu not working on mobile (iOS)
- PR: #2346
- Fix duplicate user creation + convert tokensecurity to TypeScript
- PR: #2347
- fix: DataBrowser meta toggle stops data updates and multiple UX issues - R19
- PR: #2341
- fix: move baconjs from peerDependencies to dependencies in server-api
- PR: #2328
- fix: drop ignored NMEA sentences instead of emptying them
- PR: #2361
- fix: restart connection pipelines on config change without server restart
- PR: #2332
- fix: Support R16 embedded Webapps in React 19 admin UI
- PR: #2342
- fix: restore express.static trailing-slash redirect for webapp routes
- PR: #2364
- fix(ui): remove noisy success alerts from connection operations
- PR: #2363
- fix(ui): prevent duplicate description on boolean plugin config fields
- PR: #2382
- feat(ui): add server default preset functionality in unit preferences…
- PR: #2395
- fix: use correct listener reference in startEvents cleanup
- PR: #2385
- fix: prevent applicationData corruption under concurrent writes (#2303)
- PR: #2394
- fix: reconnect WebSocket after login/logout in R19 admin UI
- PR: #2403
- fix: detect legacy React before container.init() in R16 bridge
- PR: #2408
- fix: R19 admin UI corrections
- PR: #2405
- fix: reject revoked tokens instead of downgrading to anonymous read-only
- PR: #2401
- fix: three Server Log bugs in R19 (auto-scroll, duplicate entries, InvalidStateError)
- PR: #2421
- fix: guard against ENOENT when deleting debug persistence file
- PR: #2423
📦 Uncategorized
- chore: rename contributing.md to CONTRIBUTING.md
- PR: #2334
- fix: make applicationData test robust by sharing server lifecycle
- PR: #2336
- test: add dependency version sync test for React 19 admin UI
- PR: #2331
- Migrate React 19 admin UI from reactstrap to react-bootstrap
- PR: #2340
- chore(deps): bump actions/setup-node from 4 to 6
- PR: #2133
- fix: include server-api tests in npm test
- PR: #2349
- fix: guard document.title access in setVesselInfo for vitest compatibility - R19
- PR: #2352
- Fix server-api test glob to include src/ root test files
- PR: #2351
- docs: remove unsupported signalk-category-hidden keyword
- PR: #2355
- test: add metadata end2end test
- PR: #2356
- chore(deps): bump aquasecurity/trivy-action from 0.33.1 to 0.34.0 in /.github/workflows
- PR: #2345
- chore: fix docker image copy from ghcr.io to docker.io
- PR: #2368
- chore: integrate assemblyscript-prettier 3.0.2
- PR: #2378
- refactor: convert requestResponse to TypeScript
- PR: #2284
- refactor: convert packages/streams to strict TypeScript
- PR: #2354
- feature: keep track of image sizes
- PR: #2388
- fix: pin @module-federation/vite to 1.9.4 to fix CI build
- PR: #2412
- fix: layer size skopeo invocation
- PR: #2402
- chore: add .gitattributes to enforce LF line endings
- PR: #2419
- chore: use just tag in container image tracking
- PR: #2418