CHANGES
-------

Version 2.4.3 - Release 2020-04-24
==================================
 - Bug 613936 Drop portage_native_kwargs
 - Bug 674594 typo in laymansync.pylayman.py
 - Fix python 3.7 and python 3.8 compatibility
 - several more typo fixes, added more debug statements...

Version 2.4.2 - Release 2017-02-01
==================================
 - Bug 587474 Fix a missed eprefix placeholder for repos_conf setting.
 - Bug 539336 Adds exception handling
 - Fix commit 63808ef00f94 mis-applied 'sourcefile' attribute changes

Version 2.4.1 - Release 2016-05-06
==================================
 - adds sourcefile to plug-in modules, fixes bug #582154

Version 2.4.0 - Release 2016-05-03
==================================
 - adds support for different overlay database types
 - adds json database support
 - adds sqlite database support
 - adds database migration tool in layman-updater
 - adds AddDeleteDB tests in test suite
 - adds file locker utility class
 - corrects importing of laymansync classes
 - corrects type in enable/disable_repos()
 - adds multiple owner support
 - deprecates get_all_info() function
 - adds repos.conf dir creation if it doesn't exist
 - fixes bug #540012
 - moves Layman class initialization into a layman sub-file
 - renames layman.py to Layman.py
 - corrects misspelling of "separate"
 - changes default conf_type to "repos.conf"
 - changes arg group "Additions Options" to "Path Options"
 - adds protocol filtering for Overlay.{add, update}()
 - adds binary mode aware compatibility to fileopen()
 - adds sanity checking for repos_conf location
 - fixes Unicode() external test

Version 2.3.0 - Release 2015-02-08
==================================
 - Renamed portage sync plugin to laymansync
 - adds portage sync plugin to setup.py for installation
 - Completely removes doctest remnants
 - adds fix that quells initial warning if layman does not see an install.xml file
 - adds spelling correction on external.py header
 - modifies remotedb.py to reflect ssl-fetch changes
 - fixes misuse of .keys() in maker.py causing py3.x compat issues
 - whitespace cleanup in maker.py
 - adds skipping of protocol verification if protocol guessing fails in maker.py
 - fixes undefined xml error in maker.py
 - adds checks for which archive overlay types to test in external test suite
 - converts all assertEquals calls to assertEqual (assertEquals will be deprecated)
 - modifies and improves testing method for external test suite
 - renames self.overlay to self.overlays in reposconf.py
 - modifies output message encoding to become indiscriminate on type
 - changes ssl-fetch kwargs-info level to 5 to limit verbosity
 - modifies checking for sync plugin name to reflect new name in reposconf.py
 - layman-updater updates for better repos.conf migration


Version 2.2.0 - Release 2014-09-28
==================================
 - man page updates
 - Portage sync plug-in to sync layman overlays via portage
 - layman-overlay-maker utility to create overlay definitions
 - Multiple description field support
 - reloading config function to get local overlay definitions
 - output attribute to OptionConfig
 - branch and layman-type info to repos.conf configs
 - sync-type checking for repos.conf configs
 - New --storage cli option to specify where you want an overlay installed
 - fixes bug when overlay isn't in the remote list
 - New --disable and --enable cli option to globally disable a locally
   installed overlay
 - Centeralizes archive overlay type code
 - Changes clean_tar config option to clean_archive
 - fixes hard-coded defaults and EPREFIXIFIES repos_conf config option
 - fixes format string in _verify_overlay_type function
 - renames --setup_help cli option to --setup-help
 - adds support for multiple cli option args
 - adds interactive session for unofficial overlay installations
 - migrates docstring tests to external test-suite
 - adds layman-mounter utility handle overlay mounting
 - adds squashfs overlay support
 - adds squashfs overlay external tests
 - adds modular plug-in system
 - makes overlay types modular plug-ins
 - makes repo config types modular plug-ins
 - removes g-common overlay support
 - fixes output use in proxies()
 - fixes default command line value overriding of overlay_defs and
   storage config options
 - fixes improper tracking of operation results for Overlay.update()
 - adds use of repos.conf module plug-in when running layman-updater
 - adds check in repos.conf to write all overlays to a blank file
 - fixes improper import of make.conf module in updater.py
 - fixes closing of iterable file extension list in tar.py


Version 2.1.0 - Released 2014-07-23
===================================
 - man page updates
 - python 2.7 and python 3.x compatibility
 - migrate from optparse to argparse
 - Support for repos.conf configuration files
 - RepoConfManager to handle all repo configuration types
 - URL updating for outdated source URLs
 - Command line option to re-add an overlay
 - Overlay type checking to ensure the overlay type of an
   installed overlay is the same as the overlay type reported
   by the remote database
 - IRC and branch tag support for overlay xmls
 - clean_tar config option to clean up local tar overlay files


Version 2.0.0 final - Released 2012-12-16
=========================================
 - re-released rc5 as 2.0.0 final


Version 2.0.0_rc5 - Released 2012-11-19
=======================================
 - fix a regression in calling read_config()
 - fix layman-updater when creating a new make.conf file
 - fix truncating of long overlay names
 - remove a mispelled duplicate program file
 - auto-detect portage's make.conf location


Version 2.0.0_rc4 - Released 2012-10-20
=======================================
 - man page updates, formatting changes
 - fix unknown variable
 - fix bug 384085, deprecated "bzr get" to "bzr branch"
 - py2, py3 compatability changes so 2to3 will work correctly (unfinished)
 - make the tests more py3 compatibile
 - improve the usage to include an example of multiple actions
 - Add cwd=base to git's add() run_command function call.
   This fixes Bug 396643 in selinux and newer git.
 - change to only wrap the '*' with the color, not the spaces around it
 - Add news reporting capability to meet GLEP 42 requirement
 - several news fixes
 - fix bug 408897 for when profiles/repo_name is not the same as
   the layman overlay name
 - config fixes
 - set some sane defaults for stdout, stderr, stdin
 - Bug 390127 fix: for an extra level parameter in the error _output() calls
 - Bug 433687. Add setting the default user name and email
   when adding new git based overlays.
 - Bug 408039. An an automatic 'svn upgrade' capability for svn type repos
 - doctest updates.
 - Fix bug 372583.  Don't add redundant trailing slashes on
   src uri's where trailing slashes are required
 - move the rename_db code to a standalone updater utility



Version 2.0.0_rc3 - Released 2011-09-17
=======================================
 - fix wrong variable name in the layman.cfg explanations
 - remove some dead ERROR constants
 - fix success reporting identified in bug 379779.
   Improve and change error output from info(), warn() to error()
 - set some options to the ones passed in that were previously missed
 - continue establishing a proper high level interface
 - pass the input parameters to MessageBase
 - clean out nearly useless quiet parameter, use config['quiet'] instead
 - rename local_list to installed,
   create an update function to migrate the change
 - fix a missed conversion to using the Message class
 - fix bug 381853, remove the noise level param as error() does not have it
   like the other output functions
 - fix typo, bug 382785
 - better explain the variable change



Version 2.0.0_rc2 - Released 2011-08-10
=======================================

 - fix success mistracking
 - change raising an exception to outputing the error
 - fix --list --verbose functionality, bug 375779
 - update manpage
 - add overlay_defs option to layman.cfg
 - fix existing tests. add new tests for new classes
   update all tests to pass
 - fix undefined 'subpath'
 - fix setting the timestamp from the remote server, bug # 376601
 - fix the overly noisy output for unsupported overlay types
 - add supported_types() to the api
 - add --debug-level to cli options and code Message.debug()
 - fix broken UnknownOverlayException
 - fix error reporting in the api, refactor action & error processing/tracking.
 - add a space before the * in the output func()'s as per "Etal"'s forum request
 - fix a bug causing it to not get the correct config path
 - fix typo causing traceback in bug 377401 comment # 31
 - clean out some dead code.
 - fix task spacing for running multiple tasks
 - eliminate a duped error output
 - run "svn cleanup..." for keyboard interrupts, bug 377035
 - fix bug 378097. unofficial installed overlays not printing
 - make it EPREFIX ready
 - restore python 2.5 compatibility

-------
Version 2.0.0_rc1 - Released 2011-06-06
=======================================

 - major rewrite of the api's, extensions,
   new cli-api connections, other enhancements...


Version 1.4.2-r2 - Released 2011-04-28
======================================

 - fix bug 363797 python-2.5 test errors.

 - fix broken *args for python 2.5 and 2.6+


Version 1.4.2 - Released 2011-02-08
===================================

 - Fixed: Ignore case when sorting data for layman -l|-L

 - Fixed: Improve documentation on option nocheck (bug #267686)


Version 1.4.1 - Released 2010-07-09
===================================

 - Fixed: Catch keyboard interrupts (Ctrl+C) while
     running child processes properly

 - Fixed: doctest error in tar overlay code (bug #327491)
     Thanks to David Abbott for reporting!


Version 1.4.0 - Released 2010-07-08
===================================

 - Handle command line calls "layman" and "layman foo" better.
     Former now shows a usage summary while latter now reports
     an error.  Both of them kept quiet before.

 - Replace os.system() by subprocess.Popen()

 - Close stdin of child processes when run in quiet mode
   to avoid running into infinite and blindly interactive sessions.


Version 1.3.4 - Released 2010-07-05
===================================

 - Propagate move of cvs and subversion from
   dev-util/* to dev-vcs/* (bug #311419, bug #307849)


Version 1.3.3 - Released 2010-04-08
===================================

 - Fix syncing of SVN overlays for users of SVN <1.6.5 (bug #313303)

 - Fix handling of empty XML entities (bug #309617)

 - Fix missing import (bug #306143)

 - Extend in-config docs on proxy handling (bug #300651)

 - Propagate move of bzr, darcs, git, mercurial from
   dev-util/* to dev-vcs/* (bug #311419)


Version 1.3.2 - Released 2010-02-20
===================================

 - Fix syncing of tar overlays (bug #304547)

 - Hint about broken overlay catalog (bug #304781)


Version 1.3.1 - Released 2010-02-05
===================================

 - Fix handling of CVS overlays (bug #301689)
     Thanks for the patch to Dmitry Karasik!

 - Fix handling of non-existing overlays (bug #301612)

 - Now delete empty overlay directories (bug #301612) ..
   - on deletion of a non-existing overlay and
   - after failed addition of an overlay.


Version 1.3.0 - Released 2010-01-19
===================================

 - Move storage default from /usr/local/portage/layman
   to /var/lib/layman (fixes bug #253725)

 - Syncing failed for overlays that no longer exist in the remote
   lists without need to (bug #301174)

 - No longer treat sync warnings like errors (bug #301327)

 - Fix faults introduced at refactoring (bug #301253)


Version 1.3.0_rc1 - Released 2010-01-15
=======================================

 - Add support for several sources per overlay (also fixes #280472)
     When adding an overlay all sources will be probed until a working
     one is found.  This should help Layman through some firewalls.

 - Display related directory when deleting overlays

 - Improve overlay info display (i.e. layman -i):
   - Add quality indicator (keep in mind: no guarantee)
   - Add feed URIs
   - Fix whitespace handling for description field

 - Improve layman usage display


Version 1.2.6 - Released 2010-01-12
===================================

 - Warn on lack of write permissions (fixes #260218)

 - Migrate to GNU tar's compression format auto-detection
   which adds potential support for more types of compressed
   tar archives (LZMA, xz or Z) as a side-effect
   (Requires GNU tar 1.15 or later, released in 2005)

 - Drop support for broken tar overlays with missing category level
   (and missing profiles/repo_name as a consequence)

 - Make missing overlay directory not fail removal of that overlay
   from the local list

 - Start shipping doc sources and release notes with release archives

 - Start shipping test suite files missing from the 1.2.5 release


Version 1.2.5 - Released 2010-01-04
===================================

 - Allow overriding of VCS commands

 - Migrate XML handling from minidom to ElementTree (also fixes #261666)

 - Allow running VCS from PATH (fixes #280539)

 - Fix handling of Subversion overlays whose name contains
   one or more '@' characters (#295018)

 - Fix handling of non-ASCII characters (#286290)


Version 1.2.4 - Released 2009-12-05
===================================

 - Add option "-d" to calls of "cvs update" so it checks out new
   directories properly (#278807)

 - Fix reading of CDATA sections

 - Add support for repositories.xml database format

 - Substitute path "/usr/portage/local/layman" by "/usr/local/portage/layman"
   in the documentation (#271457)

 - Fix grammar errors in program output (#259188)


Version 1.2.3 - Released 2009-01-01
===================================

 - Support setting the terminal screen width (also fixes #253016)

 - layman -S fetches each overlay twice (#253241)


Version 1.2.2 - Released 2008-12-28
===================================

 - layman -L: better use of screen real estate for source URLs
   (#251032)

 - Execute subprocesses in a shell. Fixes app-portage/layman-1.2.1:
   --quietness=2 is broken (#247792)

 - app-portage/layman - 'layman -S --quiet' yields "git: 'pull-q' is
   not a git-command." (#247964)


Version 1.2.1 - Released 2008-11-15
===================================

 - Pass --quiet flag down to the version control
   system (#236165).

 - Fixes for python-2.6 (#237625)

 - Better locale support (#235165)

 - Handle git+ssh://, ssh:// correctly (#230702)

 - Do not remove directories if adding an
   overlay failed (#236945)


Version 1.2.0 - Released 2008-06-02
===================================

 - Fixed --info call (#198483)

 - Added umask setting (#186819)

 - Switched default storage location from

     /usr/portage/local/layman

   to

     /usr/local/portage/layman

   (#219786)

 - Added optional version control useflags (#168203)
