39 lines
3.3 KiB
Markdown
39 lines
3.3 KiB
Markdown
# Changelog
|
|
|
|
## 2026-01-09 - 2.1.0 - feat(devicemanager)
|
|
prefer higher-priority discovery source when resolving device names and track per-device name source
|
|
|
|
- Add TNameSource type and NAME_SOURCE_PRIORITY to rank name sources (generic, manual, airplay, chromecast, mdns, dlna, sonos).
|
|
- Replace chooseBestName with shouldUpdateName that validates 'real' names and uses source priority when deciding to update a device name.
|
|
- Add nameSourceByIp map to track which discovery source provided the current name and persist updates during registration.
|
|
- Register devices with an explicit nameSource (e.g. 'mdns', 'dlna', 'sonos', 'manual') and map speaker protocols to appropriate name sources.
|
|
- Ensure manual additions use 'manual' source and non-real names default to 'generic'.
|
|
- Clear nameSourceByIp entries when devices are removed/disconnected and on shutdown.
|
|
|
|
## 2026-01-09 - 2.0.0 - BREAKING CHANGE(core)
|
|
rework core device architecture: consolidate protocols into a protocols/ module, introduce UniversalDevice + factories, and remove many legacy device-specific classes (breaking API changes)
|
|
|
|
- Consolidated protocol implementations into ts/protocols and added protocols/index.ts for unified exports.
|
|
- Added device factory layer at ts/factories/index.ts to create UniversalDevice instances with appropriate features.
|
|
- Introduced protocols/protocol.upssnmp.ts (UPS SNMP handler) and other protocol reorganizations.
|
|
- Removed legacy concrete device classes and related files (Device abstract, Scanner, Printer, SnmpDevice, UpsDevice, DlnaRenderer/Server, Speaker and Sonos/AirPlay/Chromecast implementations).
|
|
- Updated top-level ts/index.ts exports to prefer UniversalDevice, factories and the new protocols module.
|
|
- Updated feature and discovery modules to import protocols from the new protocols index (import path changes).
|
|
- BREAKING: Consumers must update imports and device creation flows to use the new factories/UniversalDevice and protocols exports instead of the removed legacy classes.
|
|
|
|
## 2026-01-09 - 1.1.0 - feat(devicemanager)
|
|
Introduce a UniversalDevice architecture with composable Feature system; add extensive new device/protocol support and discovery/refactors
|
|
|
|
- Add UniversalDevice class and Feature abstraction with concrete features: scan, print, playback, volume, power, snmp, dlna-render/serve.
|
|
- Add SSDP discovery and DLNA implementations (renderer + server) and integrate SSDP into DeviceManager.
|
|
- Add speaker subsystem and concrete speaker implementations: Sonos, AirPlay, Chromecast, plus generic Speaker API and Volume/Playback features.
|
|
- Add SNMP feature and SNMP device handling plus UPS support (NUT and UPS SNMP handlers and UpsDevice).
|
|
- Refactor protocol implementations: move/replace scanner/printer protocol code into protocols/ (eSCL, SANE, IPP) and update network scanner to probe additional ports (AirPlay, Sonos, Chromecast) and device types.
|
|
- Update exports (ts/index.ts) to expose new modules, types and helpers; update plugins import handling (node-ssdp default export compatibility).
|
|
- Add developer docs readme.hints.md describing new architecture and feature APIs, and various helper fixes (iprange/os import, typed socket handlers).
|
|
|
|
## 2026-01-09 - 1.0.1 - initial
|
|
Initial project release.
|
|
|
|
- Project initialized (initial commit).
|
|
- Duplicate initial commits consolidated into this release. |