getAllReleaseNotes method
Gets all release notes as a list of (version, notes) pairs. Versions are sorted with oldest first.
Implementation
List<(String, List<String>)> getAllReleaseNotes({String? changelogContent}) {
try {
final content = changelogContent ?? getStoredChangelogFromMemory();
final releaseNotes = parseChangelog(content);
final sortedVersions = releaseNotes.keys.toList()
..sort((a, b) => semverGt(a, b) ? 1 : -1);
return sortedVersions
.map((version) {
final notes = releaseNotes[version];
if (notes == null || notes.isEmpty) return null;
final filtered = notes.where((n) => n.isNotEmpty).toList();
if (filtered.isEmpty) return null;
return (version, filtered);
})
.whereType<(String, List<String>)>()
.toList();
} catch (_) {
return [];
}
}