Changes
- Ship @showtrak/protocol as real files, not a symlink
- Say whether the release being rebuilt is live or a draft
- Add npm run publish
- De-duplicate release assets by their uploaded name
- Re-upload release assets with --clobber
- Leave a published release published when it is rebuilt
- Let the release workflow publish, and write its own changelog
- Title a normal release just 'Release'
- Verify downloaded scripts, retire four dated dependencies, share infrastructure
- Detect hardware and application changes in near real time
- Pin node-addon-api to 8.7.0 so the Linux usb rebuild compiles
- Hold back four dependency majors, each with its lifting condition
- Bump actions/checkout from 6 to 7
- Bump actions/setup-node from 6 to 7
- Bump version to 3.15.0
- Record the usb 3.x test result in the plan
- Keep usb pinned at 2.x: 3.0.1 double-fires the connect event
- Fix the second test that encoded both mDNS service spellings
- Drop the legacy capitalised mDNS service type
- Record the mDNS service-type finding and close out WP-1d in the plan
- Move macOS client state to Application Support, with a migration
- Record refactor outcomes and the four items left open
- Fix the AppData base path without moving where client state lives
- Make Bonjour discovery failures observable, and tear down in one place
- Paint the profile panel with .text() instead of building it with .html()
- Extract the two idioms that were copy-pasted across six modules
- Test the main-process modules the decomposition made reachable
- Decompose src/main.ts into src/main/*, mirroring the Server
- Upgrade to ESLint 10; hold back the usb and fuses majors
- Upgrade Electron 37.2.2 -> 43.2.0
- Drop four unused dependencies and take the safe dependency batch
- Make the installed husky hook real, and add dependabot
- Correct client log identity, adoption spelling and the safe-mode comment
- Stop catch bindings shadowing the global Error constructor
- Stop client uptime wrapping every 24 hours
- Contain server-supplied script paths inside the scripts directory
- Cover the client's two weakest branch surfaces
- Cover the client renderer
- Stop the recovery tests depending on the host platform
- Fix wall-clock races in the recovery state machine tests
- Add test coverage for discovery, recovery and display identity; gate debug logging
- Migrate to TypeScript, and stop logging faults from killing the agent
Full changelog: v3.12.0...v3.16.3