head 1.26; access; symbols; locks; strict; comment @# @; 1.26 date 2026.08.10.06.52.37; author drixter; state Exp; branches; next 1.25; commitid JYaPGjFgCDQaI3RG; 1.25 date 2026.08.05.21.05.10; author drixter; state Exp; branches; next 1.24; commitid iTOBCe2fWd1LAuQG; 1.24 date 2026.08.05.07.47.51; author drixter; state Exp; branches; next 1.23; commitid jSKr0kRBm5ddbqQG; 1.23 date 2026.08.04.13.45.10; author drixter; state Exp; branches; next 1.22; commitid EQPH0MnN0rhNbkQG; 1.22 date 2026.08.03.17.12.49; author drixter; state Exp; branches; next 1.21; commitid Q58rRyvKC5E1ndQG; 1.21 date 2026.08.02.06.54.46; author drixter; state Exp; branches; next 1.20; commitid OkguHOTBFRJZY1QG; 1.20 date 2026.08.01.12.26.36; author drixter; state Exp; branches; next 1.19; commitid QAP7KPyVBgeOQVPG; 1.19 date 2026.07.31.06.13.42; author drixter; state Exp; branches; next 1.18; commitid qTAUqYuNkNpPOLPG; 1.18 date 2026.07.27.10.04.49; author drixter; state Exp; branches; next 1.17; commitid 2OvHViYTeXD6ehPG; 1.17 date 2026.07.22.14.24.54; author drixter; state Exp; branches; next 1.16; commitid dLK3MaoI2s0kPEOG; 1.16 date 2026.07.19.11.52.50; author wiz; state Exp; branches; next 1.15; commitid Oc6eqVlCAG245gOG; 1.15 date 2026.07.11.20.17.12; author drixter; state Exp; branches; next 1.14; commitid PaNpHSol2VN38hNG; 1.14 date 2026.07.11.08.57.20; author drixter; state Exp; branches; next 1.13; commitid zqVxmOMzxAcSmdNG; 1.13 date 2026.07.10.13.35.54; author drixter; state Exp; branches; next 1.12; commitid ukb9DEoM3tGrW6NG; 1.12 date 2026.07.08.18.32.45; author bsiegert; state Exp; branches; next 1.11; commitid cDbYxmIrkrXYDSMG; 1.11 date 2026.07.07.12.34.26; author drixter; state Exp; branches; next 1.10; commitid NqhfOfPQYwmkHIMG; 1.10 date 2026.07.07.08.30.27; author drixter; state Exp; branches; next 1.9; commitid tmAwrxKVhLQwlHMG; 1.9 date 2026.07.06.13.01.38; author drixter; state Exp; branches; next 1.8; commitid wwhzbvBBV6EASAMG; 1.8 date 2026.07.04.12.00.17; author drixter; state Exp; branches; next 1.7; commitid RnvQW8TQAiltBkMG; 1.7 date 2026.07.02.08.06.33; author drixter; state Exp; branches; next 1.6; commitid lBt3eQeiucsnn3MG; 1.6 date 2026.06.29.19.10.18; author drixter; state Exp; branches; next 1.5; commitid iRVFCTyTFZD39JLG; 1.5 date 2026.06.26.21.02.06; author drixter; state Exp; branches; next 1.4; commitid 2PbEPhVrWCl8RlLG; 1.4 date 2026.06.25.18.48.42; author drixter; state Exp; branches; next 1.3; commitid pPtWuxxiVMUp9dLG; 1.3 date 2026.06.25.09.10.53; author drixter; state Exp; branches; next 1.2; commitid M8gZxqqZ2YXnX9LG; 1.2 date 2026.06.23.11.38.08; author drixter; state Exp; branches; next 1.1; commitid rMVLj0IUKMsQPUKG; 1.1 date 2026.06.23.11.34.17; author drixter; state Exp; branches; next ; commitid UjOkeoznlKazOUKG; desc @@ 1.26 log @resterm: Update to 0.52.1 This release ships many bug fixes and improvements across the parser, mocks, and RestermScript, along with two larger additions: mock request matching is far more expressive, and RestermScript now has a switch statement with labeled break and continue. One breaking change is included: the default(a, b) helper is gone and default is now a reserved word, so use the ? operator instead. @ text @# $NetBSD: Makefile,v 1.18 2026/07/27 10:04:49 drixter Exp $ DISTNAME= resterm-0.52.1 CATEGORIES= www MASTER_SITES= ${MASTER_SITE_GITHUB:=unkn0wn-root/} GITHUB_TAG= v${PKGVERSION_NOREV} MAINTAINER= drixter@@e-utp.net HOMEPAGE= https://github.com/unkn0wn-root/resterm/ COMMENT= Terminal client for HTTP/GraphQL/gRPC LICENSE= apache-2.0 USE_LANGUAGES= c .include "go-modules.mk" .include "../../lang/go/go-module.mk" .include "../../mk/bsd.pkg.mk" @ 1.25 log @resterm: Update to 0.51.3 Fixed Text wrapping The wrapper walked text one rune at a time, which broke down on anything past plain ASCII. Most of the time invisible, but it was an real bug. It now works in grapheme clusters. * Emoji sequences, combining accents and joined characters no longer get cut in half at a wrap point. * Zero-width runes no longer count as a cell, so lines containing combining marks stop wrapping earlier than they should have. * Double-width characters (CJK and similar) can no longer push a row past the pane width. A row that overflowed got wrapped a second time by the terminal, which put the cursor and selection on the wrong line. * A character too wide to fit beside an indent now moves down whole, and if it still does not fit, the indent is dropped rather than overflowing the row. * A character wider than the entire row is placed on a row of its own instead of looping. Row mapping was counted from the size of the output buffer. Blank lines add no bytes, so they were skipped and the map claimed more rows than existed. Cursor movement and selection in bodies with blank lines landed one or more lines off. Rows are counted directly now. Color handling had two leaks: * A reset arriving after the last visible character on a line was dropped together with the empty continuation row it landed on, so the color carried into everything below it. * An escape sequence that appeared inside a run of whitespace was discarded when that whitespace was trimmed at a wrap point. Also in this area: * Pre mode no longer produces rows containing only indentation. * CRLF, control bytes and invalid UTF-8 no longer throw off width accounting or get dropped from the output. * Extended color codes such as ESC[38;5;0m are read as a color, not as a reset. * Cancellation is checked periodically instead of on every byte. Request editor autocomplete Every keystroke refreshed the completion popup (annoying), including keystrokes that clearly ended the word. * Space and Enter close the popup instead of reopening it. * Backspace and Delete only refilter a popup that is already open. Deleting text no longer opens one. * Backspace still narrows an open list as before. @ text @d3 1 a3 1 DISTNAME= resterm-0.51.3 @ 1.24 log @resterm: Update to 0.51.2 Changelog: This is follow up release primary with bug fixing for gRPC and streaming. @ text @d3 1 a3 1 DISTNAME= resterm-0.51.2 @ 1.23 log @resterm: Update to 0.51.1 Changelog: gRPC authentication Timeouts New gRPC settings Status details File resolution for gRPC Explicit credentials skip unused auth work Workspace and file handling Compatibility Notes @ text @d3 1 a3 1 DISTNAME= resterm-0.51.1 @ 1.22 log @resterm: Update to 0.50.0 Changelog: Requests fail closed on undefined variables Serve mocks from named files Command popup @ text @d3 1 a3 1 DISTNAME= resterm-0.50.0 @ 1.21 log @resterm: Update to 0.49.4 Changelog: Nested variable expansion Command bar SSH and Kubernetes tunnels @ text @d3 1 a3 1 DISTNAME= resterm-0.49.4 @ 1.20 log @resterm: Update to 0.49.3 Changelog: Built-in docs Workspace switching is less disruptive @ text @d3 1 a3 1 DISTNAME= resterm-0.49.3 @ 1.19 log @resterm: Update to 0.49.1 Added Grouped environments Changed Opening another workspace switches the environment Stored values are kept apart per project Fixes and other smaller changes @ text @d3 1 a3 1 DISTNAME= resterm-0.49.1 @ 1.18 log @resterm: Update to 0.48.1 This release improves diagnostics, settings validation, workflow execution and WebSocket reliability. Fixed * on-failure=continue now applies to failed @@if and @@switch branches. Cancellation still stops the workflow immediately. * continued workflow failures still correctly mark the overall run as unsuccessful. * fixed cancellation, handover, and background watcher cleanup for interactive WebSocket sessions. * workflow blocks placed after mocks are preserved when documents are rendered. * directive highlighting now correctly handles quoted, escaped, structured, comparison, and Unicode values. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.16 2026/07/19 11:52:50 wiz Exp $ d3 1 a3 1 DISTNAME= resterm-0.48.1 @ 1.17 log @resterm: Update to 0.47.3 Verify mock traffic and keep response sequences independent This release builds on Resterm’s HTTP mock server with call verification, independent response sequences, better header matching, and new controls in both the CLI and TUI. Changelog: Match headers with rules Inspect mock traffic from RestermScript Check that the expected calls arrived Keep sequence state separate between callers Control a running mock server New TUI controls Reserved control paths @ text @d3 1 a3 1 DISTNAME= resterm-0.47.3 @ 1.16 log @resterm: update to 0.47.1. Bugfix release. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.15 2026/07/11 20:17:12 drixter Exp $ d3 1 a3 1 DISTNAME= resterm-0.47.1 @ 1.15 log @resterm: Update to 0.46.4 Summer == Vacation Have a good summer, all of you out there resterming. RTT in the header The sparkline scales against the samples you can see, so a sudden latency shift keeps its shape instead of being flattened by older history. The p95 next to it still draws on a wider window (the last 100 requests) so it stays meaningful. Switching environment or workspace starts a fresh RTT series. Responses that were still in flight during a switch are ignored, and workflow, profile and compare runs that span a switch stay attributed to the context they started in, meaning nothing bleeds into the new series. Compare runs now feed the RTT widget no matter how they execute. Previously, standard compare runs never updated it, so the current and p95 values could sit stale through an entire sweep. Less work per frame: the summary is computed once per sample instead of on every render. Open Path bug fix Opening a file inside the current workspace no longer rebinds the workspace to that file's directory. Opening a file or directory outside the workspace still switches you over, as before. Small note I hope you like frequent releases but I feel like a new version almost every day is a bit too much, so I'm working towards releasing v1 in the near future and aiming for weekly releases instead. If you'd rather keep the current pace and receive frequent updates, open a GitHub discussion so we can talk about it. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.11 2026/07/07 12:34:26 drixter Exp $ d3 1 a3 1 DISTNAME= resterm-0.46.4 @ 1.14 log @resterm: Update to 0.46.3 Improved latency insights * Displays the current latency alongside a rolling p95. * Uses the latest 100 requests for more meaningful statistics. * Shows the 10 most recent requests. * Highlights slow responses with warning and error colors. * Handles narrow terminal widths cleanly with ANSI-aware truncation. @ text @d3 1 a3 1 DISTNAME= resterm-0.46.3 @ 1.13 log @resterm: Update to 0.46.2 v0.46.2 What' New When the update check finds a newer version, the version section of the status bar shows both your current version and the latest one, joined by a "?" icon. Example: ? v0.46.1 ? v0.46.2 Increased startup latency animation to 1s. v0.46.1 This release rebuilds how resterm updates itself. Downloads are now verified end to end against checksums served by the GitHub release API, the new binary has to prove it is the right release before it replaces the current one. Verified self-updates resterm --update now verifies every download against the sha256 digest the GitHub release API publishes for each asset. There is no separate checksum file to fetch anymore - the expected hash arrives with the release metadata and the downloaded binary must match it exactly. Verification is mandatory. A missing digest, a size mismatch or a checksum mismatch aborts the update and leaves the current install untouched. As a final check, the downloaded binary is executed with --version and must report the release it claims to be before it is moved into place. The new binary is staged next to the current one and swapped in with an atomic rename. On Windows the update now installs in place instead of waiting for a restart: the previous executable stays beside the new one as resterm.exe.old and is cleaned up by the next update once no process is still running it. Safer installs install.sh and install.ps1 verify the downloaded binary against the release API digest before installing and refuse to install when the checksum does not match. Atomic releases Release binaries are built for all platforms first, checked for completeness and attached. The latest release can no longer be seen with missing binaries or checksums. Better changelogs in the terminal resterm --check-update and resterm --update render release notes as formatted text: headings, nested lists, code blocks, emphasis, quotes and links, wrapped to terminal width. Colors are applied when the terminal supports them and degrade to structured plain text when it does not. @ text @d3 1 a3 1 DISTNAME= resterm-0.46.2 @ 1.12 log @Revbump all Go packages after go126 update @ text @d3 1 a3 2 DISTNAME= resterm-0.45.2 PKGREVISION= 1 @ 1.11 log @resterm: Update to 0.45.2 Important fix: multipart/form-data requests Multipart requests were effectively unusable in previous releases for typical hand-written requests and requests imported from curl -F via resterm -fc. If you use multipart/form-data, you should upgrade. What was broken. Several compounding bugs could corrupt multipart bodies: boundary lines (--...) were dropped during parsing because they were mistaken for -- comments. Part content starting with #, //, > or @@... could be misread as resterm syntax and multipart framing was sent with LF line endings instead of the CRLF delimiter/header framing required by RFC 7578/RFC 2046. What's fixed. resterm now sends multipart bodies with curl compatible wire framing: - CRLF delimiters and part headers, including a trailing CRLF after the closing boundary - multipart body lines are preserved as body content instead of being parsed as comments, scripts or variables - @@file includes inside parts are injected as raw bytes, so binary uploads are not rewritten - works the same whether your .http file uses LF or CRLF line endings - applies to all multipart subtypes (form-data, mixed, related) Directives placed after the closing boundary, such as # @@capture, continue to parse as before. Non-multipart requests, GraphQL, gRPC, SSH, and K8s are unaffected. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.10 2026/07/07 08:30:27 drixter Exp $ d4 1 @ 1.10 log @resterm: Update to 0.45.1 Vim-Style Command Line Added a Vim-like command line to the TUI. Press : from normal-mode panes to run common actions such as :w, :q, :q!, :wq, :x, :e, :help, and :noh. Search UX Search behavior now more closely follows Vim: opening / starts with an empty prompt while keeping the previous search available for match navigation, and clearing the live search input clears current highlights. The search prompt UI was also simplified by removing the extra search icon. This release also includes theming support. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.9 2026/07/06 13:01:38 drixter Exp $ d3 1 a3 1 DISTNAME= resterm-0.45.1 @ 1.9 log @resterm: Update to 0.44.7 Fixed Fixed NetBSD support by updating the SQLite dependency to modernc.org/sqlite v1.53.0. The previous SQLite dependency chain was broken on NetBSD, which could prevent Resterm from building or running correctly. Upstream issue: https://gitlab.com/cznic/sqlite/-/work_items/246 Improved Reworked and added back a small startup animation to the latency sparkline. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.8 2026/07/04 12:00:17 drixter Exp $ d3 1 a3 1 DISTNAME= resterm-0.44.7 @ 1.8 log @resterm: Update to v0.44.6 Startup latency animation removed The header's red -> yellow -> green startup animation is gone. Its tick loop was causing slower startups and brief CPU spikes on some machines/distros so the header now starts with a static, dimmed ms placeholder instead - switches to the live atency sparkline after the first request, which works exactly as before. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.7 2026/07/02 08:06:33 drixter Exp $ d3 1 a3 1 DISTNAME= resterm-0.44.6 @ 1.7 log @resterm: Update 0.44.5 Resize keys are now orientation aware * g+h / g+l - adjust the editor/response width in side-by-side layout (and the sidebar width when the navigator is focused - same as before). * g+j / g+k - adjust the editor/response height in stacked layout. Chords that don't apply to the current layout are simply ignored so you can't accidentally reset your panes. Note: g+j / g+k now collapse/expand navigator branches only while the navigator is focused. Custom bindings.toml files keep working as-is. Smoother latency indicator The latency animation in the header now eases into the placeholder instead of blinking out and the sparkline keeps a fixed width while it fills up. Small stuff The command bar now hints the resize keys (g h/j/k/l) and drops the ^O Open entry to make room (Ctrl+O still works). @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.6 2026/06/29 19:10:18 drixter Exp $ d3 1 a3 1 DISTNAME= resterm-0.44.5 @ 1.6 log @resterm: Update to version 0.44.4 v0.44.4 What's Changed Refreshed status bar icons - replaced the editor icon, which rendered as broken on some fonts. Status hints now clear when an action is confirmed or focus changes, instead of staying as stale text. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.5 2026/06/26 21:02:06 drixter Exp $ d3 1 a3 1 DISTNAME= resterm-0.44.4 @ 1.5 log @resterm: Update to 0.44.3 resterm 0.44.3 This release is all about the status bar - more color control, clearer icons and small labels improvements. Test outcomes now have their own statusbar palette, separate from request status blocks. You can theme each result independently: [status_bar.tests_pass] foreground = "#ecfeff" background = "#0e7490" [status_bar.tests_fail] foreground = "#fff1f2" background = "#be123c" [status_bar.tests_error] foreground = "#faf5ff" background = "#7e22ce" Minimized panes now show up in the status bar tinted to match their pane border color and new icon. The focus segment now has per pane icons - Files, Requests, Editor and Response Status text now uses the request's name as its label when one is defined, falling back to the URL otherwise. Small rewording to status messages, e.g. Using environment: dev and Theme unavailable: . @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.4 2026/06/25 18:48:42 drixter Exp $ d3 1 a3 1 DISTNAME= resterm-0.44.3 @ 1.4 log @resterm: Update to v0.44.2 v0.44.2 Dedicated test results block in the status bar Script/assertion test results now render as their own segment in the status bar instead of being appended to the response status text. New status bar block - test outcomes (@@assert and script tests) get a dedicated, separately styled segment in the left status sections, colored by level (pass = success, fail = warn, error = error). The main response status (e.g. 200 OK (200)) stays the same but is no longer suffixed with - X 1 test(s) failed. Summaries - the block shows V tests passed, X N test(s) failed (with correct singular/plural) or ! test error. HTTP and gRPC - the test block is populated for both HTTP and gRPC responses. Header icon - the test error icon in the response header changed from /!\ to ! @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.2 2026/06/23 11:38:08 drixter Exp $ d3 1 a3 1 DISTNAME= resterm-0.44.2 @ 1.3 log @www/resterm: Update to v0.44.1 v0.44.1 Better error diagnostics RTS expression errors now show exactly where they happened in the file. This also covers @@for-each and {{= }} templates which previously reported errors without a location. error[script]: undefined name "missing" --> requests.http:14:21 14 | # @@for-each item in missing.value Modal error handling API errors, such as 4xx and 5xx responses and failed requests no longer open a popup which was unneccecery since error rapporting already shows up in the response tab. A duplicate statusline error message was also removed. Internal RTS engine was refactored so the TUI, CLI and headless modes now share one execution path instead of keeping separate copies. @ text @d3 1 a3 1 DISTNAME= resterm-0.44.1 @ 1.2 log @resterm: Fixed category typo @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.1 2026/06/23 11:34:17 drixter Exp $ d3 1 a3 1 DISTNAME= resterm-0.43.2 @ 1.1 log @v0.43.2 Fix: autocomplete Esc handler Esc now closes the autocomplete popup without leaving Insert mode: First Esc closes the popup (or the preview panel, if it's open) and keeps you in Insert mode. Press Esc again to leave Insert mode, as before. @ text @d1 1 a1 1 # $NetBSD$ d4 1 a4 1 CATEGORIES= devel @