Releases
Lingua v0.8.0
Verify your download
Download SHA256SUMS.txt alongside your binary, then run:
shasum -a 256 -c SHA256SUMS.txt macOS and Linux ship with shasum. On Windows use certutil -hashfile <file> SHA256 and compare against the listing.
What's new in v0.8.0
- HTTP + SQL workspace: A full-screen HTTP request workspace — reusable environments with secret-aware
{{variable}}interpolation (URL, headers, and the auth tab), name-based header redaction in history and exports, cURL import, and each response captured as a run capsule — plus a DuckDB-WASM SQL workspace with a Monaco SQL editor (syntax highlighting, schema autocomplete, run-selection) and opt-in OPFS table persistence so tables survive a reload. - Notebooks grow up: Cell-based notebooks now run TypeScript and Python cells, share variables across cells for real, edit code in a Monaco editor (only the focused cell mounts an editor, so a 200-cell notebook stays responsive), and export/import losslessly to the native
.linguanbdocument as well as Jupyter.ipynb. - Compare two run capsules: A side-by-side capsule diff shows Code, Input, and Output differences between two saved runs.
- Importers — Postman: Import a Postman collection and have its collection-level and environment/globals
{{variables}}resolve into runnable requests (with secret-named values redacted in the preview), instead of landing as literal placeholders.
Older releases (5)
-
v0.7.0
Jun 14, 2026- Smart paste: Pasting a Lingua share link, a run capsule, a cURL command, a stack trace, or a large JSON document into the editor now offers a one-click import through a non-blocking toast — open the share link or capsule, turn the cURL into a request in the HTTP workspace, or drop a large blob into a JSON tab — instead of landing as raw text.
Cmd+Shift+Valways pastes as plain text (also available as a "Paste as plain text" command), and a Settings → Editor toggle turns detection off entirely. - Inline lint and quick-fixes: JavaScript and TypeScript now surface problems as you type, toggleable per language in Settings → Editor. A built-in rule flags loose equality (
==/!=) with a one-keystroke fix to the strict form, and quick-fixes can add a missing semicolon or wrap a selection intry/catch— alongside the editor's existing type diagnostics. - Reopen your last session: Lingua can bring back the tabs from your previous session on startup. Choose never, ask each time (the new default), or always from Settings → Editor; an "ask" prompt and a command-palette action let you restore on demand without auto-reopening private code after a screen share.
- Notarized release gate: The macOS release workflow now fails closed when a build is signed but not notarized and stapled (
xcrun stapler validateplus a Gatekeeperspctlassessment), and a release-time guard rejects any macOS update package whose filename the update feed cannot resolve — closing the gap that previously stranded macOS auto-update. The full update signature chain (manifest to installer to on-disk binary) is now documented indocs/RELEASE_SECURITY.md.
- Smart paste: Pasting a Lingua share link, a run capsule, a cURL command, a stack trace, or a large JSON document into the editor now offers a one-click import through a non-blocking toast — open the share link or capsule, turn the cURL into a request in the HTTP workspace, or drop a large blob into a JSON tab — instead of landing as raw text.
-
v0.6.0
Jun 8, 2026- Free developer utilities: Every single-shot developer utility (JSON, Base64, URL, UUID, hash, timestamp, JWT, color, diff, beautify/minify, regex, and the rest) is now available on the Free tier. The advanced utility *workflows* — multi-step pipelines, history that persists across reloads, and clipboard-on-focus automation — remain Pro, each with an in-app unlock prompt.
- Deny-by-default desktop permissions: The desktop shell now refuses Electron permission requests (camera, microphone, geolocation, and the like) by default, granting only the narrow clipboard access the app actually uses.
- Faster startup and large-session performance: Monaco language providers and the developer-utility panels now load lazily, the console de-renders large output sessions (store-side collapse plus list windowing), and the project file-watcher refreshes only the directories that actually changed instead of re-walking the whole tree on every event.
- Safer persisted data: The settings, license, and project stores are now schema-versioned with a migration registry, so upgrading across versions rehydrates saved state cleanly instead of dropping or corrupting it.
-
v0.5.0
May 31, 2026- Signal-Slate redesign: A workspace-wide redesign pass that lands the new notebook surface, tightens the editor chrome, and folds in broad platform hardening across the renderer. The visual language carries forward from Signal-Slate v2 while the workspace layout, panels, and notebook entry points are rebuilt around it.
- Notebook workspace: A literate, multi-cell notebook surface — ordered code and prose cells in one document — with one-step import of existing Jupyter
.ipynbnotebooks into native Lingua notebooks. - SQL and HTTP workspaces: A dedicated SQL workspace for ad-hoc querying and a full HTTP workspace for composing, sending, and inspecting requests, including import of Postman and Bruno collections.
- Recipe practice library: A built-in library of runnable recipes for guided practice, with a run panel wired into the editor.
-
v0.4.0
May 18, 2026- Scratchpad excellence: A full nine-slice closeout for the JS / TS / Python Scratchpad workflow. Per-tab Run / Debug / Scratchpad mode toggle with the Run mode disabling auto-run for compiled languages. Smart auto-run completion gate so the runner waits for a coherent edit before firing. Pinned
// @watch <expr>and# @watch <expr>annotations that survive across runs. Per-tab recent-runs replay with one-click rerun (Mod+Shift+H) and a Pro-gated<RecentRunsPill>in the result header (Free tier sees an upsell variant). Opt-in bare-expression auto-log mode for JS / TS with per-language Settings defaults and per-tab overrides. Pre-set stdin buffer with a dedicated bottom-panelInputtab consumed byprompt()/readline()(JS / TS) andinput()(Python), with a "Used N of M lines" pill after the run. Per-language execution timeout presets (quick/normal/long/extended) with optional livemm:sscountdown pill and a// @timeout 60smagic-comment override. Compare-with-last-stable-run toggle in the result header with a multi-snapshot ring, pin/freeze support, three diff granularities (line / word / character), and inline+ / − / ~diff badges. Post-execute variable inspector panel mutually exclusive with Compare, surfacing typed previews for primitives, objects, arrays, Maps, Sets, errors, dates, and functions withMod+Shift+Itoggle, optional recursive expansion, and a case-insensitive name filter. - Explicit JS / TS runtime modes: Per-tab runtime selector with three implemented modes. Worker (default) keeps the existing fast Web-Worker scratchpad path. Browser Preview ships an iframe-sandboxed runtime with srcdoc CSP, runId-anchored postMessage bridge, parent-owned timeout, scoped multi-file preview seed, and an inspect-in-window button — useful for HTML / DOM / canvas demos. Desktop Node spawns a real
nodechild process with a parent-owned SIGTERM→SIGKILL timeout, aNODE_TOOLCHAIN_KEYSenv allowlist, automaticnode_modules/cwd resolution,package.json#type === 'module'detection, and a first-run trust notice before the first execution touches your filesystem and network. - Signal-Slate v2 chrome: New 36px header row above the toolbar with app mark, filename + unsaved dot, license badge, command-palette search, and settings gear. Toolbar trimmed of the seven right-side icons that duplicated the new header. Variables panel can now dock to a Variables tab in the bottom panel (Settings → Editor → Variable inspector surface) instead of the floating card. Toolbar chips (Lang / Runtime / Workflow) stay clickable even without an open tab and auto-create the right tab on demand so the toolbar can never deadlock the user out of a fresh session.
- Rich-output foundation +
//=> tabledirective: NewRichOutputPayloadtype discriminator (superset ofScopeValue) covering map / set / date / promise / table / rawText payloads, withimageandchartstubs reserved for the next slice. JS / TS runners attach a typedRichOutputTablepayload when the user annotates an expression with//=> table— the inline pill upgrades from a JSON blob to a compactTable(N×M) — colssummary. Python's#=> tableis recognised by the parser even though the Pyodide runner does not emit the payload yet. Foundation for the upcoming console-panel widget, popover surface, and chart / image / sandboxed-HTML rendering.
- Scratchpad excellence: A full nine-slice closeout for the JS / TS / Python Scratchpad workflow. Per-tab Run / Debug / Scratchpad mode toggle with the Run mode disabling auto-run for compiled languages. Smart auto-run completion gate so the runner waits for a coherent edit before firing. Pinned
-
v0.3.0
May 11, 2026- Rich language intelligence for Python, Rust, and Go: Inline diagnostics, completions, hover documentation, and parameter hints. Rust uses rust-analyzer and Go uses gopls when installed locally; Python runs in-process. Web build keeps these languages in validate-only mode.
- JS/TS debugger (preview): Click-to-toggle gutter breakpoints with
Mod+Shift+B, a Debugger drawer with step controls, Settings entries to disable or clear all breakpoints, and TypeScript source-map composition so breakpoints stop at the line you authored. - Developer utilities productivity layer:
Cmd/Ctrl+Klauncher with fuzzy search,Cmd+Shift+C/Cmd+Alt+Rto copy or replace utility output, per-tool history with persistence, drag-reorder favorites with full keyboard support, clipboard-on-focus consent, and Apply-from-input across 29 panels. - QR utility closeout: Drag-drop image decode, Copy-as-PNG, FG/BG color pickers with a WCAG-AA contrast guard, high-contrast preset, and SVG download.