Repository navigation
v3.0.0
What's Changed
๐ Features
- Modernize to a strict-TypeScript ESM package built with Vite by @dirkwa in #34
- Cover the track API routes with end-to-end tests by @dirkwa in #36
- Publish to npm from the release tag by @dirkwa in #39
- Require a release-notes label on every pull request by @dirkwa in #42
- refactor: extract a TrackStore interface by @dirkwa in #43
- feat(sqlite): add an opt-in node:sqlite position store by @dirkwa in #44
- feat(config): choose the track source with one setting by @dirkwa in #45
- feat: split tracks into segments across gaps in recording by @dirkwa in #47
- feat(api): serve the recording time of each track point by @dirkwa in #50
- feat(api): say which track belongs to the own vessel by @dirkwa in #51
- feat: warn when positions arrive from several sources by @dirkwa in #52
- feat(api): serve per-point times on the all-vessels listing by @dirkwa in #53
- test: add an end-to-end suite against a real server and QuestDB by @dirkwa in #54
- ci: add a CodeRabbit configuration by @dirkwa in #57
- feat: discard positions implying an impossible speed by @dirkwa in #65
- feat: pause recording while the vessel is not under way by @dirkwa in #66
- feat: answer queries from a history provider and the store together by @dirkwa in #73
- feat!: read bbox in GeoJSON coordinate order by @dirkwa in #74
- feat: serve the v2 Track API from the plugin's store by @dirkwa in #76
- feat: give the plugin an app store icon and display name by @dirkwa in #78
- feat!: record to SQLite always, keep the own vessel indefinitely by @dirkwa in #86
- feat: name tracks the way a plotter does by @dirkwa in #88
- feat: simplify track geometry by shape, not just by time by @dirkwa in #89
- feat: add a webapp for browsing recorded tracks by @dirkwa in #90
- feat: read and write tracks as GPX by @dirkwa in #91
- refactor: parse GPX with a real XML parser by @dirkwa in #92
- feat: export a track as GPX from the webapp by @dirkwa in #93
- feat: remember vessel names so tracks stay named after a restart by @dirkwa in #107
๐ Fixes
- Serve /self/track and honour the time-window query parameters by @dirkwa in #37
- Make bootstrapFromHistory actually restore a track by @dirkwa in #38
- fix(sqlite): honour resolution when storing positions by @dirkwa in #46
- test(e2e): exercise the History API, not a provider's storage by @dirkwa in #56
- fix: match bbox on any position and honour maxPoints by @dirkwa in #79
- fix: reconcile with the History API through the Track API provider by @dirkwa in #83
- fix: do not 404 a vessel known only to a history provider by @dirkwa in #97
- fix: serve the webapp as static files and show its icon by @dirkwa in #101
- fix: make GPX export work from the webapp, and ship the icon where it is looked for by @dirkwa in #103
- fix: reject malformed bbox and radius with 400 instead of 404 or 200 by @dirkwa in #109
- fix: reject an unknown query parameter instead of ignoring it by @dirkwa in #110
๐ Documentation
- Correct the bbox coordinate order and document the time parameters by @dirkwa in #40
- docs: correct why several position sources reach the plugin by @dirkwa in #55
- docs: describe what the three storage modes actually do by @dirkwa in #75
- docs: say what v1 and v2 are each for by @dirkwa in #84
๐ฆ Dependencies
- chore(deps): bump actions/stale from 10 to 11 by @dependabot[bot] in #35
- chore(deps-dev): bump vitest from 3.2.7 to 4.1.10 by @dependabot[bot] in #61
- chore(deps): bump actions/setup-node from 6 to 7 by @dependabot[bot] in #59
- chore(deps): bump actions/checkout from 6 to 7 by @dependabot[bot] in #58
- chore(deps): bump the minor-and-patch group with 2 updates by @dependabot[bot] in #60
- chore(deps-dev): bump vite from 7.3.6 to 8.2.2 by @dependabot[bot] in #63
- chore(deps-dev): bump vite-plugin-dts from 4.5.4 to 5.0.3 by @dependabot[bot] in #62
- chore(deps): bump the minor-and-patch group with 4 updates by @dependabot[bot] in #67
- build: type-check against the same Node the server does by @dirkwa in #70
- chore(deps): bump the minor-and-patch group with 3 updates by @dependabot[bot] in #71
- chore(deps): bump the minor-and-patch group across 1 directory with 4 updates by @dependabot[bot] in #99
- chore(deps-dev): bump vitest from 4.1.11 to 5.0.0 by @dependabot[bot] in #95
- chore(deps): bump the minor-and-patch group with 3 updates by @dependabot[bot] in #113
Other
- Bootstrap self-vessel track from History API on startup by @Peter-Petrik in #13
- fix: resolve self alias to selfContext in track handler by @dirkwa in #19
- chore(pkg): expose build and test scripts from the root package by @dirkwa in #20
- ci: add plugin-ci workflow, dependabot and gitattributes by @dirkwa in #21
- ci: generate release notes from tags by @dirkwa in #22
- docs: add AGENTS.md for contributors and AI assistants by @dirkwa in #23
- fix: guard against null navigation.position values by @KEGustafsson in #16
- chore: add stale workflow for awaiting-response issues by @msallin in #15
- perf: gate JSON.stringify behind debug.enabled by @msallin in #14
- Group the generated release notes by category by @dirkwa in #41
New Contributors
- @Peter-Petrik made their first contribution in #13
- @dirkwa made their first contribution in #19
- @KEGustafsson made their first contribution in #16
- @msallin made their first contribution in #15
- @dependabot[bot] made their first contribution in #35
Full Changelog: v2.0.2...v3.0.0