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


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.
