Features
- Alphabetical rule function now supports numeric keys #730
- Non-JSON-ish YAML mapping keys are reported #726
- CLI: new formatter - text #822
- CLI: new formatter - teamcity #823
- CLI: new formatter - HTML #389
- CLI: custom resolver can be provided leveraging --resolver flag #717
- CLI: input can be provided via STDIN #757
- Implement ignoreUnsupportedFormats to make it easier to detect unrecognized formats #678
- Rule's Given can be an array now #799
- Casing built-in function is added #564
- New oas rule -
operation-tag-defined
#704
Changed
- BREAKING: The oas2 and oas3 rulesets have been merged into a single oas ruleset #773
- BREAKING: Deprecated Spectral#addRules and Spectral#addFunctions have been removed #561
- BREAKING: Some oas rules, such as
example-value-or-externalValue
andopenapi-tags
, are now included in the recommended rulset #725 #706 - BREAKING: The
model-description
andoperation-summary-formatted
rules have been removed #725 - BREAKING: The
when
rule property has been removed #585 - BREAKING: Rules are set to recommended by default #719
- Improved error source detection #685
- Error paths point at unresolved document #839
- Validation messages contain more consistent error paths #867
- CLI: Default
--fail-severity
is nowerror
, so getting awarn
,info
or ahint
will not return a exit status code #706 - Rulesets no longer require a
rules
property #652
Fixed
- Circular remote references with JSON pointers are resolved correctly json-ref-resolver#141
- Local root JSON pointers are resolved correctly json-ref-resolver#146
- Invalid JSON pointers are reported as errors now json-ref-resolver#140 and json-ref-resolver#147
- Unixify glob patterns under Windows #679
- Improved duplicate keys detection #751
- Spectral should be usable in browsers with no crypto module available #846
- Falsy values are printed in validation messages #824
- Validation results are no longer duplicate #680, #737 and #856