refactor(frontend): HTML-Styles aufgeräumt und Konsistenz verbessert

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
This commit is contained in:
2026-05-09 17:23:13 +02:00
parent ece3f8bf78
commit 1a4753cd73
2 changed files with 910 additions and 755 deletions
@@ -0,0 +1,43 @@
---
type: Journal
status: ACTIVE
owner: Curator
last_update: 2026-05-09
---
# 2026-05-09 — Session Log (Build Hardening, RPM Packaging & Network POC Trial)
## Kontext
- Fokus: Build-System-Optimierung für JDK 25, Etablierung des professionellen Packaging-Workflows (RPM/Conveyor) und erster Real-World Netzwerk-POC.
## Summary
- **Build-System Hardening:** Umstellung auf Gradle 9.5.0 und Kotlin 2.3.21. Sämtliche Build- und Laufzeit-Warnungen (sun.misc.Unsafe, JDK 25 Native Access, SLF4J) wurden durch zentrale Konfiguration in `gradle.properties` und Root-`build.gradle.kts` eliminiert.
- **Desktop Shell Stabilisierung:** Behebung von Koin-Inferenzfehlern und SQLDelight-Initialisierungsproblemen in der `main.kt`. Der `FocusRelatedWarning` wurde durch eine frame-safe Fokus-Steuerung behoben.
- **Packaging & Distribution:**
- RPM-Support für Fedora/RHEL aktiviert.
- Hydraulic Conveyor lokal installiert und für Cross-Packaging (Windows MSI) konfiguriert.
- Icon-Inkompatibilitäten (8-bit vs 16-bit RGBA) für Linux-Installer gelöst.
- Neue Guides für Packaging und Netzwerk-Tests erstellt.
- **Netzwerk-POC (Erster Test):**
- Das RPM-Paket lies sich auf Fedora 44 (KDE) erfolgreich installieren und starten.
- Der Discovery-Mechanismus (mDNS) konnte im ersten Versuch keine Verbindung zwischen IDEA-Instanz und installiertem Gerät herstellen.
## Changes
- `gradle.properties` & `build.gradle.kts`: Globale JVM-Flags für JDK 25.
- `frontend/shells/meldestelle-desktop/main.kt`: Robuste Initialisierung & Koin-Fix.
- `DeviceInitializationScreen.kt` & Configs: Frame-safe Focus-Handling.
- `conveyor.conf`: Korrektur der JDK- und Icon-Pfads.
- `docs/02_Guides/Desktop-Packaging-Guide.md`: Neue Anleitung für Installer-Builds.
- `docs/90_Reports/Network-POC-Testplan.md`: Neuer Testplan für die Vernetzung.
- `setup-firewall-linux.sh`: Hilfsskript für Netzwerk-Ports.
## Verification
- **Build:** SUCCESSFUL (Gradle 9.5.0 / JDK 25) ✓.
- **UI:** Keine Fokus-Warnungen mehr beim Start ✓.
- **Packaging:** RPM-Build erfolgreich und lauffähig ✓.
- **Netzwerk:** Discovery fehlgeschlagen (Untersuchung morgen) ❌.
## Nächste Schritte
1. Debugging der mDNS-Discovery (mögliche Ursache: Fedora 44 KDE Firewall-Besonderheiten oder IPv6-Konflikte).
2. Analyse des Startup-Fehlers des Conveyor `tar.gz` Pakets.
3. Wiederaufnahme der physischen Turnier-Hierarchie (Meilenstein 1), sobald die Vernetzung steht.
+160 -48
View File
@@ -8,8 +8,10 @@
<meta name="csrf-token" content="pTASJlt042Vo3XAFbvffgDFlRJIGLAVOJ9LcEFQe"/> <meta name="csrf-token" content="pTASJlt042Vo3XAFbvffgDFlRJIGLAVOJ9LcEFQe"/>
<meta name="theme-color" content="#ea580c"> <meta name="theme-color" content="#ea580c">
<meta name="title" content="CHANGELOG.md - Realease notes &amp; Feedback Management Tool"> <meta name="title" content="CHANGELOG.md - Realease notes &amp; Feedback Management Tool">
<meta name="description" content="Product feedback collection, analyze insights, build actionable roadmaps, and keep users informed with CHANGELOG.md"> <meta name="description"
<meta name="keywords" content="product feedback, SaaS feedback platform, product roadmap tool, product updates, changelog software"> content="Product feedback collection, analyze insights, build actionable roadmaps, and keep users informed with CHANGELOG.md">
<meta name="keywords"
content="product feedback, SaaS feedback platform, product roadmap tool, product updates, changelog software">
<link rel="alternate" hreflang="x-default" href="http://changelog.md"/> <link rel="alternate" hreflang="x-default" href="http://changelog.md"/>
<meta name="language" content="en"> <meta name="language" content="en">
<meta name="author" content="CHANGELOG.md - Realease notes &amp; Feedback Management Tool"> <meta name="author" content="CHANGELOG.md - Realease notes &amp; Feedback Management Tool">
@@ -18,18 +20,21 @@
<meta property="og:site_name" content="CHANGELOG.md - Realease notes &amp; Feedback Management Tool"> <meta property="og:site_name" content="CHANGELOG.md - Realease notes &amp; Feedback Management Tool">
<meta property="og:type" content="website"> <meta property="og:type" content="website">
<meta property="og:title" content="CHANGELOG.md - Realease notes &amp; Feedback Management Tool"> <meta property="og:title" content="CHANGELOG.md - Realease notes &amp; Feedback Management Tool">
<meta property="og:description" content="Product feedback collection, analyze insights, build actionable roadmaps, and keep users informed with CHANGELOG.md"> <meta property="og:description"
content="Product feedback collection, analyze insights, build actionable roadmaps, and keep users informed with CHANGELOG.md">
<meta property="og:image:width" content="600"> <meta property="og:image:width" content="600">
<meta property="og:image:height" content="315"> <meta property="og:image:height" content="315">
<meta name="twitter:card" content="summary"> <meta name="twitter:card" content="summary">
<meta name="twitter:title" content="CHANGELOG.md - Realease notes &amp; Feedback Management Tool"> <meta name="twitter:title" content="CHANGELOG.md - Realease notes &amp; Feedback Management Tool">
<meta name="twitter:image:src" content="https://changelog.md/storage/logo/social_share.jpg"> <meta name="twitter:image:src" content="https://changelog.md/storage/logo/social_share.jpg">
<meta name="twitter:description" content="Product feedback collection, analyze insights, build actionable roadmaps, and keep users informed with CHANGELOG.md"> <meta name="twitter:description"
content="Product feedback collection, analyze insights, build actionable roadmaps, and keep users informed with CHANGELOG.md">
<meta name="theme" content="classic"> <meta name="theme" content="classic">
<title>CHANGELOG.md - Realease notes & Feedback Management Tool</title> <title>CHANGELOG.md - Realease notes & Feedback Management Tool</title>
<link rel="shortcut icon" type="image/x-icon" href="https://changelog.md/storage/logo/favicon.png"> <link rel="shortcut icon" type="image/x-icon" href="https://changelog.md/storage/logo/favicon.png">
<style> <style>
:root{--color-primary: #ea580c !important; :root {
--color-primary: #ea580c !important;
--theme-color-rgb: 234, 88, 12 !important; --theme-color-rgb: 234, 88, 12 !important;
--color-primary-l: rgba(var(--theme-color-rgb), 0.08) !important; --color-primary-l: rgba(var(--theme-color-rgb), 0.08) !important;
} }
@@ -38,7 +43,8 @@
<link rel="stylesheet" href="https://changelog.md/assets/global/fonts/css/fontawesome.css"> <link rel="stylesheet" href="https://changelog.md/assets/global/fonts/css/fontawesome.css">
<link rel="stylesheet" href="https://changelog.md/assets/templates/classic/plugin/owl-carousel/owl.carousel.min.css"> <link rel="stylesheet" href="https://changelog.md/assets/templates/classic/plugin/owl-carousel/owl.carousel.min.css">
<link rel="stylesheet" href="https://changelog.md/assets/templates/classic/plugin/owl-carousel/owl.theme.default.min.css"> <link rel="stylesheet"
href="https://changelog.md/assets/templates/classic/plugin/owl-carousel/owl.theme.default.min.css">
<link rel="stylesheet" href="https://changelog.md/assets/templates/classic/plugin/magnific-poupup/magnific-popup.css"> <link rel="stylesheet" href="https://changelog.md/assets/templates/classic/plugin/magnific-poupup/magnific-popup.css">
<link rel="stylesheet" href="https://changelog.md/assets/templates/classic/plugin/simple-bar/simplebar.min.css"> <link rel="stylesheet" href="https://changelog.md/assets/templates/classic/plugin/simple-bar/simplebar.min.css">
<link rel="stylesheet" href="https://changelog.md/assets/templates/classic/plugin/text-typer/typing-text.css"> <link rel="stylesheet" href="https://changelog.md/assets/templates/classic/plugin/text-typer/typing-text.css">
@@ -58,14 +64,78 @@
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-157578943-1"></script> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-157578943-1"></script>
<script> <script>
window.dataLayer = window.dataLayer || []; window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
function gtag() {
dataLayer.push(arguments);
}
gtag('js', new Date()); gtag('js', new Date());
gtag('config', 'UA-157578943-1'); gtag('config', 'UA-157578943-1');
</script> </script>
<script type="text/javascript" class="flasher-js">(function() { var rootScript = 'https://cdn.jsdelivr.net/npm/@flasher/flasher@1.3.1/dist/flasher.min.js'; var FLASHER_FLASH_BAG_PLACE_HOLDER = {}; var options = mergeOptions([], FLASHER_FLASH_BAG_PLACE_HOLDER); function mergeOptions(first, second) { return { context: merge(first.context || {}, second.context || {}), envelopes: merge(first.envelopes || [], second.envelopes || []), options: merge(first.options || {}, second.options || {}), scripts: merge(first.scripts || [], second.scripts || []), styles: merge(first.styles || [], second.styles || []), }; } function merge(first, second) { if (Array.isArray(first) && Array.isArray(second)) { return first.concat(second).filter(function(item, index, array) { return array.indexOf(item) === index; }); } return Object.assign({}, first, second); } function renderOptions(options) { if(!window.hasOwnProperty('flasher')) { console.error('Flasher is not loaded'); return; } requestAnimationFrame(function () { window.flasher.render(options); }); } function render(options) { if ('loading' !== document.readyState) { renderOptions(options); return; } document.addEventListener('DOMContentLoaded', function() { renderOptions(options); }); } if (1 === document.querySelectorAll('script.flasher-js').length) { document.addEventListener('flasher:render', function (event) { render(event.detail); }); } if (window.hasOwnProperty('flasher') || !rootScript || document.querySelector('script[src="' + rootScript + '"]')) { render(options); } else { var tag = document.createElement('script'); tag.setAttribute('src', rootScript); tag.setAttribute('type', 'text/javascript'); tag.onload = function () { render(options); }; document.head.appendChild(tag); }})();</script> <script type="text/javascript" class="flasher-js">(function () {
var rootScript = 'https://cdn.jsdelivr.net/npm/@flasher/flasher@1.3.1/dist/flasher.min.js';
var FLASHER_FLASH_BAG_PLACE_HOLDER = {};
var options = mergeOptions([], FLASHER_FLASH_BAG_PLACE_HOLDER);
function mergeOptions(first, second) {
return {
context: merge(first.context || {}, second.context || {}),
envelopes: merge(first.envelopes || [], second.envelopes || []),
options: merge(first.options || {}, second.options || {}),
scripts: merge(first.scripts || [], second.scripts || []),
styles: merge(first.styles || [], second.styles || []),
};
}
function merge(first, second) {
if (Array.isArray(first) && Array.isArray(second)) {
return first.concat(second).filter(function (item, index, array) {
return array.indexOf(item) === index;
});
}
return Object.assign({}, first, second);
}
function renderOptions(options) {
if (!window.hasOwnProperty('flasher')) {
console.error('Flasher is not loaded');
return;
}
requestAnimationFrame(function () {
window.flasher.render(options);
});
}
function render(options) {
if ('loading' !== document.readyState) {
renderOptions(options);
return;
}
document.addEventListener('DOMContentLoaded', function () {
renderOptions(options);
});
}
if (1 === document.querySelectorAll('script.flasher-js').length) {
document.addEventListener('flasher:render', function (event) {
render(event.detail);
});
}
if (window.hasOwnProperty('flasher') || !rootScript || document.querySelector('script[src="' + rootScript + '"]')) {
render(options);
} else {
var tag = document.createElement('script');
tag.setAttribute('src', rootScript);
tag.setAttribute('type', 'text/javascript');
tag.onload = function () {
render(options);
};
document.head.appendChild(tag);
}
})();</script>
</head> </head>
<body> <body>
<header> <header>
@@ -73,15 +143,19 @@ gtag('config', 'UA-157578943-1');
<div class="desktop-nav"> <div class="desktop-nav">
<nav class="navbar navbar-expand-lg navbar-light"> <nav class="navbar navbar-expand-lg navbar-light">
<a class="navbar-brand" href="http://changelog.md"> <a class="navbar-brand" href="http://changelog.md">
<img class="white-logo" src="https://changelog.md/storage/logo/classic-theme_footer_logo.png" alt="CHANGELOG.md - Realease notes &amp; Feedback Management Tool"/> <img class="white-logo" src="https://changelog.md/storage/logo/classic-theme_footer_logo.png"
<img class="main-logo" src="https://changelog.md/storage/logo/classic-theme_logo.png" alt="CHANGELOG.md - Realease notes &amp; Feedback Management Tool"/> alt="CHANGELOG.md - Realease notes &amp; Feedback Management Tool"/>
<img class="main-logo" src="https://changelog.md/storage/logo/classic-theme_logo.png"
alt="CHANGELOG.md - Realease notes &amp; Feedback Management Tool"/>
</a> </a>
<div class="navbar-collapse offcanvas offcanvas-nav offcanvas-start" tabindex="-1" id="offcanvasExample" <div class="navbar-collapse offcanvas offcanvas-nav offcanvas-start" tabindex="-1" id="offcanvasExample"
aria-labelledby="offcanvasExampleLabel"> aria-labelledby="offcanvasExampleLabel">
<div class="offcanvas-header d-lg-none"> <div class="offcanvas-header d-lg-none">
<h3 class="navbar-brand offcanvas-title mb-0 font-24" id="offcanvasExampleLabel"> <h3 class="navbar-brand offcanvas-title mb-0 font-24" id="offcanvasExampleLabel">
<img class="white-logo" src="https://changelog.md/storage/logo/classic-theme_footer_logo.png" alt="CHANGELOG.md - Realease notes &amp; Feedback Management Tool"/> <img class="white-logo" src="https://changelog.md/storage/logo/classic-theme_footer_logo.png"
<img class="main-logo" src="https://changelog.md/storage/logo/classic-theme_logo.png" alt="CHANGELOG.md - Realease notes &amp; Feedback Management Tool"/> alt="CHANGELOG.md - Realease notes &amp; Feedback Management Tool"/>
<img class="main-logo" src="https://changelog.md/storage/logo/classic-theme_logo.png"
alt="CHANGELOG.md - Realease notes &amp; Feedback Management Tool"/>
</h3> </h3>
<button type="button" class="icon-group -secondary" data-bs-dismiss="offcanvas" <button type="button" class="icon-group -secondary" data-bs-dismiss="offcanvas"
aria-label="Close"> aria-label="Close">
@@ -134,7 +208,8 @@ gtag('config', 'UA-157578943-1');
class="ml-16 button -secondary text-dark-1 px-15 rounded-pill fw-semibold font-16">Log in class="ml-16 button -secondary text-dark-1 px-15 rounded-pill fw-semibold font-16">Log in
</a> </a>
<a href="http://changelog.md/signup" <a href="http://changelog.md/signup"
class="ml-16 button bg-primary text-white px-15 rounded-pill fw-semibold font-16 d-none d-md-flex">Sign up class="ml-16 button bg-primary text-white px-15 rounded-pill fw-semibold font-16 d-none d-md-flex">Sign
up
</a> </a>
</div> </div>
<!--/ # When user logout or new user login signup button--> <!--/ # When user logout or new user login signup button-->
@@ -169,7 +244,8 @@ gtag('config', 'UA-157578943-1');
</div> </div>
<div class="d-flex flex-column gap-3 mx-lg-5"> <div class="d-flex flex-column gap-3 mx-lg-5">
<h1 class="mb-0 display-4 fw-bold">Create better products driven by customer feedback</h1> <h1 class="mb-0 display-4 fw-bold">Create better products driven by customer feedback</h1>
<p class="mb-0 lead">Simplify feedback collection, lighten support tasks, and share product updates—all in one powerful tool.</p> <p class="mb-0 lead">Simplify feedback collection, lighten support tasks, and share product updates—all in
one powerful tool.</p>
</div> </div>
<div class="d-flex flex-row align-items-center gap-4 justify-content-center"> <div class="d-flex flex-row align-items-center gap-4 justify-content-center">
<a href="http://changelog.md/login" class="button -primary">Get Started</a> <a href="http://changelog.md/login" class="button -primary">Get Started</a>
@@ -183,7 +259,8 @@ gtag('config', 'UA-157578943-1');
</div> </div>
</div> </div>
</section> </section>
<div class="pattern-square" style="background-image: url(https://changelog.md/assets/templates/classic/images/home/bg-pattern.png)"></div> <div class="pattern-square"
style="background-image: url(https://changelog.md/assets/templates/classic/images/home/bg-pattern.png)"></div>
<section class="container py-60 xl-py-32"> <section class="container py-60 xl-py-32">
<div class="row justify-content-center"> <div class="row justify-content-center">
<div class="col-md-10 col-12"> <div class="col-md-10 col-12">
@@ -283,7 +360,8 @@ gtag('config', 'UA-157578943-1');
</div> </div>
<div class="d-flex flex-column gap-3 mx-60 lg-mx-0"> <div class="d-flex flex-column gap-3 mx-60 lg-mx-0">
<h1 class="mb-0">All-in-One Platform for Customer Feedback</h1> <h1 class="mb-0">All-in-One Platform for Customer Feedback</h1>
<p class="mb-0 font-18">Centralize your feedback, prioritize your next steps, and keep everyone informed.</p> <p class="mb-0 font-18">Centralize your feedback, prioritize your next steps, and keep everyone
informed.</p>
</div> </div>
</div> </div>
</div> </div>
@@ -338,7 +416,8 @@ gtag('config', 'UA-157578943-1');
class="text-uppercase font-14 ms-3 fw-bold ls-lg">Powerful SaaS solutions.</span> class="text-uppercase font-14 ms-3 fw-bold ls-lg">Powerful SaaS solutions.</span>
</div> </div>
<h1 class="my-24">Feedback Management</h1> <h1 class="my-24">Feedback Management</h1>
<p>Dont let valuable ideas fall through the cracks. Use a single tool to collect, analyze, and organize feedback and feature requests efficiently.</p> <p>Dont let valuable ideas fall through the cracks. Use a single tool to collect, analyze, and organize
feedback and feature requests efficiently.</p>
<ul> <ul>
<li>- Capture customer input seamlessly from conversations with Autopilot.</li> <li>- Capture customer input seamlessly from conversations with Autopilot.</li>
<li>- Detect and merge duplicate requests to better quantify user needs.</li> <li>- Detect and merge duplicate requests to better quantify user needs.</li>
@@ -397,7 +476,8 @@ gtag('config', 'UA-157578943-1');
class="text-uppercase font-14 ms-3 fw-bold ls-lg">Management &amp; prioritization</span> class="text-uppercase font-14 ms-3 fw-bold ls-lg">Management &amp; prioritization</span>
</div> </div>
<h1 class="my-24">Prioritize feature requests</h1> <h1 class="my-24">Prioritize feature requests</h1>
<p>Create a prioritization formula to score feedback and feature requests, ensuring you focus on the most impactful features.</p> <p>Create a prioritization formula to score feedback and feature requests, ensuring you focus on the most
impactful features.</p>
<ul> <ul>
<li>- Adjust impact and effort factors to fit your needs.</li> <li>- Adjust impact and effort factors to fit your needs.</li>
<li>- Include business-specific post fields for greater flexibility.</li> <li>- Include business-specific post fields for greater flexibility.</li>
@@ -466,7 +546,8 @@ gtag('config', 'UA-157578943-1');
</div> </div>
<div class="d-flex justify-content-end gap-5"> <div class="d-flex justify-content-end gap-5">
<h1 class="mb-0 w-50">Easy to set up and use</h1> <h1 class="mb-0 w-50">Easy to set up and use</h1>
<p class="mb-0 w-50 text-md-end font-18">Simplify feedback collection, lighten support workloads, and announce product updates—all with a single tool.</p> <p class="mb-0 w-50 text-md-end font-18">Simplify feedback collection, lighten support workloads, and
announce product updates—all with a single tool.</p>
</div> </div>
</div> </div>
</div> </div>
@@ -572,7 +653,8 @@ gtag('config', 'UA-157578943-1');
</div> </div>
<div class="ms-4"> <div class="ms-4">
<h4>Bug Reporting</h4> <h4>Bug Reporting</h4>
<p class="mb-0">Receive instant notifications when users report bugs, keeping you ahead of critical issues.</p> <p class="mb-0">Receive instant notifications when users report bugs, keeping you ahead of critical
issues.</p>
</div> </div>
</div> </div>
</div> </div>
@@ -587,7 +669,8 @@ gtag('config', 'UA-157578943-1');
</div> </div>
<div class="ms-4"> <div class="ms-4">
<h4>Uptime monitoring service</h4> <h4>Uptime monitoring service</h4>
<p class="mb-0">Create beautiful status pages &amp; incident management reports and keep your visitors updated.(Soon)</p> <p class="mb-0">Create beautiful status pages &amp; incident management reports and keep your visitors
updated.(Soon)</p>
</div> </div>
</div> </div>
</div> </div>
@@ -598,8 +681,6 @@ gtag('config', 'UA-157578943-1');
<!--More focus end--> <!--More focus end-->
<section class="container my-60" data-cue="zoomIn"> <section class="container my-60" data-cue="zoomIn">
<div class="container theme-gradient-dark rounded-4 shadow-3"> <div class="container theme-gradient-dark rounded-4 shadow-3">
<div class="p-5 py-50"> <div class="p-5 py-50">
@@ -612,7 +693,11 @@ gtag('config', 'UA-157578943-1');
</div> </div>
<div class="col-xl-7"> <div class="col-xl-7">
<form action="http://changelog.md/newsletter" method="post" class="d-flex"> <form action="http://changelog.md/newsletter" method="post" class="d-flex">
<input type="hidden" name="_token" value="pTASJlt042Vo3XAFbvffgDFlRJIGLAVOJ9LcEFQe"> <input name="email" class="form-control rounded-5 h-48-px me-3 px-20" placeholder="Enter your email address" type="email" value=""> <input type="hidden" name="_token" value="pTASJlt042Vo3XAFbvffgDFlRJIGLAVOJ9LcEFQe"> <input name="email"
class="form-control rounded-5 h-48-px me-3 px-20"
placeholder="Enter your email address"
type="email"
value="">
<button class="button -primary -lg rounded-5">Subscribe</button> <button class="button -primary -lg rounded-5">Subscribe</button>
</form> </form>
</div> </div>
@@ -627,7 +712,8 @@ gtag('config', 'UA-157578943-1');
<div class="col-xl-6 col-lg-10 col-12"> <div class="col-xl-6 col-lg-10 col-12">
<div class="text-center d-flex flex-column gap-4"> <div class="text-center d-flex flex-column gap-4">
<div class="d-flex justify-content-center"> <div class="d-flex justify-content-center">
<span class="bg-primary-l text-primary border-primary border px-3 py-2 font-14 rounded-pill lh-1 align-items-center d-flex"> <span
class="bg-primary-l text-primary border-primary border px-3 py-2 font-14 rounded-pill lh-1 align-items-center d-flex">
<i class="fa-regular fa-bolt"></i> <i class="fa-regular fa-bolt"></i>
<span class="ms-1 text-uppercase ls-md fw-semibold">Help Center</span> <span class="ms-1 text-uppercase ls-md fw-semibold">Help Center</span>
</span> </span>
@@ -645,72 +731,98 @@ gtag('config', 'UA-157578943-1');
<div class="accordion" id="accordionExample"> <div class="accordion" id="accordionExample">
<div class="accordion-item active "> <div class="accordion-item active ">
<h2 class="accordion-header" id="heading1"> <h2 class="accordion-header" id="heading1">
<button class="accordion-button " type="button" data-bs-toggle="collapse" data-bs-target="#collapse1" aria-expanded="" aria-controls="collapse1"> <button class="accordion-button " type="button" data-bs-toggle="collapse" data-bs-target="#collapse1"
aria-expanded="" aria-controls="collapse1">
What is CHANGELOG.md? What is CHANGELOG.md?
</button> </button>
</h2> </h2>
<div id="collapse1" class="accordion-collapse collapse show " aria-labelledby="heading1" data-bs-parent="#accordionExample"> <div id="collapse1" class="accordion-collapse collapse show " aria-labelledby="heading1"
<div class="accordion-body"><p>CHANGELOG.md is a SaaS platform designed to help you collect, analyze, and act on customer feedback to uncover valuable insights and make informed product decisions.</p></div> data-bs-parent="#accordionExample">
<div class="accordion-body"><p>CHANGELOG.md is a SaaS platform designed to help you collect, analyze,
and act on customer feedback to uncover valuable insights and make informed product decisions.</p>
</div>
</div> </div>
</div> </div>
<div class="accordion-item "> <div class="accordion-item ">
<h2 class="accordion-header" id="heading2"> <h2 class="accordion-header" id="heading2">
<button class="accordion-button collapsed " type="button" data-bs-toggle="collapse" data-bs-target="#collapse2" aria-expanded="" aria-controls="collapse2"> <button class="accordion-button collapsed " type="button" data-bs-toggle="collapse"
data-bs-target="#collapse2" aria-expanded="" aria-controls="collapse2">
Can I use CHANGELOG.md to prioritize feature requests? Can I use CHANGELOG.md to prioritize feature requests?
</button> </button>
</h2> </h2>
<div id="collapse2" class="accordion-collapse collapse " aria-labelledby="heading2" data-bs-parent="#accordionExample"> <div id="collapse2" class="accordion-collapse collapse " aria-labelledby="heading2"
<div class="accordion-body"><p>Absolutely! With our prioritization tools, you can score feedback and feature requests based on factors like impact and effort, helping you focus on what matters most.</p></div> data-bs-parent="#accordionExample">
<div class="accordion-body"><p>Absolutely! With our prioritization tools, you can score feedback and
feature requests based on factors like impact and effort, helping you focus on what matters
most.</p></div>
</div> </div>
</div> </div>
<div class="accordion-item "> <div class="accordion-item ">
<h2 class="accordion-header" id="heading3"> <h2 class="accordion-header" id="heading3">
<button class="accordion-button collapsed " type="button" data-bs-toggle="collapse" data-bs-target="#collapse3" aria-expanded="" aria-controls="collapse3"> <button class="accordion-button collapsed " type="button" data-bs-toggle="collapse"
data-bs-target="#collapse3" aria-expanded="" aria-controls="collapse3">
How does CHANGELOG.md help with roadmapping? How does CHANGELOG.md help with roadmapping?
</button> </button>
</h2> </h2>
<div id="collapse3" class="accordion-collapse collapse " aria-labelledby="heading3" data-bs-parent="#accordionExample"> <div id="collapse3" class="accordion-collapse collapse " aria-labelledby="heading3"
<div class="accordion-body"><p>CHANGELOG.md allows you to build a clear and actionable roadmap by organizing feedback and aligning it with your product vision.</p></div> data-bs-parent="#accordionExample">
<div class="accordion-body"><p>CHANGELOG.md allows you to build a clear and actionable roadmap by
organizing feedback and aligning it with your product vision.</p></div>
</div> </div>
</div> </div>
<div class="accordion-item "> <div class="accordion-item ">
<h2 class="accordion-header" id="heading4"> <h2 class="accordion-header" id="heading4">
<button class="accordion-button collapsed " type="button" data-bs-toggle="collapse" data-bs-target="#collapse4" aria-expanded="" aria-controls="collapse4"> <button class="accordion-button collapsed " type="button" data-bs-toggle="collapse"
data-bs-target="#collapse4" aria-expanded="" aria-controls="collapse4">
Can I share updates with my users? Can I share updates with my users?
</button> </button>
</h2> </h2>
<div id="collapse4" class="accordion-collapse collapse " aria-labelledby="heading4" data-bs-parent="#accordionExample"> <div id="collapse4" class="accordion-collapse collapse " aria-labelledby="heading4"
<div class="accordion-body"><p>Yes! CHANGELOG.md includes a changelog feature where you can publish detailed release notes, link them to specific feature requests, and notify users who requested those features automatically.</p></div> data-bs-parent="#accordionExample">
<div class="accordion-body"><p>Yes! CHANGELOG.md includes a changelog feature where you can publish
detailed release notes, link them to specific feature requests, and notify users who requested those
features automatically.</p></div>
</div> </div>
</div> </div>
<div class="accordion-item "> <div class="accordion-item ">
<h2 class="accordion-header" id="heading5"> <h2 class="accordion-header" id="heading5">
<button class="accordion-button collapsed " type="button" data-bs-toggle="collapse" data-bs-target="#collapse5" aria-expanded="" aria-controls="collapse5"> <button class="accordion-button collapsed " type="button" data-bs-toggle="collapse"
data-bs-target="#collapse5" aria-expanded="" aria-controls="collapse5">
Does CHANGELOG.md integrate with other tools? Does CHANGELOG.md integrate with other tools?
</button> </button>
</h2> </h2>
<div id="collapse5" class="accordion-collapse collapse " aria-labelledby="heading5" data-bs-parent="#accordionExample"> <div id="collapse5" class="accordion-collapse collapse " aria-labelledby="heading5"
<div class="accordion-body"><p>Yes, CHANGELOG.md integrates with popular customer support and project management tools, allowing your team to seamlessly capture and manage feedback within their existing workflows.</p></div> data-bs-parent="#accordionExample">
<div class="accordion-body"><p>Yes, CHANGELOG.md integrates with popular customer support and project
management tools, allowing your team to seamlessly capture and manage feedback within their existing
workflows.</p></div>
</div> </div>
</div> </div>
<div class="accordion-item "> <div class="accordion-item ">
<h2 class="accordion-header" id="heading6"> <h2 class="accordion-header" id="heading6">
<button class="accordion-button collapsed " type="button" data-bs-toggle="collapse" data-bs-target="#collapse6" aria-expanded="" aria-controls="collapse6"> <button class="accordion-button collapsed " type="button" data-bs-toggle="collapse"
data-bs-target="#collapse6" aria-expanded="" aria-controls="collapse6">
Who can benefit from using CHANGELOG.md? Who can benefit from using CHANGELOG.md?
</button> </button>
</h2> </h2>
<div id="collapse6" class="accordion-collapse collapse " aria-labelledby="heading6" data-bs-parent="#accordionExample"> <div id="collapse6" class="accordion-collapse collapse " aria-labelledby="heading6"
<div class="accordion-body"><p>Product managers, customer success teams, and anyone involved in building and improving products can benefit from CHANGELOG.md. Its perfect for startups, SaaS companies, and organizations looking to make data-driven product decisions.</p></div> data-bs-parent="#accordionExample">
<div class="accordion-body"><p>Product managers, customer success teams, and anyone involved in
building and improving products can benefit from CHANGELOG.md. Its perfect for startups, SaaS
companies, and organizations looking to make data-driven product decisions.</p></div>
</div> </div>
</div> </div>
<div class="accordion-item "> <div class="accordion-item ">
<h2 class="accordion-header" id="heading7"> <h2 class="accordion-header" id="heading7">
<button class="accordion-button collapsed " type="button" data-bs-toggle="collapse" data-bs-target="#collapse7" aria-expanded="" aria-controls="collapse7"> <button class="accordion-button collapsed " type="button" data-bs-toggle="collapse"
data-bs-target="#collapse7" aria-expanded="" aria-controls="collapse7">
How do I get started with CHANGELOG.md? How do I get started with CHANGELOG.md?
</button> </button>
</h2> </h2>
<div id="collapse7" class="accordion-collapse collapse " aria-labelledby="heading7" data-bs-parent="#accordionExample"> <div id="collapse7" class="accordion-collapse collapse " aria-labelledby="heading7"
<div class="accordion-body"><p>Getting started is simple! Sign up for a free trial, set up your feedback portal, and start collecting insights to drive your product decisions.</p></div> data-bs-parent="#accordionExample">
<div class="accordion-body"><p>Getting started is simple! Sign up for a free trial, set up your
feedback portal, and start collecting insights to drive your product decisions.</p></div>
</div> </div>
</div> </div>
</div> </div>
@@ -722,14 +834,14 @@ gtag('config', 'UA-157578943-1');
<!--FAQ end--> <!--FAQ end-->
<!--Call to action start--> <!--Call to action start-->
<section class="container lg-mb-auto mb-60 py-60 xl-py-32" data-cue="zoomIn"> <section class="container lg-mb-auto mb-60 py-60 xl-py-32" data-cue="zoomIn">
<div class="container theme-gradient-dark rounded-4 shadow-3"> <div class="container theme-gradient-dark rounded-4 shadow-3">
<div class="p-5 py-100 text-center"> <div class="p-5 py-100 text-center">
<div class="d-flex flex-column gap-4"> <div class="d-flex flex-column gap-4">
<div class="d-flex justify-content-center"> <div class="d-flex justify-content-center">
<span class="bg-primary-l text-primary border-primary border px-3 py-2 font-14 rounded-pill lh-1 align-items-center d-flex"> <span
class="bg-primary-l text-primary border-primary border px-3 py-2 font-14 rounded-pill lh-1 align-items-center d-flex">
<i class="fa-regular fa-bolt"></i> <i class="fa-regular fa-bolt"></i>
<span class="ms-1 text-uppercase ls-md fw-semibold">More features. More power.</span> <span class="ms-1 text-uppercase ls-md fw-semibold">More features. More power.</span>
</span> </span>