diff --git a/CMakeLists.txt b/CMakeLists.txt
index ac0b84241..e77c0fb8f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -62,7 +62,7 @@ set(APP_AUTHOR "Martin Rotter")
set(APP_COPYRIGHT "\\251 2011-2022 ${APP_AUTHOR}")
set(APP_REVERSE_NAME "com.github.rssguard")
set(APP_DONATE_URL "https://github.com/sponsors/martinrotter")
-set(APP_VERSION "4.2.2")
+set(APP_VERSION "4.2.3")
set(APP_URL "https://github.com/martinrotter/rssguard")
set(APP_URL_DOCUMENTATION "https://github.com/martinrotter/rssguard/blob/master/resources/docs/Documentation.md")
diff --git a/resources/desktop/com.github.rssguard.appdata.xml b/resources/desktop/com.github.rssguard.appdata.xml
index 091fe4e2d..0e3634793 100644
--- a/resources/desktop/com.github.rssguard.appdata.xml
+++ b/resources/desktop/com.github.rssguard.appdata.xml
@@ -26,7 +26,7 @@
https://github.com/sponsors/martinrotter
-
+
none
diff --git a/resources/text/CHANGELOG b/resources/text/CHANGELOG
index 987f1e9b6..53c0f01fd 100644
--- a/resources/text/CHANGELOG
+++ b/resources/text/CHANGELOG
@@ -1,3 +1,16 @@
+4.2.3
+-----
+
+Added:
+* Autostart feature is now overally better and works with Flatpak build too. (#718)
+* Added a switch to automatically reject all incoming HTTP cookies application-wide. (#716)
+* Gmail: Display proper "To" e-mail header when displaying e-mails.
+
+Fixed:
+* Feedly: Correct article URLs are now fetched if possible. (#732)
+* Mac OS X: Fixed launching with error "invalid application". (#721)
+* External resources for non-web-engine article viewer are now resolved more correctly.
+
4.2.2
-----
diff --git a/src/librssguard/core/filterutils.cpp b/src/librssguard/core/filterutils.cpp
index 13dca4dcd..525f59a6f 100644
--- a/src/librssguard/core/filterutils.cpp
+++ b/src/librssguard/core/filterutils.cpp
@@ -30,40 +30,39 @@ QString jsonProcessXmlElement(const QDomElement& elem) {
QStringList attrs;
for (int i = 0; i < elem.attributes().size(); i++) {
- attrs << QSL("\"%1\": \"%2\"").arg(jsonEscapeString(elem.attributes().item(i).toAttr().name()),
- jsonEscapeString(elem.attributes().item(i).toAttr().value()));
+ attrs << QSL("\"%1\": \"%2\"")
+ .arg(jsonEscapeString(elem.attributes().item(i).toAttr().name()),
+ jsonEscapeString(elem.attributes().item(i).toAttr().value()));
}
QStringList elems;
QString elem_text;
for (int i = 0; i < elem.childNodes().size(); i++) {
- if (elem.childNodes().at(i).isText()) {
- elem_text = jsonEscapeString(elem.childNodes().at(i).nodeValue());
+ QDomNode el = elem.childNodes().at(i);
+
+ if (el.isText()) {
+ elem_text = jsonEscapeString(el.nodeValue());
}
- if (!elem.childNodes().at(i).isElement()) {
+ if (!el.isElement()) {
continue;
}
- elems << QSL("\"%1\": %2").arg(elem.childNodes().at(i).toElement().tagName(),
- jsonProcessXmlElement(elem.childNodes().at(i).toElement()));
+ elems << QSL("\"%1\": %2").arg(el.toElement().tagName(), jsonProcessXmlElement(el.toElement()));
}
QString str;
if (!elems.isEmpty() && !attrs.isEmpty()) {
- str = QSL("{%1, %2, %3}").arg(attrs.join(QSL(",\n")),
- elems.join(QSL(",\n")),
- QSL("\"__text\": \"%1\"").arg(elem_text));
+ str =
+ QSL("{%1, %2, %3}").arg(attrs.join(QSL(",\n")), elems.join(QSL(",\n")), QSL("\"__text\": \"%1\"").arg(elem_text));
}
else if (!elems.isEmpty()) {
- str = QSL("{%1, %2}").arg(elems.join(QSL(",\n")),
- QSL("\"__text\": \"%1\"").arg(elem_text));
+ str = QSL("{%1, %2}").arg(elems.join(QSL(",\n")), QSL("\"__text\": \"%1\"").arg(elem_text));
}
else if (!attrs.isEmpty()) {
- str = QSL("{%1, %2}").arg(attrs.join(QSL(",\n")),
- QSL("\"__text\": \"%1\"").arg(elem_text));
+ str = QSL("{%1, %2}").arg(attrs.join(QSL(",\n")), QSL("\"__text\": \"%1\"").arg(elem_text));
}
else {
str = QSL("{%1}").arg(QSL("\"__text\": \"%1\"").arg(elem_text));
@@ -79,8 +78,7 @@ QString FilterUtils::fromXmlToJson(const QString& xml) const {
QString json = QSL("%1").arg(jsonProcessXmlElement(xml_doc.documentElement()));
- return QSL("{\"%1\": %2}").arg(xml_doc.documentElement().tagName(),
- json);
+ return QSL("{\"%1\": %2}").arg(xml_doc.documentElement().tagName(), json);
}
QDateTime FilterUtils::parseDateTime(const QString& dat) const {