Giter Site home page Giter Site logo

change's Introduction

change

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

Features

  • Supports 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, nested lists, 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).');
}

change's People

Contributors

f3ath avatar pin73 avatar saschpe avatar zeshuaro avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

change's Issues

PathNotFoundException in Flutter App

By following official doc in change package, I've added CHANGELOG.md file in root directory.
When i try in a Elevated button onTap function

import 'dart:io';
import 'package:change/change.dart';
import 'package:flutter/material.dart';
..........
ListTile(
            leading: const Icon(LucideIcons.sparkles),
            title: const Text('Changelog'),
            onTap: ()  {
              final file = File('CHANGELOG.md');
              final log = parseChangelog(file.readAsStringSync());
              final latest = log.history().last;
              debugPrint(
                  'Changelog contains ${log.history().length} releases.');
              debugPrint('The latest version is ${latest.version}');
              debugPrint('released on ${latest.date}');
              debugPrint(
                  'and containing ${latest.changes().length} change(s).');
            },
          ),
..........

Error log says that I/flutter (19066): PathNotFoundException: Cannot open file, path = 'CHANGELOG.md' (OS Error: No such file or directory, errno = 2)

So, how to solve this error?

Allow keeping freetext release notes

I like adding freetext to my release notes to summarize the technical added/fixed sections for technical less versed user, as shown below. Unfortunately cider release strips these sections upon rewriting the file.

## [1.1.0] - 2023-06-07
Install immediately, super important bug fix
### Fixed
 - xyz
## [1.1.0] - 2023-06-07
Massive performance increase
### Added
 - blah
 - blub
## [1.0.0] - 2023-06-07
This release stabalized everything, the api is now considered feature complete.
### Added
- Minimum viable product release

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.