Skip to content

Latest commit

 

History

History
254 lines (202 loc) · 9.71 KB

CHANGELOG.md

File metadata and controls

254 lines (202 loc) · 9.71 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

[0.11] - 2019-06-16

Added

  • The resolve option --internal-refs to resolve internal references (#295)
  • Line numbers to YAML parse errors (#336, #337)

Fixed

  • The path-keys-no-trailing-slash rule not detecting paths with a trailing slash (#285, #340)
  • Overriding an inherited rule with a disable one would have no effect (#274)
  • rules and skip options specified in speccy.yaml may be ignored when omitting --rules or --skip arguments in the command line (#278)
  • A regression where assertion errors would spit out a stacktrace (#300, #335, #338)

[0.10.1] - 2019-05-18

Fixed

  • A regression where the resolve command would not serialize the resolved YAML

[0.10.0] - 2019-05-18

Changed

  • Switched to using yaml for validating and parsing YAML (#243, #267)

Added

  • Support for rule custom documentation URLs (#228, #266)
  • Support piping on all commands (#270, #320)

Fixed

  • An invalid property declaration in the openapi-tags-alphabetical rule [#269]
  • Loading of external configuration files (#294)

Improved

  • Verbosity handling. All verbose messages are sent to stderr to ensure pipes work. Verbosity level 1 is normal output. (#235, #265, #270, #294)

[0.9.0] - 2019-01-18

Breaking

  • The lib/linter.js module has been entirely removed, and oas-linter is now used directly (#248)
  • Rulesets must now be YAML not JSON (#248)

Fixed

  • Response mime types with a + (e.g: application/vnd.api+json) are now encoded correctly (#248)
  • The lint option --skip and the matching config option are no longer being ignored

[0.8.7] - 2019-01-17

Added

  • Semantic versioning for docker tags, so you can use docker run wework/speccy:0.8 lint to a major, minor or patch level (#254)
  • The pattern rule action can now match on "property": "$key" (#239)

Fixed

  • Correct handling of displaying validation and linting errors (#234)

[0.8.6] - 2018-12-18

Added

  • notContain rulesets can now support pattern matching. (#208 via @erunion)

Fixed

  • Support options after the command name, and at the end of the command (#229)

Improved

  • Bumped json-schema-to-openapi-schema to v0.3.0 to handle if/then/else, const, exclusiveMiniumum/exclusiveMaximum, and empty items in type: array. Thanks @MikeRalphson!

[0.8.5] - 2018-11-15

Added

  • Custom rulesets can now be loaded from the local filesystem, thanks @erunion! (#196)

Fixed

  • More resolving errors fixed upgrading oas-kit (#185 & #187)

[0.8.4] - 2018-10-16

Fixed

  • Referenced files containing spaces would fail to load on OS X and Linux (#181)

[0.8.3] - 2018-10-16

Fixed

  • Callbacks and Security Requirements were failing due to bug in dependency (#180)

[0.8.2] - 2018-09-17

Added

  • New rule for when the default rules match the example rules provided

Fixed

  • --skip and --rules were being ignored in v0.8.0 - v0.8.1
  • Stopped GET filename.yaml showing up in normal output (should only show in verbose mode)

[0.8.1] - 2018-08-22

Fixed

  • Rules using action notEndWith (like path-keys-no-trailing-slash) should not cause validation errors when string length is 1 (#137)

[0.8.0] - 2018-08-09

Changed

  • Switched to using oas-kit for resolving and validating
  • Moved short-summary from wework to strict rules (#110)
  • YAML files were previously loaded in "JSON mode", which meant duplicate keys were allowed. They will now error (#108)

Added

  • Config files can be passed with -c (defaults to speccy.yaml). See README for more information
  • Enabled path-keys-no-trailing-slash now oas-resolver can handle keys for lint rules
  • Enabled better-ajv-errors for beautiful validation errors. Linter errors remain unchanged

Fixed

  • Resolving to a file would silently fail when writing to a folder that did not exist

Removed

  • Got rid of wework rules, as the last rule was moved to strict (#110)

[0.7.3] - 2018-06-19

Added

  • Provide "More Info" links in linter errors, so users understand the reasoning behind various rules. (#90)

[0.7.2] - 2018-05-31

Fixed

  • Fix message is undefined error (#78)
  • Resolver was treating $ref with a URL like a file. (#80)

[0.7.1] - 2018-05-17

Fixed

  • Using not without oneOf since 0.7.0 was causing validation failures

[0.7.0] - 2018-05-10

Breaking Change

  • Error now raised for all commands when $ref points to a file that does not exist, or cannot be opened

Fixed

  • Bumped json-schema-to-openapi-schema to v0.2.0 so subschemas will be converted
  • Invalid keywords will be stripped everywhere instead of just root

[0.6.0] - 2018-05-04

Removed

  • Removed switch --watch as it didn't actually work, and was flagging "security issues" on npm (#46)

Added

  • Support URLs in --rules for lint command (#41)
  • New switch --json-schema / -j will tell speccy to resolve $refs as JSON Schema, converting them to OpenAPI on the fly (#45)

[0.5.4] - 2018-04-04

Changed

  • properties rule will now ignore extensions, so foo: 'a', x-bar: 'b' is only 1 property.

Fixed

  • Disabled reference-components-regex rule until resolver can allow it to work

[0.5.3] - 2018-03-29

Fixed

  • Warn about YAML/JSON parsing errors in referenced files (#36)
  • Fixed max length (it was previously enforcing exact length) (#38)

[0.5.2] - 2018-03-27

Added

  • Loads of tests

Fixed

  • Allow $refs to link Objects (#22)
  • Fixes "Unhandled promise rejection" messages for not found files (#27)
  • Can now use --verbose for lint and serve (#29)

[0.5.1] - 2018-03-27

  • Learning how to npm publish

[0.5.0] - 2018-03-09

Breaking Changes

  • Dropped support for NodeJS 6, now requires 7.5 (with --harmony) or higher.

Fixed

  • Linter was not resolving $ref properly, meaning more errors will now appear in $ref schemas (#19)

Added

  • Serve command now supports URLs (#19)

[0.4.1] - 2018-03-07

Fixed

  • Path Item $ref support fixed in validator (#16)
  • Serve command early exists and errors if file is not found, even added some tests (#17)

[0.4.0] - 2018-02-26

Added

  • Added --skip to lint command to allow certain rules to be skipped (#9 via @jblazek)
  • CLI output shows all lint errors, not just the first error found (#11 via @jblazek)

[0.3.1] - 2018-02-15

Added

  • Fixed serve command when package is installed via yarn global

[0.3.0] - 2018-02-15

Added

  • New serve command, to serve up ReDoc documentation without needing a local html file and your own server
  • Added openapi-tags-alphabetical rule to snark if your tags definitions are out of order

[0.2.2] - 2018-02-08

Fixed

  • Object spread was causing errors on node 6 and 7.