change 0.3.0
change: ^0.3.0 copied to clipboard

A Changelog manipulation library. Read/modify/write your CHANGELOG.md. Inspired by keepachangelog.com.

change #

Changelog manipulation in Dart. For the command-line tool, see Cider.

Features #

  • Supports some basic Markdown syntax, such as bold, italic, links, etc.
  • CRUD operations on releases and changes.

Limitations #

  • Works with changelogs following keepachangelog format only.
  • Semantic versioning is implied.
  • Dates must be in ISO 8601 (YYYY-MM-DD) format.
  • Complex Markdown (e.g. tables, HTML, etc) will not work. For better markdown support consider opening a PR to marker.

Example #

import 'dart:io';

import 'package:change/change.dart';

/// This example shows how to parse a changelog.
/// Run it from the project root folder: `dart example/main.dart`
void main() {
  final file = File('CHANGELOG.md');
  final log = parseChangelog(file.readAsStringSync());
  final latest = log.history().last;
  print('Changelog contains ${log.history().length} releases.');
  print('The latest version is ${latest.version}');
  print('released on ${latest.date}');
  print('and containing ${latest.changes().length} change(s).');
}
2
likes
130
pub points
67%
popularity

Publisher

karapetov.com

A Changelog manipulation library. Read/modify/write your CHANGELOG.md. Inspired by keepachangelog.com.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (LICENSE)

Dependencies

intl, markdown, marker, pub_semver

More

Packages that depend on change