Repository navigation
Releases
RedfireForge v0.8.20
Added
- Kafka Consumer Groups — Topics → Consumer Groups opens with a count of how many times each group ID appears, then the existing detail table. Each section can shrink or expand on its own.
This release includes Standard (RedfireForge_*) and Learning Hub (RedfireForge-LearningHub-*) installers.
macOS: Gatekeeper will block the app on first launch. Run once in Terminal after installing:
- Standard:
xattr -cr /Applications/RedfireForge.app - Learning Hub:
xattr -cr "/Applications/RedfireForge Learning Hub.app"
Windows: If SmartScreen appears, click More info → Run anyway.
Linux:sudo dpkg -i *.deborchmod +x *.AppImage && ./*.AppImage
SHA256 checksums are in SHA256SUMS.txt above.
RedfireForge v0.8.19
Fixed
- CI product tests — CustomSelect method swatch tests assert inline colors via
element.styleso they pass with@testing-library/jest-dom7.
This release includes Standard (RedfireForge_*) and Learning Hub (RedfireForge-LearningHub-*) installers.
macOS: Gatekeeper will block the app on first launch. Run once in Terminal after installing:
- Standard:
xattr -cr /Applications/RedfireForge.app - Learning Hub:
xattr -cr "/Applications/RedfireForge Learning Hub.app"
Windows: If SmartScreen appears, click More info → Run anyway.
Linux:sudo dpkg -i *.deborchmod +x *.AppImage && ./*.AppImage
SHA256 checksums are in SHA256SUMS.txt above.
RedfireForge v0.8.18
Fixed
- Kafka cluster persistence on desktop upgrade — After installing a new desktop build, Kafka cluster profiles load from the prior Standard or Learning Hub app data folder or from the embedded webview store when the primary Tauri file is empty.
- Azure Event Hubs saved auth — Cluster profiles on
*.servicebus.windows.net:9093saved with auth None are repaired to Azure OAUTHBEARER with TLS on load so reconnect works without re-entering settings.
This release includes Standard (RedfireForge_*) and Learning Hub (RedfireForge-LearningHub-*) installers.
macOS: Gatekeeper will block the app on first launch. Run once in Terminal after installing:
- Standard:
xattr -cr /Applications/RedfireForge.app - Learning Hub:
xattr -cr "/Applications/RedfireForge Learning Hub.app"
Windows: If SmartScreen appears, click More info → Run anyway.
Linux:sudo dpkg -i *.deborchmod +x *.AppImage && ./*.AppImage
SHA256 checksums are in SHA256SUMS.txt above.
RedfireForge v0.8.17
Added
- Catalog request body — The endpoint request body is a JSON tree with search, Expand All, Collapse All, and Copy. Try it out can still edit the text, and the panel resizes from the bottom-right corner.
Fixed
- Kafka Consume on Event Hubs — Consume reads the latest records through KafkaJS when the desktop client’s offset request is reset, including the message body. The last Consume topic is restored after the app restarts.
- Mock Server cURL import — Import keeps the query string and long-form
--headervalues, includingAuthorization, as exact match conditions. Import & Promotion sits above the sidebar edge so that line no longer cuts through the dialog. - Mock Server proxy recording — A proxied response now saves its headers on the draft. Content-Type stays on the body. Sending the same request again fills headers on a draft that was recorded without them.
This release includes Standard (RedfireForge_*) and Learning Hub (RedfireForge-LearningHub-*) installers.
macOS: Gatekeeper will block the app on first launch. Run once in Terminal after installing:
- Standard:
xattr -cr /Applications/RedfireForge.app - Learning Hub:
xattr -cr "/Applications/RedfireForge Learning Hub.app"
Windows: If SmartScreen appears, click More info → Run anyway.
Linux:sudo dpkg -i *.deborchmod +x *.AppImage && ./*.AppImage
SHA256 checksums are in SHA256SUMS.txt above.
RedfireForge v0.8.16
Added
- Kafka Azure OAUTHBEARER — Cluster profiles can sign in to Azure Event Hubs with the Azure CLI session. Install the Azure CLI, run
az login, choose mechanism Azure OAUTHBEARER, set the*.servicebus.windows.net:9093broker, and enable TLS. See Azure Event Hubs. - Kafka message body search — Message Detail has a search field under Message Body. It highlights matches, shows the match count, and moves with the arrows or Enter. Ignore case and Match case choose whether letter case matters, including the stream message search.
Fixed
- Desktop Copy — Command+C copies selected message text, including Kafka header values. Edit → Copy uses that selection instead of staying disabled outside a text field.
- Kafka topic browse on desktop — Opening a topic and consuming messages uses the connected desktop client. Latest reads the newest records already on the topic. Event Hubs reads through the existing
$Defaultgroup instead of failing withLocal: Unknown group. The topic page shows partitions and settings without waiting for the consumer-group scan. Groups assigned to that topic fill in afterward. Message times are epoch milliseconds, so the topic table shows the real local time instead of 1969. The Config tab shows the topic settings returned by the cluster. Message Detail opens wide enough to read the body, and can shrink Details, Key, and Headers so the body uses the freed space. Desktop consumers no longer log a warning for the producer-only request timeout. Consume results show each message time as a local date and time. Desktop Stream reads messages from the desktop consumer. On Event Hubs it assigns partitions instead of joining a consumer group the namespace does not have. Stream stops at Max Messages and drops records that do not match the filter. The Consume message list fills the space left when Configuration and Filters are hidden. Sort Order stays visible while both sections are open, and the Consume form is kept when you leave the page and come back. Consume Once on Event Hubs no longer needs a 100 second timeout: sign-in and offset lookup get enough time, and Latest returns records already on the topic. A Consume filter on Latest searches the same newer window as the topic page, instead of only the first 50 records. The Topics page keeps the selected topic, filters, and messages when you switch to another Kafka tab and come back. Last 1 Hour and Last 24 Hours read the newest records and keep the ones inside that window, instead of starting at the oldest records and returning nothing.
This release includes Standard (RedfireForge_*) and Learning Hub (RedfireForge-LearningHub-*) installers.
macOS: Gatekeeper will block the app on first launch. Run once in Terminal after installing:
- Standard:
xattr -cr /Applications/RedfireForge.app - Learning Hub:
xattr -cr "/Applications/RedfireForge Learning Hub.app"
Windows: If SmartScreen appears, click More info → Run anyway.
Linux:sudo dpkg -i *.deborchmod +x *.AppImage && ./*.AppImage
SHA256 checksums are in SHA256SUMS.txt above.
RedfireForge v0.8.15
Fixed
- Catalog OAuth2 status — Try it out shows the full client ID, token URL, and where those credentials come from (global profile, OpenAPI scheme, or this catalog entry).
- Catalog Export to Requests — Select All stays visible, and the Preview column keeps its height when the endpoint table is wide.
- Correlation wait test — The long-poll request starts before the webhook, so SuperTest 7.3 does not close the shared test server and refuse the connection.
Changed
- Dependencies — minor and patch updates, including
@scalar/openapi-upgrader0.3.1.@tauri-apps/plugin-updaterstays on 2.11 so it matches the Rust updater crate.
This release includes Standard (RedfireForge_*) and Learning Hub (RedfireForge-LearningHub-*) installers.
macOS: Gatekeeper will block the app on first launch. Run once in Terminal after installing:
- Standard:
xattr -cr /Applications/RedfireForge.app - Learning Hub:
xattr -cr "/Applications/RedfireForge Learning Hub.app"
Windows: If SmartScreen appears, click More info → Run anyway.
Linux:sudo dpkg -i *.deborchmod +x *.AppImage && ./*.AppImage
SHA256 checksums are in SHA256SUMS.txt above.
RedfireForge v0.8.14
Added
- Requests sending overlay — Repeat Send of the same URL no longer looks idle. The response pane shows a status card with Preparing request and Sending request steps, a live elapsed timer, and Cancel request until the call finishes. Cancel records an Error result with method, URL, phase, elapsed time, and a console timeline (
Request was cancelled/No response received) instead of leaving the last success on screen. - Requests Preview expand-all — Typical response bodies (32 KB and under) open fully expanded so nested offer/array objects are readable without Expand all. Larger payloads still start shallow so first paint stays fast.
Fixed
- Constant Arrival Rate + OAuth2 — CAR used to refuse OAuth2 tests (
not available with OAuth2 auth) because the Rust executor cannot fetch tokens. Desktop CAR now acquires the client-credentials token once and sends it as a bearer header. - Constant Arrival ramp labels — Enable Ramp no longer shares a row with Start / End RPS, so those names no longer overlap.
Changed
- Dependencies — yaml 2.9.1 in the CLI, 14 minor/patch product updates, and
@zumer/snapdom3.0.0 (dev). - Vitest config — use
import.meta.dirnameand explicit.tsconfig imports so Vite's upcoming native config loader does not warn.
This release includes Standard (RedfireForge_*) and Learning Hub (RedfireForge-LearningHub-*) installers.
macOS: Gatekeeper will block the app on first launch. Run once in Terminal after installing:
- Standard:
xattr -cr /Applications/RedfireForge.app - Learning Hub:
xattr -cr "/Applications/RedfireForge Learning Hub.app"
Windows: If SmartScreen appears, click More info → Run anyway.
Linux:sudo dpkg -i *.deborchmod +x *.AppImage && ./*.AppImage
SHA256 checksums are in SHA256SUMS.txt above.
RedfireForge v0.8.13
Fixed
- CI product coverage — Vitest 5 + jsdom 30 crashed
URL.createObjectURL(blob[impl]._buffer) on export clicks, so the product job failed with an uncaught exception in WebSocket saved connections and a failed API Mock live-demo download test. Tests now stub blob URLs in jsdom, and product coverage include is limited tosrc/src-server/cliTypeScript so CSS, fixtures, and test-utils no longer appear in the shard table.
This release includes Standard (RedfireForge_*) and Learning Hub (RedfireForge-LearningHub-*) installers.
macOS: Gatekeeper will block the app on first launch. Run once in Terminal after installing:
- Standard:
xattr -cr /Applications/RedfireForge.app - Learning Hub:
xattr -cr "/Applications/RedfireForge Learning Hub.app"
Windows: If SmartScreen appears, click More info → Run anyway.
Linux:sudo dpkg -i *.deborchmod +x *.AppImage && ./*.AppImage
SHA256 checksums are in SHA256SUMS.txt above.
RedfireForge v0.8.12
Added
- OrbStack as a Docker engine — Learning Hub finds
~/.orbstack/bin/docker, opens OrbStack when that is the active engine, and (when Docker Desktop and OrbStack are both installed) asks which one to use for lesson stacks. The pick is saved and can be changed in Settings → Docker. Compose commands use--contextfor that engine only and do not change the machine-wide Docker context. - Results Dashboard empty state — when no run exists yet, the dashboard shows a short “No results yet” message and a Go to Test Runner action.
This release includes Standard (RedfireForge_*) and Learning Hub (RedfireForge-LearningHub-*) installers.
macOS: Gatekeeper will block the app on first launch. Run once in Terminal after installing:
- Standard:
xattr -cr /Applications/RedfireForge.app - Learning Hub:
xattr -cr "/Applications/RedfireForge Learning Hub.app"
Windows: If SmartScreen appears, click More info → Run anyway.
Linux:sudo dpkg -i *.deborchmod +x *.AppImage && ./*.AppImage
SHA256 checksums are in SHA256SUMS.txt above.
RedfireForge v0.8.11
Fixed
- Desktop Requests Send latency — Tauri's HTTP plugin built a new TLS client on every Send, so a catalog call that Insomnia reused in ~200ms showed ~1.8s here. Desktop now uses a pooled native HTTP command (keep-alive + gzip/brotli) and falls back to the plugin only if that command is missing.
- Requests "Sending..." spinner — the Preview tree opened every nested node on first paint, so an 80KB JSON body froze the UI for several seconds after the HTTP call finished. Send no longer blanks the panel; the button shows Sending… (with a live ms count) only while
httpFetchis in flight — not during OAuth/header prep or JSON-tree mount — and the tree is built after that paint with nested nodes collapsed. - OAuth2 on Send — Requests acquired a new client-credentials token on every click. Tokens are cached until JWT expiry (30s buffer), matching the test runner.
- Web Requests Import / Export — the tiny ▾ control sat on the editor split and Chrome hit the Preview tabs instead. It is now a labeled Import / Export button; the menu portals to
document.body. Web export uses adata:URL (notblob:) so Chrome’s download history keepsrequests-all-collections.jsoninstead of the blob UUID. Sidebar Import is a real<input type="file">the user clicks — Chrome was ignoring a programmatic picker after the async click chain. - CSV template download — small CSV downloads use a
data:URL so Chrome keeps the real filename instead of a blob UUID. - Requests Sending label — the live ms ticker on the button kept incrementing after the HTTP call (and looked like polling). The button shows Sending… only for the fetch, then returns to Send before preview work.
This release includes Standard (RedfireForge_*) and Learning Hub (RedfireForge-LearningHub-*) installers.
macOS: Gatekeeper will block the app on first launch. Run once in Terminal after installing:
- Standard:
xattr -cr /Applications/RedfireForge.app - Learning Hub:
xattr -cr "/Applications/RedfireForge Learning Hub.app"
Windows: If SmartScreen appears, click More info → Run anyway.
Linux:sudo dpkg -i *.deborchmod +x *.AppImage && ./*.AppImage
SHA256 checksums are in SHA256SUMS.txt above.