Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.2.0"
".": "0.3.0"
}
25 changes: 25 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,30 @@
# Changelog

## [0.3.0](https://github.com/scalar/scalar-rs/compare/v0.2.0...v0.3.0) (2026-09-02)


### ⚠ BREAKING CHANGES

* **api:** 6 breaking changes to the SDK surface.
- Renamed SDK from `ScalarApi` to `Scalar`.
- Removed operation `schemas.version.retrieveSchema` (`GET /v1/schemas/{namespace}/{slug}/version/{semver}`).
- Removed operation `schemas.version.deleteSchema` (`DELETE /v1/schemas/{namespace}/{slug}/version/{semver}`).
- Removed operation `schemas.version.createSchema` (`POST /v1/schemas/{namespace}/{slug}/version`).
- Removed operation `schemas.accessGroup.createSchema` (`POST /v1/schemas/{namespace}/{slug}/access-group`).
- Removed operation `schemas.accessGroup.deleteSchema` (`DELETE /v1/schemas/{namespace}/{slug}/access-group`).

### Features

* **api:** update SDK name (+11 more changes) ([5c05476](https://github.com/scalar/scalar-rs/commit/5c054762e1582b88ddd426b2e8c7cada6fa10fd5))


### Chores

* **api:** regenerate SDK ([f4e82a9](https://github.com/scalar/scalar-rs/commit/f4e82a9c3a669dec3cbdf57f9351e1b35c6de958))
* **api:** regenerate SDK ([c6d7d9c](https://github.com/scalar/scalar-rs/commit/c6d7d9cbd0f847040062864fd5fb48c16d8f98c4))
* **api:** update generated SDK content ([eaabbf2](https://github.com/scalar/scalar-rs/commit/eaabbf290211e9117905cdd108658dd3f17eae7e))
* **api:** update generated SDK content ([0ad32ff](https://github.com/scalar/scalar-rs/commit/0ad32ff331222f05ebb83b55570a081a3091a439))

## [0.2.0](https://github.com/scalar/scalar-rs/compare/v0.1.0...v0.2.0) (2026-08-07)


Expand Down
7 changes: 5 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
[package]
name = "scalar-rs"
version = "0.2.0" # x-release-please-version
version = "0.3.0" # x-release-please-version
edition = "2024"
rust-version = "1.85"
description = "API for managing Scalar platform resources."
description = "Rust library to access the Scalar API"
authors = ["Scalar"]
license = "Apache-2.0"
repository = "https://github.com/scalar/scalar-rs"
homepage = "https://github.com/scalar/scalar-rs"
keywords = ["api", "sdk", "client"]
categories = ["api-bindings"]

Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright 2026 Scalar API
Copyright 2026 Scalar

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
18 changes: 9 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Scalar API
# Scalar

This library provides convenient access to the Scalar API from asynchronous Rust.
This library provides convenient access to the Scalar REST API from asynchronous Rust.

The full API of this library can be found in [api.md](./api.md).

Expand All @@ -10,7 +10,7 @@ Add this to your `Cargo.toml`:

```toml
[dependencies]
scalar-rs = "0.2.0" # x-release-please-version
scalar-rs = "0.3.0" # x-release-please-version
tokio = { version = "1", features = ["rt-multi-thread", "macros"] }
```

Expand All @@ -31,9 +31,7 @@ use scalar_rs::*;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = Scalar::builder()
.bearer_token(std::env::var("SCALAR_BEARER_TOKEN")?)
.build()?;
let client = Scalar::builder().bearer_auth(std::env::var("BEARER_AUTH")?).build()?;

let response = client.registry().list_all_api_documents().send().await?;

Expand All @@ -53,7 +51,7 @@ them from the environment instead:
use scalar_rs::Scalar;

async fn run() -> Result<(), Box<dyn std::error::Error>> {
let client = Scalar::builder().bearer_token("…").build()?;
let client = Scalar::builder().bearer_auth("…").build()?;

// Or, reading credentials from the environment:
let client = Scalar::from_env()?;
Expand All @@ -67,7 +65,7 @@ async fn run() -> Result<(), Box<dyn std::error::Error>> {
Credentials can be set on the builder or read from the environment by
`from_env`:

- `bearer_token` — environment variable `SCALAR_BEARER_TOKEN`
- `bearer_auth` — environment variable `BEARER_AUTH`

## Error handling

Expand Down Expand Up @@ -236,7 +234,9 @@ Response bodies are untrusted, so the runtime bounds them by default:
are consumed incrementally and are exempt.
- Each attempt carries a 60-second deadline unless one is set explicitly; it
covers request-body upload through response headers, and every retry gets a
fresh one.
fresh one. Reading a *buffered* response body is bounded the same way, so a
server that sends headers and then stalls cannot hang the call. Streaming
responses are exempt.
- The bundled backend follows **no** redirects: a followed redirect can
re-send credentials to a host the caller never chose. A next-page link that
points at another origin is refused for the same reason.
Expand Down
19 changes: 19 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Security Policy

## Reporting Security Issues

This is a generated Rust SDK for Scalar, produced by the Scalar SDK Generator (https://scalar.com).

If the issue is in the generated SDK itself — its runtime, authentication handling, path construction, or serialization — report it to the Scalar team at support@scalar.com. We will acknowledge the report, triage it for severity and impact, and communicate a timeline for a fix or an explanation if we decline it.

## Responsible Disclosure

Please allow us reasonable time to investigate and address the issue before disclosing it publicly. Do not include credentials, tokens, or private API payloads in a public issue.

## Reporting Non-SDK Security Issues

If the issue is in the Scalar API or service rather than in this SDK, report it through the security process Scalar has published.

---

Generated code validates emitted paths and escapes spec-derived strings, but OpenAPI documents should still be treated as untrusted input before generation.
Loading
Loading