Release Notes; upgrade information mainly.
Features/major bugfixes are listed in NEWS

repoman-3.0.3
==================================
* Bug Fixes:
    - Bug 608664 variable.phase check like pkgcheck VariableScopeCheck
    - Bug 692486 Change message for preserve_old_lib

repoman-3.0.2
==================================
* Bug Fixes:
    - Bug 748144 Make file.size fatal for files larger than 20 KiB

repoman-3.0.1
==================================
* Bug Fixes:
    - Bug 737698 Update repoman for compatibility with portage-3.0.4.

repoman-3.0.0
==================================
* Bug Fixes:
    - Bug 448462 Add --jobs and --load-average options which allow
      dependency checks for multiple profiles to run in parallel.

repoman-2.3.23
==================================
* Bug Fixes:
    - Bug 637824 Deprecate netsurf.eclass

repoman-2.3.22
==================================
* Bug Fixes:
    - Bug 712106 only stage changes in index for commit mode

repoman-2.3.21
==================================
* Bug Fixes:
    - Bug 712106 prevent spurious copyright header updates


repoman-2.3.20
==================================
* Bug Fixes:
    - Bug 541076 repoman commit: ignore unadded hidden files
    - Bug 702100 repoman: support profiles/package.deprecated


repoman-2.3.19
==================================
* Bug Fixes:
    - Bug 667432 Rename DCO_SIGNED_OFF_BY config variable to SIGNED_OFF_BY.
    - Bug 700456 Add --include-profiles=PROFILES


repoman-2.3.18
==================================
* Bug Fixes:
    - Bug 690786 Support metadata/layout.conf restrict-allowed
    - Bug 699514 Detect dosym absolute paths starting with ${D}, ${ED} etc.
    - Bug 699508 Fix unsafe string interpolation.


repoman-2.3.17
==================================
* Bug Fixes:
    - Bug 233589 Support PROPERTIES="live"


repoman-2.3.16
==================================
* Bug Fixes:
    - Bug 687420 Allow empty LICENSE in acct-* packages for GLEP 81


repoman-2.3.15
==================================
* Bug Fixes:
    - Bug 688278 Accept 'Gentoo Foundation' copyright for old ebuilds


repoman-2.3.14
==================================
* Bug Fixes:
    - Bug 666330 Update for new copyright policy


repoman-2.3.13
==================================
* Bug Fixes:
    - Bug 686074 report error for unknown arguments


repoman-2.3.12
==================================
* Bug Fixes:
    - Bug 588752 fix exit code for manifest mode


repoman-2.3.11
==================================
* Bug Fixes:
    - Bug 666330 support new 'Gentoo Authors' copyright policy and
      automatically apply the new policy when updating copyright headers.
      Earlier versions of repoman will report an ebuild.badheader warning
      for the new copyright headers. Users of earlier versions of repoman
      should be advised to simply ignore the ebuild.badheader warning, or
      else upgrade to the latest version of repoman.


repoman-2.3.10
==================================
* Bug Fixes:
    - Bug 649482 warn about = deps without revision
    - Bug 660982 populate implicit IUSE for empty profile


repoman-2.3.8
==================================
* The --experimental-repository-modules=<y|n> option enables a new
  plugin modules system:
  https://wiki.gentoo.org/wiki/Project:Portage/Repoman-Module-specs


repoman-2.3.7
==================================
* Bug Fixes:
    - Bug 552720 allow https for metadata.dtd URI


repoman-2.3.6
==================================
* Bug Fixes:
    - Bug 637460 Fix import paths for unit tests


repoman-2.3.5
==================================
* Repository metadata/layout.conf supports manifest-required-hashes
  attribute (default value is SHA512).


repoman-2.3.4
==================================
* Support two new options: --bug (-b) and --closes (-c)


repoman-2.3.3
==================================
* Bug Fixes:
    - Bug 571546 Change how the tmp file for the commit msg is made
* flag URIs using http:// when https:// is available
* Add a check for relative dosym candidates
* Make all shebangs prefix friendly
* Mark ruby-2.0 as deprecated
* Detect inconsistent metadata.xml indentation
* Warn about dropped keywords only for latest in SLOT.


repoman-2.3.2
==================================
* Bug Fixes:
    - Bug 544938 add dev-qt/linguist-tools to RDEPEND.suspect set
    - Bug 602002 make unused local USE flags an error
    - Bug 533554 add HOMEPAGE.missingurischeme check
    - Bug 610414 use regular expression to detect line continuations
    - Bug 610954 Warn about stale CVS keywords in ebuild header
    - Bug 611296 Don't update years in non-Gentoo copyright lines
* Add virtual/linuxtv-dvb-headers to RDEPEND.suspect set
* Add virtual/os-headers to RDEPEND.suspect set
* Add gentoo to remote-id type
* Define long for python3 Fixes: 006b168c1bb6
* Commit footer improvements
* Check for empty files in filesdir
* Deprecate gpe.eclass, confutils.eclass


repoman-2.3.1
==================================
* Bug Fixes:
    - Bug 586864 skip QA checks in manifest mode
    - Bug 591184 fix erroneous LICENSE.syntax
    - use https to fetch metadata.xsd
    - update links to https
    - Make LIVEVCS.* checks fatal
    - fix _depend_checks baddepsyntax accounting
    - Fix commitmessage assignment not being done
    - Add cat/pkg: substtution in the commitsgfile text
    - Disable SRC_URI.mirror warnings when there is only 1 mirror
    - Fix version output string to say Repoman, fix live versioning,
      add portage version to --version output.
    - Add repoman version to "Package manager:" commit footer

repoman-2.3.0
==================================
* Bug Fixes:
    - Bug 584786 Add support for .git as a file when --separate-git-dir is used
    - Bug 585864 fix missing vcs_files_to_cps repodir argument
    - Bug 585388 fix KeyError during manifest generation
* New QA error: slot operator under '||' alternative

repoman-2.3.0_rc1
==================================
* Initial test release
* Bug Fixes:
    - Bug 579460 Disable the $ID header check
    - Bug 546010 Handle removed packages in vcs_files_to_cps
    - Bug 581594 Fix commit 8e7971169c2 missing self in func() parameters
    - Bug 581598 Add InvalidPackageName exception trap
    - Bug 405017 Fix copyright update
* Includes the stage2 re-writes, the checks are now in a modular system
  which is not yet fully plug-in capable.  Becoming fully plug-in capable and
  configurable is to be done in the stage3 rewites.
