Skip to content

Commit afbb5dc

Browse files
committed
Update change log
1 parent 3cc42f6 commit afbb5dc

File tree

1 file changed

+113
-89
lines changed

1 file changed

+113
-89
lines changed

CHANGELOG.md

Lines changed: 113 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -6,95 +6,119 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
66

77
## [Unreleased](https://github.com/hyperion-project/hyperion.ng/compare/2.0.16...HEAD)
88

9-
### Breaking
10-
11-
**JSON-API**
12-
- Align JSON subscription update elements. `ledcolors-imagestream-update, ledcolors-ledstream-update, logmsg-update` now return data via `data` and not `result
13-
- Global global configuration elements are now separated form instance specific ones
14-
15-
### Added
16-
17-
- Support for ftdi chip based LED-devices with ws2812, sk6812 apa102 LED types (Many thanks to @nurikk) (#1746)
18-
- Support for Skydimo devices
19-
- Support gaps on Matrix Layout (#1696)
20-
- Support a configurable grabber inactive detection time interval (#1740)
21-
- Support for dominant color processing on a full image which is applied to all LEDs (#1853)
22-
- Windows: Added a new grabber that uses the DXGI DDA (Desktop Duplication API). This has much better performance than the DX grabber as it does more of its work on the GPU.
23-
- Support to freely select source and target instances to be used by forwarder
24-
- Support to import, export and backup Hyperion's full configuration via the UI, JSON-API and commandline (`--importConfig, --exportConfig`) (#804)
25-
- Allow to force starting Hyperion in read-only mode (`--readonlyMode`)
26-
- Effects: Limit the maximum update rate to 200Hz
27-
- Systray: Support multiple instances
28-
- UI: Validate that key ports do not overlap across editors and pages
29-
- UI: Provide additional details in error dialogue
30-
- UI: LED preview - show instance's name the preview is applicable to
31-
- Http-Server: Support Cross-Origin Resource Sharing (CORS) (#1496)
32-
33-
**JSON-API**
34-
- New subscription support for event updates, i.e. `Suspend, Resume, Idle, idleResume, Restart, Quit`.
35-
- Support direct or multiple instance addressing via single requests (#809)
36-
- Support of `serverinfo` subcommands: `getInfo, subscribe, unsubscribe, getSubscriptions, getSubscriptionCommands`
37-
- [Overview](https://github.com/hyperion-project/hyperion.ng/blob/API_Auth/doc/development/JSON-API%20_Commands_Overview.md) of API commands and subscription updates
38-
- Support to query for a dedicated set of configuration items for a set of instances
39-
- Support to save a dedicated set of configuration items for a set of instances
40-
- Limit update emission frequency: Images (25Hz), raw LED-Colors (40Hz) & LED-Device data (200Hz)
41-
- Support for requesting instance-data via JSON-API. Implemented requesting the current image in different formats or led colors.
42-
43-
### Changed
44-
45-
- Removed hard dependency on the first instance. All instances can now be freely created/removed, started or stopped
46-
- Fixed: Cross Site Scripting Vulnerability (CVE-2024-4174, CVE-2024-4175)
47-
- Fixed: hyperion-v4l2 taking screenshot failed (#1722)
48-
- Nanoleaf: Support new devices and do not restore ExtControl state
49-
- Workaround to address Web UI keeps forcing browser to download the html instead (#1692)
50-
- Fixed: Kodi Color Calibration, Refactor Wizards (#1674)
51-
- Fixed: Token Dialog not closing
52-
- Fixed: Philip Hue APIv2 support without Entertainment group defined (#1742)
53-
- Refactored: Database access layer
54-
- Refactored: Hyperion's configuration database is validated before start-up (and migrated, if required)
55-
- Refactored: Python to enable parallel effect processing under Python 3.12
56-
- Refactored: Forwarder
57-
- Refactored: Flatbuffer connection- and client handling
58-
- Refactored: Decouple Effect definitions from Instance
59-
- Refactored: Decouple WebServer and SSDPHandler
60-
- Refactored: Corrected thread affinity across various classes
61-
- Refactored: Improved code resilience and error handling
62-
- Refactored: Streamlined the UI code
63-
- Standalone grabber do not capture screens when no connection to remote host
64-
- Fixed: Python 3.12 crashes (#1747)
65-
- osX Grabber: Use ScreenCaptureKit under macOS 15 and above
66-
- Removed maximum LED number constraint from Matrix layout schema which was not synced with the UI behaviour (#1804)
67-
- UI: Instance listings are sorted, enabled instances are high-lighted in drop-downs
68-
- Fixed bespoke WebSocket implementation by using of QWebSockets (#1816, #1448, #1247, #1130)
69-
- Fixed mDNS Browser deadlock, plus run in own thread now
70-
- Fixed that LED Buffer and Layout might get out of sync.
71-
- Fixed Screen capture error (#1824)
72-
- Fixed Provide custom forwarding targets is not possible (#1713)
73-
- Fixed Last update of an effect event is not removed in sources overview
74-
- Fixed Removed stale _logger object
75-
- Fixed Smoothing (#1863)
76-
- Fixed Crash when XCB,X11 was configured and display manager changed to Wayland
77-
- Fixed Target-directory not correctly build when exporting effects
78-
- Fixed Effect not suspended when instance is stopped (#1586)
79-
- Fixed Background effect is started when instance is disabled
80-
81-
**JSON-API**
82-
- Refactored JSON-API to ensure consistent authorization behaviour across sessions and single requests with token authorization.
83-
- Provide additional error details with API responses, esp. on JSON parsing, validation or token errors.
84-
- Generate random TANs for every API request from the Hyperion UI
85-
- Configuration requests do not any longer require a running instance
86-
- Ensure that API service does not process commands when Hyperion is quitting
87-
- Fixed: Handling of IP4 addresses wrapped in IPv6 for external network connections
88-
- Fixed: Local Admin API Authentication rejects valid tokens (#1251)
89-
- Fixed: Create a proper API response, when Effects are not part of a build
90-
- Fixed: Return correct mapping type for a running instance
91-
92-
### Removed
93-
94-
**JSON-API**
95-
- Removed ability to enable/disable local admin authorization. All admin commands require authorization, i.e. `authorize-adminRequired` will always be `true`.
96-
- Removed `session-updates` subscription
97-
- `serverinfo/subscribe` element will be deprecated and replaced by corresponding subcommand
9+
## Changelog
10+
11+
### ⚠️ Breaking Changes
12+
13+
#### JSON-API
14+
- Aligned JSON subscription update elements: `ledcolors-imagestream-update`, `ledcolors-ledstream-update`, and `logmsg-update` now return data via `data` instead of `result`.
15+
- Global configuration elements are now separated from instance-specific ones.
16+
17+
---
18+
19+
### ✨ Added
20+
21+
- Support for **FTDI** chip-based LED devices with `WS2812`, `SK6812`, and `APA102` LED types
22+
_Thanks to @nurikk_ (#1746)
23+
- Support for **Skydimo** devices
24+
- Support for **gaps in Matrix layout** (#1696)
25+
- Configurable **grabber inactivity detection** interval (#1740)
26+
- **Dominant color processing** on the full image, applied to all LEDs (#1853)
27+
- **Windows:** Added a new grabber using **DXGI DDA (Desktop Duplication API)** for improved GPU-based performance
28+
- Selectable **source and target instances** in the forwarder
29+
- Import, export, and backup **Hyperion's configuration** via UI, JSON-API, and CLI (`--importConfig`, `--exportConfig`) (#804)
30+
- Option to **force read-only mode** startup (`--readonlyMode`)
31+
- **Effects:** Limit update rate to 200 Hz
32+
- **Systray:** Support for multiple instances
33+
- **UI:**
34+
- Validate that key ports do not overlap across editors/pages
35+
- Improved error dialog with additional details
36+
- LED preview shows the associated instance name
37+
- **HTTP Server:** Support for **Cross-Origin Resource Sharing (CORS)** (#1496)
38+
39+
#### JSON-API
40+
- New event subscription support: `Suspend`, `Resume`, `Idle`, `IdleResume`, `Restart`, `Quit`
41+
- Support for **direct/multi-instance addressing** in single requests (#809)
42+
- `serverinfo` subcommands: `getInfo`, `subscribe`, `unsubscribe`, `getSubscriptions`, `getSubscriptionCommands`
43+
- [API Overview](https://api.hyperion-project.org/)
44+
- Query/save specific config items for specific instances
45+
- Update frequency limits:
46+
- Images: 25 Hz
47+
- Raw LED colors: 40 Hz
48+
- LED device data: 200 Hz
49+
- Request **instance data** (e.g., current image in various formats, LED colors)
50+
51+
---
52+
53+
### 🔧 Changed
54+
55+
- Removed dependency on the first instance – all instances can be freely created, started, stopped, or removed
56+
- **Security Fixes:**
57+
- Fixed Cross-Site Scripting (XSS) vulnerabilities (CVE-2024-4174, CVE-2024-4175)
58+
- **Fixes:**
59+
- `hyperion-v4l2` screenshot failure (#1722)
60+
- Token dialog not closing
61+
- Kodi color calibration, wizard refactor (#1674)
62+
- Philips Hue APIv2 support without Entertainment group (#1742)
63+
- Forwarding to custom targets not possible (#1713)
64+
- Screen capture error (#1824)
65+
- Python 3.12 crash issues (#1747)
66+
- UI LED buffer/layout sync
67+
- Last effect event not cleared from source overview
68+
- Smoothing issues (#1863)
69+
- Crash when switching display manager (XCB/X11 to Wayland)
70+
- Effect not suspended when instance is stopped (#1586)
71+
- Background effect incorrectly starts when instance is disabled
72+
- Target directory incorrectly built during effect export
73+
- Stale `_logger` object removed
74+
75+
- **Web UI:**
76+
- Fixed browser downloading HTML (#1692)
77+
- Instance lists are sorted; active instances are highlighted in dropdowns
78+
79+
- **Networking/UI:**
80+
- Replaced custom WebSocket implementation with `QWebSockets` (#1816, #1448, #1247, #1130)
81+
- mDNS browser deadlock fix; moved to dedicated thread
82+
83+
- **Platform-specific:**
84+
- **macOS:** Use `ScreenCaptureKit` on macOS 15+
85+
- Standalone grabber won’t capture if no remote host is connected
86+
87+
- **Layout:**
88+
- Removed maximum LED limit from matrix layout schema (UI mismatch) (#1804)
89+
90+
- **Refactors:**
91+
- Database access and validation/migration on startup
92+
- Forwarder
93+
- Flatbuffer client/connection handling
94+
- Effect definitions decoupled from instances
95+
- WebServer decoupled from SSDP handler
96+
- Python effects (parallel processing under Python 3.12)
97+
- Thread affinity correction
98+
- UI code streamlining
99+
- Improved resilience and error handling
100+
101+
#### JSON-API
102+
- Consistent token authorization across sessions and single requests
103+
- Additional API error details (JSON parsing, token errors, etc.)
104+
- Random TAN generation per API request from the UI
105+
- Configuration requests no longer require a running instance
106+
- Commands are ignored during shutdown
107+
- Fixed IPv4-in-IPv6 address handling for external connections
108+
- Fixed admin authentication token validation (#1251)
109+
- Fixed error for missing effects in builds
110+
- Correct mapping type returned for running instances
111+
112+
---
113+
114+
### 🗑️ Removed
115+
116+
#### JSON-API
117+
- **Removed:** Ability to disable local admin authorization
118+
- `authorize-adminRequired` is now always `true`
119+
- **Removed:** `session-updates` subscription
120+
- **Deprecated:** `serverinfo/subscribe`
121+
- Use `subscribe` / `unsubscribe` subcommands instead
98122

99123
## [2.0.16](https://github.com/hyperion-project/hyperion.ng/releases/tag/2.0.16) - 2024-01
100124

0 commit comments

Comments
 (0)