Release Notes

Release Notes

Latest release: v1.0.48 · July 18, 2026 ·Download Setup.exe ·MSI

v1.0.48 — Tab management

July 18, 2026
  • New File menu commands for working with multiple queries:
  • New Query (Same Properties) — a fresh query that inherits the current language and namespace imports.
  • Clone Query — duplicate the current query into a new tab.
  • Close All Tabs, Close Unmodified Tabs, Close Untitled Tabs — tidy up in one click. Closing tabs with unsaved changes asks first; there's always at least one tab left open.

v1.0.47 — Search Scripts

July 18, 2026
  • Find and open your saved queries fast. File → Search Scripts (Ctrl+P for quick-open, Ctrl+Shift+F for search) opens one dialog that searches across your recent files and the scripts in your folder.
  • Type a file name to quick-open it, or type any text to find the scripts that contain it — matches show the line they were found on.
  • Use ↑/↓ to move through results and Enter to open the selected one (or just click).

v1.0.46 — Query Properties (F4)

July 18, 2026
  • Each query now has a Properties window — Query → Query Properties (F4).
  • Namespace imports: add import paths (e.g. java.util.* or kotlin.math.max) and use those types in the query without writing the import. They apply on every run and are saved with the query (.brpad).
  • At a glance: the query's language, connection, and dependency count, with a shortcut to Manage Dependencies.

v1.0.45 — Run Tests

July 18, 2026
  • Write tests right in a query and run them. Query → Run Tests (Alt+Shift+T) finds every @Test method your Kotlin query declares, runs it, and reports pass/fail per test with the failure message and duration.
  • JUnit's @Test and kotlin.test assertions now ship with ByteRunner, so you can just write them.
  • Results appear as a table, titled with the tally (e.g. "Tests: 3/4 passed").
  • Queries can now use import statements. Previously any query starting with an import failed to compile ("Expecting an element") because ByteRunner's injected helpers landed above it. Imports are now hoisted correctly — this affected Kotlin and Groovy queries alike.

v1.0.44 — My Extensions

July 15, 2026
  • Define helper functions and types once, use them in every query. File → Edit My Extensions opens a per-language file (Kotlin or Groovy) that ByteRunner prepends to your scripts automatically.
  • Write fun greet(name: String) = "Hello, $name!" in My Extensions, then call greet("world") from any Kotlin query — no import needed.
  • import lines in the file are supported (they're hoisted to the top for you).
  • Edit it like any file; Ctrl+S saves, and the changes apply on your next run.

v1.0.43 — Preferences dialog

July 15, 2026
  • Settings now live in one place — Tools → Preferences (Ctrl+,):
  • Editor — font size, word wrap, line numbers, code folding, and auto-indent.
  • Appearance — dark/light theme.
  • Startup — show the welcome screen or not.
  • Changes apply instantly and are remembered across restarts. Your editor font size and the other editor toggles now persist — previously they reset every launch.

v1.0.42 — Update notifications

July 13, 2026
  • ByteRunner now checks for new versions on startup and tells you when one is available, with a link to the download page. You can also check any time from Help → Check for Updates.
  • Notify-only — ByteRunner never installs anything on its own.
  • What’s New → View Online now opens this release-notes page.

v1.0.41 — What's New dialog

July 11, 2026
  • A "What's New" dialog now appears once after each update, summarizing what changed — and it's available any time from Help → What's New. The notes ship inside the app, so it works instantly and offline.
  • Fixed: the About dialog now reports the correct version (earlier builds always showed 1.0.0).

v1.0.40 — Results-pane layout controls

July 9, 2026
  • Full-Screen Results (F8) maximizes the output pane; press F8 again to restore.
  • Hide Editor collapses the editor so results fill the area.
  • Results Side-by-Side (Ctrl+F8) places the editor and results next to each other instead of stacked. Your choice is remembered across restarts.

v1.0.39 — Run Isolated (killable)

July 9, 2026
  • A new Query → Run Isolated (Killable) action (Ctrl+F5) runs your Kotlin/Groovy script in a separate process whose Stop actually terminates it — even a runaway while (true) {} loop.
  • The normal Run (F5) is unchanged: fast, in-process, with database, dependencies, and cross-run session variables.

v1.0.38 — Debug menu + shortcuts

July 8, 2026
  • The debugger is now first-class: a Debug menu exposes Start Debugging, Continue, Stop, Step Over/Into/Out, Run to Cursor, Toggle Breakpoint, and Clear All Breakpoints.
  • Editor shortcuts: F9 toggle breakpoint, F10 step over, F11 step into, Shift+F11 step out, Ctrl+F10 run to cursor.

v1.0.37 —

July 8, 2026
  • Branding cleanup: ByteRunner is now consistently described as "An interactive scratchpad for the JVM." No functional changes.

v1.0.36 — Modern installer + update notifications

July 8, 2026
  • New modern Windows installer (ByteRunner-1.0.36-Setup.exe): a sleek, borderless install with a branded splash and progress bar — no clunky wizard. Recommended for most users; just download and run.
  • ByteRunner-1.0.36.msi remains for silent / enterprise (Group Policy) deployment.
  • Update notifications: ByteRunner now checks for new versions on startup and lets you know when one is available (Help → Check for Updates..., with a Check for Updates on Startup toggle). It only notifies — nothing is downloaded or installed automatically.
  • Language menu: all four languages now show (Groovy was being clipped) and are sorted alphabetically.

v1.0.35 — Branded .exe installer + branded wizard

July 8, 2026
  • Windows now gets a .exe installer alongside the .msi. The .exe carries the ByteRunner icon as its file icon in Explorer (an .msi can't — that icon is a fixed Windows system association for all installer packages). Both installers share the same fully branded setup wizard (dark-navy welcome panel, chevron logo, formatted EULA).
  • ByteRunner-1.0.35.exe — recommended for most users; double-click to install, branded file icon.
  • ByteRunner-1.0.35.msi — for silent / enterprise (Group Policy) deployment.
  • Every future build brands both automatically.

v1.0.34 — Formatted license page in the installer

July 8, 2026
  • The installer's End-User License Agreement now renders as a properly formatted document — brand-navy title and section headings, bold terms, and bullet lists — instead of raw Markdown text. EULA.rtf is generated from EULA.md at build time so the source stays single-authored.

v1.0.33 — Branded MSI installer wizard

July 7, 2026
  • The Windows installer now matches ByteRunner's brand. The setup wizard's banner and welcome/finish panels carry the dark-navy + teal/orange chevron design and ByteRunner wordmark, replacing jpackage's default red radial background. The wizard also has a license-agreement page, an install-location chooser, and a desktop shortcut.
  • Branding is applied automatically to every MSI build (a post-process step that swaps the WiX image streams), so future releases stay on-brand.

v1.0.31 —

July 7, 2026
  • Your dark/light theme choice now persists no matter how you toggle it (menu, Ctrl+Shift+T, command palette, or the toolbar button) — previously only the toolbar button saved it, so the app could reopen in the default theme after a restart or reinstall.

v1.0.30 —

July 7, 2026
  • AI replies now render Markdown (bold, bullet lists, headers, inline code) instead of showing raw ** and backticks. The database schema lookup for the AI is also more robust: it falls back to the last run's auto-discovered tables, logs why a live lookup failed, and — if tables still can't be listed — tells the assistant the connection is active rather than denying it.

v1.0.29 —

July 7, 2026
  • Completes the AI assistant's context: alongside your code, language, database connection, and last error, it now also receives the script name and the active Query mode (Statements/Expression/Program), and is told to write for that mode — so responses fit exactly what you're doing.

v1.0.28 —

July 7, 2026
  • The AI assistant now always knows about your active database connection. It previously only saw a schema if you had expanded the connection in the Schema Explorer; now selecting a connection is enough — the assistant is told the connection name/type and its tables (discovered live if not yet loaded), so it stops claiming there is no database and can write real queries.

v1.0.27 —

July 7, 2026
  • Sharpens the AI assistant's ByteRunner-awareness: dump() is framed as an always-available injected global (models no longer claim it's undefined), and the assistant is told to use a connection's exact table/column names and only assume a database when one is present. Adds a headless aiHarness dev tool for iterating on the assistant without the GUI.

v1.0.26 —

July 7, 2026
  • The AI panel can now export a conversation to a Markdown file. An Export button next to Clear (shown once a conversation exists) writes the full transcript via a save dialog — user turns labelled 'You', assistant turns verbatim so code blocks stay intact.

v1.0.25 —

July 7, 2026
  • The AI assistant is now ByteRunner-aware: its system prompt teaches the model the actual environment (snippets with no main(), dump() output, the fluent table query API and query(...) for raw SQL), so answers come back as idiomatic ByteRunner code instead of generic JVM boilerplate. Local Ollama requests also get a 5-minute ceiling (was 30s) so slow local generation no longer times out.

v1.0.24 —

July 7, 2026
  • Fixes the menu bar: File/Edit/Query/View/Tools/Help dropdowns were rendering behind the code editor (and could get stuck open). They now draw fully above the editor, keep the custom dark styling, and close on click-away, Escape, re-click, or selection.

v1.0.23 —

July 6, 2026
  • Local LLMs: the AI assistant can now run entirely on your machine via Ollama (llama, gemma, qwen, mistral, ...). Pick 'OLLAMA (local)' in AI Settings — no API key, configurable server URL, and nothing leaves your computer. Cloud providers (Anthropic, OpenAI) unchanged.

v1.0.21 —

July 3, 2026
  • Maintenance and internal improvements.

v1.0.20 —

July 2, 2026
  • Maintenance and internal improvements.

v1.0.19 —

July 2, 2026
  • Maintenance and internal improvements.

v1.0.18 —

July 2, 2026
  • Maintenance and internal improvements.

v1.0.17 —

July 1, 2026
  • Maintenance and internal improvements.

v1.0.16 —

July 1, 2026
  • Maintenance and internal improvements.

v1.0.15 — Fix query result rendering

July 1, 2026
  • Dumping raw query rows — e.g. query("SELECT * FROM Table").dump() or dbo.Table.dump() — could show every cell as [error]. dump() was reflecting on the row list's own internal implementation fields (elementData/size/modCount) instead of rendering the row's actual values. Rows now render correctly as nested tables.
  • Fixes #20.
  • Download ByteRunner-1.0.15.msi and run it to upgrade in place.

v1.0.14 — Resizable Explorer + Results panels

July 1, 2026
  • Resizable Explorer sidebar — drag to resize, just like the editor/Results split.
  • Both panel sizes now persist across restarts (previously the editor/Results split reset to a fixed position every time).
  • Resize cursor on hover for both dividers, and a fixed divider color so it correctly matches your current theme (was previously a fixed grey regardless of light/dark mode).
  • Download ByteRunner-1.0.14.msi and run it to upgrade in place.

v1.0.13 — Cleaner DynamoDB item rendering

July 1, 2026
  • dump() now renders a list of maps (e.g. dynamoDb.scan(...).items()) as a proper table:
  • One column per item field (union of keys) instead of the Map's internals (m/keySet/…) that produced [error] cells.
  • DynamoDB AttributeValue values render compactly (S/N/BOOL/NULL/SS/NS/L/M → readable text).
  • So both DynamoDB query styles now render cleanly:
  • ```kotlin

v1.0.12 — DynamoDB + connection fix

July 1, 2026
  • Fixes database scripting end-to-end. A Compose stale-closure bug made every Run/Debug compile with no active connection, so query(...), table accessors (dbo.Users / public.User), and the DynamoDB client came back "Unresolved reference". The run/debug/AI paths now always use the currently selected connection.
  • DynamoDB (NoSQL) support, with the AWS SDK correctly bundled:
  • Connect with region + Access Key / AWS profile / default credential chain (+ optional local endpoint).
  • Query via PartiQL — query("SELECT * FROM \"Table\"").dump()
  • Native AWS SDK client in scripts — dynamoDb.scan { it.tableName("Table") }...

v1.0.9 — DynamoDB support

June 30, 2026
  • Superseded by v1.0.12. This build shipped without the AWS SDK bundled and with a connection bug that broke database scripting. Please use v1.0.12 instead.

v1.0.7 —

June 29, 2026
  • Feature release.
  • The auto-discovered table accessors now support the fluent query idiom directly, with dialect-aware SQL (SQL Server TOP/OFFSET-FETCH + [bracket] identifiers; LIMIT/"quotes" elsewhere):
  • ```kotlin
  • dbo.Users.take(1).dump()
  • dbo.Users.where("active = 1").orderBy("name").take(10).dump()

v1.0.6 — Query syntax reminder

June 29, 2026
  • Unresolved reference: <schema> (e.g. dbo) when querying tables. The fluent table accessors are now auto-discovered from the connected database, so dbo.Customers (and any schema) resolves immediately — no need to expand the schema explorer first. Verified end-to-end against a live SQL Server.
  • The accessors are Ktorm tables, so use:
  • ```kotlin
  • query("SELECT TOP 5 * FROM dbo.Customers").dump() // raw SQL
  • db.from(dbo.Customers).select().limit(0, 5).map { it }.dump() // Ktorm DSL

v1.0.5 —

June 29, 2026
  • SQL Server / H2 queries through Ktorm no longer fail with "More than one dialect implementations found in the classpath." ByteRunner now always selects an explicit Ktorm dialect (SQL Server uses SqlServerDialect).
  • Everything from v1.0.4 (SQL Server Windows authentication, TLS trust toggle, keyboard-navigable dropdowns, new brand mark + dark UI) is included.

v1.0.4 —

June 29, 2026
  • Desktop scratchpad for the JVM — Java, Kotlin, Groovy, Scala — with rich dump() output, databases, debugging, and AI.
  • SQL Server Windows authentication — Integrated (current Windows account, no password) and NTLM (DOMAIN\user), alongside SQL Server auth.
  • SQL Server TLS — secure by default with a Trust server certificate toggle for local/self-signed servers.
  • Keyboard-navigable connection-dialog dropdowns (arrows / Enter / Esc).
  • New brand mark — clean double-chevron "run" icon; refined dark theme, custom dark menu bar, Welcome screen, and IBM Plex Sans UI font.

v1.0.3 —

June 29, 2026
  • Maintenance and internal improvements.

v1.0.2 —

June 28, 2026
  • Maintenance and internal improvements.

v1.0.1 —

June 28, 2026
  • Maintenance and internal improvements.

v1.0.0 — Initial release

June 26, 2026
  • The first ByteRunner build: an interactive scratchpad for the JVM.
  • Run Kotlin, Java, Groovy, and Scala snippets and visualize results with dump() — tables, trees, JSON, and more.
  • Database connectivity with a schema explorer, breakpoint debugging, and a built-in AI assistant.