# README

Pub Release is a package that automates publishing dart/flutter packages to pub.dev.

Pub Release also supports the [simultaneous](https://pubrelease.onepub.dev/simultaneous-releases) release of multiple related packages.

Pub Release performs the following operations:

* Run pre/post release 'hook' scripts.
* Formats all code using dartfmt
* Increments the version no. using semantic versioning after asking what sort of changes have been made.
* Creates a dart file containing the version no. in src/version/version.g.dart
* Updates the pubspec.yaml with the new version no.
* If you are using Git:
  * Generates a Git Tag using the new version no.
  * Generates release notes from commit messages since the last tag.
  * Publish any executables list in pubspec.yaml as assets on github
* Allows you to edit the release notes.
* Adds the release notes to CHANGELOG.MD along with the new version no.
* Publishes the package to pub.dev.

## Sponsored by OnePub

Help support Pub Release by supporting [OnePub](https://onepub.dev/drive/24dc5835-29de-4dfc-a9f9-4a3bf112fecb), the private Dart repository.&#x20;

OnePub allows you to privately share Dart packages across your Team and with your customers.

Try it for free and publish your first private package in seconds.

| ![](broken-reference) | <p>Publish a private package in five commands:</p><p><mark style="color:green;"><code>dart pub global activate onepub</code></mark></p><p><mark style="color:green;"><code>onepub login</code></mark></p><p><mark style="color:green;"><code>cd \<my package></code></mark></p><p><mark style="color:green;"><code>onepub pub private</code></mark> </p><p><mark style="color:green;"><code>dart pub publish</code></mark></p> |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

## Getting Started

* Install Pub Release globally with:

```bash
dart pub global activate pub_release
```

* Read the [full documentation](https://pubrelease.noojee.dev/) to learn how to use it
