Fix test:
    * remove obsolete "backend" constructor parameter
      (Debian #1016295) 2022-05-10

    * Add support for OpenSsh 9.0 2021-12-22

    * Support for OpenSsh 8.7
    * Added migration instructions for some parameters deprecated
      between OpenSsh 8.4 and 8.7

  Bug fix related to generation of OpenSsh model:
    * fix (model generation): add deprecated elements
    * fix (ParseMan): handle description like "supported keywords are..."
    * fix (model generation): override value types of PerSource*
    * fix (model): improve warning about identity file
    * fix (parse-man.pl): improve user messages
    * fix (model generation): avoid long unbreakable lines (origin/master)

  Other changes:
    * build depends on Config::Model 2.146 2021-05-07

  Bug fixes:
    * Keep order of Host and Match sections (fix #6)
    * No longer use content of /etc/ssh/ssh_config as upstream
      default values for ~/.ssh/config. See commit
      766442b log for details
    * Fix crash when starting with empty user file (fix #5)
    * docs: fix typos and grammar 2021-01-13

    * Support for OpenSsh 8.4
    * update copyright year 2019-09-08

    * Support for OpenSsh 8.0

  Bug fix related to generation of OpenSsh model:
    * fix storage of description text
    * change quoted text to text with bold font
    * replace utf-8 quote with ascii quote 2019-06-14

  This release fixes CI/CD bugs:
  * Work around Dzil bug that break tests on travis.
  * Fix statement in test not compatible with perl 5.12 2019-06-10

  The main visible changes of this release are:
  * Support for OpenSsh 7.9
  * A new version number scheme: v<major>.<OpenSsh version>.<minor>.

  Under the hood, the major change of this release is the way Ssh and
  Sshd model are updated. It used to be a manual work (which explain
  why only OpenSsh 6.4 parameters were supported). Now the model is
  generated from ssh_config and sshd_config manuel pages. All
  parameters from OpenSsh 7.9 are supported and obsolete parameters
  are silently dropped or migrated to new parameters.

  Other changes:
  * update test specifications (requires Config::Model::Tester 4.001)
  * require Config::Model 2.134

1.241 2018-12-01

    * Tests require Config::Model 2.128 (gh #4)

1.240 2018-11-30

   Fix behavior of 'cme -force' so user can load ssh config files
   containing errors:
    * allow force load when Match block contain bad data
    * propagate 'check' when setting check_list parameter
      (require Config::Model 2.127)

   Model update:
    * PortForward parameter: port must be alphanumeric

1.239 2018-05-08

    * OpenSsh backend: fix backend (broke with Config::Model 2.123,
      requires Config::Model 2.123. Sorry about the mess).
    * added t/README.md
    * remove deprecated suffix method

1.238 2017-10-08

    * udpated models to use new rw_config parameter
      (requires Config::Model 2.111)
    * update Ciphers parameter
    * UseLogin parameter is deprecated

1.237 2016-03-07

    * Fix tests broken by Config::Model 2.080 changes (RT #112736)
    * Build.PL: avoid dependency on cme to build doc
    * dist.ini:
      * updated to use github's bug tracker
      - removed build dependency on Tk
    * updated README.pod to use cme meta edit

1.236 2014-05-22

    * removed experience parameters from OpenSsh model
      with config-model-edit
    * removed build time dependency on AnyEvent
    * warn and propose a fix when public key is used as

1.235 2014-04-04

    * tweak test to be compatible with Config::Model >= or < 2.052
    * fix man pages abstract section (for Pod::Weaver)

1.234 2014-03-01

    * fixed skipped test count in ssh_config.t to enable cpanm
      installation (RT 93314)
    * test $inst->has_warning (requires Config::Model 2.050)

1.233 2014-02-13

    * Ssh backends: send a clear error message when unknown
      parameters are found (RT 92639)
    * Ssh: added deprecated UseRSh and FallBackToRsh (RT 92639)

1.232 2013-12-29

  * Ssh::GSSAPI* params: set upstream_default to 0 (instead of default)
  * fixed typo in Sshd::MatchCondition  description (tx gregoa)

1.231 2013-12-23

  * Added parameters supported by OpenSsh 6.4
    (i.e. IgnoreUnknown ForwardX11Timeout GatewayPorts
	GSSAPIKeyExchange GSSAPIClientIdentity GSSAPIServerIdentity
	GSSAPIDelegateCredentials GSSAPIRenewalForcesRekey GSSAPITrustDns
	IPQoS KexAlgorithms PKCS11Provider AllowAgentForwarding
	AuthenticationMethods AuthorizedKeysCommand
	AuthorizedKeysCommandUser AuthorizedPrincipalsFile ChrootDirectory
	GSSAPIStoreCredentialsOnRekey HostCertificate HostKeyAgent
	MaxSessions PermitBlacklistedKeys PubkeyAuthentication RekeyLimit
	RevokedKeys RhostsRSAAuthentication TrustedUserCAKeys

1.230 2013-08-27

    This new release now works on MacOS X. It does take into account
    the different location of ssh configuration files compared to Linux
    or BSD.

    * Fixed tests for MacOS X

1.230_04 2013-08-19

    * Depends on Config::Model 2.041
	* Build depends on Config::Model::Tester 2.042

1.230_03 2013-08-09

    * Load EV at beginning of test to avoid failure in CPAN
      smoke tests.

1.230_02 2013-08-08

    * Load AnyEvent at beginning of test to avoid failure in CPAN
      smoke tests.

1.230_01 2013-08-07

    * Fixed dist.ini to tweak $VERSION in all module files

1.229 2013-07-23

    * fixed dist::zilla files to include .ssh dir needed for tests

1.228    2013-07-21

	[ Usage changes ]

    * 'cme edit ssh|sshd|system-ssh' is now working on MacOS X
    * '/etc/ssh/ssh_config' is now handled by system-ssh. I.e.
       use 'cme edit system-ssh' to change this file
    * root user can edit its ~/.ssh/config file like any other user
      with 'cme edit ssh'.

	[ Bug fixes ]

    * corrected OpenSSH project name (was OpenSsh)
    * ssh backend: fix bug that prevented reading user file with
      global parameters
    * Ssh model: allow config file creation

    [ Other changes ]

    * renamed ChangeLog in Changes
    * Ssh model: use new default layer from C::M 2.040 to
      read system config file (hence the updated requirement
      on Config::Model 2.040)
    * All backends: removed custom code to open file. Lets
      Config::Model::BackendMgr handle this

2013-04-04 - 1.227

    * Removed Augeas backend (no longer needed, comments are handled
      by Config::Model::Backend::OpenSsh)
    * Removed unused deps (File::Slurp)
    * Replaced Any::Moose with Mouse. Directly depend on Mouse.
      Removed dependency on Any::Mooose

2012-12-07 - 1.226

    * ssh model:
      + added ControlPersist parameter
      + added Re-Build parameter (fix RT #81346)
    * Changed experience of Control* parameters to beginner
    * backend: ensure clear error message if Host is used in sshd_config
    * updated demos to use cme
    * use cme gen-class-pod to re-build when necessary
    * updated  Config::Model dependency to 2.026 for this

2012-10-28  Dominique Dumont <domi.dumont@free.fr> v 1.225

    Doc and demo fix release
    * updated demos to use cme instead of deprecated config-edit
    * likewise, clean up pod doc to use cme command
    * removed non utf-8 char from ssh doc (Fix RT 79077)

2012-05-22  Dominique Dumont <domi.dumont@free.fr> v 1.224

    * Backend: make sure that AuthorizedKeysFile items are
      written on a single line.
    * Depends on Config::Model 2.017 (which has a correct dependency
    * Note to distro packagers: this dependency on Config::Model 2.017
      is required for people installing this module with cpanm and for
      Perl smoke tests. From a feature point of view, this module
      requires only Config::Model 2.015

2012-05-18  Dominique Dumont <domi.dumont@free.fr> v 1.223

   * Added build-dependencies required by t/model_test.t
     (which use Config::Model::Tester)
   * Fix sshd-test-conf.pl to avoid test failure due to
     Text::Balanced warnings with perl 5.15

2012-05-16  Dominique Dumont <domi.dumont@free.fr> v 1.222

    * added AuthorizedKeysFile2 parameter (See Debian #671367) and migration
      from AuthorizedKeysFile2 to AuthorizedKeysFile to help migration
      from Debian Squeeze to Wheezy
    * replaced deprecated get_all_indexes with fetch_all_indexes
    * depends on Config::Model 2.015

2012-04-25  Dominique Dumont <domi.dumont@free.fr> v 1.221

	* Ssh model: ControlMaster also supports auto keyword (tx to
	  harleypig and Daniel Dehennin) Closes Debian #670319
	* Test: Fix skip count when test is run as root (fix smoke test

2012-02-20  Dominique Dumont <domi.dumont@free.fr> v 1.220

        * Fix test to force write back even if no data were changed in
          the test (Fix FTBS Debian #660371 and Ubuntu #935221)
        * This fix depends on Config::Model 2.004
        * Requires perl 5.10
        * Move runtime dependencies in configure-requires as config::model is
          called by Build.PL to (re)generate pod (see also RT73611)

2011-12-07  Dominique Dumont <domi.dumont@free.fr> v 1.219

	* Ssh model: do not warp LocalForward with GatewayPorts.
	  They are independant
	* Ssh backend: store root config in layered data instead of
	  preset data (also fix RT#72916)
	* Depends on Config::Model 1.265

2011-07-22  Dominique Dumont <domi.dumont@free.fr> v 1.218

        * OpenSsh backend: Fix bug that tried to open a file in /etc
          when saving ssh config as a regular user.

2011-05-11  Dominique Dumont <domi.dumont@free.fr> v 1.217

        * All Backend: test value with length instead of defined
          (avoid keyword without value lines)
        * added Test::Difference build dependency
        * lib/Config/Model/user.d/ssh: added forgotten user file for ssh

2011-04-11  Dominique Dumont  <domi.dumont@free.fr> v 1.216

    * All: use Any::Moose instead of plain Moose
    * depends on Any::Moose (fix RT# 67307)

2011-04-04  Dominique Dumont  <domi.dumont@free.fr> v 1.215

        * All models: Added author, license and class_description
        * Added generated documentation from configuration classes.
        * Requires Config::Model 1.236

2011-03-03  Dominique Dumont  <domi.dumont@free.fr> v 1.214

        * Fixed Build.PL to install files from lib/.../system.d/
        * Fixed Ssh backend to write Host pattern annotations/comments

2011-02-28  Dominique Dumont  <domi.dumont@free.fr> v 1.213

	* Fixed MANIFEST.SKIP to remove cruft shipped by Dist::Zilla. As
	  downstream packager, I was not amused :/

2011-02-23  Dominique Dumont  <domi.dumont@free.fr> v 1.212

	* Fixed Build.PL to include prereqs computed by Dist::Zilla

2011-02-21  Dominique Dumont  <domi.dumont@free.fr> v 1.211

	* *.t: fixed tests (Fix Debian bug #605792)
	* demo: split user and maintainer demo
	* removed config-edit-*. config-edit now has auto-completion and
	  can be invoked with '-application ssh' or '-application sshd'
        * removed dependency on Parse::RecDescent
        * depend on Config::Model 1.234
        * Single backend was split in 3 (OpenSsh, Ssh and Sshd) to benefit
          from C::M::Backend::Any

2010-02-02  Dominique Dumont  <dominique.dumont@hp.com>

	* demo/demo.pl (my_system): new demo (requires Config::Model::Itself)

2010-01-24  Dominique Dumont  <domi.dumont@free.fr>

	* lib/Config/Model/models/Ssh/PortForward.pl: host and hostport are mandatory

2010-01-22  Dominique Dumont  <dominique.dumont@hp.com> v1.210

	* lib/Config/Model/OpenSsh.pm: Modified to read and write Port
	forward information from PortForward config class.

	* lib/Config/Model/models/Ssh/PortForward.pl: New configuration
	class to make ssh port forwarding configuration easier.

2010-01-18  Dominique Dumont  <dominique.dumont@hp.com> v1.209

	* lib/Config/Model/models/Sshd.pl: Added automatic migration of
	data from deprecated KeepAlive parameter to TCPKeepAlive
	parameter. This enables an automatic migration from old sshd
	config to new syntax.

	* lib/Config/Model/models/Ssh/HostElement.pl: Since ssh_config doc
	mentions that LocalForward and RemoteForward can be specified
	several times, these 2 parameters are changed from leaf to a list
	of leaf.

	* lib/Config/Model/models/Ssh.pl: As specifying Host block as list
	of patterns and content was not practical, the Host element in Ssh
	model was changed from list of HostBlock nodes to hash of
	HostElement. The Host patterns is used as the key of the
	hash. This enables a better view of shh configuration in the GUI.

	* lib/Config/Model/OpenSsh.pm (assign): Store value in uniline
	leaf even with embedded white spaces.
	(write_all_host_block): adapted to Host structure change in model

2009-09-10  Dominique Dumont  <dominique.dumont@hp.com> v1.208

	* lib/Config/Model/models/**.pl: Changed 'level' of some elements
	to 'important' so the new wizard provided by C::M::TkUI will show
	the most imporant ssh and sshd configuration parameters.

2009-07-29  Dominique Dumont  <dominique.dumont@hp.com> v1.207

	* t/ssh_config.t: When run as root, skip the tests that must be
	run as regular user. (Fix Debian FTBS)

	* lib/Config/Model/models/Ssh/HostElement.pl: Fix model error:
	ServerAliveInterval is an integer, not a boolean

2009-06-24  Dominique Dumont  <domi.dumont@free.fr> v1.206

	* Build.PL: added forgotten dependency on
	Parse::RecDescent. Depends on Config::Model 0.637

2009-06-23  Dominique Dumont  <dominique.dumont@hp.com>

	* lib/Config/Model/models/**.pl: replaced deprecated 'built_in'
	model parameter with 'upstream_default'. (In fact I just had to
	run "config-model-edit -model Ssh -save" (from

2009-04-11  Dominique Dumont  <domi.dumont@free.fr> v1.205

	* lib/Config/Model/OpenSsh.pm (read_ssh_file): fix bug that breaks
	with Config::Model 0.635

2009-03-09  Dominique Dumont  <dominique.dumont@hp.com> v1.204

	* t/ssh_config.t: Removed unused options that broke with
	Config::Model 0.634

	* config-edit-ssh: Update documentation

2009-02-03  Dominique Dumont  <dominique.dumont@hp.com> v1.203

	* t/augeas_*.t: Do the exec only if Augeas part can be tested. Use
	$^X in exec instead of 'perl'. This should also fix tests in CPAN.

2009-02-02  Dominique Dumont  <dominique.dumont@hp.com> v1.202

	* t/augeas*.t : Changed Augeas locale workaround to reduce the
	number of test failures in CPAN tests.

2009-01-29  Dominique Dumont  <dominique.dumont@hp.com> v1.201

	* config-edit-sshd: added workaround Augeas locale bug

	* Sshd files: Major bug fixes for Augeas integration

	* lib/Config/Model/OpenSsh.pm (read_ssh_file): Fix:  Host names
	  are separated by white spaces and not comma

2008-11-16  Domi  <domi@bilbo.maison>

	* lib/Config/Model/models/Sshd.pl: Added write through Augeas so
	comment in /etc/ssh/sshd_config can be preserved (requires Augeas and

	* config-edit-ssh: new command line to edit ~/.ssh/config file (as
	normal user) or /etc/ssh/ssh_config (as root)

2008-05-26  Dominique Dumont v0.104

	* all: changed module name from Sshd to OpenSsh

2008-05-24  Dominique Dumont v0.103

	* lib/Config/Model/Sshd.pm (): Added doc

	* config-edit-sshd: new file