Releases: ddv1982/load-rift
Release list
Load Rift v0.2.28
Summary
- Publishes Load Rift 0.2.28 with a remediated frontend dependency, stricter repository verification, and simpler test-run command settlement.
- Updates the transitive
brace-expansionpackage to 5.0.8, resolving the high-severity denial-of-service advisory while retaining exact lockfile policy coverage. - Adds a read-only Prettier check to the canonical verification gate so formatting drift fails before release.
- Removes the unused collection-import error API while preserving cancellation, replacement failure, reset, and stale-import behavior.
- Consolidates duplicated start/stop settlement guards and adds explicit coverage for pending commands that resolve or reject after unmount.
Downloads
- macOS Apple Silicon DMG: attached to this GitHub release as
Load.Rift_0.2.28_aarch64.dmg - macOS Intel DMG: attached to this GitHub release as
Load.Rift_0.2.28_x64.dmg - Linux AppImage: attached to this GitHub release as
Load.Rift_0.2.28_amd64.AppImage - Linux
.deb: attached to this GitHub release asLoad.Rift_0.2.28_amd64.deb - Linux
.rpm: attached to this GitHub release asLoad.Rift-0.2.28-1.x86_64.rpm - APT setup script: attached to this GitHub release as
install-apt-repo.sh - APT setup package: attached to this GitHub release as
load-rift-repository-setup_1.0_all.deb - Supply-chain evidence: attached as
ASSET-INVENTORY.txt,SHA256SUMS, SBOMs, advisory reports, Cargo metadata, and license notices
Linux APT Install
Enable the Load Rift APT repository once:
bash <(curl -fsSL https://github.com/ddv1982/load-rift/releases/latest/download/install-apt-repo.sh)Then install or update normally:
sudo apt update
sudo apt install load-riftThe setup script authenticates the repository setup package checksum with a detached GPG signature and a release-pinned signer fingerprint before installing the repository configuration. Signed repository metadata expires after 30 days by default.
Bundled Third-Party Software
This package bundles Grafana k6 v2.1.0, licensed under AGPL-3.0-only.
Corresponding source: https://github.com/grafana/k6/tree/v2.1.0
Source archive: https://github.com/grafana/k6/archive/refs/tags/v2.1.0.tar.gz
Additional bundled licensing notices are included in the package.
Verification
- Canonical
npm run verifygate, including formatting, frontend coverage, browser workflow smoke, APT and installer tests, supply-chain policy checks, Rust formatting, locked Clippy, audits, tests, and checks - 196 frontend tests and 170 Rust tests
- Independent feature and final convergence reviews
- v0.2.28 release workflow packaging, signing, exact-inventory, attestation, APT deployment, and publication jobs
Lore
Constraint: Preserve start and stop command settlement semantics across stale responses, API replacement, unmount, completion, errors, and refresh reconciliation.
Constraint: Release verification must reject both high-severity npm advisories and formatting drift without introducing new tooling.
Rejected: Retaining the unused collection-import error API for hypothetical callers | the private application has no production consumer and its live failure paths remain covered.
Rejected: Abstracting the test harness beyond the local hook | one local settlement helper removes the confirmed duplication without widening the concurrency-sensitive contract.
Confidence: high
Scope-risk: moderate
Directive: Ship the reviewed security and maintainability improvements as v0.2.28 without rewriting an existing release tag.
Tested: Canonical npm run verify; 196 frontend tests; browser workflow smoke; 170 Rust tests; locked Clippy and Cargo check; npm and Rust audits; supply-chain evidence; independent feature and final reviews.
Not-tested: v0.2.28 platform packaging, signing, upload, APT deployment, and final GitHub publication remain delegated to the tag-triggered release workflow.
Load Rift v0.2.27
Summary
- Publishes Load Rift 0.2.27 with stronger test-run lifecycle handling, native-boundary validation, safer Postman imports, and accessible run outcomes.
- Serializes collection imports, smoke tests, and load tests; makes stop handling idempotent and race-safe; and prevents stale command or event responses from replacing newer terminal state.
- Rejects unsupported enabled Postman body modes instead of silently degrading them, preserves URL-encoded body semantics, bounds weighted request scheduling, and disables automatic redirects for smoke and generated k6 requests.
- Hardens k6 binary discovery, bounds process-output records, fails closed on malformed summaries, and updates the bundled Grafana k6 runtime to v2.1.0.
- Updates supported npm and Rust dependencies, adopts Node 24 and Rust 1.97.1 in automation, and preserves Ubuntu 22.04 for Linux package compatibility.
- Binds release publication to one immutable tagged commit and adds exact asset inventories, checksums, SBOMs, advisory reports, attestations, and expiring signed APT metadata.
- Adds weekly Dependabot updates for npm, Cargo, and GitHub Actions while retaining documented TypeScript and Node typing major-version holds.
- Normalizes Tauri's space-bearing package filenames to their GitHub release names before exact asset inventory validation.
Downloads
- macOS Apple Silicon DMG: attached to this GitHub release as
Load.Rift_0.2.27_aarch64.dmg - macOS Intel DMG: attached to this GitHub release as
Load.Rift_0.2.27_x64.dmg - Linux AppImage: attached to this GitHub release as
Load.Rift_0.2.27_amd64.AppImage - Linux
.deb: attached to this GitHub release asLoad.Rift_0.2.27_amd64.deb - Linux
.rpm: attached to this GitHub release asLoad.Rift-0.2.27-1.x86_64.rpm - APT setup script: attached to this GitHub release as
install-apt-repo.sh - APT setup package: attached to this GitHub release as
load-rift-repository-setup_1.0_all.deb - Supply-chain evidence: attached as
ASSET-INVENTORY.txt,SHA256SUMS, SBOMs, advisory reports, Cargo metadata, and license notices
Linux APT Install
Enable the Load Rift APT repository once:
bash <(curl -fsSL https://github.com/ddv1982/load-rift/releases/latest/download/install-apt-repo.sh)Then install or update normally:
sudo apt update
sudo apt install load-riftThe setup script authenticates the repository setup package checksum with a detached GPG signature and a release-pinned signer fingerprint before installing the repository configuration. Signed repository metadata expires after 30 days by default.
Bundled Third-Party Software
This package bundles Grafana k6 v2.1.0, licensed under AGPL-3.0-only.
Corresponding source: https://github.com/grafana/k6/tree/v2.1.0
Source archive: https://github.com/grafana/k6/archive/refs/tags/v2.1.0.tar.gz
Additional bundled licensing notices are included in the package.
Verification
- Canonical
npm run verifygate, including frontend coverage, browser workflow smoke, APT and installer tests, supply-chain policy checks, Rust formatting, locked Clippy, audits, tests, and checks - Bundled-k6 cached and fresh-install verification
- Locked local Tauri no-bundle build
- Independent feature and final convergence reviews
- v0.2.26 platform package and signing jobs
- v0.2.27 release workflow exact-inventory, attestation, APT deployment, and publication jobs
Lore
Constraint: Release jobs must resolve v0.2.27 to one immutable commit and recheck that identity before draft creation, asset upload, Pages deployment, and publication.
Constraint: Linux packages remain on Ubuntu 22.04 for glibc compatibility while verification and publication jobs use Ubuntu 24.04.
Constraint: Malformed native responses, unsafe k6 candidates, oversized process records, unsupported enabled body modes, and malformed summaries must fail closed without exposing stale state.
Rejected: Following HTTP redirects during smoke or generated k6 requests | redirect-selected destinations must not receive automatically forwarded credentials, headers, or request bodies.
Rejected: Rewriting the failed v0.2.26 tag | preserve immutable release identity and correct publication with v0.2.27.
Rejected: Validating Tauri's local filenames as if GitHub had already normalized them | normalize the five desktop artifacts explicitly before inventory generation.
Confidence: high
Scope-risk: high
Directive: Ship the reviewed runtime and supply-chain hardening as v0.2.27 without rewriting an existing release tag.
Tested: Canonical verification with bundled-k6 regressions; cached and fresh k6 installation; locked Rust suites; locked local Tauri no-bundle build; v0.2.26 Linux and signed/notarized macOS package jobs; independent feature and final reviews.
Not-tested: v0.2.27 exact-inventory upload, APT deployment, and final GitHub publication remain delegated to the replacement tag-triggered release workflow.
Load Rift v0.2.25
Summary
- Publishes Load Rift 0.2.25 with dependency, backend validation, process reliability, and release hygiene fixes from the audit remediation pass.
- Removes the confirmed RustSec blocker by updating the Rust dependency resolution to
quick-xml0.41.0 throughplist1.10.0. - Rejects stale selected request IDs and invalid k6 basic load-shape values at the Rust backend boundary before validation or run start.
- Adds a bounded k6 child-process settlement fail-safe so a persistently uncertain child process cannot leave Load Rift stuck in a busy state.
- Hardens APT repository generation by requiring a generated marker before
--cleanremoves an existing output directory. - Aligns README prerequisites, third-party license inventory, and AppStream release metadata with the shipped package metadata.
Downloads
- macOS Apple Silicon DMG: attached to this GitHub release as
Load.Rift_0.2.25_aarch64.dmg - macOS Intel DMG: attached to this GitHub release as
Load.Rift_0.2.25_x64.dmg - Linux AppImage: attached to this GitHub release as
Load.Rift_0.2.25_amd64.AppImage - Linux
.deb: attached to this GitHub release asLoad.Rift_0.2.25_amd64.deb - Linux
.rpm: attached to this GitHub release asLoad.Rift-0.2.25-1.x86_64.rpm - APT setup script: attached to this GitHub release as
install-apt-repo.sh - APT setup package: attached to this GitHub release as
load-rift-repository-setup_1.0_all.deb
Linux APT Install
Enable the Load Rift APT repository once:
bash <(curl -fsSL https://github.com/ddv1982/load-rift/releases/latest/download/install-apt-repo.sh)Then install or update normally:
sudo apt update
sudo apt install load-riftThe setup script authenticates the repository setup package checksum with a detached GPG signature and a release-pinned signer fingerprint before installing the repository configuration.
Bundled Third-Party Software
This package bundles Grafana k6 v2.0.0, licensed under AGPL-3.0-only.
Corresponding source: https://github.com/grafana/k6/tree/v2.0.0
Source archive: https://github.com/grafana/k6/archive/refs/tags/v2.0.0.tar.gz
Additional bundled licensing notices are included in the package.
Verification
- Python syntax parse for
scripts/build_apt_repository.py - AppStream XML parse for
src-tauri/appstream/dev.loadrift.desktop.metainfo.xml - APT repository clean-path guard static checks
-
npm run verify
Lore
Constraint: Release notes are read by the GitHub Actions release workflow from docs/releases/v0.2.25.md when available.
Constraint: The APT repository builder may clean generated output only when the target is marked with .loadrift-apt-repository-output and is not a root, home, or workspace path.
Constraint: Runtime validation must reject stale request selections and invalid basic k6 load-shape values before starting smoke or load execution.
Rejected: Ignoring the quick-xml RustSec advisories | updating the dependency resolution removes the known vulnerable version without an audit exception.
Rejected: Leaving k6 child settlement failures busy forever | a bounded failed-state path preserves diagnostics while unblocking the app state.
Confidence: high
Scope-risk: moderate
Directive: Ship audit remediation as v0.2.25 without rewriting existing v0.2.x tags.
Tested: Python syntax and XML parse checks; APT clean-path guard checks; npm run verify.
Not-tested: Local packaged artifact generation with npm run tauri build; release workflow will build and attach packaged artifacts on tag push.
Load Rift v0.2.24
Summary
- Publishes Load Rift 0.2.24 with app metadata aligned across npm, Cargo, Tauri packaging, and AppStream release metadata.
- Hardens CI and release workflows by pinning GitHub Actions to commit SHAs instead of mutable version or branch refs.
- Replaces third-party Tauri release publishing with first-party shell and
ghsteps so Apple signing and APT signing material stays out of third-party release actions. - Splits draft release creation, read-only platform builds, release asset uploads, APT Pages deployment, and final release publication into separate gated jobs.
- Keeps write-scoped release tokens out of jobs that execute third-party build/cache actions.
- Preserves completed
mainCI runs by cancelling only non-main in-progress CI runs.
Downloads
- macOS Apple Silicon DMG: attached to this GitHub release as
Load.Rift_0.2.24_aarch64.dmg - macOS Intel DMG: attached to this GitHub release as
Load.Rift_0.2.24_x64.dmg - Linux AppImage: attached to this GitHub release as
Load.Rift_0.2.24_amd64.AppImage - Linux
.deb: attached to this GitHub release asLoad.Rift_0.2.24_amd64.deb - Linux
.rpm: attached to this GitHub release asLoad.Rift-0.2.24-1.x86_64.rpm - APT setup script: attached to this GitHub release as
install-apt-repo.sh - APT setup package: attached to this GitHub release as
load-rift-repository-setup_1.0_all.deb
Linux APT Install
Enable the Load Rift APT repository once:
bash <(curl -fsSL https://github.com/ddv1982/load-rift/releases/latest/download/install-apt-repo.sh)Then install or update normally:
sudo apt update
sudo apt install load-riftThe setup script authenticates the repository setup package checksum with a detached GPG signature and a release-pinned signer fingerprint before installing the repository configuration.
Bundled Third-Party Software
This package bundles Grafana k6 v2.0.0, licensed under AGPL-3.0-only.
Corresponding source: https://github.com/grafana/k6/tree/v2.0.0
Source archive: https://github.com/grafana/k6/archive/refs/tags/v2.0.0.tar.gz
Additional bundled licensing notices are included in the package.
Verification
- Workflow YAML parse for
.github/workflows/ci.ymland.github/workflows/release.yml - Static release workflow invariant checks for pinned actions, release gating, secret scope, and write-token job isolation
-
npm run typecheck -
npm run lint -
npm test -
npm run build -
npm run rust:fmt -
npm run rust:clippy -
npm run rust:audit -
cargo test --manifest-path src-tauri/Cargo.toml -
cargo check --manifest-path src-tauri/Cargo.toml -
git diff --check
Lore
Constraint: Release notes are read by the GitHub Actions release workflow from docs/releases/v0.2.24.md when available.
Constraint: Third-party build/cache actions may run with read-only repository access, but release write tokens and signing material must remain scoped to first-party shell or gh steps.
Constraint: A release is created as a draft first and only published after platform assets are uploaded and the APT Pages repository deploy completes.
Rejected: Keeping tauri-apps/tauri-action for build-and-release convenience | direct Tauri builds plus explicit gh release upload make token and secret boundaries auditable.
Rejected: Allowing a rerun to turn an already published release back into a draft | the workflow now refuses that path and requires a new replacement tag.
Confidence: high
Scope-risk: moderate
Directive: Ship release hardening and aligned 0.2.24 metadata without rewriting existing v0.2.x tags.
Tested: Workflow YAML parse; release workflow invariant script; mutable-ref grep; python3 -m py_compile scripts/build_apt_repository.py && sh -n scripts/install-apt-repo.sh && git diff --check; npm exec prettier -- --check ".github/workflows/*.yml"; npm run verify.
Not-tested: Local packaged artifact generation with npm run tauri build; release workflow will build and attach packaged artifacts on tag push.
Load Rift v0.2.23
Summary
- Publishes Load Rift 0.2.23 with app metadata aligned across npm, Cargo, Tauri packaging, and AppStream release metadata.
- Clears collection/request-scoped runtime state when switching Postman collections so base URLs, bearer tokens, runtime headers, body overrides, variable overrides, cURL status, smoke output, export notices, and latest load-test results do not bleed into the next workflow.
- Changes pasted cURL application to replace the cURL-managed request details instead of merging stale headers or retaining old auth, base URL, or body data.
- Adds an explicit load-test harness clear path that returns retained output, metrics, results, and run references to the initial idle state.
- Locks collection import/reset while a load or smoke workflow is busy so UI clearing cannot imply a backend k6 process has stopped.
- Adds regression coverage for collection switching, cURL replacement, request/body clearing, same-collection preservation, and stale run-event invalidation.
Downloads
- macOS Apple Silicon DMG: attached to this GitHub release as
Load.Rift_0.2.23_aarch64.dmg - macOS Intel DMG: attached to this GitHub release as
Load.Rift_0.2.23_x64.dmg - Linux AppImage: attached to this GitHub release as
Load.Rift_0.2.23_amd64.AppImage - Linux
.deb: attached to this GitHub release asLoad.Rift_0.2.23_amd64.deb - Linux
.rpm: attached to this GitHub release asLoad.Rift-0.2.23-1.x86_64.rpm - APT setup script: attached to this GitHub release as
install-apt-repo.sh - APT setup package: attached to this GitHub release as
load-rift-repository-setup_1.0_all.deb
Linux APT Install
Enable the Load Rift APT repository once:
bash <(curl -fsSL https://github.com/ddv1982/load-rift/releases/latest/download/install-apt-repo.sh)Then install or update normally:
sudo apt update
sudo apt install load-riftThe setup script authenticates the repository setup package checksum with a detached GPG signature and a release-pinned signer fingerprint before installing the repository configuration.
Bundled Third-Party Software
This package bundles Grafana k6 v2.0.0, licensed under AGPL-3.0-only.
Corresponding source: https://github.com/grafana/k6/tree/v2.0.0
Source archive: https://github.com/grafana/k6/archive/refs/tags/v2.0.0.tar.gz
Additional bundled licensing notices are included in the package.
Verification
-
npx vitest run src/app/App.persistence.test.tsx src/app/App.validation.test.tsx src/features/test/useTestHarness.test.tsx -
npm run typecheck -
npm test -
npm run build -
npm run lint -
cargo check --manifest-path src-tauri/Cargo.toml - Manual Playwright browser flow with E2E API injection for collection A to collection B stale-state clearing
-
git diff --check
Lore
Constraint: Release notes are read by the GitHub Actions release workflow from docs/releases/v0.2.23.md when available.
Constraint: Collection-scoped runtime data may contain secrets or request-specific assumptions and must not survive into a different imported collection.
Constraint: cURL apply semantics must be predictable; a new paste replaces the cURL-managed request details instead of preserving invisible leftovers.
Constraint: Clearing retained UI result state must not imply the backend k6 process was stopped.
Rejected: Hiding stale results only in the UI | the harness now exposes an explicit idle reset that clears retained output, metrics, result, and run refs.
Rejected: Tracking which old headers came from cURL versus manual entry | replacing the cURL-managed request details keeps the behavior simple and auditable.
Rejected: Allowing source replacement during active run workflows | source import/reset is locked while load or smoke actions are busy.
Confidence: high
Scope-risk: moderate
Directive: Ship stale-state clearing for collection switches and cURL replacement semantics while preserving global load-profile preferences.
Tested: npx vitest run src/app/App.persistence.test.tsx src/app/App.validation.test.tsx src/features/test/useTestHarness.test.tsx; npm run lint; npm run typecheck; npm test; npm run build; cargo check --manifest-path src-tauri/Cargo.toml; manual Playwright browser flow with E2E API injection; git diff --check.
Not-tested: Local packaged artifact generation with npm run tauri build; release workflow will build and attach packaged artifacts on tag push.
Load Rift v0.2.22
Summary
- Publishes Load Rift 0.2.22 with app metadata aligned across npm, Cargo, Tauri packaging, and AppStream release metadata.
- Supports Postman cURL requests whose required API inputs are supplied as headers, including values such as customer, module, application, content type, and non-bearer authorization headers.
- Adds generic runtime request headers that merge case-insensitively with imported collection headers, with pasted or manually edited runtime headers taking precedence in validation, smoke tests, and k6 load runs.
- Extends pasted cURL handling to capture method and body data, while applying body overrides only to a single selected request so one request body is not spread across an entire collection.
- Adds an editable request headers table, masks sensitive-looking header values, clears pasted cURL after apply, and keeps runtime headers/body overrides out of persisted runner preferences.
- Keeps generated k6 scripts and Rust smoke-test resolution aligned through the same runtime request-header and request-body override contract.
Downloads
- macOS Apple Silicon DMG: attached to this GitHub release as
Load.Rift_0.2.22_aarch64.dmg - macOS Intel DMG: attached to this GitHub release as
Load.Rift_0.2.22_x64.dmg - Linux AppImage: attached to this GitHub release as
Load.Rift_0.2.22_amd64.AppImage - Linux
.deb: attached to this GitHub release asLoad.Rift_0.2.22_amd64.deb - Linux
.rpm: attached to this GitHub release asLoad.Rift-0.2.22-1.x86_64.rpm - APT setup script: attached to this GitHub release as
install-apt-repo.sh - APT setup package: attached to this GitHub release as
load-rift-repository-setup_1.0_all.deb
Linux APT Install
Enable the Load Rift APT repository once:
bash <(curl -fsSL https://github.com/ddv1982/load-rift/releases/latest/download/install-apt-repo.sh)Then install or update normally:
sudo apt update
sudo apt install load-riftThe setup script authenticates the repository setup package checksum with a detached GPG signature and a release-pinned signer fingerprint before installing the repository configuration.
Bundled Third-Party Software
This package bundles Grafana k6 v2.0.0, licensed under AGPL-3.0-only.
Corresponding source: https://github.com/grafana/k6/tree/v2.0.0
Source archive: https://github.com/grafana/k6/archive/refs/tags/v2.0.0.tar.gz
Additional bundled licensing notices are included in the package.
Verification
-
npm run lint -
npm run typecheck -
npm test -
npm run build -
npm run rust:fmt -
npm run rust:clippy -
npm run rust:audit -
cargo test --manifest-path src-tauri/Cargo.toml -
LOADRIFT_REQUIRE_BUNDLED_K6_TESTS=true cargo test --manifest-path src-tauri/Cargo.toml -
cargo test --manifest-path src-tauri/Cargo.toml importing:: -
cargo check --manifest-path src-tauri/Cargo.toml -
git diff --check
Lore
Constraint: Release notes are read by the GitHub Actions release workflow from docs/releases/v0.2.22.md when available.
Constraint: API-specific Postman cURL exports must not require API-specific code paths; header and body handling must stay generic across APIs.
Constraint: Runtime headers may contain secrets and must not be saved in runner preferences.
Constraint: Smoke tests and generated k6 load runs must resolve headers and body overrides through the same contract so validation does not diverge from execution.
Rejected: Special-casing Customerid, Modulename, or Applicationname | pasted cURL now populates generic runtime headers for any API.
Rejected: Applying a pasted cURL body to every selected request | body data is scoped to exactly one selected request.
Rejected: Adopting curlconverter for this release | the local parser covers the supported Postman cURL flags without adding tree-sitter/WASM packaging risk.
Confidence: high
Scope-risk: moderate
Directive: Ship header-driven Postman cURL support with generic runtime request headers, single-request body overrides, aligned smoke/k6 execution, and no persisted request secrets.
Tested: npm run lint; npm run typecheck; npm test; npm run build; npm run rust:fmt; npm run rust:clippy; npm run rust:audit; cargo test --manifest-path src-tauri/Cargo.toml; LOADRIFT_REQUIRE_BUNDLED_K6_TESTS=true cargo test --manifest-path src-tauri/Cargo.toml; cargo test --manifest-path src-tauri/Cargo.toml importing::; cargo check --manifest-path src-tauri/Cargo.toml; git diff --check.
Not-tested: Local Playwright workflow smoke because this container does not have the Playwright browser installed; GitHub Actions installs Playwright Chromium before running the workflow smoke gate. Local packaged artifact generation with npm run tauri build.
Load Rift v0.2.21
Summary
- Publishes Load Rift 0.2.21 with app metadata aligned across npm, Cargo, Tauri packaging, and AppStream release metadata.
- Completes the codebase cleanup plan with Rust-owned file dialogs, backend path validation, bounded k6 output retention, and blocking import work for large collections.
- Splits the k6 process runtime into focused modules and adds launch/wait/completion contexts so process orchestration is easier to audit.
- Splits the frontend workflow shell into Source, Configure, and Run panels, separates CSS by surface, and removes remaining dead CSS candidates with browser screenshot evidence.
- Adds large-collection fixtures, benchmark coverage, Vitest V8 coverage, and Playwright browser smoke coverage for import, configure, smoke, load, and export.
- Expands CI and release verification to install Playwright Chromium and run the full workflow smoke gate before packaging.
Downloads
- macOS Apple Silicon DMG: attached to this GitHub release as
Load.Rift_0.2.21_aarch64.dmg - macOS Intel DMG: attached to this GitHub release as
Load.Rift_0.2.21_x64.dmg - Linux AppImage: attached to this GitHub release as
Load.Rift_0.2.21_amd64.AppImage - Linux
.deb: attached to this GitHub release asLoad.Rift_0.2.21_amd64.deb - Linux
.rpm: attached to this GitHub release asLoad.Rift-0.2.21-1.x86_64.rpm - APT setup script: attached to this GitHub release as
install-apt-repo.sh - APT setup package: attached to this GitHub release as
load-rift-repository-setup_1.0_all.deb
Linux APT Install
Enable the Load Rift APT repository once:
bash <(curl -fsSL https://github.com/ddv1982/load-rift/releases/latest/download/install-apt-repo.sh)Then install or update normally:
sudo apt update
sudo apt install load-riftThe setup script authenticates the repository setup package checksum with a detached GPG signature and a release-pinned signer fingerprint before installing the repository configuration.
Bundled Third-Party Software
This package bundles Grafana k6 v2.0.0, licensed under AGPL-3.0-only.
Corresponding source: https://github.com/grafana/k6/tree/v2.0.0
Source archive: https://github.com/grafana/k6/archive/refs/tags/v2.0.0.tar.gz
Additional bundled licensing notices are included in the package.
Verification
-
npm run verify -
npm run test:coverage -
npm run benchmark:large-collection -
npm audit fix -
npm audit --audit-level=moderate -
npm outdated --depth=0 -
git diff --check
Lore
Constraint: Release notes are read by the GitHub Actions release workflow from docs/releases/v0.2.21.md when available.
Constraint: Frontend file selection now crosses the IPC boundary through Rust-owned dialogs, so import/export validation must remain backend-owned.
Constraint: Long k6 output and large Postman collections must stay bounded in memory, DOM work, and verification cost.
Constraint: Browser workflow evidence must exercise the real React workflow without requiring native desktop file dialogs in CI.
Rejected: Trusting frontend-provided filesystem paths for import/export | Rust commands now own the picker path and validate extensions before IO.
Rejected: Keeping k6 process orchestration in one runtime module | launch, artifact, diagnostics, completion, cleanup, and forwarding responsibilities are split for reviewability.
Rejected: Treating workflow smoke coverage as manual release evidence | Playwright browser smoke now runs in the local and CI verification gates.
Confidence: high
Scope-risk: high
Directive: Ship the completed deslop release: safer IPC, bounded output, smaller orchestration surfaces, split frontend workflow panels, large-collection guardrails, and browser-backed workflow evidence.
Tested: npm run verify; npm run test:coverage; npm run benchmark:large-collection; npm audit fix; npm audit --audit-level=moderate; npm outdated --depth=0; git diff --check.
Not-tested: GitHub-hosted release workflow matrix before pushing the tag; local npm run tauri build packaged artifact generation; native Tauri-driver desktop smoke with platform WebDriver.
Load Rift v0.2.20
Summary
- Publishes Load Rift 0.2.20 with app metadata aligned across npm, Cargo, Tauri packaging, and AppStream release metadata.
- Hardens desktop IPC file handling by validating collection import paths, import size, and report export targets on the Rust side of the boundary.
- Keeps long k6 runs responsive by bounding stored and rendered live output while preserving the most recent runner tail for diagnostics and reports.
- Promotes Rust format, Clippy, cargo-audit, npm audit cleanup, and Vitest V8 coverage into documented quality gates.
- Reduces frontend and backend complexity by splitting the workflow shell/harness panels and replacing long k6 completion argument lists with typed contexts.
- Improves large collection usability by rendering request rows in batches instead of mounting every visible row at once.
Downloads
- macOS Apple Silicon DMG: attached to this GitHub release as
Load.Rift_0.2.20_aarch64.dmg - macOS Intel DMG: attached to this GitHub release as
Load.Rift_0.2.20_x64.dmg - Linux AppImage: attached to this GitHub release as
Load.Rift_0.2.20_amd64.AppImage - Linux
.deb: attached to this GitHub release asLoad.Rift_0.2.20_amd64.deb - Linux
.rpm: attached to this GitHub release asLoad.Rift-0.2.20-1.x86_64.rpm - APT setup script: attached to this GitHub release as
install-apt-repo.sh - APT setup package: attached to this GitHub release as
load-rift-repository-setup_1.0_all.deb
Linux APT Install
Enable the Load Rift APT repository once:
bash <(curl -fsSL https://github.com/ddv1982/load-rift/releases/latest/download/install-apt-repo.sh)Then install or update normally:
sudo apt update
sudo apt install load-riftThe setup script authenticates the repository setup package checksum with a detached GPG signature and a release-pinned signer fingerprint before installing the repository configuration.
Bundled Third-Party Software
This package bundles Grafana k6 v2.0.0, licensed under AGPL-3.0-only.
Corresponding source: https://github.com/grafana/k6/tree/v2.0.0
Source archive: https://github.com/grafana/k6/archive/refs/tags/v2.0.0.tar.gz
Additional bundled licensing notices are included in the package.
Verification
-
npm run verify -
npm run test:coverage -
npm audit --audit-level=moderate -
npm outdated --depth=0
Lore
Constraint: Release notes are read by the GitHub Actions release workflow from docs/releases/v0.2.20.md when available.
Constraint: Backend IPC path handling must treat frontend-provided file paths as untrusted input and keep validation on the Rust side.
Constraint: Live k6 output must stay useful for diagnosis without allowing long runs to grow backend or React state without bound.
Constraint: Broad verification now includes Rust format, Clippy, cargo-audit, bundled-k6 tests, frontend tests, and frontend build.
Rejected: Formatting the entire frontend as part of this release | the existing tree needs a separate formatting-only pass to avoid burying behavioral review.
Rejected: Rendering every visible collection request row on first paint | large Postman imports can create avoidable DOM and interaction cost.
Rejected: Allowing cargo-audit vulnerabilities to remain as a known issue | quinn-proto was patched in the lockfile before release.
Confidence: high
Scope-risk: high
Directive: Ship the deslop and hardening release: stricter gates, safer IPC file handling, bounded logs, slimmer orchestration surfaces, and better large-collection ergonomics without changing the core local k6 workflow.
Tested: npm run verify; npm run test:coverage; npm audit --audit-level=moderate; npm outdated --depth=0.
Not-tested: GitHub-hosted release workflow matrix before pushing the tag; npm run tauri build local packaged artifact generation; browser/Tauri-driver smoke evidence.
Load Rift v0.2.19
Summary
- Publishes Load Rift 0.2.19 with app metadata aligned across npm, Cargo, Tauri packaging, and AppStream release metadata.
- Normalizes manual auth-token input across raw JWT,
Bearer ..., and pastedAuthorization: Bearer ...forms so generated k6 scripts avoid malformed Authorization headers. - Hardens release and desktop packaging surfaces with tighter workflow permissions, explicit Tauri capabilities, bundled license resources, and refreshed third-party notice inventory.
- Adds
npm run verifyas the local aggregate validation gate and aligns release workflow checks with bundled-k6 Rust test coverage. - Scopes weighted request persistence by collection identity, announces async configuration validation feedback to assistive technology, and guards frontend IPC payloads before they update runner status and metrics.
Downloads
- macOS Apple Silicon DMG: attached to this GitHub release as
Load.Rift_0.2.19_aarch64.dmg - macOS Intel DMG: attached to this GitHub release as
Load.Rift_0.2.19_x64.dmg - Linux AppImage: attached to this GitHub release as
Load.Rift_0.2.19_amd64.AppImage - Linux
.deb: attached to this GitHub release asLoad.Rift_0.2.19_amd64.deb - Linux
.rpm: attached to this GitHub release asLoad.Rift-0.2.19-1.x86_64.rpm - APT setup script: attached to this GitHub release as
install-apt-repo.sh - APT setup package: attached to this GitHub release as
load-rift-repository-setup_1.0_all.deb
Linux APT Install
Enable the Load Rift APT repository once:
bash <(curl -fsSL https://github.com/ddv1982/load-rift/releases/latest/download/install-apt-repo.sh)Then install or update normally:
sudo apt update
sudo apt install load-riftThe setup script authenticates the repository setup package checksum with a detached GPG signature and a release-pinned signer fingerprint before installing the repository configuration.
Bundled Third-Party Software
This package bundles Grafana k6 v2.0.0, licensed under AGPL-3.0-only.
Corresponding source: https://github.com/grafana/k6/tree/v2.0.0
Source archive: https://github.com/grafana/k6/archive/refs/tags/v2.0.0.tar.gz
Additional bundled licensing notices are included in the package.
Verification
-
npm run verify -
npm test -- src/features/test/useTestHarness.test.tsx src/app/App.validation.test.tsx -
npm test -- src/app/App.accessibility.test.tsx src/app/App.validation.test.tsx -
npm test -- src/app/persistence.test.ts src/app/App.persistence.test.tsx src/app/App.collection-summary.test.tsx -
cargo test --manifest-path src-tauri/Cargo.toml -
cargo check --manifest-path src-tauri/Cargo.toml
Lore
Constraint: Release notes are read by the GitHub Actions release workflow from docs/releases/v0.2.19.md when available.
Constraint: Security and validation hardening must preserve the local desktop k6 workflow and avoid exposing manual auth tokens in persisted frontend state.
Constraint: Weighted request persistence must stay collection-scoped so reused request ids from unrelated Postman imports cannot inherit stale weights.
Rejected: Keeping request weights in global runner preferences | common imported ids like request-0 can appear in unrelated collections and leak load-mix choices.
Rejected: Trusting frontend IPC payloads only through TypeScript types | Tauri command and event data crosses a runtime boundary and can still be malformed.
Rejected: Treating license notice updates as a build-only concern | bundled k6 and packaged dependency notices need release-visible documentation and installed resources.
Confidence: high
Scope-risk: moderate-high
Directive: Ship the hardening release: safer auth normalization, tighter release packaging, scoped persistence, accessible validation feedback, and defensive runtime guards without changing the core load-test path.
Tested: npm run verify; npm test -- src/features/test/useTestHarness.test.tsx src/app/App.validation.test.tsx; npm test -- src/app/App.accessibility.test.tsx src/app/App.validation.test.tsx; npm test -- src/app/persistence.test.ts src/app/App.persistence.test.tsx src/app/App.collection-summary.test.tsx; cargo test --manifest-path src-tauri/Cargo.toml; cargo check --manifest-path src-tauri/Cargo.toml.
Not-tested: GitHub-hosted release workflow matrix before pushing the tag; npm run tauri build local packaged artifact generation; browser screenshot verification due to no local browser binary.
Load Rift v0.2.18
Summary
- Publishes Load Rift 0.2.18 with app metadata aligned across npm, Cargo, Tauri packaging, and AppStream release metadata.
- Replaces the vertical all-steps workspace with an accessible Source, Configure, and Run tabbed stepper that shows only the current workflow step.
- Reduces visible copy across the hero, workflow panels, and runner settings while preserving the existing import, selection, configuration, smoke test, load test, monitoring, export, validation, and persistence behavior.
- Adds subtle panel motion and calmer active-step styling while honoring reduced-motion preferences.
- Improves keyboard focus handling, tab/panel ARIA relationships, and mobile stepper layout for the simplified workflow.
Downloads
- macOS Apple Silicon DMG: attached to this GitHub release as
Load.Rift_0.2.18_aarch64.dmg - macOS Intel DMG: attached to this GitHub release as
Load.Rift_0.2.18_x64.dmg - Linux AppImage: attached to this GitHub release as
Load.Rift_0.2.18_amd64.AppImage - Linux
.deb: attached to this GitHub release asLoad.Rift_0.2.18_amd64.deb - Linux
.rpm: attached to this GitHub release asLoad.Rift-0.2.18-1.x86_64.rpm - APT setup script: attached to this GitHub release as
install-apt-repo.sh - APT setup package: attached to this GitHub release as
load-rift-repository-setup_1.0_all.deb
Linux APT Install
Enable the Load Rift APT repository once:
bash <(curl -fsSL https://github.com/ddv1982/load-rift/releases/latest/download/install-apt-repo.sh)Then install or update normally:
sudo apt update
sudo apt install load-riftThe setup script authenticates the repository setup package checksum with a detached GPG signature and a release-pinned signer fingerprint before installing the repository configuration.
Bundled Third-Party Software
This package bundles Grafana k6 v2.0.0, licensed under AGPL-3.0-only.
Corresponding source: https://github.com/grafana/k6/tree/v2.0.0
Source archive: https://github.com/grafana/k6/archive/refs/tags/v2.0.0.tar.gz
Additional bundled licensing notices are included in the package.
Verification
-
npm run typecheck -
npm run lint -
npm test -
npm run build -
cargo test --manifest-path src-tauri/Cargo.toml -
cargo check --manifest-path src-tauri/Cargo.toml
Lore
Constraint: Release notes are read by the GitHub Actions release workflow from docs/releases/v0.2.18.md when available.
Constraint: The minimal workflow must preserve every existing load-test action while reducing visible clutter.
Constraint: The tabbed stepper must keep keyboard navigation, focus recovery, and ARIA tab-panel relationships valid.
Rejected: Keeping Source, Configure, and Run visible as a full vertical stack | it made the workspace feel dense even after the previous visual cleanup.
Rejected: Adding a new UI or animation dependency | the existing React/CSS structure supports the calmer interaction model with less release risk.
Rejected: Shipping the shorthand Smoking... action label | the clearer Smoke testing... label avoids ambiguous button copy.
Confidence: high
Scope-risk: moderate
Directive: Ship the quieter workflow as the current release line: one active step, less text, subtle motion, and unchanged local k6 functionality.
Tested: npm run typecheck; npm run lint; npm test; npm run build; cargo test --manifest-path src-tauri/Cargo.toml; cargo check --manifest-path src-tauri/Cargo.toml.
Not-tested: GitHub-hosted release workflow matrix before pushing the tag; browser screenshot verification due to no local browser binary.