Repository navigation
Releases
v0.10.4
Noodle 0.10.4 lets you save a collection run as JSON for scripts or JUnit XML for a CI test viewer. On GitHub Actions, install the CLI with setup-noodle, run your collection, and keep the report even when an API check fails.
Read the full release article.
✨ Features
- Save a collection run with
--json --output results.jsonfor an exact copy of JSON stdout, or--reporter junit --output results.xmlto keep the human-readable summary in the terminal. JUnit records one case per selected execution with its duration, applicable iteration and stage, warnings, and any failure or skip reason. Noodle checks the destination before sending requests and writes a complete file without overwriting an existing one. Failed and gracefully cancelled runs can write reports and retain their exit codes. - Install an exact Noodle CLI release on GitHub Actions with
wilfredinni/setup-noodle@v1. The companion action verifies the release binary against its SHA-256 checksum and makesnoodleavailable to subsequent steps.
🐞 Fixes
- Mask known secrets in JSON-escaped text, including values containing quotes, backslashes, or newlines.
- Identify the script tab, source, line, and column when syntax preflight fails before a TUI send or Runner execution.
- Give user scripts their full CPU allowance by excluding sandbox initialization from the CPU budget while enforcing the wall-clock deadline.
🔧 Refactors
- Align the native file writer and its CI checks with the five release targets: macOS and Linux glibc on x64 and arm64, and Windows x64.
📚 Documentation
- Update
noodle-devwith the CLI report contract, exclusive file publication, and supported native targets. - Update
noodle-usewith JSON fields, JUnit mappings, exit codes, and a GitHub Actions example that installs Noodle and uploads the report. - Document the setup action and collection reports in the README, installation and CLI guides, and client comparison.
Windows x64 support is beta. The Windows executable is unsigned; browser downloads may trigger Windows trust prompts.
v0.10.3
Noodle 0.10.3 adds saved setup and teardown requests around collection runs, including each CSV or JSON data row. Configure them once in Collection Settings and use the same workflow in the CLI and TUI Runner, with stage labels and results that keep preparation, main requests, and cleanup easy to inspect. Teardown is attempted after failures, including fail-fast, while cancellation stops without starting cleanup requests.
Read the full release article.
✨ Features
- Add optional
hooks.setupandhooks.teardownsaved request IDs in collectionsettings.yml, editable in Collection Settings > General. Run setup, selected main requests, and teardown through the shared request lifecycle with inherited scripts and tests, sharing variables and cookies within each run or data row. Exclude hook requests from target/tag selection, send nothing for an empty main selection, skip mains after setup failure, and count hooks toward data-run execution limits and stage-aware results, summaries, and progress.
🐞 Fixes
- Validate hook IDs and script/test sources before HTTP, check referenced requests on disk before saving settings, and keep collection audits from rewriting requests while checking hook references.
- Wait for pending collection settings saves before starting the Runner or changing referenced files, and require unassigning hooks before renaming or deleting their requests or deleting a containing folder in the TUI.
- Preserve setup, main, and teardown order when showing settled Runner results, including skipped mains, and retain stage labels and the executed hook configuration in session results and details.
📚 Documentation
- Update
noodle-devwith shared hook validation, execution ordering, preflight, cancellation, row isolation, and integration responsibilities. - Update
noodle-usewith hook configuration, cleanup and cancellation rules, stage results, execution limits, and the fail-fast and empty-selection exceptions in its automation guidance. - Synchronize the README and agent instructions, collection format, Settings, Runner, CLI automation and agent guides, in-app tips, version examples, and release article.
Windows x64 support is beta. The Windows executable is unsigned; browser downloads may trigger Windows trust prompts.
v0.10.2
Noodle 0.10.2 keeps each collection's latest Runner results available for the app session, even after reloading or switching collections. Open a result's request or inherited script source, make changes, and return to the same result with F5; retained results keep the configuration and labels used for that run.
Read the full release article.
✨ Features
- Retain the latest settled run per collection in memory, including executed configuration, request labels, selected iteration/result, response previews, and redacted diagnostics. Preserve it across view changes, collection reloads/switches, configuration edits, and preflight failures until a later run settles or the app exits; do not write Runner history to disk.
- Open a settled result's request or selected script, test, assertion, or capture source with
o. Navigate to the owning request, folder, or collection script phase, offer a searchable picker for multiple test origins, warn when a source is unavailable, and return to the retained selection with F5.
🐞 Fixes
- Preserve failure summaries and source origins when retained-detail limits omit diagnostics, distinguish omitted results from checks that never ran, and label truncated body previews. Limit text body previews to 10,000 UTF-8 bytes and retain binary response metadata without body bytes.
- Keep source selection stable and isolate source-picker search from underlying detail-overlay shortcuts, including repeated navigation to collection script phases.
- Preserve cancellation, persistence, inherited-source, and child-request metadata when bounding Runner and timeline diagnostics.
- Update the transitive
fast-uridependency to its patched version and regenerate the bundled schema validator.
🔧 Refactors
- Share diagnostic bounds between timeline storage and retained Runner snapshots.
- Build and validate Windows artifacts with Bun 1.4.4 and target-specific producer metadata; other release targets remain on Bun 1.4.3. Remove the repeated Windows async-script stress pass while retaining the full applicable suite and native platform checks.
- Refresh runtime and development dependencies while keeping OpenTUI pinned to 0.5.14.
📚 Documentation
- Update
noodle-devwith per-collection session ownership, retention limits, shared diagnostic bounds, source navigation, and regression coverage. - Update
noodle-usewith retained Runner results, source-opening controls, preview limits, and session-only lifetime. - Synchronize the README, agent instructions, in-app tips, Runner and shortcut guides, agent-skill guidance, version examples, comparison, and release article.
Windows x64 support is beta. The Windows executable is unsigned; browser downloads may trigger Windows trust prompts.
v0.10.1
Noodle 0.10.1 shows Collection Runner results as requests finish, so you can inspect completed responses, checks, and Console logs while the run continues. Stop an active run from the keyboard or mouse, browse elsewhere, and return to its partial or final results with F5.
Read the full release article.
✨ Features
- Show pending, running, passed, failed, skipped, and cancelled Runner executions with live details and iteration-aware summaries through the shared collection execution path.
- Add Stop through shared cancellation, available with
s, mouse activation, focused Enter/Space, completed-result details, and the command palette. Preserve finished diagnostics and distinguish cancelled executions from failures and unstarted requests. - Keep application navigation responsive during runs, resume the current workspace's latest run with F5, and guard edits, additional sends, collection reloads/switches, and execution configuration until cleanup finishes.
🐞 Fixes
- Restore usable Runner focus after completion, cancellation, and configuration failure while preserving inspection focus and compact 80×24 layouts.
- Recover cookie jar and encryption-key locks left by confirmed exited processes, preserving lock backups, existing cookies, and stored keys. Keep live or uncertain owners locked and leave environment transactions unchanged.
- Retry temporary Windows lock-directory creation contention while preserving persistent filesystem errors.
🔧 Refactors
- Upgrade CI and release jobs to Bun 1.4.3, align release-artifact metadata, and refresh runtime and development dependencies while retaining the OpenTUI 0.5.14 pin.
📚 Documentation
- Update
noodle-devfor live Runner state, cancellation ownership, navigation guards, rendered acceptance coverage, and safe dead-owner cookie-lock recovery. - Update
noodle-usewith live Runner inspection, Stop, current-workspace resume behavior, and automatic dead-owner cookie-lock recovery that preserves session data. - Synchronize installation, Runner, shortcut, cookie, troubleshooting, and agent-skill guides, the automation version example, comparison, and release article; retain the README, agent instructions, and in-app Runner tips updated since v0.10.0.
Windows x64 support is beta. The Windows executable is unsigned; browser downloads may trigger Windows trust prompts.
v0.10.0
Noodle 0.10.0 lets CLI collection runs stop gracefully while preserving completed requests and response diagnostics. Cancelled manual sends retain any completed response and appear in history, while cancellation stays separate from request failures and timeouts. Homebrew installation now uses the official core formula.
Read the full release article.
✨ Features
- Add shared collection-run cancellation and request-start, completion, and skip events with request and optional iteration identity. Keep one runner and result model, preserve completed response phases and redacted diagnostics, roll back unfinished script writes, and cancel HTTP, OAuth, saved/direct children, and inter-request delay.
- Handle CLI collection interruption through SIGINT or SIGTERM by returning partial human or JSON output and exit status 130. Preserve exit statuses 0, 1, and 2; count completed, cancelled, and unstarted executions explicitly without treating cancellation as timeout, ordinary failure, or fail-fast. Close cookie jars and remove signal handlers on every exit path.
🐞 Fixes
- Preserve network traces and original transport error causes, and distinguish HTTP, OAuth, and child-request timeouts from later cancellation. A second CLI interruption forces exit 130 and clears terminal progress.
- Keep overlapping manual sends associated with their own request and completion, preventing older results or cancellation from replacing the selected request's newer response. Repeated Send clicks start only one execution.
- Preserve timeline entries when history loads finish after a save, keep late completions in their original collection, and allow later history saves to continue after a failed write.
- Mark cancelled manual sends in Timeline and Results, retain any completed response and partial diagnostics, and exclude cancelled attempts from folder success rates and response timing averages.
- Pin OpenTUI packages to 0.5.14 to match the existing Homebrew core resource; keep source-build CI and the formula template aligned while preserving Linux dependencies and offline build enforcement.
- Update JSONPath Plus.
- Generate the schema validator bundle with Homebrew's installed Bun during source builds, avoiding compiler-version byte mismatches while retaining the committed-bundle consistency check in CI.
- Verify release artifact producer Bun metadata independently of the local runtime used by release-artifact tests.
🔧 Refactors
- Retire the old Homebrew tap's release dispatch after acceptance into Homebrew core. Published-release recovery now synchronizes only the website update manifest.
📚 Documentation
- Update the
noodle-devskill and testing/architecture references for shared cancellation, execution events, partial diagnostics, accounting, signal acceptance coverage, and cancelled manual-send history. - Update the
noodle-useskill's automation contract for partial cancellation results and exit status 130, and its import prerequisites for official Homebrew installation. - Update the
noodle-releaseskill for Homebrew core maintenance and site-only publication recovery, as committed since v0.9.8. - Document CLI interruption and cancellation accounting, update the comparison page for cancellation and retained history, and clarify official Homebrew installation and migration with explicit agent skill refresh after upgrades.
Windows x64 support is beta. The Windows executable is unsigned; browser downloads may trigger Windows trust prompts.
v0.9.8
Noodle 0.9.8 keeps Homebrew installations under Homebrew's control: update checks report available versions, and noodle update prints the upgrade command. A reproducible native source build prepares Noodle for a core formula, while release publication now reuses the binaries validated by CI. The current tap remains active; acceptance into Homebrew core is pending.
Read the full release article.
🐞 Fixes
- Prevent CLI and TUI updates from upgrading Homebrew-managed installations or replacing their executable.
noodle update --jsonreturns successfulhomebrew_managedguidance, including with--force; the TUI displays the available version andbrew upgrade noodlein About. Refresh installed agent skills explicitly withnoodle agent installafter a brew upgrade. - Harden publication recovery across platforms: verify immutable published binaries and checksums before retrying site and tap synchronization, and preserve failed or invalid CI as a publication blocker.
- Flush pending cookie writes before destroying the terminal renderer on supported exit signals, keeping shutdown coordinated with the local development services.
🔧 Refactors
- Add
build:homebrewto rebuild OpenTUI and the response-file C addon from source, compile only the host's native assets, verify the embedded asset set, and reuse signing and compiled scripting checks. Add archived-source validation on the Unix CI targets and a core formula preparation template. - Reuse all five validated CI binaries at the exact release commit, with version, platform, build-run, and SHA-256 metadata; rebuild only when eligible artifacts are absent or expired.
- Replace the contributor sample collection with local HTTP, TLS, and authentication services and a development collection.
bun run devstarts the services and TUI together;bun run dev:checkvalidates the collection against local fixtures without relying on public endpoints.
📚 Documentation
- Update the
noodle-devskill and architecture reference for command-only Homebrew updates and explicit skill refresh; retain the async test guidance updated since v0.9.7. - Update the
noodle-useskill's import workflow to use current installation instructions while Homebrew core acceptance is pending; retain the local development examples committed since v0.9.7. - Update the
noodle-releaseskill for validated CI artifact reuse and publication recovery, as committed since v0.9.7. - Clarify installation and update instructions while keeping the tap active until core acceptance.
Windows x64 support is beta. The Windows executable is unsigned; browser downloads may trigger Windows trust prompts.
v0.9.7
Noodle 0.9.7 adds Windows x64 beta binaries with a checksum-verified PowerShell installer and updates that apply after Noodle exits. Optional CLI response details make single-request runs easier to inspect, while the Send button now works from request script and test editors.
Read the full release article.
✨ Features
- Add Windows x64 beta release binaries and a PowerShell installer with SHA-256 verification, a per-user install directory, and user PATH setup. Windows updates stage a verified executable for replacement after Noodle exits, report restart requirements and a diagnostic log, and refresh an installed agent skill after replacement. Windows support includes native paths, filename validation, Unicode clipboard copying, batch editor launchers, and agent-skill junctions. Windows ARM64 is unsupported; executables are unsigned, and ordinary-account interactive terminal testing remains pending.
- Add
--body,--headers, and--cookiestonoodle request runfor optional human-readable response details. Known secrets and sensitive headers are redacted, cookie values are masked, and terminal control characters are escaped. JSON results include received-cookie metadata with masked values; binary bodies remain metadata-only and can be saved with--output.
🐞 Fixes
- Allow the Send button to commit the current request Pre Script, Post Script, or Tests draft and send while its editor has focus, preserving the active tab and request focus.
- Coordinate first-time collection ID initialization across processes so concurrent requests use the same stored identity without overwriting collection settings.
- Coordinate cookie encryption-key initialization across jars and preserve malformed stored keys instead of replacing them. Windows requires vault-backed encrypted cookie storage and rejects plaintext jars; resetting unavailable storage preserves a backup and leaves the original intact if replacement fails.
- Reject imported paths that escape the destination through symlinks or Windows junctions before writing collection files.
- Reject export destinations with a file in place of a parent directory before writing output.
🔧 Refactors
- Extend platform CI and release validation to Windows x64, including the applicable test suite, native Credential Manager checks, standalone scripting and download checks, independent native-addon rebuilds, and downloaded release-artifact verification. Release checksums and the post-publication update manifest include the Windows executable.
📚 Documentation
- Update
noodle-usewith optional CLI response details, received-cookie redaction, Windows filename rules, and encrypted-only Windows cookie storage. - Update
noodle-devwith Windows distribution and update behavior, portable path handling, clipboard and editor safeguards, shared storage initialization, and native Windows test coverage. - Synchronize the README, agent instructions, in-app tips, installation and CLI guides, cookie troubleshooting, automation version example, and release article.
Windows x64 support is beta. The Windows executable is unsigned; browser downloads may trigger Windows trust prompts.
v0.9.6
Noodle 0.9.6 preserves compatible Postman and Insomnia scripts during import without translating foreign APIs. Inherited post scripts now follow the same collection-to-request order as pre scripts and tests, while clearer import warnings help you review omitted behavior before sending requests.
Read the full release article.
✨ Features
- Preserve compatible Postman pre-request events as collection, folder, or request pre scripts, and compatible request test events as Noodle tests. Insomnia v4/v5 imports preserve compatible request pre/post hooks. Accepted source is copied literally after static compatibility checks and compile-only syntax validation; import never executes scripts or loads referenced files or packages. Foreign APIs, unsupported placements, ambiguous access, async source, duplicate or disabled Postman events, and external/package sources remain unconverted with structured warnings.
🐞 Fixes
- Run inherited pre scripts, post scripts, and tests in the same collection → outermost folder → nearest folder → request order. Post scripts still run after captures and before assertions/tests, and execution-order inspection follows the same order. This changes the post order from 0.9.4 and 0.9.5: the most specific successful post write now wins, including persisted writes. Update collection or folder post scripts that depend on values produced by a later request post script.
- Reject imports that retain scripts or tests into current or existing collection targets before any writes. Import into a new collection instead; script-free imports keep their existing behavior.
- Show unconverted-script warnings in a scrollable TUI notification before asking to open the new collection. CLI and TUI summaries identify omitted scripts, and structured warnings include unsupported global names or a compatibility/placement reason without exposing script source or literal argument values.
🔧 Refactors
- Validate generated scripting artifacts in CI and release builds, and test binary-response behavior with the compiled release binaries. CI and release jobs now use Bun 1.4.2.
📚 Documentation
- Update
noodle-usewith compatible script-import rules, warning fields, a generated scripting API reference with phase capabilities and fixed limits, online troubleshooting guidance, and the corrected inherited post order. - Update
noodle-devwith the corrected inherited post order, asynchronous importer validation, script placement and destination safeguards, and generated scripting-artifact checks. - Synchronize the README, agent instructions, import and agent-skill guides, automation version example, in-app tips, and release article.
v0.9.5
Noodle 0.9.5 brings script and test authoring into the terminal with dedicated editors, phase-aware completion, diagnostics, folding, and formatting. A Console tab makes logs easier to read, while execution-order inspection and external-file shortcuts connect request, folder, and collection scripts.
Read the full release article.
✨ Features
- Edit Pre Script, Post Script, and Tests in request and folder tabs, revealing empty tabs from the existing
+menu. Collection Settings adds the same three editors, with drafts saved when leaving the editor. Inline JavaScript shares syntax highlighting, line numbers, scrolling, undo/redo, and code folding with the existing code editor. - Complete phase-appropriate
noodle.*APIs, JavaScript built-ins, local symbols, environment keys, and saved request IDs, with method descriptions and parameter help. UseCtrl+Spaceto request assistance explicitly. Syntax and advisory semantic diagnostics identify source positions without executing the script; TUI Send and Runner check applicable sources for syntax errors before HTTP, while CLI execution semantics stay unchanged. - Format inline JavaScript and JSON request bodies with
Ctrl+Alt+For the Format Code command. Optional global Format on save applies to request, folder, and collection saves, preserving JSON number tokens and unevaluated body templates while leaving external files, XML, and invalid source unchanged. - Select collection-relative external JavaScript files with
.jspath completion and open a validated file in the configured editor withCtrl+Alt+X. Switching a non-empty source between inline and external modes asks before discarding it. - Inspect the active request script phase's inherited execution order with
Ctrl+Alt+R. Jump mode addsd,f, andjfor visible Pre Script, Post Script, and Tests tabs, andzfor the response Console when logs are available. - Read bounded, redacted script and test logs in Console with phase, level, and timing relative to request execution, and copy them through the command palette. Runner and timeline details share the log view; Results retains outcomes and source diagnostics, and history keeps its existing limits.
- Ship generated
noodle-script.d.tsdeclarations with the installed agent skill for external JavaScript editor assistance, including phase-specific interfaces derived from the runtime API contract.
🐞 Fixes
- Preserve collection script drafts across delayed or failed saves, editor unmounts, and collection switches, saving each draft to its original collection.
- Apply format-on-save edits to the visible editor only after persistence succeeds, retaining newer edits and retryable drafts. Formatting service failures warn and allow unformatted source to save.
- Keep script source selection, editor focus, buffered tab navigation, optional-tab menus, and jump targets consistent, and keep the active tab visible after content or viewport changes.
- Preserve syntax colors while highlights refresh and keep JavaScript folds, cursor movement, selections, and completion dismissal stable during editing.
- Keep the editor usable when JavaScript folding exceeds its size or parser limits, and isolate timed-out diagnostics so later editing can recover.
🔧 Refactors
- Reuse the shared code editor, API contract, source resolver, execution results, and save paths for script authoring. Bundle the diagnostics worker and QuickJS-compatible type libraries in standalone builds, with integration coverage in CI and release builds.
- Update OpenTUI to 0.5.12 and refresh formatting and staged-file tooling.
📚 Documentation
- Update
noodle-usewith generated script types, TUI authoring, Console behavior, formatting preferences, and script shortcuts; remove stale claims that editors and Console are unavailable. - Update
noodle-devwith script editor ownership, optional tabs, diagnostics and completion, formatting and save behavior, external-editor validation, and regression coverage. - Refresh
opentuireferences for text alignment, PCM audio streaming, and native Windows arm64 runtime requirements alongside the dependency update. - Synchronize the README, agent instructions, in-app tips, scripting and editor guides, settings and shortcut references, and the release article.
v0.9.4
Noodle 0.9.4 adds reusable JavaScript files and random and time placeholders for request bodies, with searchable completion menus to help author them. Post-response scripts now run from the request outward to the collection, while clearer import warnings, source diagnostics, and notification details make problems easier to inspect.
Read the full release article.
✨ Features
- Reference collection-relative
./path/to/file.jsfiles fromscripts.pre,scripts.post, andtestsin requests, folders, and collection settings. Resolve all applicable sources before a manual send and all selected sources before a collection run; reject missing or unreadable files, invalid UTF-8, files over 256 KiB, and paths escaping the collection. Reuse source reads within a run and reload them on the next send, with the existing sandbox and async APIs. - Generate body values with
$random.methodor$random.method(...)in JSON, text/XML, and enabled text form fields. Reuse the existing test-data generators with JSON-literal arguments, preserve JSON types for standalone placeholders, escape quoted JSON text, and register generated passwords for redaction. Expand once before pre scripts; redirects reuse the prepared body and saved YAML retains the templates. - Add
$timebody placeholders for timestamps, ISO dates, timezone formatting, and elapsed-duration arithmetic using the existing time helpers. Current-time placeholders share one instant per request execution; saved children and dataset iterations capture a new instant. Body completion shows generator descriptions, signatures, and examples without generating data. - Provide searchable, scrollable completion menus for variables, response expressions, and paths, with highlighted matches and mouse selection. Body fields also suggest
$random.and$time.methods without requiring an environment. - Warn when Postman or Insomnia imports contain scripts that were not converted, identifying the source item and phase in CLI, JSON, and TUI summaries without copying foreign script source.
- Add Show Last Notification to the command palette for persistent, keyboard-scrollable message details, including after a toast disappears.
- Show inline/external source kinds, scope IDs, collection-relative script paths, and test invocation details in Results, CLI output, and manual history.
🐞 Fixes
- Change inherited post-response order to request → nearest folder → outermost folder → collection, after captures. Pre scripts and tests keep collection → outermost folder → nearest folder → request order. Review post blocks that depend on writes from another scope when upgrading from 0.9.3.
- Preserve safe script and test logs when limiting timeline diagnostics, retaining redaction and truncation markers.
- Keep notifications readable in small terminals without stealing editor focus, and show unconverted-script warnings and completed test status more clearly.
- Bound completion rendering for large suggestion lists, preserve exact variable tokens and existing call arguments, and keep selected descriptions readable.
- Recover cookie storage on a later request after a temporary lock clears. Unavailable jars omit stored cookies and ignore response cookies while storage remains unavailable, preserving the stored jar.
🔧 Refactors
- Share completion rendering and match highlighting across inputs and code editors, and reuse validated random, time, and JSON helpers for body templates.
- Remove redundant repeated native response-file tests from the primary CI job while retaining source, standalone, and native rebuild coverage.
📚 Documentation
- Update
noodle-usewith external script sources, phase order, import warnings, source diagnostics, and random/time body templates; correct stale test-source and history-log guidance. - Update
noodle-devwith the shared source resolver, body-template lifecycle, current completion APIs, notification focus rules, and regression coverage. - Synchronize the README, agent instructions, in-app tips, scripting and request guides, API references, and automation examples, with a release article and links to runnable collection examples.

