mirror of
https://github.com/hyperion-project/hyperion.ng.git
synced 2023-10-10 13:36:59 +02:00
Prep 2.0.12 Release (#1377)
* APA102 - Migrate ColorOrder to align with fix * Address LGTM findings * Updated Changelog with updates since last release
This commit is contained in:
parent
7311c3e424
commit
72d99a1121
32
CHANGELOG.md
32
CHANGELOG.md
@ -4,14 +4,32 @@ All notable changes to this project will be documented in this file.
|
|||||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
## [Unreleased](https://github.com/hyperion-project/hyperion.ng/compare/2.0.0-alpha.11...HEAD)
|
## [Unreleased](https://github.com/hyperion-project/hyperion.ng/compare/2.0.12...HEAD)
|
||||||
|
|
||||||
### Breaking
|
### Breaking
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
## Removed
|
||||||
|
|
||||||
|
## [2.0.12](https://github.com/hyperion-project/hyperion.ng/releases/tag/2.0.12) - 2021-11-20
|
||||||
|
Hyperion's November release brings you some new features, removed IPv6 address related limitations, as well as fixing a couple of issues.
|
||||||
|
|
||||||
|
Hyperion packages can be installed now under Ubuntu (x64) and Debian (amd64/armhf) (incl. Raspberry Pi OS) via our own APT server.
|
||||||
|
Details about the installation can be found in the installation.md and at apt.hyperion-project.org.
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- New LED-device type: Razor Chroma.
|
||||||
|
Note: Due to Chroma Razer API limitations, only one device can be configured.
|
||||||
|
- APA102 - Support setting maximum brightness level (1-31)
|
||||||
|
- New installation method (Drag'n Drop) for macOS.
|
||||||
- hyperion-remote & standalone grabbers: IPv6 support
|
- hyperion-remote & standalone grabbers: IPv6 support
|
||||||
- New languages - Danish & Hungarian
|
- New languages: Danish & Hungarian
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
@ -24,9 +42,17 @@ Note: Existing configurations are migrated to new structures automatically
|
|||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
|
- Fixed API Subscription (e.g. as used by HomeAssistant) (#1351)
|
||||||
|
- Fixed APA102 protocol aligning to the standard defined, removed Latch-Time as not required by APA102 protocol (#1352, #1132)
|
||||||
- Fixed hyperion-remote when sending multiple Hex-Colors with "Set Color" option
|
- Fixed hyperion-remote when sending multiple Hex-Colors with "Set Color" option
|
||||||
|
- UI: Fixed "Selected Hyperion instance isn't running" issue (#1357)
|
||||||
|
- Fixed Database migration version handling
|
||||||
|
- Fixed Python ModuleNotFoundError (#1109)
|
||||||
|
|
||||||
### Removed
|
### Technical
|
||||||
|
|
||||||
|
- Added Qt6 support
|
||||||
|
- Migrated to MBEDTSL 3
|
||||||
|
|
||||||
## [2.0.0-alpha.11](https://github.com/hyperion-project/hyperion.ng/releases/tag/2.0.0-alpha.11) - 2021-10-06
|
## [2.0.0-alpha.11](https://github.com/hyperion-project/hyperion.ng/releases/tag/2.0.0-alpha.11) - 2021-10-06
|
||||||
|
|
||||||
|
@ -1630,7 +1630,7 @@ function updateElements(ledType, key) {
|
|||||||
|
|
||||||
if (ledProperties && ledProperties.leds && ledProperties.maxLedCount) {
|
if (ledProperties && ledProperties.leds && ledProperties.maxLedCount) {
|
||||||
hardwareLedCount = ledProperties.leds.count;
|
hardwareLedCount = ledProperties.leds.count;
|
||||||
var maxLedCount = ledProperties.maxLedCount
|
var maxLedCount = ledProperties.maxLedCount;
|
||||||
if (hardwareLedCount > maxLedCount) {
|
if (hardwareLedCount > maxLedCount) {
|
||||||
showInfoDialog('warning', $.i18n("conf_leds_config_warning"), $.i18n('conf_leds_error_hwled_gt_maxled', hardwareLedCount, maxLedCount, maxLedCount));
|
showInfoDialog('warning', $.i18n("conf_leds_config_warning"), $.i18n('conf_leds_error_hwled_gt_maxled', hardwareLedCount, maxLedCount, maxLedCount));
|
||||||
hardwareLedCount = maxLedCount;
|
hardwareLedCount = maxLedCount;
|
||||||
@ -1661,7 +1661,7 @@ function updateElements(ledType, key) {
|
|||||||
|
|
||||||
if (ledProperties && ledProperties.maxLedCount) {
|
if (ledProperties && ledProperties.maxLedCount) {
|
||||||
hardwareLedCount = conf_editor.getEditor("root.generalOptions.hardwareLedCount").getValue();
|
hardwareLedCount = conf_editor.getEditor("root.generalOptions.hardwareLedCount").getValue();
|
||||||
var maxLedCount = ledProperties.maxLedCount
|
var maxLedCount = ledProperties.maxLedCount;
|
||||||
if (hardwareLedCount > maxLedCount) {
|
if (hardwareLedCount > maxLedCount) {
|
||||||
showInfoDialog('warning', $.i18n("conf_leds_config_warning"), $.i18n('conf_leds_error_hwled_gt_maxled', hardwareLedCount, maxLedCount, maxLedCount));
|
showInfoDialog('warning', $.i18n("conf_leds_config_warning"), $.i18n('conf_leds_error_hwled_gt_maxled', hardwareLedCount, maxLedCount, maxLedCount));
|
||||||
hardwareLedCount = maxLedCount;
|
hardwareLedCount = maxLedCount;
|
||||||
|
@ -14,35 +14,35 @@ $(document).ready(function () {
|
|||||||
|
|
||||||
if (window.showOptHelp) {
|
if (window.showOptHelp) {
|
||||||
//network
|
//network
|
||||||
$('#conf_cont').append(createRow('conf_cont_net'))
|
$('#conf_cont').append(createRow('conf_cont_net'));
|
||||||
$('#conf_cont_net').append(createOptPanel('fa-sitemap', $.i18n("edt_conf_net_heading_title"), 'editor_container_net', 'btn_submit_net', 'panel-system'));
|
$('#conf_cont_net').append(createOptPanel('fa-sitemap', $.i18n("edt_conf_net_heading_title"), 'editor_container_net', 'btn_submit_net', 'panel-system'));
|
||||||
$('#conf_cont_net').append(createHelpTable(window.schema.network.properties, $.i18n("edt_conf_net_heading_title")));
|
$('#conf_cont_net').append(createHelpTable(window.schema.network.properties, $.i18n("edt_conf_net_heading_title")));
|
||||||
|
|
||||||
//jsonserver
|
//jsonserver
|
||||||
$('#conf_cont').append(createRow('conf_cont_json'))
|
$('#conf_cont').append(createRow('conf_cont_json'));
|
||||||
$('#conf_cont_json').append(createOptPanel('fa-sitemap', $.i18n("edt_conf_js_heading_title"), 'editor_container_jsonserver', 'btn_submit_jsonserver', 'panel-system'));
|
$('#conf_cont_json').append(createOptPanel('fa-sitemap', $.i18n("edt_conf_js_heading_title"), 'editor_container_jsonserver', 'btn_submit_jsonserver', 'panel-system'));
|
||||||
$('#conf_cont_json').append(createHelpTable(window.schema.jsonServer.properties, $.i18n("edt_conf_js_heading_title")));
|
$('#conf_cont_json').append(createHelpTable(window.schema.jsonServer.properties, $.i18n("edt_conf_js_heading_title")));
|
||||||
|
|
||||||
//flatbufserver
|
//flatbufserver
|
||||||
$('#conf_cont').append(createRow('conf_cont_flatbuf'))
|
$('#conf_cont').append(createRow('conf_cont_flatbuf'));
|
||||||
$('#conf_cont_flatbuf').append(createOptPanel('fa-sitemap', $.i18n("edt_conf_fbs_heading_title"), 'editor_container_fbserver', 'btn_submit_fbserver', 'panel-system'));
|
$('#conf_cont_flatbuf').append(createOptPanel('fa-sitemap', $.i18n("edt_conf_fbs_heading_title"), 'editor_container_fbserver', 'btn_submit_fbserver', 'panel-system'));
|
||||||
$('#conf_cont_flatbuf').append(createHelpTable(window.schema.flatbufServer.properties, $.i18n("edt_conf_fbs_heading_title"), "flatbufServerHelpPanelId"));
|
$('#conf_cont_flatbuf').append(createHelpTable(window.schema.flatbufServer.properties, $.i18n("edt_conf_fbs_heading_title"), "flatbufServerHelpPanelId"));
|
||||||
|
|
||||||
//protoserver
|
//protoserver
|
||||||
$('#conf_cont').append(createRow('conf_cont_proto'))
|
$('#conf_cont').append(createRow('conf_cont_proto'));
|
||||||
$('#conf_cont_proto').append(createOptPanel('fa-sitemap', $.i18n("edt_conf_pbs_heading_title"), 'editor_container_protoserver', 'btn_submit_protoserver', 'panel-system'));
|
$('#conf_cont_proto').append(createOptPanel('fa-sitemap', $.i18n("edt_conf_pbs_heading_title"), 'editor_container_protoserver', 'btn_submit_protoserver', 'panel-system'));
|
||||||
$('#conf_cont_proto').append(createHelpTable(window.schema.protoServer.properties, $.i18n("edt_conf_pbs_heading_title"), "protoServerHelpPanelId"));
|
$('#conf_cont_proto').append(createHelpTable(window.schema.protoServer.properties, $.i18n("edt_conf_pbs_heading_title"), "protoServerHelpPanelId"));
|
||||||
|
|
||||||
//boblight
|
//boblight
|
||||||
if (BOBLIGHT_ENABLED) {
|
if (BOBLIGHT_ENABLED) {
|
||||||
$('#conf_cont').append(createRow('conf_cont_bobl'))
|
$('#conf_cont').append(createRow('conf_cont_bobl'));
|
||||||
$('#conf_cont_bobl').append(createOptPanel('fa-sitemap', $.i18n("edt_conf_bobls_heading_title"), 'editor_container_boblightserver', 'btn_submit_boblightserver', 'panel-system'));
|
$('#conf_cont_bobl').append(createOptPanel('fa-sitemap', $.i18n("edt_conf_bobls_heading_title"), 'editor_container_boblightserver', 'btn_submit_boblightserver', 'panel-system'));
|
||||||
$('#conf_cont_bobl').append(createHelpTable(window.schema.boblightServer.properties, $.i18n("edt_conf_bobls_heading_title"), "boblightServerHelpPanelId"));
|
$('#conf_cont_bobl').append(createHelpTable(window.schema.boblightServer.properties, $.i18n("edt_conf_bobls_heading_title"), "boblightServerHelpPanelId"));
|
||||||
}
|
}
|
||||||
|
|
||||||
//forwarder
|
//forwarder
|
||||||
if (storedAccess != 'default') {
|
if (storedAccess != 'default') {
|
||||||
$('#conf_cont').append(createRow('conf_cont_fw'))
|
$('#conf_cont').append(createRow('conf_cont_fw'));
|
||||||
$('#conf_cont_fw').append(createOptPanel('fa-sitemap', $.i18n("edt_conf_fw_heading_title"), 'editor_container_forwarder', 'btn_submit_forwarder', 'panel-system'));
|
$('#conf_cont_fw').append(createOptPanel('fa-sitemap', $.i18n("edt_conf_fw_heading_title"), 'editor_container_forwarder', 'btn_submit_forwarder', 'panel-system'));
|
||||||
$('#conf_cont_fw').append(createHelpTable(window.schema.forwarder.properties, $.i18n("edt_conf_fw_heading_title"), "forwarderHelpPanelId"));
|
$('#conf_cont_fw').append(createHelpTable(window.schema.forwarder.properties, $.i18n("edt_conf_fw_heading_title"), "forwarderHelpPanelId"));
|
||||||
}
|
}
|
||||||
@ -243,7 +243,7 @@ $(document).ready(function () {
|
|||||||
$('#root_network_apiAuth').change(function () {
|
$('#root_network_apiAuth').change(function () {
|
||||||
var state = $(this).is(":checked");
|
var state = $(this).is(":checked");
|
||||||
checkApiTokenState(state);
|
checkApiTokenState(state);
|
||||||
})
|
});
|
||||||
|
|
||||||
checkApiTokenState(window.serverConfig.network.apiAuth);
|
checkApiTokenState(window.serverConfig.network.apiAuth);
|
||||||
|
|
||||||
|
@ -570,13 +570,30 @@ bool SettingsManager::handleConfigUpgrade(QJsonObject& config)
|
|||||||
}
|
}
|
||||||
migrated = true;
|
migrated = true;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (migrated)
|
if (newDeviceConfig.contains("type"))
|
||||||
|
{
|
||||||
|
QString type = newDeviceConfig["type"].toString();
|
||||||
|
if (type == "apa102")
|
||||||
{
|
{
|
||||||
config["device"] = newDeviceConfig;
|
if (newDeviceConfig.contains("colorOrder"))
|
||||||
Debug(_log, "LED-Device records migrated");
|
{
|
||||||
|
QString colorOrder = newDeviceConfig["colorOrder"].toString();
|
||||||
|
if (colorOrder == "bgr")
|
||||||
|
{
|
||||||
|
newDeviceConfig["colorOrder"] = "rgb";
|
||||||
|
migrated = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (migrated)
|
||||||
|
{
|
||||||
|
config["device"] = newDeviceConfig;
|
||||||
|
Debug(_log, "LED-Device records migrated");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Have Hostname/IP-address separate from port for Forwarder
|
// Have Hostname/IP-address separate from port for Forwarder
|
||||||
|
@ -233,24 +233,28 @@ void QJsonSchemaChecker::checkProperties(const QJsonObject& value, const QJsonOb
|
|||||||
{
|
{
|
||||||
validate(value[property], propertyValue.toObject());
|
validate(value[property], propertyValue.toObject());
|
||||||
}
|
}
|
||||||
else if (verifyDeps(property, value, schema))
|
else if (!verifyDeps(property, value, schema))
|
||||||
{
|
{
|
||||||
}
|
if (required != propertyValue.toObject().end() && propertyValue.toObject().find("required").value().toBool() && !_ignoreRequired)
|
||||||
else if (required != propertyValue.toObject().end() && propertyValue.toObject().find("required").value().toBool() && !_ignoreRequired)
|
{
|
||||||
{
|
_error = true;
|
||||||
_error = true;
|
|
||||||
|
|
||||||
if (_correct == "create")
|
if (_correct == "create")
|
||||||
|
{
|
||||||
|
QJsonUtils::modify(_autoCorrected, _currentPath, QJsonUtils::create(propertyValue, _ignoreRequired), property);
|
||||||
|
setMessage("Create property: " + property + " with value: " + QJsonUtils::getDefaultValue(propertyValue));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_correct == "")
|
||||||
|
{
|
||||||
|
setMessage("missing member");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (_correct == "create" && _ignoreRequired)
|
||||||
{
|
{
|
||||||
QJsonUtils::modify(_autoCorrected, _currentPath, QJsonUtils::create(propertyValue, _ignoreRequired), property);
|
QJsonUtils::modify(_autoCorrected, _currentPath, QJsonUtils::create(propertyValue, _ignoreRequired), property);
|
||||||
setMessage("Create property: " + property + " with value: " + QJsonUtils::getDefaultValue(propertyValue));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_correct == "")
|
|
||||||
setMessage("missing member");
|
|
||||||
}
|
}
|
||||||
else if (_correct == "create" && _ignoreRequired)
|
|
||||||
QJsonUtils::modify(_autoCorrected, _currentPath, QJsonUtils::create(propertyValue, _ignoreRequired), property);
|
|
||||||
|
|
||||||
_currentPath.removeLast();
|
_currentPath.removeLast();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user