- Initial release of the Yamlator package
- Added a
Regex
type to the schema to support regex validation - Added support for
integers
andfloats
in theEnum
construct - Fixed bug with the the
Enum
andRuleset
construct names that prevented camel case from working - Updated the source code package from
src
toyamlator
- General improvements to existing documentation
- Updated urls in the
README.md
andsetup.py
to reflect the username change
- Added
Pylint
to thetest
workflow pipeline - Added a new
CodeQL
workflow pipeline - Added
YAML
as a display option using the CLI - Updated docstrings in the
validators
package - Updated
cmd.py
to be a sub package inyamlator
to improve code readability
- Added
strict
keyword to rulesets to enable strict mode, which will raise a strict violation for every field not defined in the ruleset - Added
strict
keyword to schema to enable strict mode, which will raise a strict violation for every field not defined in the schema block - Added new example strict_mode to the
example
directory - Updated GitHub workloads to use the latest actions
- Fixed bug with rule definitions where field names with similar character patterns to types would create two separate rules
- Improved the Yamlator grammar to allow rule names to accept options including symbols, unicode, spaces and dashes. Any YAML key that contains spaces, must be enclosed in double quotes
- Upgraded the Ubuntu version on the publish workflow
- Added support for Python 3.6+ by removing the
__future__
anddataclass
imports from the codebase - Downgraded pylint in the developer dependencies to allow for Python 3.6 to run locally
- Added the
union
data type to the schema to allow a key to be more than one specific type - Reduced the constraints on the
install_requirements
insetup.py
- Minor fixes and improvements to the overall codebase
- Added top level validation to Yamlator to support data structures that may not be an object or a map
- Minor docstring and structure improvements in the
tests/
module - Improvements to the codebase docstrings
- Added import statements to the Yamlator schema syntax that support importing one or more types
- Added namespaces to the import statements with the
as
keyword - Improvements to the loading of rulesets to allow for schema files to be less restrictive in the order resources are defined.
- Improvements to the grammar file to include new terminals and remove duplicate constructs
- Added ruleset inheritance to the Yamlator schema syntax
- Added dependency management to the ruleset inheritance process
- Added Python 3.11 to the
test
Github Workflow