Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-strictyaml for 
openSUSE:Factory checked in at 2022-03-10 22:45:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-strictyaml (Old)
 and      /work/SRC/openSUSE:Factory/.python-strictyaml.new.2349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-strictyaml"

Thu Mar 10 22:45:23 2022 rev:6 rq:960711 version:1.6.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-strictyaml/python-strictyaml.changes      
2021-08-03 22:49:29.456442575 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-strictyaml.new.2349/python-strictyaml.changes
    2022-03-11 11:34:10.158119682 +0100
@@ -1,0 +2,7 @@
+Wed Mar  9 10:02:18 UTC 2022 - Michael Str??der <mich...@stroeder.com>
+
+- update to 1.6.1
+  too many changes to be listed here
+  see detailed changelog: https://hitchdev.com/strictyaml/changelog/
+
+-------------------------------------------------------------------

Old:
----
  strictyaml-1.4.4.tar.gz

New:
----
  strictyaml-1.6.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-strictyaml.spec ++++++
--- /var/tmp/diff_new_pack.Lwm8Gi/_old  2022-03-11 11:34:10.638120245 +0100
+++ /var/tmp/diff_new_pack.Lwm8Gi/_new  2022-03-11 11:34:10.642120250 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-strictyaml
 #
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,8 +17,9 @@
 
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
+
 Name:           python-strictyaml
-Version:        1.4.4
+Version:        1.6.1
 Release:        0
 Summary:        Strict, typed YAML parser
 License:        MIT
@@ -30,8 +31,8 @@
 Requires:       python-python-dateutil >= 2.6.0
 BuildArch:      noarch
 # SECTION test requirements
-BuildRequires:  %{python_module pytest}
-BuildRequires:  %{python_module python-dateutil >= 2.6.0}
+# BuildRequires:  %{python_module pytest}
+# BuildRequires:  %{python_module python-dateutil >= 2.6.0}
 # /SECTION
 %python_subpackages
 

++++++ strictyaml-1.4.4.tar.gz -> strictyaml-1.6.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/strictyaml-1.4.4/PKG-INFO 
new/strictyaml-1.6.1/PKG-INFO
--- old/strictyaml-1.4.4/PKG-INFO       2021-06-19 20:35:01.669842500 +0200
+++ new/strictyaml-1.6.1/PKG-INFO       2021-11-28 19:08:59.655146400 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: strictyaml
-Version: 1.4.4
+Version: 1.6.1
 Summary: Strict, typed YAML parser
 Home-page: http://hitchdev.com/strictyaml
 Author: Colm O'Connor
@@ -207,19 +207,20 @@
         less the same purpose as StrictYAML. I've tried to make it the best 
one.
         Below is a series of documented justifications:
         
-        - [Why not use JSON Schema for 
validation?](https://hitchdev.com/strictyaml/why-not/)
-        - [What is wrong with TOML?](https://hitchdev.com/strictyaml/why-not/)
-        - [Why shouldn't I just use Python code for 
configuration?](https://hitchdev.com/strictyaml/why-not/)
-        - [Why not JSON5?](https://hitchdev.com/strictyaml/why-not/)
-        - [Why not JSON for simple configuration 
files?](https://hitchdev.com/strictyaml/why-not/)
-        - [Why avoid using environment variables as 
configuration?](https://hitchdev.com/strictyaml/why-not/)
-        - [Why not use XML for configuration or 
DSLs?](https://hitchdev.com/strictyaml/why-not/)
-        - [Why not use INI files?](https://hitchdev.com/strictyaml/why-not/)
-        - [Why not use the YAML 1.2 standard? - we don't need a new 
standard!](https://hitchdev.com/strictyaml/why-not/)
-        - [Why not use Python's schema library (or similar) for 
validation?](https://hitchdev.com/strictyaml/why-not/)
-        - [Why not HOCON?](https://hitchdev.com/strictyaml/why-not/)
-        - [Why not use SDLang?](https://hitchdev.com/strictyaml/why-not/)
-        - [Why not use kwalify with standard YAML to validate my 
YAML?](https://hitchdev.com/strictyaml/why-not/)
+        - [Why avoid using environment variables as 
configuration?](https://hitchdev.com/strictyaml/why-not/environment-variables-as-config)
+        - [Why not use HJSON?](https://hitchdev.com/strictyaml/why-not/hjson)
+        - [Why not HOCON?](https://hitchdev.com/strictyaml/why-not/hocon)
+        - [Why not use INI files?](https://hitchdev.com/strictyaml/why-not/ini)
+        - [Why not use JSON Schema for 
validation?](https://hitchdev.com/strictyaml/why-not/json-schema)
+        - [Why not JSON for simple configuration 
files?](https://hitchdev.com/strictyaml/why-not/json)
+        - [Why not JSON5?](https://hitchdev.com/strictyaml/why-not/json5)
+        - [Why not use the YAML 1.2 standard? - we don't need a new 
standard!](https://hitchdev.com/strictyaml/why-not/ordinary-yaml)
+        - [Why not use kwalify with standard YAML to validate my 
YAML?](https://hitchdev.com/strictyaml/why-not/pykwalify)
+        - [Why not use Python's schema library (or similar) for 
validation?](https://hitchdev.com/strictyaml/why-not/python-schema)
+        - [Why not use SDLang?](https://hitchdev.com/strictyaml/why-not/sdlang)
+        - [What is wrong with 
TOML?](https://hitchdev.com/strictyaml/why-not/toml)
+        - [Why shouldn't I just use Python code for 
configuration?](https://hitchdev.com/strictyaml/why-not/turing-complete-code)
+        - [Why not use XML for configuration or 
DSLs?](https://hitchdev.com/strictyaml/why-not/xml)
         
         
         
@@ -227,50 +228,52 @@
         
         How to:
         
-        - [Merge YAML 
documents](https://hitchdev.com/strictyaml/using/alpha/howto/)
-        - [Build a YAML document from scratch in 
code](https://hitchdev.com/strictyaml/using/alpha/howto/)
-        - [Reading in YAML, editing it and writing it back 
out](https://hitchdev.com/strictyaml/using/alpha/howto/)
-        - [Get line numbers of YAML 
elements](https://hitchdev.com/strictyaml/using/alpha/howto/)
-        - [Either/or schema validation of different, equally valid different 
kinds of YAML](https://hitchdev.com/strictyaml/using/alpha/howto/)
-        - [Labeling 
exceptions](https://hitchdev.com/strictyaml/using/alpha/howto/)
-        - [Parsing YAML without a 
schema](https://hitchdev.com/strictyaml/using/alpha/howto/)
-        - [Revalidate an already validated 
document](https://hitchdev.com/strictyaml/using/alpha/howto/)
+        - [Build a YAML document from scratch in 
code](https://hitchdev.com/strictyaml/using/alpha/howto/build-yaml-document)
+        - [Either/or schema validation of different, equally valid different 
kinds of 
YAML](https://hitchdev.com/strictyaml/using/alpha/howto/either-or-validation)
+        - [Labeling 
exceptions](https://hitchdev.com/strictyaml/using/alpha/howto/label-exceptions)
+        - [Merge YAML 
documents](https://hitchdev.com/strictyaml/using/alpha/howto/merge-yaml-documents)
+        - [Revalidate an already validated 
document](https://hitchdev.com/strictyaml/using/alpha/howto/revalidation)
+        - [Reading in YAML, editing it and writing it back 
out](https://hitchdev.com/strictyaml/using/alpha/howto/roundtripping)
+        - [Get line numbers of YAML 
elements](https://hitchdev.com/strictyaml/using/alpha/howto/what-line)
+        - [Parsing YAML without a 
schema](https://hitchdev.com/strictyaml/using/alpha/howto/without-a-schema)
         
         
         Compound validators:
         
-        - [Using a YAML object of a parsed 
mapping](https://hitchdev.com/strictyaml/using/alpha/compound/)
-        - [Mapping with defined keys and a custom key validator 
(Map)](https://hitchdev.com/strictyaml/using/alpha/compound/)
-        - [Mappings with defined keys 
(Map)](https://hitchdev.com/strictyaml/using/alpha/compound/)
-        - [Updating document with a 
schema](https://hitchdev.com/strictyaml/using/alpha/compound/)
-        - [Validating optional keys in mappings 
(Map)](https://hitchdev.com/strictyaml/using/alpha/compound/)
-        - [Mappings with arbitrary key names 
(MapPattern)](https://hitchdev.com/strictyaml/using/alpha/compound/)
-        - [Optional keys with defaults 
(Map/Optional)](https://hitchdev.com/strictyaml/using/alpha/compound/)
-        - [Sequence/list validator 
(Seq)](https://hitchdev.com/strictyaml/using/alpha/compound/)
-        - [Sequences of unique items 
(UniqueSeq)](https://hitchdev.com/strictyaml/using/alpha/compound/)
-        - [Fixed length sequences 
(FixedSeq)](https://hitchdev.com/strictyaml/using/alpha/compound/)
+        - [Fixed length sequences 
(FixedSeq)](https://hitchdev.com/strictyaml/using/alpha/compound/fixed-length-sequences)
+        - [Mappings combining defined and undefined keys 
(MapCombined)](https://hitchdev.com/strictyaml/using/alpha/compound/map-combined)
+        - [Mappings with arbitrary key names 
(MapPattern)](https://hitchdev.com/strictyaml/using/alpha/compound/map-pattern)
+        - [Mapping with defined keys and a custom key validator 
(Map)](https://hitchdev.com/strictyaml/using/alpha/compound/mapping-with-slug-keys)
+        - [Using a YAML object of a parsed 
mapping](https://hitchdev.com/strictyaml/using/alpha/compound/mapping-yaml-object)
+        - [Mappings with defined keys 
(Map)](https://hitchdev.com/strictyaml/using/alpha/compound/mapping)
+        - [Optional keys with defaults 
(Map/Optional)](https://hitchdev.com/strictyaml/using/alpha/compound/optional-keys-with-defaults)
+        - [Validating optional keys in mappings 
(Map)](https://hitchdev.com/strictyaml/using/alpha/compound/optional-keys)
+        - [Sequences of unique items 
(UniqueSeq)](https://hitchdev.com/strictyaml/using/alpha/compound/sequences-of-unique-items)
+        - [Sequence/list validator 
(Seq)](https://hitchdev.com/strictyaml/using/alpha/compound/sequences)
+        - [Updating document with a 
schema](https://hitchdev.com/strictyaml/using/alpha/compound/update)
         
         
         Scalar validators:
         
-        - [Empty key 
validation](https://hitchdev.com/strictyaml/using/alpha/scalar/)
-        - [Datetimes 
(Datetime)](https://hitchdev.com/strictyaml/using/alpha/scalar/)
-        - [Floating point numbers 
(Float)](https://hitchdev.com/strictyaml/using/alpha/scalar/)
-        - [Email and URL 
validators](https://hitchdev.com/strictyaml/using/alpha/scalar/)
-        - [Parsing comma separated items 
(CommaSeparated)](https://hitchdev.com/strictyaml/using/alpha/scalar/)
-        - [Integers (Int)](https://hitchdev.com/strictyaml/using/alpha/scalar/)
-        - [Decimal numbers 
(Decimal)](https://hitchdev.com/strictyaml/using/alpha/scalar/)
-        - [Boolean (Bool)](https://hitchdev.com/strictyaml/using/alpha/scalar/)
-        - [Validating strings with regexes 
(Regex)](https://hitchdev.com/strictyaml/using/alpha/scalar/)
-        - [Parsing strings 
(Str)](https://hitchdev.com/strictyaml/using/alpha/scalar/)
-        - [Enumerated scalars 
(Enum)](https://hitchdev.com/strictyaml/using/alpha/scalar/)
+        - [Boolean 
(Bool)](https://hitchdev.com/strictyaml/using/alpha/scalar/boolean)
+        - [Parsing comma separated items 
(CommaSeparated)](https://hitchdev.com/strictyaml/using/alpha/scalar/comma-separated)
+        - [Datetimes 
(Datetime)](https://hitchdev.com/strictyaml/using/alpha/scalar/datetime)
+        - [Decimal numbers 
(Decimal)](https://hitchdev.com/strictyaml/using/alpha/scalar/decimal)
+        - [Email and URL 
validators](https://hitchdev.com/strictyaml/using/alpha/scalar/email-and-url)
+        - [Empty key 
validation](https://hitchdev.com/strictyaml/using/alpha/scalar/empty)
+        - [Enumerated scalars 
(Enum)](https://hitchdev.com/strictyaml/using/alpha/scalar/enum)
+        - [Floating point numbers 
(Float)](https://hitchdev.com/strictyaml/using/alpha/scalar/float)
+        - [Hexadecimal Integers 
(HexInt)](https://hitchdev.com/strictyaml/using/alpha/scalar/hexadecimal-integer)
+        - [Integers 
(Int)](https://hitchdev.com/strictyaml/using/alpha/scalar/integer)
+        - [Validating strings with regexes 
(Regex)](https://hitchdev.com/strictyaml/using/alpha/scalar/regular-expressions)
+        - [Parsing strings 
(Str)](https://hitchdev.com/strictyaml/using/alpha/scalar/string)
         
         
         Restrictions:
         
-        - [Disallowed 
YAML](https://hitchdev.com/strictyaml/using/alpha/restrictions/)
-        - [Dirty 
load](https://hitchdev.com/strictyaml/using/alpha/restrictions/)
-        - [Duplicate 
keys](https://hitchdev.com/strictyaml/using/alpha/restrictions/)
+        - [Disallowed 
YAML](https://hitchdev.com/strictyaml/using/alpha/restrictions/disallowed-yaml)
+        - [Duplicate 
keys](https://hitchdev.com/strictyaml/using/alpha/restrictions/duplicate-keys)
+        - [Dirty 
load](https://hitchdev.com/strictyaml/using/alpha/restrictions/loading-dirty-yaml)
         
         
         
@@ -279,16 +282,16 @@
         There are some design decisions in StrictYAML which are controversial
         and/or not obvious. Those are documented here:
         
-        - [Why is parsing speed not a high priority for 
StrictYAML?](https://hitchdev.com/strictyaml/why/)
-        - [What is syntax typing?](https://hitchdev.com/strictyaml/why/)
-        - [What is wrong with node anchors and 
references?](https://hitchdev.com/strictyaml/why/)
-        - [What is wrong with duplicate 
keys?](https://hitchdev.com/strictyaml/why/)
-        - [What is wrong with explicit 
tags?](https://hitchdev.com/strictyaml/why/)
-        - [The Norway Problem - why StrictYAML refuses to do implicit typing 
and so should you](https://hitchdev.com/strictyaml/why/)
-        - [Why does StrictYAML not parse direct representations of Python 
objects?](https://hitchdev.com/strictyaml/why/)
-        - [Why does StrictYAML only parse from strings and not 
files?](https://hitchdev.com/strictyaml/why/)
-        - [Why does StrictYAML make you define a schema in Python - a 
Turing-complete language?](https://hitchdev.com/strictyaml/why/)
-        - [What is wrong with flow-style 
YAML?](https://hitchdev.com/strictyaml/why/)
+        - [What is wrong with duplicate 
keys?](https://hitchdev.com/strictyaml/why/duplicate-keys-disallowed)
+        - [What is wrong with explicit 
tags?](https://hitchdev.com/strictyaml/why/explicit-tags-removed)
+        - [What is wrong with flow-style 
YAML?](https://hitchdev.com/strictyaml/why/flow-style-removed)
+        - [The Norway Problem - why StrictYAML refuses to do implicit typing 
and so should you](https://hitchdev.com/strictyaml/why/implicit-typing-removed)
+        - [What is wrong with node anchors and 
references?](https://hitchdev.com/strictyaml/why/node-anchors-and-references-removed)
+        - [Why does StrictYAML not parse direct representations of Python 
objects?](https://hitchdev.com/strictyaml/why/not-parse-direct-representations-of-python-objects)
+        - [Why does StrictYAML only parse from strings and not 
files?](https://hitchdev.com/strictyaml/why/only-parse-strings-not-files)
+        - [Why is parsing speed not a high priority for 
StrictYAML?](https://hitchdev.com/strictyaml/why/speed-not-a-priority)
+        - [What is syntax 
typing?](https://hitchdev.com/strictyaml/why/syntax-typing-bad)
+        - [Why does StrictYAML make you define a schema in Python - a 
Turing-complete 
language?](https://hitchdev.com/strictyaml/why/turing-complete-schema)
         
         
         
@@ -296,9 +299,9 @@
         
         - @wwoods
         - @chrisburr
+        - @jnichols0
         
-        
-        ## Contributors
+        ## Other Contributors
         
         - @eulores
         - @WaltWoods
@@ -310,6 +313,7 @@
         - @jaredsampson
         - @BoboTIG
         
+        StrictYAML also includes code from 
[ruamel.yaml](https://yaml.readthedocs.io/en/latest/), Copyright Anthon van der 
Neut.
         
         ## Contributing
         
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/strictyaml-1.4.4/README.md 
new/strictyaml-1.6.1/README.md
--- old/strictyaml-1.4.4/README.md      2021-06-19 20:34:38.000000000 +0200
+++ new/strictyaml-1.6.1/README.md      2021-11-28 18:36:24.000000000 +0100
@@ -199,19 +199,20 @@
 less the same purpose as StrictYAML. I've tried to make it the best one.
 Below is a series of documented justifications:
 
-- [Why not use JSON Schema for 
validation?](https://hitchdev.com/strictyaml/why-not/)
-- [What is wrong with TOML?](https://hitchdev.com/strictyaml/why-not/)
-- [Why shouldn't I just use Python code for 
configuration?](https://hitchdev.com/strictyaml/why-not/)
-- [Why not JSON5?](https://hitchdev.com/strictyaml/why-not/)
-- [Why not JSON for simple configuration 
files?](https://hitchdev.com/strictyaml/why-not/)
-- [Why avoid using environment variables as 
configuration?](https://hitchdev.com/strictyaml/why-not/)
-- [Why not use XML for configuration or 
DSLs?](https://hitchdev.com/strictyaml/why-not/)
-- [Why not use INI files?](https://hitchdev.com/strictyaml/why-not/)
-- [Why not use the YAML 1.2 standard? - we don't need a new 
standard!](https://hitchdev.com/strictyaml/why-not/)
-- [Why not use Python's schema library (or similar) for 
validation?](https://hitchdev.com/strictyaml/why-not/)
-- [Why not HOCON?](https://hitchdev.com/strictyaml/why-not/)
-- [Why not use SDLang?](https://hitchdev.com/strictyaml/why-not/)
-- [Why not use kwalify with standard YAML to validate my 
YAML?](https://hitchdev.com/strictyaml/why-not/)
+- [Why avoid using environment variables as 
configuration?](https://hitchdev.com/strictyaml/why-not/environment-variables-as-config)
+- [Why not use HJSON?](https://hitchdev.com/strictyaml/why-not/hjson)
+- [Why not HOCON?](https://hitchdev.com/strictyaml/why-not/hocon)
+- [Why not use INI files?](https://hitchdev.com/strictyaml/why-not/ini)
+- [Why not use JSON Schema for 
validation?](https://hitchdev.com/strictyaml/why-not/json-schema)
+- [Why not JSON for simple configuration 
files?](https://hitchdev.com/strictyaml/why-not/json)
+- [Why not JSON5?](https://hitchdev.com/strictyaml/why-not/json5)
+- [Why not use the YAML 1.2 standard? - we don't need a new 
standard!](https://hitchdev.com/strictyaml/why-not/ordinary-yaml)
+- [Why not use kwalify with standard YAML to validate my 
YAML?](https://hitchdev.com/strictyaml/why-not/pykwalify)
+- [Why not use Python's schema library (or similar) for 
validation?](https://hitchdev.com/strictyaml/why-not/python-schema)
+- [Why not use SDLang?](https://hitchdev.com/strictyaml/why-not/sdlang)
+- [What is wrong with TOML?](https://hitchdev.com/strictyaml/why-not/toml)
+- [Why shouldn't I just use Python code for 
configuration?](https://hitchdev.com/strictyaml/why-not/turing-complete-code)
+- [Why not use XML for configuration or 
DSLs?](https://hitchdev.com/strictyaml/why-not/xml)
 
 
 
@@ -219,50 +220,52 @@
 
 How to:
 
-- [Merge YAML documents](https://hitchdev.com/strictyaml/using/alpha/howto/)
-- [Build a YAML document from scratch in 
code](https://hitchdev.com/strictyaml/using/alpha/howto/)
-- [Reading in YAML, editing it and writing it back 
out](https://hitchdev.com/strictyaml/using/alpha/howto/)
-- [Get line numbers of YAML 
elements](https://hitchdev.com/strictyaml/using/alpha/howto/)
-- [Either/or schema validation of different, equally valid different kinds of 
YAML](https://hitchdev.com/strictyaml/using/alpha/howto/)
-- [Labeling exceptions](https://hitchdev.com/strictyaml/using/alpha/howto/)
-- [Parsing YAML without a 
schema](https://hitchdev.com/strictyaml/using/alpha/howto/)
-- [Revalidate an already validated 
document](https://hitchdev.com/strictyaml/using/alpha/howto/)
+- [Build a YAML document from scratch in 
code](https://hitchdev.com/strictyaml/using/alpha/howto/build-yaml-document)
+- [Either/or schema validation of different, equally valid different kinds of 
YAML](https://hitchdev.com/strictyaml/using/alpha/howto/either-or-validation)
+- [Labeling 
exceptions](https://hitchdev.com/strictyaml/using/alpha/howto/label-exceptions)
+- [Merge YAML 
documents](https://hitchdev.com/strictyaml/using/alpha/howto/merge-yaml-documents)
+- [Revalidate an already validated 
document](https://hitchdev.com/strictyaml/using/alpha/howto/revalidation)
+- [Reading in YAML, editing it and writing it back 
out](https://hitchdev.com/strictyaml/using/alpha/howto/roundtripping)
+- [Get line numbers of YAML 
elements](https://hitchdev.com/strictyaml/using/alpha/howto/what-line)
+- [Parsing YAML without a 
schema](https://hitchdev.com/strictyaml/using/alpha/howto/without-a-schema)
 
 
 Compound validators:
 
-- [Using a YAML object of a parsed 
mapping](https://hitchdev.com/strictyaml/using/alpha/compound/)
-- [Mapping with defined keys and a custom key validator 
(Map)](https://hitchdev.com/strictyaml/using/alpha/compound/)
-- [Mappings with defined keys 
(Map)](https://hitchdev.com/strictyaml/using/alpha/compound/)
-- [Updating document with a 
schema](https://hitchdev.com/strictyaml/using/alpha/compound/)
-- [Validating optional keys in mappings 
(Map)](https://hitchdev.com/strictyaml/using/alpha/compound/)
-- [Mappings with arbitrary key names 
(MapPattern)](https://hitchdev.com/strictyaml/using/alpha/compound/)
-- [Optional keys with defaults 
(Map/Optional)](https://hitchdev.com/strictyaml/using/alpha/compound/)
-- [Sequence/list validator 
(Seq)](https://hitchdev.com/strictyaml/using/alpha/compound/)
-- [Sequences of unique items 
(UniqueSeq)](https://hitchdev.com/strictyaml/using/alpha/compound/)
-- [Fixed length sequences 
(FixedSeq)](https://hitchdev.com/strictyaml/using/alpha/compound/)
+- [Fixed length sequences 
(FixedSeq)](https://hitchdev.com/strictyaml/using/alpha/compound/fixed-length-sequences)
+- [Mappings combining defined and undefined keys 
(MapCombined)](https://hitchdev.com/strictyaml/using/alpha/compound/map-combined)
+- [Mappings with arbitrary key names 
(MapPattern)](https://hitchdev.com/strictyaml/using/alpha/compound/map-pattern)
+- [Mapping with defined keys and a custom key validator 
(Map)](https://hitchdev.com/strictyaml/using/alpha/compound/mapping-with-slug-keys)
+- [Using a YAML object of a parsed 
mapping](https://hitchdev.com/strictyaml/using/alpha/compound/mapping-yaml-object)
+- [Mappings with defined keys 
(Map)](https://hitchdev.com/strictyaml/using/alpha/compound/mapping)
+- [Optional keys with defaults 
(Map/Optional)](https://hitchdev.com/strictyaml/using/alpha/compound/optional-keys-with-defaults)
+- [Validating optional keys in mappings 
(Map)](https://hitchdev.com/strictyaml/using/alpha/compound/optional-keys)
+- [Sequences of unique items 
(UniqueSeq)](https://hitchdev.com/strictyaml/using/alpha/compound/sequences-of-unique-items)
+- [Sequence/list validator 
(Seq)](https://hitchdev.com/strictyaml/using/alpha/compound/sequences)
+- [Updating document with a 
schema](https://hitchdev.com/strictyaml/using/alpha/compound/update)
 
 
 Scalar validators:
 
-- [Empty key validation](https://hitchdev.com/strictyaml/using/alpha/scalar/)
-- [Datetimes (Datetime)](https://hitchdev.com/strictyaml/using/alpha/scalar/)
-- [Floating point numbers 
(Float)](https://hitchdev.com/strictyaml/using/alpha/scalar/)
-- [Email and URL 
validators](https://hitchdev.com/strictyaml/using/alpha/scalar/)
-- [Parsing comma separated items 
(CommaSeparated)](https://hitchdev.com/strictyaml/using/alpha/scalar/)
-- [Integers (Int)](https://hitchdev.com/strictyaml/using/alpha/scalar/)
-- [Decimal numbers 
(Decimal)](https://hitchdev.com/strictyaml/using/alpha/scalar/)
-- [Boolean (Bool)](https://hitchdev.com/strictyaml/using/alpha/scalar/)
-- [Validating strings with regexes 
(Regex)](https://hitchdev.com/strictyaml/using/alpha/scalar/)
-- [Parsing strings (Str)](https://hitchdev.com/strictyaml/using/alpha/scalar/)
-- [Enumerated scalars 
(Enum)](https://hitchdev.com/strictyaml/using/alpha/scalar/)
+- [Boolean (Bool)](https://hitchdev.com/strictyaml/using/alpha/scalar/boolean)
+- [Parsing comma separated items 
(CommaSeparated)](https://hitchdev.com/strictyaml/using/alpha/scalar/comma-separated)
+- [Datetimes 
(Datetime)](https://hitchdev.com/strictyaml/using/alpha/scalar/datetime)
+- [Decimal numbers 
(Decimal)](https://hitchdev.com/strictyaml/using/alpha/scalar/decimal)
+- [Email and URL 
validators](https://hitchdev.com/strictyaml/using/alpha/scalar/email-and-url)
+- [Empty key 
validation](https://hitchdev.com/strictyaml/using/alpha/scalar/empty)
+- [Enumerated scalars 
(Enum)](https://hitchdev.com/strictyaml/using/alpha/scalar/enum)
+- [Floating point numbers 
(Float)](https://hitchdev.com/strictyaml/using/alpha/scalar/float)
+- [Hexadecimal Integers 
(HexInt)](https://hitchdev.com/strictyaml/using/alpha/scalar/hexadecimal-integer)
+- [Integers (Int)](https://hitchdev.com/strictyaml/using/alpha/scalar/integer)
+- [Validating strings with regexes 
(Regex)](https://hitchdev.com/strictyaml/using/alpha/scalar/regular-expressions)
+- [Parsing strings 
(Str)](https://hitchdev.com/strictyaml/using/alpha/scalar/string)
 
 
 Restrictions:
 
-- [Disallowed YAML](https://hitchdev.com/strictyaml/using/alpha/restrictions/)
-- [Dirty load](https://hitchdev.com/strictyaml/using/alpha/restrictions/)
-- [Duplicate keys](https://hitchdev.com/strictyaml/using/alpha/restrictions/)
+- [Disallowed 
YAML](https://hitchdev.com/strictyaml/using/alpha/restrictions/disallowed-yaml)
+- [Duplicate 
keys](https://hitchdev.com/strictyaml/using/alpha/restrictions/duplicate-keys)
+- [Dirty 
load](https://hitchdev.com/strictyaml/using/alpha/restrictions/loading-dirty-yaml)
 
 
 
@@ -271,16 +274,16 @@
 There are some design decisions in StrictYAML which are controversial
 and/or not obvious. Those are documented here:
 
-- [Why is parsing speed not a high priority for 
StrictYAML?](https://hitchdev.com/strictyaml/why/)
-- [What is syntax typing?](https://hitchdev.com/strictyaml/why/)
-- [What is wrong with node anchors and 
references?](https://hitchdev.com/strictyaml/why/)
-- [What is wrong with duplicate keys?](https://hitchdev.com/strictyaml/why/)
-- [What is wrong with explicit tags?](https://hitchdev.com/strictyaml/why/)
-- [The Norway Problem - why StrictYAML refuses to do implicit typing and so 
should you](https://hitchdev.com/strictyaml/why/)
-- [Why does StrictYAML not parse direct representations of Python 
objects?](https://hitchdev.com/strictyaml/why/)
-- [Why does StrictYAML only parse from strings and not 
files?](https://hitchdev.com/strictyaml/why/)
-- [Why does StrictYAML make you define a schema in Python - a Turing-complete 
language?](https://hitchdev.com/strictyaml/why/)
-- [What is wrong with flow-style YAML?](https://hitchdev.com/strictyaml/why/)
+- [What is wrong with duplicate 
keys?](https://hitchdev.com/strictyaml/why/duplicate-keys-disallowed)
+- [What is wrong with explicit 
tags?](https://hitchdev.com/strictyaml/why/explicit-tags-removed)
+- [What is wrong with flow-style 
YAML?](https://hitchdev.com/strictyaml/why/flow-style-removed)
+- [The Norway Problem - why StrictYAML refuses to do implicit typing and so 
should you](https://hitchdev.com/strictyaml/why/implicit-typing-removed)
+- [What is wrong with node anchors and 
references?](https://hitchdev.com/strictyaml/why/node-anchors-and-references-removed)
+- [Why does StrictYAML not parse direct representations of Python 
objects?](https://hitchdev.com/strictyaml/why/not-parse-direct-representations-of-python-objects)
+- [Why does StrictYAML only parse from strings and not 
files?](https://hitchdev.com/strictyaml/why/only-parse-strings-not-files)
+- [Why is parsing speed not a high priority for 
StrictYAML?](https://hitchdev.com/strictyaml/why/speed-not-a-priority)
+- [What is syntax 
typing?](https://hitchdev.com/strictyaml/why/syntax-typing-bad)
+- [Why does StrictYAML make you define a schema in Python - a Turing-complete 
language?](https://hitchdev.com/strictyaml/why/turing-complete-schema)
 
 
 
@@ -288,9 +291,9 @@
 
 - @wwoods
 - @chrisburr
+- @jnichols0
 
-
-## Contributors
+## Other Contributors
 
 - @eulores
 - @WaltWoods
@@ -302,6 +305,7 @@
 - @jaredsampson
 - @BoboTIG
 
+StrictYAML also includes code from 
[ruamel.yaml](https://yaml.readthedocs.io/en/latest/), Copyright Anthon van der 
Neut.
 
 ## Contributing
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/strictyaml-1.4.4/VERSION new/strictyaml-1.6.1/VERSION
--- old/strictyaml-1.4.4/VERSION        2021-06-19 20:34:52.000000000 +0200
+++ new/strictyaml-1.6.1/VERSION        2021-11-28 19:08:43.000000000 +0100
@@ -1 +1 @@
-1.4.4
\ No newline at end of file
+1.6.1
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/strictyaml-1.4.4/hitch/hitchreqs.in 
new/strictyaml-1.6.1/hitch/hitchreqs.in
--- old/strictyaml-1.4.4/hitch/hitchreqs.in     2021-06-19 13:38:55.000000000 
+0200
+++ new/strictyaml-1.6.1/hitch/hitchreqs.in     2021-11-18 10:06:34.000000000 
+0100
@@ -1,2 +1,2 @@
 hitchrun>=0.4.0
-hitchpylibrarytoolkit>=0.4.5
+hitchpylibrarytoolkit>=0.5.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/strictyaml-1.4.4/hitch/hitchreqs.txt 
new/strictyaml-1.6.1/hitch/hitchreqs.txt
--- old/strictyaml-1.4.4/hitch/hitchreqs.txt    2021-06-19 13:44:08.000000000 
+0200
+++ new/strictyaml-1.6.1/hitch/hitchreqs.txt    2021-11-20 18:34:11.000000000 
+0100
@@ -1,87 +1,221 @@
-appdirs==1.4.4            # via black
-argcomplete==1.12.2       # via hitchrun
-backcall==0.2.0           # via ipython
-black==20.8b1             # via hitchpylibrarytoolkit
-bleach==3.2.1             # via readme-renderer
-certifi==2020.11.8        # via requests
-cffi==1.14.4              # via cryptography
-chardet==3.0.4            # via requests
-click==7.1.2              # via black, hitchrun, pip-tools
-colorama==0.4.4           # via hitchrun, hitchstory, prettystack, twine
-commandlib==0.3.5         # via hitchbuildpy, hitchrun, icommandlib
-cryptography==3.2.1       # via secretstorage
-decorator==4.4.2          # via ipython
-dirtemplate==0.4.0        # via hitchpylibrarytoolkit
-docutils==0.16            # via readme-renderer
-flake8==3.8.4             # via hitchpylibrarytoolkit
-gitdb==4.0.5              # via gitpython
-gitpython==3.1.11         # via hitchpylibrarytoolkit
-hitchbuild==0.6.3         # via dirtemplate, hitchbuildpy
-hitchbuildpy==0.5.4       # via hitchpylibrarytoolkit
-hitchpylibrarytoolkit==0.4.5  # via -r hitchreqs.in
-hitchrun==0.4.0           # via -r hitchreqs.in, hitchpylibrarytoolkit
-hitchrunpy==0.10.0        # via hitchpylibrarytoolkit
-hitchstory==0.12.1        # via hitchpylibrarytoolkit
-icommandlib==0.5.0        # via hitchrunpy
-idna==2.10                # via requests
-ipython-genutils==0.2.0   # via traitlets
-ipython==7.16.1           # via hitchpylibrarytoolkit
-jedi==0.17.2              # via ipython
-jeepney==0.6.0            # via keyring, secretstorage
-jinja2==2.11.2            # via dirtemplate, hitchrunpy, hitchstory, 
prettystack
-kaching==0.4.2            # via hitchpylibrarytoolkit
-keyring==21.5.0           # via twine
-markupsafe==1.1.1         # via jinja2
-mccabe==0.6.1             # via flake8
-mypy-extensions==0.4.3    # via black
-packaging==20.7           # via bleach
-parso==0.7.1              # via jedi
-path.py==12.5.0           # via hitchbuild, hitchrun, hitchrunpy, hitchstory, 
pathquery, prettystack
-path==15.0.0              # via path.py
-pathquery==0.3.0          # via dirtemplate, hitchbuild, hitchbuildpy, 
hitchstory
-pathspec==0.8.1           # via black
-peewee==3.14.0            # via hitchbuild
-pexpect==4.8.0            # via ipython
-pickleshare==0.7.5        # via ipython
-pip-tools==5.4.0          # via hitchrun
-pkginfo==1.6.1            # via twine
-prettystack==0.3.0        # via hitchrun, hitchrunpy, hitchstory
-prompt-toolkit==3.0.8     # via ipython
-psutil==5.7.3             # via icommandlib
-ptyprocess==0.6.0         # via pexpect
-pycodestyle==2.6.0        # via flake8
-pycparser==2.20           # via cffi
-pyflakes==2.2.0           # via flake8
-pygments==2.7.2           # via ipython, readme-renderer
-pyparsing==2.4.7          # via packaging
-pyte==0.8.0               # via icommandlib
-python-dateutil==2.8.1    # via strictyaml
-python-slugify==4.0.1     # via dirtemplate, hitchbuild, hitchstory
-pyuv==1.4.0               # via icommandlib
-q==2.6                    # via hitchpylibrarytoolkit
-readme-renderer==28.0     # via twine
-regex==2020.11.13         # via black
-requests-toolbelt==0.9.1  # via twine
-requests==2.25.0          # via requests-toolbelt, twine
-rfc3986==1.4.0            # via twine
-ruamel.yaml.clib==0.2.2   # via ruamel.yaml
-ruamel.yaml==0.16.12      # via strictyaml
-secretstorage==3.3.0      # via keyring
-six==1.15.0               # via bleach, cryptography, pip-tools, 
python-dateutil, readme-renderer
-smmap==3.0.4              # via gitdb
-strictyaml==1.1.1         # via dirtemplate, hitchstory
-templex==0.2.0            # via hitchpylibrarytoolkit
-text-unidecode==1.3       # via python-slugify
-toml==0.10.2              # via black
-tqdm==4.54.0              # via twine
-traitlets==5.0.4          # via ipython
-twine==3.2.0              # via hitchpylibrarytoolkit
-typed-ast==1.4.1          # via black
-typing-extensions==3.7.4.3  # via black
-urllib3==1.26.2           # via requests
-uvloop==0.14.0            # via icommandlib
-wcwidth==0.2.5            # via prompt-toolkit, pyte
-webencodings==0.5.1       # via bleach
+appdirs==1.4.4
+    # via black
+argcomplete==1.12.2
+    # via hitchrun
+backcall==0.2.0
+    # via ipython
+black==20.8b1
+    # via hitchpylibrarytoolkit
+bleach==3.2.1
+    # via readme-renderer
+certifi==2020.11.8
+    # via requests
+cffi==1.14.4
+    # via cryptography
+chardet==3.0.4
+    # via requests
+click==7.1.2
+    # via
+    #   black
+    #   hitchrun
+    #   pip-tools
+colorama==0.4.4
+    # via
+    #   hitchrun
+    #   hitchstory
+    #   prettystack
+    #   twine
+commandlib==0.3.5
+    # via
+    #   hitchbuildpy
+    #   hitchrun
+    #   icommandlib
+cryptography==3.2.1
+    # via secretstorage
+decorator==4.4.2
+    # via ipython
+dirtemplate==0.4.0
+    # via hitchpylibrarytoolkit
+docutils==0.16
+    # via readme-renderer
+flake8==3.8.4
+    # via hitchpylibrarytoolkit
+gitdb==4.0.5
+    # via gitpython
+gitpython==3.1.11
+    # via hitchpylibrarytoolkit
+hitchbuild==0.6.3
+    # via
+    #   dirtemplate
+    #   hitchbuildpy
+hitchbuildpy==0.5.4
+    # via hitchpylibrarytoolkit
+hitchpylibrarytoolkit==0.5.1
+    # via -r hitchreqs.in
+hitchrun==0.4.0
+    # via
+    #   -r hitchreqs.in
+    #   hitchpylibrarytoolkit
+hitchrunpy==0.10.0
+    # via hitchpylibrarytoolkit
+hitchstory==0.12.1
+    # via hitchpylibrarytoolkit
+icommandlib==0.5.0
+    # via hitchrunpy
+idna==2.10
+    # via requests
+ipython==7.16.1
+    # via hitchpylibrarytoolkit
+ipython-genutils==0.2.0
+    # via traitlets
+jedi==0.17.2
+    # via ipython
+jeepney==0.6.0
+    # via
+    #   keyring
+    #   secretstorage
+jinja2==2.11.2
+    # via
+    #   dirtemplate
+    #   hitchrunpy
+    #   hitchstory
+    #   prettystack
+kaching==0.4.2
+    # via hitchpylibrarytoolkit
+keyring==21.5.0
+    # via twine
+markupsafe==1.1.1
+    # via jinja2
+mccabe==0.6.1
+    # via flake8
+mypy-extensions==0.4.3
+    # via black
+packaging==20.7
+    # via bleach
+parso==0.7.1
+    # via jedi
+path==15.0.0
+    # via path.py
+path.py==12.5.0
+    # via
+    #   hitchbuild
+    #   hitchrun
+    #   hitchrunpy
+    #   hitchstory
+    #   pathquery
+    #   prettystack
+pathquery==0.3.0
+    # via
+    #   dirtemplate
+    #   hitchbuild
+    #   hitchbuildpy
+    #   hitchstory
+pathspec==0.8.1
+    # via black
+peewee==3.14.0
+    # via hitchbuild
+pep517==0.12.0
+    # via pip-tools
+pexpect==4.8.0
+    # via ipython
+pickleshare==0.7.5
+    # via ipython
+pip-tools==6.4.0
+    # via hitchrun
+pkginfo==1.6.1
+    # via twine
+prettystack==0.3.0
+    # via
+    #   hitchrun
+    #   hitchrunpy
+    #   hitchstory
+prompt-toolkit==3.0.8
+    # via ipython
+psutil==5.7.3
+    # via icommandlib
+ptyprocess==0.6.0
+    # via pexpect
+pycodestyle==2.6.0
+    # via flake8
+pycparser==2.20
+    # via cffi
+pyflakes==2.2.0
+    # via flake8
+pygments==2.7.2
+    # via
+    #   ipython
+    #   readme-renderer
+pyparsing==2.4.7
+    # via packaging
+pyte==0.8.0
+    # via icommandlib
+python-dateutil==2.8.1
+    # via strictyaml
+python-slugify==4.0.1
+    # via
+    #   dirtemplate
+    #   hitchbuild
+    #   hitchstory
+pyuv==1.4.0
+    # via icommandlib
+q==2.6
+    # via hitchpylibrarytoolkit
+readme-renderer==28.0
+    # via twine
+regex==2020.11.13
+    # via black
+requests==2.25.0
+    # via
+    #   requests-toolbelt
+    #   twine
+requests-toolbelt==0.9.1
+    # via twine
+rfc3986==1.4.0
+    # via twine
+secretstorage==3.3.0
+    # via keyring
+six==1.15.0
+    # via
+    #   bleach
+    #   cryptography
+    #   python-dateutil
+    #   readme-renderer
+smmap==3.0.4
+    # via gitdb
+strictyaml==1.5.0
+    # via
+    #   dirtemplate
+    #   hitchstory
+templex==0.2.0
+    # via hitchpylibrarytoolkit
+text-unidecode==1.3
+    # via python-slugify
+toml==0.10.2
+    # via black
+tomli==1.2.2
+    # via pep517
+tqdm==4.54.0
+    # via twine
+traitlets==5.0.4
+    # via ipython
+twine==3.2.0
+    # via hitchpylibrarytoolkit
+typed-ast==1.4.1
+    # via black
+typing-extensions==3.7.4.3
+    # via black
+urllib3==1.26.2
+    # via requests
+uvloop==0.14.0
+    # via icommandlib
+wcwidth==0.2.5
+    # via
+    #   prompt-toolkit
+    #   pyte
+webencodings==0.5.1
+    # via bleach
+wheel==0.37.0
+    # via pip-tools
 
 # The following packages are considered to be unsafe in a requirements file:
 # pip
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/strictyaml-1.4.4/hitch/key.py 
new/strictyaml-1.6.1/hitch/key.py
--- old/strictyaml-1.4.4/hitch/key.py   2021-06-19 20:13:07.000000000 +0200
+++ new/strictyaml-1.6.1/hitch/key.py   2021-11-18 18:01:07.000000000 +0100
@@ -115,7 +115,6 @@
     lint()
     doctests()
     storybook = _storybook().only_uninherited()
-    storybook.with_params(**{"python version": 
"2.7.14"}).ordered_by_name().play()
     storybook.with_params(**{"python version": 
"3.7.0"}).ordered_by_name().play()
 
 
@@ -129,6 +128,22 @@
     ).only_uninherited().ordered_by_name().play()
 
 
+@expected(hitchpylibrarytoolkit.ToolkitError)
+def checks():
+    """
+    Run all checks ensure linter, code formatter, tests and docgen all run 
correctly.
+
+    These checks should prevent code that doesn't have the proper checks run 
from being merged.
+    """
+    toolkit.validate_reformatting()
+    toolkit.lint(exclude=["__init__.py", "ruamel"])
+    toolkit.validate_readmegen(Engine(DIR))
+    toolkit.validate_docgen(Engine(DIR))
+    doctests()
+    storybook = _storybook().only_uninherited()
+    storybook.with_params(**{"python version": 
"3.7.0"}).ordered_by_name().play()
+
+
 def reformat():
     """
     Reformat using black and then relint.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/strictyaml-1.4.4/hitch/story/dirty-load.story 
new/strictyaml-1.6.1/hitch/story/dirty-load.story
--- old/strictyaml-1.4.4/hitch/story/dirty-load.story   2021-05-31 
18:29:13.000000000 +0200
+++ new/strictyaml-1.6.1/hitch/story/dirty-load.story   2021-11-28 
19:04:52.000000000 +0100
@@ -6,18 +6,20 @@
     by default, but since there have since been
     [some requests](https://github.com/crdoconnor/strictyaml/issues/38)
     to parse flow style, this now allowed with the "dirty_load" method.
+    If allow_flow_style is True, Map indentation is not checked for
+    consistency, as the indentation level is dependent on the map key length.
   given:
     setup: |
       from strictyaml import Map, Int, MapPattern, Seq, Str, Any, dirty_load
 
-      schema = Map({"x": Map({"a": Any(), "b": Any(), "c": Any()}), "y": 
MapPattern(Str(), Str()), "z": Seq(Str())})
+      schema = Map({"foo": Map({"a": Any(), "b": Any(), "c": Any()}), "y": 
MapPattern(Str(), Str()), "z": Seq(Str())})
   variations:
     Flow style mapping:
       given:
         yaml_snippet: |
-          x: { a: 1, b: 2, c: 3 }
+          foo: { a: 1, b: 2, c: 3 }
           y: {}
           z: []
       steps:
       - Run: |
-          assert dirty_load(yaml_snippet, schema, allow_flow_style=True) == 
{"x": {"a": "1", "b": "2", "c": "3"}, "y": {}, "z": []}
+          assert dirty_load(yaml_snippet, schema, allow_flow_style=True) == 
{"foo": {"a": "1", "b": "2", "c": "3"}, "y": {}, "z": []}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/strictyaml-1.4.4/hitch/story/map-combined.story 
new/strictyaml-1.6.1/hitch/story/map-combined.story
--- old/strictyaml-1.4.4/hitch/story/map-combined.story 1970-01-01 
01:00:00.000000000 +0100
+++ new/strictyaml-1.6.1/hitch/story/map-combined.story 2021-10-30 
17:29:51.000000000 +0200
@@ -0,0 +1,140 @@
+Mappings combining defined and undefined keys (MapCombined):
+  docs: compound/map-combined
+  based on: strictyaml
+  experimental: yes
+  description: |
+    When you wish to support arbitrary optional keys in
+    some mappings (i.e. to specify some required keys in
+    the schema, but allow any additional ones on top of
+    that), you use a MapCombined.
+
+    See 
https://github.com/crdoconnor/strictyaml/issues/148#issuecomment-861007657
+  given:
+    setup: |
+      from strictyaml import Any, Int, MapCombined, Optional, Str, load
+      from ensure import Ensure
+
+      schema = MapCombined(
+        {
+          "required": Str(),
+          Optional("foo"): Int(),
+        },
+        Str(),
+        Any(),
+      )
+  variations:
+    "Optional is present":
+      given:
+        yaml_snippet: |
+          required: Hello World
+          foo: 42
+          bar: 42
+      steps:
+      - Run: |
+          Ensure(load(yaml_snippet, schema).data).equals(
+              {
+                  "required": "Hello World",
+                  "foo": 42,
+                  "bar": "42",
+              }
+          )
+    "Optional is absent":
+      given:
+        yaml_snippet: |
+          required: Hello World
+          bar: 42
+      steps:
+      - Run: |
+          Ensure(load(yaml_snippet, schema).data).equals(
+              {
+                  "required": "Hello World",
+                  "bar": "42",
+              }
+          )
+    "Multiple undefined":
+      given:
+        yaml_snippet: |
+          required: Hello World
+          bar: 42
+          baz: forty two
+      steps:
+      - Run: |
+          Ensure(load(yaml_snippet, schema).data).equals(
+              {
+                  "required": "Hello World",
+                  "bar": "42",
+                  "baz": "forty two",
+              }
+          )
+    "Required is absent":
+      given:
+        yaml_snippet: |
+          bar: 42
+      steps:
+      - Run:
+          code:
+            load(yaml_snippet, schema)
+          raises:
+            type: strictyaml.exceptions.YAMLValidationError
+            message: |-
+              while parsing a mapping
+              required key(s) 'required' not found
+                in "<unicode string>", line 1, column 1:
+                  bar: '42'
+                   ^ (line: 1)
+    "Undefined of invalid type":
+      given:
+        setup: |
+          from strictyaml import Any, Int, MapCombined, Optional, Str, load
+          from ensure import Ensure
+
+          schema = MapCombined(
+            {
+              "required": Str(),
+            },
+            Str(),
+            Int(),
+          )
+        yaml_snippet: |
+          required: Hello World
+          bar: forty two
+      steps:
+      - Run:
+          code:
+            load(yaml_snippet, schema)
+          raises:
+            type: strictyaml.exceptions.YAMLValidationError
+            message: |-
+              when expecting an integer
+              found arbitrary text
+                in "<unicode string>", line 2, column 1:
+                  bar: forty two
+                  ^ (line: 2)
+    "Invalid key type":
+      given:
+        setup: |
+          from strictyaml import Any, Int, MapCombined, Optional, Str, load
+          from ensure import Ensure
+
+          schema = MapCombined(
+            {
+              "1": Str(),
+            },
+            Int(),
+            Str(),
+          )
+        yaml_snippet: |
+          1: Hello World
+          not_an_integer: 42
+      steps:
+      - Run:
+          code:
+            load(yaml_snippet, schema)
+          raises:
+            type: strictyaml.exceptions.YAMLValidationError
+            message: |-
+              when expecting an integer
+              found arbitrary text
+                in "<unicode string>", line 2, column 1:
+                  not_an_integer: '42'
+                  ^ (line: 2)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/strictyaml-1.4.4/hitch/story/scalar-hexadecimal-integer.story 
new/strictyaml-1.6.1/hitch/story/scalar-hexadecimal-integer.story
--- old/strictyaml-1.4.4/hitch/story/scalar-hexadecimal-integer.story   
1970-01-01 01:00:00.000000000 +0100
+++ new/strictyaml-1.6.1/hitch/story/scalar-hexadecimal-integer.story   
2021-10-14 21:22:51.000000000 +0200
@@ -0,0 +1,54 @@
+Hexadecimal Integers (HexInt):
+  docs: scalar/hexadecimal-integer
+  based on: strictyaml
+  description: |
+    StrictYAML can interpret a hexadecimal integer
+    preserving its value 
+  given:
+    yaml_snippet: |
+      x: 0x1a
+    setup: |
+      from strictyaml import Map, HexInt, load
+      from ensure import Ensure
+
+      schema = Map({"x": HexInt()})
+
+      parsed = load(yaml_snippet, schema)
+
+  variations:
+    Parsed correctly:
+      steps:
+      - Run: |
+          Ensure(parsed).equals({"x": 26})
+          Ensure(parsed.as_yaml()).equals("x: 0x1a\n")
+
+    Uppercase:
+      given:
+        yaml_snippet: |
+          x: 0X1A
+      steps:
+        - Run:
+            code: |
+              Ensure(load(yaml_snippet, schema).data).equals({"x": 26})
+              Ensure(load(yaml_snippet, schema).as_yaml()).equals("x: 0X1A\n")
+
+Invalid scalar hexadecimal integer:
+  based on: strictyaml
+  given:
+    yaml_snippet: |
+      x: some_string
+    setup: |
+      from strictyaml import Map, HexInt, load
+
+      schema = Map({"x": HexInt()})
+  steps:
+  - Run:
+      code: load(yaml_snippet, schema)
+      raises:
+        type: strictyaml.exceptions.YAMLValidationError
+        message: |-
+          when expecting a hexadecimal integer
+          found arbitrary text
+            in "<unicode string>", line 1, column 1:
+              x: some_string
+               ^ (line: 1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/strictyaml-1.4.4/strictyaml/__init__.py 
new/strictyaml-1.6.1/strictyaml/__init__.py
--- old/strictyaml-1.4.4/strictyaml/__init__.py 2021-06-19 20:35:00.000000000 
+0200
+++ new/strictyaml-1.6.1/strictyaml/__init__.py 2021-11-28 19:08:58.000000000 
+0100
@@ -19,6 +19,7 @@
 from strictyaml.scalar import Url
 from strictyaml.scalar import Str
 from strictyaml.scalar import Int
+from strictyaml.scalar import HexInt
 from strictyaml.scalar import Bool
 from strictyaml.scalar import Float
 from strictyaml.scalar import Decimal
@@ -31,6 +32,7 @@
 from strictyaml.compound import Optional
 from strictyaml.compound import Map
 from strictyaml.compound import MapPattern
+from strictyaml.compound import MapCombined
 from strictyaml.compound import Seq
 from strictyaml.compound import UniqueSeq
 from strictyaml.compound import FixedSeq
@@ -51,4 +53,4 @@
 from strictyaml.exceptions import DuplicateKeysDisallowed
 from strictyaml import exceptions
 
-__version__ = "1.4.4"
+__version__ = "1.6.1"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/strictyaml-1.4.4/strictyaml/compound.py 
new/strictyaml-1.6.1/strictyaml/compound.py
--- old/strictyaml-1.4.4/strictyaml/compound.py 2021-06-19 13:15:00.000000000 
+0200
+++ new/strictyaml-1.6.1/strictyaml/compound.py 2021-10-30 17:29:51.000000000 
+0200
@@ -147,6 +147,15 @@
             )
         )
 
+    def get_validator(self, key):
+        return self._validator_dict[key]
+
+    def unexpected_key(self, key, yaml_key, value, chunk):
+        key.expecting_but_found(
+            u"while parsing a mapping",
+            u"unexpected key not in schema 
'{0}'".format(unicode(yaml_key.scalar)),
+        )
+
     def validate(self, chunk):
         found_keys = set()
         items = chunk.expect_mapping()
@@ -155,14 +164,9 @@
             yaml_key = self._key_validator(key)
 
             if yaml_key.scalar not in self._validator_dict.keys():
-                key.expecting_but_found(
-                    u"while parsing a mapping",
-                    u"unexpected key not in schema '{0}'".format(
-                        unicode(yaml_key.scalar)
-                    ),
-                )
+                self.unexpected_key(key, yaml_key, value, chunk)
 
-            value.process(self._validator_dict[yaml_key.scalar](value))
+            value.process(self.get_validator(yaml_key.scalar)(value))
             key.process(yaml_key)
             chunk.add_key_association(key.contents, yaml_key.data)
             found_keys.add(yaml_key.scalar)
@@ -172,7 +176,7 @@
                 key_chunk = YAMLChunk(default_key)
                 yaml_key = self._key_validator(key_chunk)
                 strictindex = yaml_key.data
-                value_validator = self._validator_dict[default_key]
+                value_validator = self.get_validator(default_key)
                 new_value = value_validator(
                     YAMLChunk(value_validator.to_yaml(default_data))
                 )
@@ -210,7 +214,7 @@
         # TODO : if keys not in list or required keys missing, raise exception.
         return CommentedMap(
             [
-                (key, self._validator_dict[key].to_yaml(value))
+                (key, self.get_validator(key).to_yaml(value))
                 for key, value in data.items()
                 if key not in self._defaults.keys()
                 or key in self._defaults.keys()
@@ -219,6 +223,18 @@
         )
 
 
+class MapCombined(Map):
+    def __init__(self, map_validator, key_validator, value_validator):
+        super(MapCombined, self).__init__(map_validator, key_validator)
+        self._value_validator = value_validator
+
+    def get_validator(self, key):
+        return self._validator_dict.get(key, self._value_validator)
+
+    def unexpected_key(self, key, yaml_key, value, chunk):
+        pass
+
+
 class Seq(SeqValidator):
     def __init__(self, validator):
         self._validator = validator
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/strictyaml-1.4.4/strictyaml/parser.py 
new/strictyaml-1.6.1/strictyaml/parser.py
--- old/strictyaml-1.4.4/strictyaml/parser.py   2021-06-19 13:24:29.000000000 
+0200
+++ new/strictyaml-1.6.1/strictyaml/parser.py   2021-11-28 19:01:46.000000000 
+0100
@@ -110,23 +110,28 @@
         if merge_map:
             maptyp.add_yaml_merge(merge_map)
 
-        previous_indentation = None
+        # Don't verify Mapping indentation when allowing flow,
+        # as that disallows:
+        #   short_key: { x = 1 }
+        #   very_long_key: { x = 1 }
+        if not self.allow_flow_style:
+            previous_indentation = None
 
-        for node in [
-            nodegroup[1]
-            for nodegroup in node.value
-            if isinstance(nodegroup[1], ruamelyaml.nodes.MappingNode)
-        ]:
-            if previous_indentation is None:
-                previous_indentation = node.start_mark.column
-            if node.start_mark.column != previous_indentation:
-                raise exceptions.InconsistentIndentationDisallowed(
-                    "While parsing",
-                    node.start_mark,
-                    "Found mapping with indentation "
-                    "inconsistent with previous mapping",
-                    node.end_mark,
-                )
+            for node in [
+                nodegroup[1]
+                for nodegroup in node.value
+                if isinstance(nodegroup[1], ruamelyaml.nodes.MappingNode)
+            ]:
+                if previous_indentation is None:
+                    previous_indentation = node.start_mark.column
+                if node.start_mark.column != previous_indentation:
+                    raise exceptions.InconsistentIndentationDisallowed(
+                        "While parsing",
+                        node.start_mark,
+                        "Found mapping with indentation "
+                        "inconsistent with previous mapping",
+                        node.end_mark,
+                    )
 
 
 StrictYAMLConstructor.add_constructor(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/strictyaml-1.4.4/strictyaml/scalar.py 
new/strictyaml-1.6.1/strictyaml/scalar.py
--- old/strictyaml-1.4.4/strictyaml/scalar.py   2021-06-19 13:22:38.000000000 
+0200
+++ new/strictyaml-1.6.1/strictyaml/scalar.py   2021-10-14 21:22:51.000000000 
+0200
@@ -178,6 +178,22 @@
         raise YAMLSerializationError("'{}' not an integer.".format(data))
 
 
+class HexInt(ScalarValidator):
+    def validate_scalar(self, chunk):
+        val = chunk.contents
+        if not utils.is_hexadecimal(val):
+            chunk.expecting_but_found("when expecting a hexadecimal integer")
+        return int(val, 16)
+
+    def to_yaml(self, data):
+        if utils.is_hexadecimal(data):
+            if isinstance(data, int):
+                return hex(data)
+            else:
+                return data
+        raise YAMLSerializationError("'{}' not a hexademial 
integer.".format(data))
+
+
 class Bool(ScalarValidator):
     def validate_scalar(self, chunk):
         val = chunk.contents
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/strictyaml-1.4.4/strictyaml/utils.py 
new/strictyaml-1.6.1/strictyaml/utils.py
--- old/strictyaml-1.4.4/strictyaml/utils.py    2021-06-19 13:15:00.000000000 
+0200
+++ new/strictyaml-1.6.1/strictyaml/utils.py    2021-10-14 21:22:51.000000000 
+0200
@@ -79,6 +79,31 @@
     return compile(r"^[-+]?[0-9_]+$").match(value) is not None
 
 
+def is_hexadecimal(value):
+    """
+    Is a string a string of a hexademcial integer?
+
+    >>> is_hexadecimal("0xa1")
+    True
+
+    >>> is_hexadecimal("0XA1")
+    True
+
+    >>> is_hexadecimal("0xa1x")
+    False
+
+    >>> is_hexadecimal("xa1")
+    False
+
+    >>> is_hexadecimal("a1")
+    False
+
+    >>> is_hexadecimal("1")
+    False
+    """
+    return compile(r"^0[xX]+[a-fA-F0-9]+$").match(value) is not None
+
+
 def is_decimal(value):
     """
     Is a string a decimal?
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/strictyaml-1.4.4/strictyaml.egg-info/PKG-INFO 
new/strictyaml-1.6.1/strictyaml.egg-info/PKG-INFO
--- old/strictyaml-1.4.4/strictyaml.egg-info/PKG-INFO   2021-06-19 
20:35:01.000000000 +0200
+++ new/strictyaml-1.6.1/strictyaml.egg-info/PKG-INFO   2021-11-28 
19:08:58.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: strictyaml
-Version: 1.4.4
+Version: 1.6.1
 Summary: Strict, typed YAML parser
 Home-page: http://hitchdev.com/strictyaml
 Author: Colm O'Connor
@@ -207,19 +207,20 @@
         less the same purpose as StrictYAML. I've tried to make it the best 
one.
         Below is a series of documented justifications:
         
-        - [Why not use JSON Schema for 
validation?](https://hitchdev.com/strictyaml/why-not/)
-        - [What is wrong with TOML?](https://hitchdev.com/strictyaml/why-not/)
-        - [Why shouldn't I just use Python code for 
configuration?](https://hitchdev.com/strictyaml/why-not/)
-        - [Why not JSON5?](https://hitchdev.com/strictyaml/why-not/)
-        - [Why not JSON for simple configuration 
files?](https://hitchdev.com/strictyaml/why-not/)
-        - [Why avoid using environment variables as 
configuration?](https://hitchdev.com/strictyaml/why-not/)
-        - [Why not use XML for configuration or 
DSLs?](https://hitchdev.com/strictyaml/why-not/)
-        - [Why not use INI files?](https://hitchdev.com/strictyaml/why-not/)
-        - [Why not use the YAML 1.2 standard? - we don't need a new 
standard!](https://hitchdev.com/strictyaml/why-not/)
-        - [Why not use Python's schema library (or similar) for 
validation?](https://hitchdev.com/strictyaml/why-not/)
-        - [Why not HOCON?](https://hitchdev.com/strictyaml/why-not/)
-        - [Why not use SDLang?](https://hitchdev.com/strictyaml/why-not/)
-        - [Why not use kwalify with standard YAML to validate my 
YAML?](https://hitchdev.com/strictyaml/why-not/)
+        - [Why avoid using environment variables as 
configuration?](https://hitchdev.com/strictyaml/why-not/environment-variables-as-config)
+        - [Why not use HJSON?](https://hitchdev.com/strictyaml/why-not/hjson)
+        - [Why not HOCON?](https://hitchdev.com/strictyaml/why-not/hocon)
+        - [Why not use INI files?](https://hitchdev.com/strictyaml/why-not/ini)
+        - [Why not use JSON Schema for 
validation?](https://hitchdev.com/strictyaml/why-not/json-schema)
+        - [Why not JSON for simple configuration 
files?](https://hitchdev.com/strictyaml/why-not/json)
+        - [Why not JSON5?](https://hitchdev.com/strictyaml/why-not/json5)
+        - [Why not use the YAML 1.2 standard? - we don't need a new 
standard!](https://hitchdev.com/strictyaml/why-not/ordinary-yaml)
+        - [Why not use kwalify with standard YAML to validate my 
YAML?](https://hitchdev.com/strictyaml/why-not/pykwalify)
+        - [Why not use Python's schema library (or similar) for 
validation?](https://hitchdev.com/strictyaml/why-not/python-schema)
+        - [Why not use SDLang?](https://hitchdev.com/strictyaml/why-not/sdlang)
+        - [What is wrong with 
TOML?](https://hitchdev.com/strictyaml/why-not/toml)
+        - [Why shouldn't I just use Python code for 
configuration?](https://hitchdev.com/strictyaml/why-not/turing-complete-code)
+        - [Why not use XML for configuration or 
DSLs?](https://hitchdev.com/strictyaml/why-not/xml)
         
         
         
@@ -227,50 +228,52 @@
         
         How to:
         
-        - [Merge YAML 
documents](https://hitchdev.com/strictyaml/using/alpha/howto/)
-        - [Build a YAML document from scratch in 
code](https://hitchdev.com/strictyaml/using/alpha/howto/)
-        - [Reading in YAML, editing it and writing it back 
out](https://hitchdev.com/strictyaml/using/alpha/howto/)
-        - [Get line numbers of YAML 
elements](https://hitchdev.com/strictyaml/using/alpha/howto/)
-        - [Either/or schema validation of different, equally valid different 
kinds of YAML](https://hitchdev.com/strictyaml/using/alpha/howto/)
-        - [Labeling 
exceptions](https://hitchdev.com/strictyaml/using/alpha/howto/)
-        - [Parsing YAML without a 
schema](https://hitchdev.com/strictyaml/using/alpha/howto/)
-        - [Revalidate an already validated 
document](https://hitchdev.com/strictyaml/using/alpha/howto/)
+        - [Build a YAML document from scratch in 
code](https://hitchdev.com/strictyaml/using/alpha/howto/build-yaml-document)
+        - [Either/or schema validation of different, equally valid different 
kinds of 
YAML](https://hitchdev.com/strictyaml/using/alpha/howto/either-or-validation)
+        - [Labeling 
exceptions](https://hitchdev.com/strictyaml/using/alpha/howto/label-exceptions)
+        - [Merge YAML 
documents](https://hitchdev.com/strictyaml/using/alpha/howto/merge-yaml-documents)
+        - [Revalidate an already validated 
document](https://hitchdev.com/strictyaml/using/alpha/howto/revalidation)
+        - [Reading in YAML, editing it and writing it back 
out](https://hitchdev.com/strictyaml/using/alpha/howto/roundtripping)
+        - [Get line numbers of YAML 
elements](https://hitchdev.com/strictyaml/using/alpha/howto/what-line)
+        - [Parsing YAML without a 
schema](https://hitchdev.com/strictyaml/using/alpha/howto/without-a-schema)
         
         
         Compound validators:
         
-        - [Using a YAML object of a parsed 
mapping](https://hitchdev.com/strictyaml/using/alpha/compound/)
-        - [Mapping with defined keys and a custom key validator 
(Map)](https://hitchdev.com/strictyaml/using/alpha/compound/)
-        - [Mappings with defined keys 
(Map)](https://hitchdev.com/strictyaml/using/alpha/compound/)
-        - [Updating document with a 
schema](https://hitchdev.com/strictyaml/using/alpha/compound/)
-        - [Validating optional keys in mappings 
(Map)](https://hitchdev.com/strictyaml/using/alpha/compound/)
-        - [Mappings with arbitrary key names 
(MapPattern)](https://hitchdev.com/strictyaml/using/alpha/compound/)
-        - [Optional keys with defaults 
(Map/Optional)](https://hitchdev.com/strictyaml/using/alpha/compound/)
-        - [Sequence/list validator 
(Seq)](https://hitchdev.com/strictyaml/using/alpha/compound/)
-        - [Sequences of unique items 
(UniqueSeq)](https://hitchdev.com/strictyaml/using/alpha/compound/)
-        - [Fixed length sequences 
(FixedSeq)](https://hitchdev.com/strictyaml/using/alpha/compound/)
+        - [Fixed length sequences 
(FixedSeq)](https://hitchdev.com/strictyaml/using/alpha/compound/fixed-length-sequences)
+        - [Mappings combining defined and undefined keys 
(MapCombined)](https://hitchdev.com/strictyaml/using/alpha/compound/map-combined)
+        - [Mappings with arbitrary key names 
(MapPattern)](https://hitchdev.com/strictyaml/using/alpha/compound/map-pattern)
+        - [Mapping with defined keys and a custom key validator 
(Map)](https://hitchdev.com/strictyaml/using/alpha/compound/mapping-with-slug-keys)
+        - [Using a YAML object of a parsed 
mapping](https://hitchdev.com/strictyaml/using/alpha/compound/mapping-yaml-object)
+        - [Mappings with defined keys 
(Map)](https://hitchdev.com/strictyaml/using/alpha/compound/mapping)
+        - [Optional keys with defaults 
(Map/Optional)](https://hitchdev.com/strictyaml/using/alpha/compound/optional-keys-with-defaults)
+        - [Validating optional keys in mappings 
(Map)](https://hitchdev.com/strictyaml/using/alpha/compound/optional-keys)
+        - [Sequences of unique items 
(UniqueSeq)](https://hitchdev.com/strictyaml/using/alpha/compound/sequences-of-unique-items)
+        - [Sequence/list validator 
(Seq)](https://hitchdev.com/strictyaml/using/alpha/compound/sequences)
+        - [Updating document with a 
schema](https://hitchdev.com/strictyaml/using/alpha/compound/update)
         
         
         Scalar validators:
         
-        - [Empty key 
validation](https://hitchdev.com/strictyaml/using/alpha/scalar/)
-        - [Datetimes 
(Datetime)](https://hitchdev.com/strictyaml/using/alpha/scalar/)
-        - [Floating point numbers 
(Float)](https://hitchdev.com/strictyaml/using/alpha/scalar/)
-        - [Email and URL 
validators](https://hitchdev.com/strictyaml/using/alpha/scalar/)
-        - [Parsing comma separated items 
(CommaSeparated)](https://hitchdev.com/strictyaml/using/alpha/scalar/)
-        - [Integers (Int)](https://hitchdev.com/strictyaml/using/alpha/scalar/)
-        - [Decimal numbers 
(Decimal)](https://hitchdev.com/strictyaml/using/alpha/scalar/)
-        - [Boolean (Bool)](https://hitchdev.com/strictyaml/using/alpha/scalar/)
-        - [Validating strings with regexes 
(Regex)](https://hitchdev.com/strictyaml/using/alpha/scalar/)
-        - [Parsing strings 
(Str)](https://hitchdev.com/strictyaml/using/alpha/scalar/)
-        - [Enumerated scalars 
(Enum)](https://hitchdev.com/strictyaml/using/alpha/scalar/)
+        - [Boolean 
(Bool)](https://hitchdev.com/strictyaml/using/alpha/scalar/boolean)
+        - [Parsing comma separated items 
(CommaSeparated)](https://hitchdev.com/strictyaml/using/alpha/scalar/comma-separated)
+        - [Datetimes 
(Datetime)](https://hitchdev.com/strictyaml/using/alpha/scalar/datetime)
+        - [Decimal numbers 
(Decimal)](https://hitchdev.com/strictyaml/using/alpha/scalar/decimal)
+        - [Email and URL 
validators](https://hitchdev.com/strictyaml/using/alpha/scalar/email-and-url)
+        - [Empty key 
validation](https://hitchdev.com/strictyaml/using/alpha/scalar/empty)
+        - [Enumerated scalars 
(Enum)](https://hitchdev.com/strictyaml/using/alpha/scalar/enum)
+        - [Floating point numbers 
(Float)](https://hitchdev.com/strictyaml/using/alpha/scalar/float)
+        - [Hexadecimal Integers 
(HexInt)](https://hitchdev.com/strictyaml/using/alpha/scalar/hexadecimal-integer)
+        - [Integers 
(Int)](https://hitchdev.com/strictyaml/using/alpha/scalar/integer)
+        - [Validating strings with regexes 
(Regex)](https://hitchdev.com/strictyaml/using/alpha/scalar/regular-expressions)
+        - [Parsing strings 
(Str)](https://hitchdev.com/strictyaml/using/alpha/scalar/string)
         
         
         Restrictions:
         
-        - [Disallowed 
YAML](https://hitchdev.com/strictyaml/using/alpha/restrictions/)
-        - [Dirty 
load](https://hitchdev.com/strictyaml/using/alpha/restrictions/)
-        - [Duplicate 
keys](https://hitchdev.com/strictyaml/using/alpha/restrictions/)
+        - [Disallowed 
YAML](https://hitchdev.com/strictyaml/using/alpha/restrictions/disallowed-yaml)
+        - [Duplicate 
keys](https://hitchdev.com/strictyaml/using/alpha/restrictions/duplicate-keys)
+        - [Dirty 
load](https://hitchdev.com/strictyaml/using/alpha/restrictions/loading-dirty-yaml)
         
         
         
@@ -279,16 +282,16 @@
         There are some design decisions in StrictYAML which are controversial
         and/or not obvious. Those are documented here:
         
-        - [Why is parsing speed not a high priority for 
StrictYAML?](https://hitchdev.com/strictyaml/why/)
-        - [What is syntax typing?](https://hitchdev.com/strictyaml/why/)
-        - [What is wrong with node anchors and 
references?](https://hitchdev.com/strictyaml/why/)
-        - [What is wrong with duplicate 
keys?](https://hitchdev.com/strictyaml/why/)
-        - [What is wrong with explicit 
tags?](https://hitchdev.com/strictyaml/why/)
-        - [The Norway Problem - why StrictYAML refuses to do implicit typing 
and so should you](https://hitchdev.com/strictyaml/why/)
-        - [Why does StrictYAML not parse direct representations of Python 
objects?](https://hitchdev.com/strictyaml/why/)
-        - [Why does StrictYAML only parse from strings and not 
files?](https://hitchdev.com/strictyaml/why/)
-        - [Why does StrictYAML make you define a schema in Python - a 
Turing-complete language?](https://hitchdev.com/strictyaml/why/)
-        - [What is wrong with flow-style 
YAML?](https://hitchdev.com/strictyaml/why/)
+        - [What is wrong with duplicate 
keys?](https://hitchdev.com/strictyaml/why/duplicate-keys-disallowed)
+        - [What is wrong with explicit 
tags?](https://hitchdev.com/strictyaml/why/explicit-tags-removed)
+        - [What is wrong with flow-style 
YAML?](https://hitchdev.com/strictyaml/why/flow-style-removed)
+        - [The Norway Problem - why StrictYAML refuses to do implicit typing 
and so should you](https://hitchdev.com/strictyaml/why/implicit-typing-removed)
+        - [What is wrong with node anchors and 
references?](https://hitchdev.com/strictyaml/why/node-anchors-and-references-removed)
+        - [Why does StrictYAML not parse direct representations of Python 
objects?](https://hitchdev.com/strictyaml/why/not-parse-direct-representations-of-python-objects)
+        - [Why does StrictYAML only parse from strings and not 
files?](https://hitchdev.com/strictyaml/why/only-parse-strings-not-files)
+        - [Why is parsing speed not a high priority for 
StrictYAML?](https://hitchdev.com/strictyaml/why/speed-not-a-priority)
+        - [What is syntax 
typing?](https://hitchdev.com/strictyaml/why/syntax-typing-bad)
+        - [Why does StrictYAML make you define a schema in Python - a 
Turing-complete 
language?](https://hitchdev.com/strictyaml/why/turing-complete-schema)
         
         
         
@@ -296,9 +299,9 @@
         
         - @wwoods
         - @chrisburr
+        - @jnichols0
         
-        
-        ## Contributors
+        ## Other Contributors
         
         - @eulores
         - @WaltWoods
@@ -310,6 +313,7 @@
         - @jaredsampson
         - @BoboTIG
         
+        StrictYAML also includes code from 
[ruamel.yaml](https://yaml.readthedocs.io/en/latest/), Copyright Anthon van der 
Neut.
         
         ## Contributing
         
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/strictyaml-1.4.4/strictyaml.egg-info/SOURCES.txt 
new/strictyaml-1.6.1/strictyaml.egg-info/SOURCES.txt
--- old/strictyaml-1.4.4/strictyaml.egg-info/SOURCES.txt        2021-06-19 
20:35:01.000000000 +0200
+++ new/strictyaml-1.6.1/strictyaml.egg-info/SOURCES.txt        2021-11-28 
19:08:59.000000000 +0100
@@ -29,6 +29,7 @@
 hitch/story/fixed-sequence.story
 hitch/story/float.story
 hitch/story/handle-exceptions.story
+hitch/story/map-combined.story
 hitch/story/map-with-key-validator.story
 hitch/story/map.story
 hitch/story/map.toml
@@ -44,6 +45,7 @@
 hitch/story/regexp.story
 hitch/story/revalidation.story
 hitch/story/roundtrip.story
+hitch/story/scalar-hexadecimal-integer.story
 hitch/story/scalar-integer.story
 hitch/story/scalar-string.story
 hitch/story/sequence.story

Reply via email to