readReleaseNotes method
Implementation
Future<Map<String, String>> readReleaseNotes() async {
final changeLog = await File('CHANGELOG.md').readAsString();
final versions = <String, List<String>>{};
String version = '';
for (var line in changeLog.split('\n')) {
line = line.trim();
if (line.isEmpty) continue;
final versionMatch = RegExp(r'## (\d+\.\d+\.\d+.*)').firstMatch(line);
if (versionMatch != null) {
version = versionMatch.group(1)!;
versions[version] = [];
}
versions[version]?.add(line);
}
return versions.map((key, value) => MapEntry(key, value.join('\n')));
}