Not gonna lie, it's been a rough week y'all. But we're moving forward. Read onward to see what we worked on this week!

✨ New & Improved

  • When choosing a library for a given language in the API Reference (i.e. choosing between api and node-fetch within the Node.js options), your ReadMe docs will now magically remember your library selections between page loads. 🧠
  • We’ve made some performance and overflow improvements to the Request and Response sections in the API Reference for when those sections are rendering tons and tons of content. 🍱
  • Performance and design improvements on the Enterprise Global Landing Page. 🚀
  • Added support for WebDAV status codes in the manual API editor. 💯

🛠 Fixes & Updates

  • Some security- and email-related improvements to Suggested Edits. 📝
  • Fixed some crashing issues on landing pages. 💥
  • Fixed an issue loading API logs in the hubs. 🪵

Hope you're staying safe and healthy! Take care, y'all.

—Kanad and the ReadMe team

📘

What is the Owlet Weekly Update?

Thanks for tuning in to another edition of our Owlet Weekly Update—an owlet-sized update (posted every week to the ReadMe Changelog) on the product updates we're shipping here at ReadMe. We'd love to hear what you think of these updates at [email protected]!

Hello and welcome to another weekly update, y'all! This week we're recovering from a company offsite, shipping several fixes, and making headway on some major projects. More below! 🌴

📘

Programming Note 🌺

You may have noticed that there wasn't an update last week (the week of June 6th). That's because we were at a company offsite all week. Because of this, we paused our deployment schedule. But we're back and shipping code this week! Appreciate your patience, folks.

✨ New & Improved

  • The beta rollout of our new editor is currently underway! I’m actually using it as we speak to write this and I can attest to it being the absolute bee's knees. If you want to get access to it (and sign up for any of our other upcoming betas 👀), fill out this form! ✍️

🛠 Fixes & Updates

  • Fixed an issue in the API Reference where certain APIs with multiple authentication types would send improper request headers when hitting “Try It!”. ♊
  • Embedding Recipes in the Guides was looking a little funky (in a bad way), so this release fixes that. 🕺
  • Fixed an issue where users were having troubles accessing their API logs from the hub. 🪵
  • Small UI fixes with some speech bubbles in the Metrics dashboard. 💬

Hope you're staying safe and healthy! Thanks for being a part of the ReadMe community, folks.

—Kanad and the ReadMe team :owlbert:

📘

What is the Owlet Weekly Update?

Thanks for tuning in to another edition of our Owlet Weekly Update—an owlet-sized update (posted every week to the ReadMe Changelog) on the product updates we're shipping here at ReadMe. We'd love to hear what you think of these updates at [email protected]!

Hello and happy (almost) June, friends! This week we're making improvements to how we render response examples in the API reference, improving our API key management, and lots more. Let's dive in! 🌤️

✨ New & Improved

  • If you’ve been following our changelog, you’ll notice that we recently had an incident involving ReadMe API Keys. The not-so-great news is that we made the decision to revoke and replace all ReadMe API keys, but the good news is that we rolled out a fancy new dashboard for managing your keys. Be sure to check out our incident post-mortem and our API Key Rotation FAQ to get all the info. 🔐
  • As part of this release, we made a small but exciting update to how we render API response examples in the API Reference so we can now display examples for different media types! In other words, if you have example responses defined in JSON and XML, we now display both of them and specify the respective media types (i.e. application/json and application/xml), rather than defaulting to JSON. 🌈
  • The beta rollout of our new editor is currently underway! I’m actually using it as we speak to write this and I can attest to it being the absolute bee's knees. If you want to get access to it (and sign up for any of our other upcoming betas 👀), fill out this form! ✍️
  • We’re in the process of rolling out our new Enterprise Authentication experience! This release includes more work on that front. Get the details on everything here! 🔑

🛠 Fixes & Updates

  • This release addresses a handful of schema generation bugs for OpenAPI definitions generated from using our Manual API editor. ♻️

Hope you're staying safe and healthy! Thanks for being a part of the ReadMe community, folks.

—Kanad and the ReadMe team :owlbert:

📘

What is the Owlet Weekly Update?

Thanks for tuning in to another edition of our Owlet Weekly Update—an owlet-sized update (posted every week to the ReadMe Changelog) on the product updates we're shipping here at ReadMe. We'd love to hear what you think of these updates at [email protected]!

On May 11, we found that ReadMe API tokens were embedded in project login pages. After diagnosing the underlying issue, we released a fix later that day. On May 24, a security researcher noticed the login pages' content had been cached on the Internet Archive and was able to find the exposed tokens and verify that they were still valid. We opened a follow-on incident immediately and began triage and mitigation work. We chose to invalidate and rotate all ReadMe tokens (API keys) as soon as possible, which was performed on May 31.

Please know that we are taking this incident very seriously. Your trust in ReadMe means everything to us, and our support team is available to help answer any questions you have regarding this incident or the resulting token rotation.

Impact

The initial leak was caused by a misapplication of a piece of our middleware stack intended to cull sensitive information (including these tokens) from our response data. This bug was introduced in November when we refactored the login page for ReadMe hubs, and affected all public projects while it was live.

Further exacerbating the issue, some of these pages were cached by web crawlers such as the Internet Archive, limiting our ability to control the leak, a factor in our decision to rotate all tokens. While we have not found any evidence of malicious activity to date, a bad actor could surface a token from a web crawler's cache and use it to access and manipulate a project to their own ends.

Response

We have released multiple fixes and improvements to reinforce the security of these tokens on our platform. After assessing the potential impact of these incidents, we concluded that the best path forward was to revoke and replace all ReadMe tokens that existed during the period that the application was vulnerable. For help updating API keys where they're being used on your end, we've put together a few FAQs here.

While we're aware of the inconvenience — and are deeply sorry for any frustration we've caused — we determined it was a necessary step to avoid exposure of our users’ data. Again, our support team is available to help answer any questions, and we greatly appreciate your understanding as we work to address this incident.

What we’ve done to mitigate this issue:

  • Patched our safelisting middleware logic to stem the underlying leak.
  • Revoked all tokens generated prior to the underlying fix.
  • Disallowed web crawlers on all administrative pages.
  • Refactored our token management system to add prefixing and “last-used” tracking.

How we plan to prevent similar incidents in the future:

  • Enhancements to our security scanning infrastructure.
  • Improved source tracking for ReadMe audit logs.
  • Increased investment in security resources.
  • Additional token scopes + permissioning options.
  • Joining GitHub’s security scanning project.

Hello and happy Gemini season y'all! This week we're shipping an owl fact, tweaking some margins, and fixing a whole lot of bugs. Details below! ♊

✨ New & Improved

  • The beta rollout of our new editor is currently underway! I’m actually using it as we speak to write this and I can attest to it being the absolute bee's knees. If you want to get access to it (and sign up for any of our other upcoming betas 👀), fill out this form! ✍️
  • We’re in the process of rolling out our new Enterprise Authentication experience! This release includes more work on that front. Get the details on everything here! 🔑
  • Made some improvements to the spacing in the headers and footers in the hub. 👽
  • A new owl fact! 🦉

🛠 Fixes & Updates

  • In certain rare instances, clicking the “Try It!” button in the API Reference would not actually… you know… try it. This release includes a fix on that front! 🌱
  • A small subset of project administrators were unable to view certain metrics in the project dashboard—this release restores their access. 📊
  • We noticed an issue where discussion forum posts were occasionally missing from the list—this release brings them back. 👻
  • Fixed some content loading issues for certain enterprise project configurations. ⏳
  • Addressed some configuration issues with the Intercom integration. 💬
  • Fixed some occasional crashing issues in the API Reference. 💥
  • Fixed a few quirks with R code snippets. 🏴‍☠️

Hope you're staying safe and healthy! Thanks for being a part of the ReadMe community, folks.

—Kanad and the ReadMe team :owlbert:

📘

What is the Owlet Weekly Update?

Thanks for tuning in to another edition of our Owlet Weekly Update—an owlet-sized update (posted every week to the ReadMe Changelog) on the product updates we're shipping here at ReadMe. We'd love to hear what you think of these updates at [email protected]!

Hello and welcome to another weekly update! This week's release is light but filled with lots of little wins—more below! 💡

✨ New & Improved

  • This release adds backfills support for the $ref field in Path Item Objects—something we originally thought we had support for but didn’t but definitely do now. 🔙
  • Small behind-the-scenes changes to make front-end bundles in the hubs a li'l lighter. 🌥

🛠 Fixes & Updates

  • Some styling tweaks for footer banners in the hubs. 🐾
  • Various routing and links fixes. 🔗

Hope you're staying safe and healthy! Thanks for being a part of the ReadMe community, folks.

—Kanad and the ReadMe team :owlbert:

📘

What is the Owlet Weekly Update?

Thanks for tuning in to another edition of our Owlet Weekly Update—an owlet-sized update (posted every week to the ReadMe Changelog) on the product updates we're shipping here at ReadMe. We'd love to hear what you think of these updates at [email protected]!

Hello and welcome to another weekly update y'all! This week marks the official kickoff of an exciting new beta release, so lots of work was done on that front. Details below! 🏈

✨ New & Improved

  • Y’all! It’s finally happening... we’ve officially kicked off the beta rollout of our new editor! I’m actually using it as we speak and I can attest to it being the absolute bee's knees. If you want to get access to it (and sign up for any of our other upcoming betas 👀), fill out this form! ✍️
  • This release includes a small but mighty improvement to our search indexing logic so it ranks results based on the result type (i.e. Guides, Reference, Discussion Post, etc.). 🔍
  • We’re in the process of rolling out our new Enterprise Authentication experience! This release includes more work on that front. Get the details on everything here! 🔑

Hope you're staying safe and healthy! Thanks for being a part of the ReadMe community, folks.

—Kanad and the ReadMe team :owlbert:

📘

What is the Owlet Weekly Update?

Thanks for tuning in to another edition of our Owlet Weekly Update—an owlet-sized update (posted every week to the ReadMe Changelog) on the product updates we're shipping here at ReadMe. We'd love to hear what you think of these updates at [email protected]!

It's May, y'all! Spring cleaning is underway with our code snippets, Enterprise-specific features, and more. More below! 🧹

✨ New & Improved

  • Our new editor is right around the corner, y’all! This release includes even more work on that front. You can get a sneak peek in our discussion forums—if you want to be a part of our beta, drop us a line! ✍️
  • We’re in the process of rolling out our new Enterprise Authentication experience! This release includes more work on that front. Get the details on everything here! 🔑
  • Updated the color of the default response type in the API Reference to adequately reflect its neutral nature: a grey-ish white. ⚪

🛠 Fixes & Updates

  • Fixed an issue in the API Reference where raw body content would be double-encoded (you may have seen this come through the pipeline last week, but this time it’s for JSON-like bodies). 🍣
  • Tweaked our Axios (browser) code samples in the API Reference so they now properly package x-www-form-urlencoded request payloads. 📦
  • Fixed an issue where Enterprise Staging logs weren’t displaying properly. 🪵

Hope you're staying safe and healthy! Thanks for being a part of the ReadMe community, folks.

—Kanad and the ReadMe team :owlbert:

📘

What is the Owlet Weekly Update?

Thanks for tuning in to another edition of our Owlet Weekly Update—an owlet-sized update (posted every week to the ReadMe Changelog) on the product updates we're shipping here at ReadMe. We'd love to hear what you think of these updates at [email protected]!

Hello and happy last week of April, y'all! We're shipping lots of little improvements to the API Reference and continuing work on upcoming features. More below! ☔️

✨ New & Improved

  • Our new editor is right around the corner, y’all! This release includes even more work on that front. You can get a sneak peek in our discussion forums—if you want to be a part of our beta, drop us a line! ✍️
  • We’re in the process of rolling out our new Enterprise Authentication experience! This release includes more work on that front. Get the details on everything here! 🔑
  • If you have enums defined for response object definitions in the API Reference, we now display all the possible enum values in the response modal. 📚
  • This release backfills support for the allowReserved option in parameter definitions in the API Reference. 🤬
  • Improves our support for the deepObject style option to support nested objects in the API Reference. 🪆
  • When viewing HTTPie code samples in the API Reference, you’ll now see an installation step! 🥧

🛠 Fixes & Updates

  • Fixed an issue in the API Reference where raw body content would be double-encoded. 🔀
  • Fixed some casing issues with Accept header definitions in the API Reference. 💼
  • Fixed some width issues with the Glossary tooltip. 🤌
  • Some UI fixes in the dashboard. 💅

Hope you're staying safe and healthy! Thanks for being a part of the ReadMe community, folks.

—Kanad and the ReadMe team :owlbert:

📘

What is the Owlet Weekly Update?

Thanks for tuning in to another edition of our Owlet Weekly Update—an owlet-sized update (posted every week to the ReadMe Changelog) on the product updates we're shipping here at ReadMe. We'd love to hear what you think of these updates at [email protected]!

Hello and welcome to another weekly update, y'all! This week we're adding onto our Search API and making lots of enhancements and fixes to our API Reference. More below! 🕵️

✨ New & Improved

  • Our new editor is right around the corner, y’all! This release includes even more work on that front. You can get a sneak peek in our discussion forums—if you want to be a part of our beta, drop us a line! ✍️
  • When using "Try It!" with GET endpoints in the API reference, you previously may have seen a response that's been cached in your browser, even if the response code appears to indicate otherwise. With the caching changes in this release, users will always see the freshest response from the server, along with the correct status code. ⛲
  • This release includes various improvements to our Python code snippets in the API Reference! HTTP accessors are more readable and file uploads look much cleaner. 🐍
  • We’ve added Recipes to the results returned from our Search docs endpoint. 🔍

🛠 Fixes & Updates

  • Fixed an issue where endpoint pages in the API reference that were missing response objects that were missing Schema objects would crash. 💥
  • Fixed an issue in the API reference where the base URL in your API log would sometimes be prefixed with a https://try.readme.io/. Whoops. 🔗
  • This release fixes an issue where long JSON responses would occasionally get cut off and show up on a single line. 🤥
  • Fixed an issue affecting a small chunk Enterprise projects where certain search result links were broken. 🔎
  • Fixed various UI issues in the dashboard and the API reference. 🖌️

Hope you're staying safe and healthy! Thanks for being a part of the ReadMe community, folks.

—Kanad and the ReadMe team :owlbert:

📘

What is the Owlet Weekly Update?

Thanks for tuning in to another edition of our Owlet Weekly Update—an owlet-sized update (posted every week to the ReadMe Changelog) on the product updates we're shipping here at ReadMe. We'd love to hear what you think of these updates at [email protected]!