Release Notes Dialog

An easy to use release notes dialog. Customizable to fit your apps design.

This package is ment to complement the existing AboutDialog.

Installation

In your pubspec.yaml:

dependencies:
    release_notes_dialog: "^2.0.0"

In your .dart file:

import 'package:release_notes_dialog/release_notes_dialog.dart';

Basic Usage

The ReleaseNotesDialog requires a list of Releases. A Release requires a title and contains a list of ChangeGroups. ChangeGroups are used to group your changes, for example features, bug fixes, improvements and more.

Create a list of releases:

final List<Release> releases = [
  Release(
    title: "1.1.0",
    changes: [
      ChangeGroup(
        title: "Features",
        changes: [
          "Added a new feature",
          "Added a second feature",
        ],
      ),
      ChangeGroup(
        title: "Fixes",
        changes: [
          "Fixed the first bug",
          "Fixed a happy little accident",
          "Fixed another bug",
        ],
      ),
    ],
  ),
  Release(
    title: "1.0.0",
    changes: [
      ChangeGroup(
        title: "Release!",
      ),
    ],
  ),
];

You can display your releases in a variety of ways:

  • Show the ReleaseNotesDialog using the showDialog() function:

    ElevatedButton(
        onPressed: () => showDialog(
            context: context,
            builder: (BuildContext context) {
              return ReleaseNotesDialog(releases: releases);
            }),
        child: Text("Show ReleaseNotesDialog"),
    );
    
  • Show the dialog using the showReleaseNotesDialog() function:

    ElevatedButton(
        onPressed: () => showReleaseNotesDialog(
            context: context,
            releases: releases,
        ),
        child: Text("Show ReleaseNotesDialog"),
    );
    
  • Show the ReleaseNotesPage using the Navigator:

    ElevatedButton(
        onPressed: () => Navigator.of(context, rootNavigator: useRootNavigator).push(
          MaterialPageRoute<void>(
            builder: (BuildContext context) {
              return ReleaseNotesPage(
                releases: releases,
              );
            },
          ),
        ),
        child: Text("Show ReleaseNotesPage"),
    );
    
  • Show the page using the showReleaseNotesPage() function:

    ElevatedButton(
        onPressed: () => showReleaseNotesPage(
            context: context,
            releases: releases,
        ),
        child: Text("Show ReleaseNotesPage"),
    );
    
  • Show the ReleaseNotesListTile:

    ReleaseNotesListTile(releases: releases);
    
  • Show the ReleaseNotesWidget:

    ReleaseNotesWidget(releases: releases);
    

Contributions

Contributions, feature requests and bug reports are welcomed!