* implement a selector for consumes options
* fix incorrect comment, test names
* add `consumesOptionsFor` selector
* use `consumesOptionsFor` and drop `operationConsumes`
* add tests for operation lacking an operationId
* add deep linking tests for tags/operationIds with underscores
* migrate from `_` to `%20` for deeplink hash whitespace escaping
* add backwards compatibility for `_` whitespace escaping
* update util unit tests
* add baseline tests
* coerce empty strings to null when updating parameter values
* add ParameterIncludeEmpty
* add redux management for empty parameter value inclusion state
* use name+in keying for state management instead of hash keying
* update new redux method usages to name+in keying
* coerce empty Immutable iterables in onChangeWrapper
* OAS3 tests & support
* add included empty parameters to requests before dispatching to Swagger Client
* make empty inclusion interface prettier
* add tests for #4587
* linter fixes
* check for truthy value before reaching into property
* v3.17.6
* release(3.17.6): rebuild dist
* add failing tests
* fix Link component
* fix OnlineValidatorBadge component
* switch from <a> to <Link> in operation components
* make Markdown inputs safe
* use Link component in Info block, for target safety
* add eslint rule for unsafe `target` usage
* set new bundlesize goal
* preserve `GeneratorFunction` instead of all function names
* use js-yaml fork that doesn't require esprima
* set HTML content directly, instead of using React-Markdown
* use remarkable for all Markdown rendering
* add babel-plugin-transform-react-remove-prop-types
* remove SplitPaneMode plugin
* remove react-collapse
* remove AST plugin, and yaml-js
* trim Markdown HTML string output before rendering
* disable obsolete function name preservation
* add `getComponent` to propTypes
* add tests for example feature
* refactor ParameterRow value setter logic
* aside: fix property access in sampleFromSchema
* prioritize media type examples for OAS3 responses
* use `example` in schema level example
* refactor: move stringify to utils
* prioritize media type examples in OAS3 request bodies
* modify nightwatch config
* fix parameter/response regressions
* reorder and broaden default value sources
* update lockfile
* Add package-lock
* Remove karma* as no longer used. mocha is the test runner now
* Update patch and minor dev dependencies
* Update other dev dependencies, one at time
* Update webpack to v3 and fix package warnings
* Update production dependencies
* Update to react-inspector and Remove react-addons-shallow-compare as no longer used/required in 15.6
* Unused dependencies
* brace
* getbase
* matcher
* promise-worker
* react-addons-test-utils
* react-height
* redux-logger
* scroll-to-element
* shallowequal
* whatwg-fetch
* initial perf, which gets stripped out in production (#4131)
* Refactor deep-linking, in the process extracted out OperationsTag (#4349)
* add configsActions.loaded hook
* add OperationTag to hold Operations
* fix test for operations
* refactor deep-linking plugin
* [FIX] nested `url` option replacement when $API_URLS contains `url: .*,` pattern (#4601)
* fix(try-it-out): initially unset required booleans (#4613)
* fix(tio-params): disable empty values for required+enum booleans (#4615)
* feat(rendering): gate rendering based on valid version identifiers (#4614)
* create VersionPragmaFilter component
* use VersionPragmaFilter in BaseLayout
* tighten version idenitifier constraints
* handle case where user specifies a valid `swagger` and `openapi` field
* add traceable class names for each message
* add tests
* linter fixes!
* UNRELATED CHANGE: remove travis short-circuit
* add bypass switch to VersionPragmaFilter
* v3.17.0 (#4616)
* v3.17.0
* rebuild dist
* Update system.js (#4626)
Fix typo
* Revert "initial perf, which gets stripped out in production (#4131)" (#4636)
This reverts commit 5ea2150ae7.
* Update add-plugin.md (#4620)
Fixed some spacing
* fix: sample generation for nested oject schemas (#4648)
* Fix improper markdown (#4645)
escape `|`
* housekeeping: factor out components for easier BaseLayout reuse (#4604)
* improve: wrap schemes to encapsulate rendering logic
* improve: wrap filter to encapsulate rendering logic
* improve: wrap info section to encapsulate rendering logic
* improve: wrap servers plugin to encapsulate rendering logic
* improve: added tests for schemes-wrapper rendering logic
* improve: added tests for info-wrapper rendering logic, also do not render info if info is undefined
* improve: added tests for filter rendering logic
* improve: added tests for servers-wrapper rendering logic
* `InfoWrapper` -> `InfoContainer`
* add `containers` alias to Babel configuration
* `SchemesWrapper` -> `SchemesContainer`
* drop `container` from container file names
* `ServersWrapper` -> `ServersContainer`
* `Filter` -> `FilterContainer`
* follow `core/containers` pattern in BasePreset
* use HTTPS for Petstore by default (#4652)
* housekeeping: update e2e selectors (#4655)
* v3.17.1 (#4656)
* v3.17.1
* rebuild dist
* Doc updates
* Improvement: Hash-keyed Try-It-Out parameter value storage (#4670)
* allow param update by identity + hashed value storage
* add specActions.changeParamByIdentity
* add identity-based lookup support in spec selectors
* migrate `changeParam` usage to `changeParamByIdentity`
* migrate usage of `parameterWithMeta` to `parameterWithMetaByIdentity`
* update invocations of `changeParamByIdentity` to match fn signature
* use OrderedMap throughout hash-based selectors for consistency
* normalize usage of ParameterRow `onChange`
* migrate bug 4557 tests to reflect new ParameterRow interface
* remove exclusive test blocks
* linter fixes
* copy Parameters changes into OAS3 wrapper
* use rawParam for meta lookups in ParameterRow
* drop unused dependencies from `package.json`
* re-pin selenium dependency version
* allow param update by identity + hashed value storage
* add specActions.changeParamByIdentity
* add identity-based lookup support in spec selectors
* migrate `changeParam` usage to `changeParamByIdentity`
* migrate usage of `parameterWithMeta` to `parameterWithMetaByIdentity`
* update invocations of `changeParamByIdentity` to match fn signature
* use OrderedMap throughout hash-based selectors for consistency
* normalize usage of ParameterRow `onChange`
* migrate bug 4557 tests to reflect new ParameterRow interface
* remove exclusive test blocks
* linter fixes
* copy Parameters changes into OAS3 wrapper
* use rawParam for meta lookups in ParameterRow
* create VersionPragmaFilter component
* use VersionPragmaFilter in BaseLayout
* tighten version idenitifier constraints
* handle case where user specifies a valid `swagger` and `openapi` field
* add traceable class names for each message
* add tests
* linter fixes!
* UNRELATED CHANGE: remove travis short-circuit
* add bypass switch to VersionPragmaFilter
* fix(validator-badge): resolve definition URLs against browser location
* use param as meta parameter if not found
* convert request body from Immutable if necessary
* show file upload for `format: binary` and `format: base64` jsonschema strings
* add `dispatchInitialValue` prop to JsonSchemaForm
* add optional subkey parameter to onChange
* add binary media type support to request body
* swap `sanitize-html` for `dompurify`
* set up node enzyme tests with jsdom
dompurify, as the name suggests, needs a DOM or it won't work!
* reconcile tests and sanitizer settings
* remove obsolete sanitizeOptions
* add `jsdom` dependency
* Update highlight-code.jsx
* improve filename no more response.txt
* use new `fileName` prop for file names
* use template strings for `fileName` prop values
* fall back to old "response.txt" file name if none is provided
* extend getExtensions
Add optional param to getExtensions that can retrieve more stuff
* Add getCommonExtensions
* Trim trailing spaces
* Remove unused parameter
* Move the format inline with the param type
* correction to UnitTest
* Adding enum values for Enum Type in Swagger ReadOnly documentation
* Adding enum values for Enum Type in Swagger ReadOnly documentation (optimisation) and also adding default/example value
* Add new display enums, defaults, and examples when not in TIO mode (another way to have enums values in swagger.json)
* Fix npm test result
* review corrections
* fix: don't render parameter description if field is empty
* use cross-version schema variable to access properties
* pass className through Markdown component usage
* add per-field classNames to Markdown for easier styling + testing
* remove parameter Example field (out-of-scope for this PR)
* get default value from schema instead of top-level parameter
* tests: add e2e cases for swagger2 and oas3
* remove `swagger-petstore-enum.json`
the purpose of this file lives on in the e2e test specs folder
* add missing proptypes validation
* use `classnames` to more effectively union class names
* test(e2e): modify e2e hot server to peacefully coexist with dev server
* tests: add failing e2e test case
* fix: use originalOperationId for layout targeting, if available