sparkle-dns 0.0.2

DNS server framework
Documentation
# Sparkle-DNS Release Checklist

1. Resolve any `FIXME` comments in the code.

2. Ensure the `sparkle` crate builds and runs using the latest
   dependencies.

        $ cargo update &&
          cargo test &&
          cargo test --release

  If any errors occur then fix them.

3. Ensure packaging succeeds.

        $ cargo package

  If any errors occur then fix them.

4. Create a temporary Git branch for the release.

        $ git checkout -b release_prep

5. Update project files.

    1. Edit `Cargo.toml` to declare the correct version for this
       crate.

        1. E.g., remove any version suffix (e.g., `-master`).

        2. Ensure the documentation link is correct.

    2. Edit `CHANGELOG.md` to add the date for the new release and
       remove the “unreleased” adjective. Ensure the change log is
       up-to-date, clear, and well formatted.

    3. Edit `README.md` to update all references to the latest release
       and next release.

    4. Ensure there are no untracked files in the working directory.

    5. Commit changes.

            $ git commit

6. Merge updates into master.

        $ git checkout master &&
          git merge release_prep &&
          git branch -d release_prep

7. Publish the crate.

        $ cargo publish

8. Create Git tag.

        $ ver=$(grep '^version\s=' Cargo.toml | head -n1 | sed -Ee 's/.*"([0-9]+\.[0-9]+\.[0-9]+)"$/\1/') &&
          test 1 == $(echo "$ver" | wc -w) &&
          git tag -a v$ver -m "v$ver release" &&
          git push --tags

9. Prep for new work.

    1. Edit `Cargo.toml` to increment the version, adding the `-master`
       suffix.

    2. Edit `CHANGELOG.md` to add the new “unreleased” section for the
       next version.

    3. Commit changes

            $ git commit -m "Prep for work on the next release"

    4. [Close the issue milestone for the new release]
       https://github.com/cmbrandenburg/sparkle-dns/milestones.