{"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["At Redocly, in April, we have been akin the proverbial duck - calm on the surface, but paddling furiously underneath with our API suite of products."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["While our developers are working on some exciting new features and tweaking our products to perform optimally, our documentation team has been kicking a few goals too."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This post is a round up of our product updates, enhancements and documentation-related news from April 2021."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"workflows","__idx":0},"children":["Workflows"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["RBAC roles and access tokens"]}," ","Implemented support for reading RBAC roles from the access token (if it's a JWT and if it contains a claim). To find out how to configure RBAC, read the ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/docs-legacy/developer-portal/configuration/rbac#configuration-steps"},"children":["RBAC Configuration steps"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Access-Control-Allow-Origin"]}," value"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Access-Control-Allow-Origin"]}," is now set to ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["for public registry URLs by default, allowing any front-end code to access those URLs. The"]}," value tells browsers to allow requesting code from any origin to access the resource without the need for credentials."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If you use the * wildcard with credentials, it will result in an error."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Support for dot notation in custom role claims names"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Redocly now supports the dot notation in custom role claims names. For example, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["realm_access.roles"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This feature allows customers to reuse their Identity Providers (IDPs) standard role claims names."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Workflows changelog"]}," ","Find out about other fixes and enhancements by visiting the ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/docs-legacy/workflows/changelog"},"children":["Workflows changelog"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/content-assets/workflows-95600bc50a6029eb.png","alt":"Workflow features"},"children":[]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"reference-docs","__idx":1},"children":["Reference docs"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Improved user experience (UX) with auto-generated code samples"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["We have improved path parameter handling in auto-generated code samples. The pathname is now a variable, so you can define it once and it will be automatically generated into the relevant code sample."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Reference docs changelog"]}," ","Here's a link to the entire ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/docs-legacy/api-reference-docs/changelog"},"children":["Reference docs changelog"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/content-assets/refdocs-416f76ca6118d54e.png","alt":"Reference docs features"},"children":[]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"developer-portal","__idx":2},"children":["Developer portal"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Improved Developer portal navigation and front matter"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can now enable the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Back to"]}," button on MD(X) pages."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["To enable the button site-wide for all pages at once, add ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["showPrevButton: true"]}," to the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["siteConfig.yaml"]}," file."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["To enable it only on specific pages, add ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["showPrevButton: true"]}," to the page front matter."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If you reference any files (such as images or Markdown pages) in the front matter of your MD(X) files, those files will now be copied to the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["static"]}," folder in the portal. Any references to these files are automatically replaced by their destination links."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Passing current API definition down to components"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The portal now uses top-level context to pass the current API definition down to components. This allows users to import the context (as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["import {usePageData} from '@redocly/developer-portal/ui'"]},") and use it in their own custom components (as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["const {rawApiDefinition} = usePageData();"]},")."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Updated theming options"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Support for ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["rightPanel > width"]}," theming option media query values, allowing you to customize it depending on the screen size. For example, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["rightPanel: { width: { medium: '40%', large: '800px'}}"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["typography > links"]}," section of the Developer portal theme now lets you customize the textDecoration value."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pageId"]}," is now passed to custom Markdown template properties."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["rightPanel > width"]}," theming option now accepts the CSS ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["calc"]}," function as a value."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Developer portal migration"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["We have migrated the Developer portal to ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://www.gatsbyjs.com/blog/gatsby-v3/"},"children":["Gatsby v3"]},", updated all outdated dependencies, and resolved security warnings. This translates to a better and efficient user experience for your Developer portals."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Developer portal changelog"]}," ","Read the entire list of features and fixes on the ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/docs-legacy/developer-portal/changelog"},"children":["Developer portal changelog"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/content-assets/devportal-0ce0af719543a70d.png","alt":"Developer portal features"},"children":[]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"product-videos","__idx":3},"children":["Product videos"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["We added some new product videos that explain Redocly's most popular features and key concepts."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://www.youtube.com/watch?v=nj7v2oOnTj0"},"children":["API registry tour"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://www.youtube.com/watch?v=7dMPPFVJx7A"},"children":["Pagination in Reference docs"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://www.youtube.com/watch?v=hLjzV-RmSno"},"children":["OpenAPI custom rule"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://www.youtube.com/watch?v=0ccz2lX4SpU"},"children":["Getting ready to start your OpenAPI definition"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://www.youtube.com/watch?v=AuJMFx_v6dY"},"children":["OpenAPI help with path parameters"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://www.youtube.com/watch?v=3LCeZsc-Z6o"},"children":["Set up Cognito and access controls for a Developer portal"]}]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"google-season-of-docs-2021","__idx":4},"children":["Google Season of Docs 2021"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This year, Redocly submitted a proposal for hiring technical writers to work on our open-source projects (Redoc and OpenAPI-CLI), as part of Google's Season of Docs."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Our proposal was accepted and we are eagerly looking forward to work with our community and experienced tecnical writers to build some solid documentation for our open-source products."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Read more about our proposal at ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://redocly.com/gsod/"},"children":["Contribute to documenting Redocly's open-source tools"]},"."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Redocly at Write the Docs Portland 2021"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Our Technical Writer Advocate presented a talk on ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["Putting the \"tech\" in technical writer"]}," at the Write the Docs Portland 2021, which was held online on Apr 25-27."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The event was attended by over 600 attendees from across the globe. Talk videos will be published to the ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://www.youtube.com/channel/UCr019846MitZUEhc6apDdcQ"},"children":["Write the Docs Youtube"]}," channel in a few days."]}]},"frontmatter":{"template":"../@theme/templates/BlogPost","title":"April 2021 updates","description":"Round up of the features and enhancements, plus some documentation news from April 2021","seo":{"title":"April 2021 updates","description":"Round up of the features and enhancements, plus some documentation news from April 2021"},"author":"swapnil-ogale","publishedDate":"2021-05-04","categories":["redocly:product-updates"],"image":"blog-1.png"},"tagList":["admonition"],"title":"April 2021 updates","lastModified":"2025-11-24T15:40:38.000Z"}