Windows Support, Quickstart, and a V1 Sunset
New features to the Speakeasy Platform - June 19, 2024
Before everyone dissipates into the BBQ smoke of the summer holidays, we’ve got a few more updates to share. This week, amid the usual slew of improvements and fixes, we’re excited to announce the release of Windows support, a smarter Quickstart, and the coming sunset TypeScript V1.
Let’s get into it 👇
Full CLI Support for Windows
With last month’s GA release of our C# SDK generation, it’s as good a time as any to make sure that the CLI is as easy to use on Windows as it is on MacOS and Linux. And so we’re happy to announce that Windows is now a fully supported platform.
We’ve made sure that our CLI’s interactive mode works seamlessly, and our CLI’s integration testing has been updated to include Windows environments.
Install our CLI on Windows:
choco install speakeasy
A Quicker Quickstart
│ Workflow - success│ └─Target: my-first-target - success│ └─Source: openapi - success│ └─Tracking OpenAPI Changes - success│ └─Snapshotting OpenAPI Revision - success│ └─Storing OpenAPI Revision - success│ └─Validating Document - success│ └─Retrying with minimum viable document - success│ └─Source: openapi - success│ └─Applying Overlays - success│ └─Apply 1 overlay(s) - success│ └─Tracking OpenAPI Changes - success│ └─Snapshotting OpenAPI Revision - success│ └─Storing OpenAPI Revision - success│ └─Validating Document - success│ └─Validating gen.yaml - success│ └─Generating Typescript SDK - success│ └─Setup Environment - success│ └─Load and Validate Document - success│ └─Generate SDK - success│ └─Compile SDK - success│ └─Cleaning up - success
We would love to think that every OpenAPI spec is error-free, but we know that not every company is using our linter (yet). That’s why we’ve rebuilt Speakeasy Quickstart to be able to persevere through errors to help teams get to a minimally viable SDK faster.
Instead of blocking generation when there’s an error in the OpenAPI syntax, quickstart
will pare down your spec to the validly documented operations and generate an SDK with just those. The error logs will be logged separately so that you can go back and make your fixes. Just another small change in the name of getting users their SDKs sooner.
TypeScript V1 Rides Off Into The Sunset
Just as important as the new products you roll out, are the old products you retire. And so, we’re officially announcing the sunset of TypeScript V1 on August 9th, 2024.
We rolled out TypeScript v2 in December 2023, and since then, we’ve been working to make sure that all of our users have had the time to migrate. We’re at almost 100% migration, and so we’re ready to say goodbye to TypeScript V1.
If anyone needs reminding of the benefits of switching, here’s the summary of the changes:
- Dependencies: v1 used Axios; v2 uses the Fetch API.
- Compatibility: v2 supports Node.js, Deno, Bun, and React Native.
- Validation: v2 integrates Zod for robust runtime data validation.
- Polymorphic Types: v2 handles complex API schemas better.
Switching is as easy as a 1 line change in your SDK’s gen.yaml
file:
configVersion: 1.0.0# Rest of gen.yaml omittedtypescript:templateVersion: v2
🚢 Improvements and Bug Fixes 🐛
NOTE
Based on the most recent CLI version: Speakeasy v1.309.1 (opens in a new tab)
The Platform
🐛 Fix: Handle edge case where .yaml
looks like .json
🐛 Fix: Handle empty responses in webhooks
Typescript
🐛 Fix: Added explicit types for exported enum schemas
Terraform
🐛 Fix: Edge case with combination of oneOf and non-oneOf in TF
Java
🚢 Feat: Add support for client credentials to java
🚢 Feat: Support user customization of build.gradle
🐛 Fix: Addressed compiler errors for pagination-enabled methods that exceed maxMethodParameters
C#
🚢 Feat: Nuget.md
file is generated for published C# packages
🐛 Fix: Handle missing C# imports for unions
Unity
🐛 Fix: Address bugs related to Unity’s support for only .Net5