Skip to main content

Sendra 0.1.0: the first tagged release

· 3 min read
The Sendra Team
Maintainers

Sendra 0.1.0 is out — the first tagged release, and the first time you can install it instead of building it from source.

What "0.1.0" means here

Nothing in this release is new relative to what's been in the repo — it's the same request/collection model, CLI, and TUI introduced and described in depth in the last two posts. What changes is that it's now built, checksummed, and published under a version number, with prebuilt binaries and package-manager entries instead of a git clone + cargo build.

What's in the box

  • Requests and collections as plain YAML — method, URL, headers, and a body as body, json, body_file, form, or multipart, with auth: bearer/basic/api_key.
  • sendra run and sendra test — send a request or collection from the shell, or run it against assertions: and fail the build on a miss. test supports --junit for CI report output.
  • Assertions on status, headers, and body, including JSON-path checks and an operator sub-language (greater_than, matches, not:, and more).
  • Capture and chaining — pull a value out of one response (JSON path, header, or status code) and substitute it into a later request in the same run.
  • Environments and variables.sendra/environments/*.yaml resolved via --env, with {{variable}} and ${OS_VAR} substitution.
  • Config, layered.sendra/config.yaml for default headers, timeout, redirects, TLS, proxy, and cookie-jar settings, resolved project-over-global, overridable per-invocation with flags like -H, --var, --insecure, --proxy.
  • Scriptingpre_request/post_request hooks in an embedded scripting language (Rhai), with no external runtime to install.
  • OAuth — an authorization_code login flow for requests that need a browser-based token first.
  • sendra import curl, sendra init, and sendra schema — convert a curl command into a request file, scaffold a new .sendra/ project, and emit JSON Schemas for editor tooling.
  • The TUI (sendra tui, or a bare sendra) — the full-screen terminal app covered in the last post, built on the same core as the CLI.
  • One binary. sendra-cli and sendra-tui build into a single sendra binary — installing it gets you both.

Install it

Shell:

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/sendra-lab/Sendra/releases/latest/download/sendra-cli-installer.sh | sh

PowerShell:

powershell -ExecutionPolicy Bypass -c "irm https://github.com/sendra-lab/Sendra/releases/latest/download/sendra-cli-installer.ps1 | iex"

npm:

npm install @sendra-lab/sendra

pnpm:

pnpm add @sendra-lab/sendra

Bun:

bun add @sendra-lab/sendra

Homebrew:

brew install sendra-lab/tap/sendra-cli

Cargo:

cargo install sendra-cli

Or download a prebuilt binary directly from the v0.1.0 release page, which also has checksums for every artifact.

Once it's on your PATH:

cat > get-request.yaml <<'EOF'
method: GET
url: https://httpbin.org/get
EOF

sendra run get-request.yaml

From there, the docs cover the full request/collection schema, every CLI flag, and the TUI's keybinding reference.