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, with 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 use .sendra/environments/*.yaml, resolved via --env, with {{variable}} and ${OS_VAR} substitution.
  • Config, layered uses .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.
  • Scripting uses pre_request/post_request hooks in an embedded scripting language (Rhai), with no external runtime to install.
  • OAuth supports 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) is 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, so 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.