[Changelog] v4.8.0


(Taylor Barnett) #1

Stoplight v4.8.0 Release

Release files on GitHub

New :rocket:

Link to download your OpenAPI Specification document in your published Hub

Checkbox to include OpenAPI document in Hub Page

Published Hub with link to the raw OpenAPI Specification document

Back by popular demand from Stoplight Classic!

You can now find a checkbox in your Hub’s Page Settings to include a link to your raw OpenAPI Specification document in your Hub. If you are publishing your OAS document directly (not in a Hub), you can add an extension in your specification document x-stoplight: { docs: { includeDownloadLink: true } } to include the download link in your published API reference documentation.

(Forum Link)

Mark endpoints as private

Toggle button to mark an operation as private

Also back by popular demand, you can now mark operations in your specification as private to hide them from your published documentation.

Note: This functionality wasn’t added to models (although you can hide models) and doesn’t remove endpoints from your OpenAPI Specification document (if the download link is included or specification is exported).

(Forum Link)

Enhancements :muscle:

  • [Modeling] Able to add custom lint rules by editing lint.yml file

  • [Modeling] Added a close icon to JSON Schema validation popup

  • [Modeling] Automatically update local $refs when their pointer is changed

  • [Platform] Can load more than 100 files in a project

  • [Platform] Improved notifications when editing in multiple browser windows, tabs, or desktop apps (#283)

  • [Platform] Added warning about unsaved changes when clicking home or organization buttons

  • [Organizations] Sort user lists alphabetically

Fixes :wrench:

  • [Modeling] allOf/oneOf models with nested JSON references did not display correctly (#152)

  • [Modeling] Unable to use an environment variable in place of OpenAPI host with port

  • [Modeling] FormData response bodies, response/request headers were not displaying in Read View (Forum Link #1) (Forum Link #2)

  • [Hubs] Reordering a page in the Table of Contents removed its tags (Forum Link)

  • [Hubs] Test Request did not support multiple OAS security schemes

  • [Hubs] Test Request paths were encoded

  • [Hubs] Test Request did not support Basic Auth when combined with apiKey

  • [Hubs] Tagged operations were being grouped by their method

  • [Hubs] OAuth callback did not include Hub’s base path

  • [Hubs] Incorrect code generation for Python’s Requests library

  • [Hubs] Could not republish when custom domain limit reached

  • [Hubs] Links with query parameters were being escaped in Markdown (#353)

  • [Hubs] Request body examples were not displayed (#354)

  • [Organizations] Projects were not sorted alphabetically

  • [Projects] There was no warning or auto-deletion of published Hubs before deleting an organization

  • [Platform] Environment variables input was rendering incorrectly on first load (#350)

  • [Platform] HTTP request maker password inputs were not obscured

  • [Platform] HTTP basic auth headers were not set when sending requests from a browser

  • [Platform] Code generation prepended URL with the scheme

  • [Platform] Exporting a file with deref=all was not resolving external references in private projects

  • [Platform] Permissions error returned when exporting a file with format=yaml option

  • [Scenarios] Utility Scenarios were not being found (Forum Link)

(Lennart) #2

Before this release, I used to be able to use a template variable ({$$.env.host}) in the “API host” (OAS2 host) field.
Since v4.8.0, the OAS I already had (and was valid), is now throwing an oas2-schema error due to "host": "{$$.env.host}".

Is this by design?

(Taylor Barnett) #3

I just replicated this too. I’m looking into what might have caused this.

(Lennart) #4

This must have been fixed server-side somehow. It’s working correctly for me again.

(Lennart) #5

Or not - it seems to be randomly not working.

(Erik Hansen) #6

@lennart OAS2 does not allow variables (a.k.a. path templating), so the error you are seeing now is just proper linting against OAS2 (https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#fixed-fields).

You can choose to not declare a host, since it is not required by the standard, and disable that rule in the Stoplight linter. Whether you declare a host or not, Stoplight treats host as {$$.env.host} for test scenarios. Also, with no host specified in your definition, the “Send a Test Request” in documentation will treat the host as an environment variable.

(Lennart) #7

Ahhhh. Thanks for the detailed reply @erik.hansen! I didn’t realise that {$$.env.host} was always used for Test Scenarios - that’s good to know. I’m looking forward to OAS3 spec support, so that I can add the hostname for all of our various environments to support the inline documentation request testing :slight_smile: