Skip to content

Releases

deed v0.2.2

Choose a tag to compare

@thep200 thep200 released this 28 Jul 08:31

Deed v0.2.0

New protocols & auth

  • 🧼 SOAP client (1.1 & 1.2) — full-envelope editing, correct SOAPAction/Content-Type per version, XML syntax highlight + pretty-print
  • 🔑 OAuth2 auth type — client_credentials & password grants; token fetched, cached and refreshed automatically (HTTP / GraphQL / WS / SOAP)
  • 🔎 GraphQL introspection — new Schema tab renders the server schema as SDL (toggle to raw JSON)
  • 🧬 Kafka Avro — produce & auto-decode values via Confluent Schema Registry

Improvements

  • Auth tab simplified to one flat shape with a single type key; apikey removed (use Headers/Query) — old files migrate automatically
  • gRPC: Auth tab removed (auth = metadata), new requests seeded with example metadata lines
  • XML responses highlighted & prettified across all request types

Fixes

  • Crash rendering non-UTF-8 bytes in streamed/Kafka values
  • Kafka: session deadline covers connect+tail, Cancel responsive ~100 ms, Producer/Consumer draft survives restart

Full Changelog: v0.2.1...v0.2.2

deed v0.2.0

Choose a tag to compare

@thep200 thep200 released this 23 Jul 03:42
  • ⚠️ Auth simplified — one flat JSON shape with single type key (3 types: none/basic/bearer), apikey removed, automatic migration + guidance to move keys into Headers/Query, new cURL import behavior (unknown scheme stays in headers list).
  • ✨ gRPC — Auth tab dropped, new requests seeded with disabled example metadata lines, lowercase key rule.
  • 🐛 Kafka — one session deadline bounds connect + tail, Cancel responsive within ~100 ms, inactive Producer/Consumer draft survives autosave/restart.
  • 🔧 Internal — refactor/perf pass, new transparent app icon.
  • 📚 Docs — README + file-format spec updates.
  • Install footer keeps house format (deed-v0.2.0-macos-arm64.zip + quarantine instructions).

Full Changelog: v0.1.4...v0.2.0

deed v0.1.4

Choose a tag to compare

@thep200 thep200 released this 03 Jul 02:10

✨ Kafka support (new request type)

Deed now speaks Kafka — pick Kafka in the request-type dropdown:

  • Producer — compose key / JSON value / headers, send one message, get a delivery report (topic / partition / offset / latency). Supports acks, compression, idempotence, tombstone (null value for compacted topics), and raw librdkafka properties via extra.
  • Consumer — tail one or more topics live in the response pane. offsetReset: "earliest" + empty group reads a topic from the beginning; maxMessages stops after N records.
  • Cancel works even against an unreachable broker (delivery wait is sliced, honoring both the Kafka messageTimeoutMs and the request timeout).

See the new README Kafka guide for the tab schemas.

🔧 Configuration now flows from .env

  • New-request defaults (DEFAULT_TIMEOUT_MS, VERIFY_TLS) and gRPC stream ceilings (STREAM_MAX_EVENTS, STREAM_MAX_BYTES_MB) are read from .env instead of being hardcoded.
  • New key: WS_CONNECT_TIMEOUT_MS (WebSocket handshake timeout).
  • Removed dead keys (STREAM_COALESCE_MS, STREAM_UI_BUFFER_MAX_KB, SCROLLER_OVERLAY, TREE_ACTIONS_H, …) and fixed the WINDOW_MIN_WIDTH typo.
  • Reminder: .env is embedded at build time — edit + rebuild to change.

🐛 Fixes

  • Long-lived streams (WebSocket / gRPC streaming / Kafka consumer) run on a dedicated thread pool — they no longer block queued normal sends.
  • Body drafts are kept per request: switching body mode or requests no longer copies the wrong body / loses what you typed in a non-active mode.
  • Environment editor & code-convention cleanups.

📚 Docs

  • README rewritten as a user guide: what happens on Send, plus per-type instructions (HTTP body modes, gRPC reflection/.proto & streaming, WebSocket sessions, GraphQL subscriptions, Kafka producer/consumer).

🏗 Internal

  • Core restructured into a clean domain / app / infra tree with an automated layering gate in the test suite; legacy layer removed, importer/exporter separated. No user-facing change — groundwork for what's next.

Install — download deed-v0.1.4-macos-arm64.zip, unzip into /Applications. The app is ad-hoc signed, so on first launch: right-click → Open → Open (or xattr -dr com.apple.quarantine /Applications/deed.app).

Full Changelog: v0.1.3...v0.1.4

deed v0.1.3

Choose a tag to compare

@thep200 thep200 released this 26 Jun 10:14

Deed v0.1.3

A reliability + UX release: per-request configuration, a leaner build, and big stability fixes for streaming, caching, and window/teardown.

✨ New

  • Per-request Config tab — every request now has a Config tab (sits right before the cURL button) with two settings:
    • timeout_ms — request timeout / gRPC deadline / WebSocket idle timeout
    • tls — verify TLS cert (HTTP/WS/GraphQL) or use a TLS channel (gRPC)
      Settings are saved per request and applied across all transports.
  • Pixel-rounded window corners — new SQUARE_CORNERS=2 mode draws retro, non-anti-aliased (chunky) rounded corners. Tune with CORNER_RADIUS_PX (corner size) and CORNER_STEP_PX (stair size). 0 = system rounded, 1 = square (default), 2 = pixel-rounded.

🔧 Changes

  • Environments are now all equal — removed the special "Global/Local" base environment. Every environment is a normal column you can rename and delete; an environment's name is simply its filename. Variables resolve from the selected environment only (pick one from the ENV dropdown).
  • gRPC TLS moved from the toolbar toggle into the per-request Config tab (tls). The old toggle is gone; the global default_timeout_ms setting was removed in favor of per-request timeout_ms.
  • Default window width increased 1040 → 1280.
  • Left (request) pane now defaults to half the width of the right (response) pane (1:2).
  • GraphQL "Variables" tab renamed to "Vars".

🐛 Reliability & fixes

  • Streaming responses (SSE / gRPC-stream / WebSocket) survive an app restart — the disk-cache index is now written through on every store and flushed on quit, so a cached stream response is no longer lost when you close and reopen the app.
  • Two-tier cache hardening — accurate RAM accounting (no longer silently exceeds the cap), durable index writes, and removal of stale/orphaned cache files; cache filename is now just the request id.
  • No more use-after-free on close — closing a window/tab while a request or stream is in flight is now safe; streams/sessions run on dedicated threads and are cancelled + drained cleanly on shutdown.
  • Robustness — depth-guarded JSON parsing (no stack-overflow crash on hostile/huge input), atomic+fsync file writes (no data loss on crash), and gRPC reflection teardown that can't hang.
  • Cache size now always comes from your app settings, clamped by the .env ceiling (raised so your setting isn't overridden).

🏗️ Build & internals

  • Simplified Makefile — just four commands: make help, make setup, make build (→ signed dist/deed.app), make test.
  • Lighter repo via CMake FetchContent — Scintilla/Lexilla editor sources are no longer vendored in git; CMake downloads the pinned versions (SHA-256 verified) into build/_deps and applies local patches automatically at configure time.
  • Warning-free build — make build produces zero compiler warnings (including fixes for macOS 12 deprecations in the vendored editor).
  • Core split into smaller headers/translation units; transport dispatch stays registry-based.

Full Changelog: v0.1.2...v0.1.3

deed v0.1.2

Choose a tag to compare

@thep200 thep200 released this 24 Jun 14:18

Highlights

New core service support streaming response. Support new request type like SSE, Websocket, GraphQL, gRPC Streaming


Features

  • Streaming feature: new core feature to support streaming response
  • New type request support: graphql, sse, ws

Bug Fixes

  • UI Overflow line number: fix line number in pane response overborder when it too long

Refactoring & Performance

  • Caching: Caching core service

Breaking Changes

  • Global config: remove timeout, tls config move it into per request

Chores

  • refactoring code, plattern logic
  • .gitignore file update

Full Changelog: v0.1.1...v0.1.2

deed v0.1.1

Choose a tag to compare

@github-actions github-actions released this 21 Jun 04:44