Skip to content

Releases

JSheets 0.4.6

JSheets 0.4.6 Pre-release
Pre-release

Choose a tag to compare

@matsonj matsonj released this 11 Nov 02:47

JSheets is a desktop spreadsheet for people who know Excel well, with DuckDB as its calculation engine and a built-in MCP server so AI agents can build and check workbooks. This pre-release is for Linux x86-64, and it also runs on WSL Ubuntu. It fixes charts and number formats found while building dashboards, and restyles the table chooser.

Install

curl -LO https://github.com/matsonj/jsheets-releases/releases/download/v0.4.6/jsheets-0.4.6-linux-x86_64.tar.gz
curl -LO https://github.com/matsonj/jsheets-releases/releases/download/v0.4.6/jsheets-0.4.6-linux-x86_64.tar.gz.sha256
sha256sum -c jsheets-0.4.6-linux-x86_64.tar.gz.sha256
tar -xzf jsheets-0.4.6-linux-x86_64.tar.gz
./jsheets-0.4.6-linux-x86_64/jsheets-desktop [file.jsheets | file.xlsx] [--mcp [port]]

It needs glibc 2.35 or later and a desktop with OpenGL.

Fixed

  • Thousands scaling in number formats. A comma after the last digit divides by 1,000, as in Excel: $#,##0,"k" shows 464220 as $464k, and 0.0,,"m" shows 2500000 as 2.5m. This works in cells, in TEXT, and on chart axes and data labels.
  • Legend colours match the series when a series has its own fill or line colour.
  • Bar charts draw every level of multi-level category labels, with the outer level to the left, as Excel does.
  • The chart panel's Chart type shows the chart's type and offers every type JSheets draws: line, column, bar, pie, doughnut, scatter and bubble. Subtype sets clustered, stacked or 100% on bar and column charts as well as line.
  • For agents: read_chart reports a bar chart's axes the right way round, with the value axis's scale under horizontal.

Changed

  • The table chooser (Data ▸ Open table…) follows the JSheets design, shows shortcuts for your keyboard profile (⌘ O on a Mac), and has a clear starting point when you haven't opened any tables yet.

Known gaps

  • Area, stock, radar and surface charts, and Excel 2016 types such as sunburst, treemap, waterfall and histogram, are kept when you open and save a file, but JSheets doesn't draw them yet.
  • Pivot charts and slicers come in 0.5.0.
  • Results can differ from Excel in the last of 15 significant digits.

Check results that matter against Excel until these are fixed.

JSheets 0.4.5

JSheets 0.4.5 Pre-release
Pre-release

Choose a tag to compare

@matsonj matsonj released this 11 Nov 04:01

JSheets is a desktop spreadsheet for people who know Excel well, with DuckDB as its calculation engine and a built-in MCP server so AI agents can build and check workbooks. This pre-release is for macOS on Apple Silicon. It brings the Mac up to date with 0.4.4, which adds the table editor, and fixes MotherDuck sources found while testing it on the Mac. Linux users should use 0.4.6.

Install

Download jsheets-0.4.5-macos-arm64.dmg, open it, and drag JSheets to Applications. The app is signed and notarized by Apple, so it opens without warnings. It needs an Apple Silicon Mac with macOS 11 or later.

To run it from a terminal, for example to start the MCP server, use the same binary in the tarball:

curl -LO https://github.com/matsonj/jsheets-releases/releases/download/v0.4.5/jsheets-0.4.5-macos-arm64.tar.gz
curl -LO https://github.com/matsonj/jsheets-releases/releases/download/v0.4.5/jsheets-0.4.5-macos-arm64.tar.gz.sha256
shasum -a 256 -c jsheets-0.4.5-macos-arm64.tar.gz.sha256
tar -xzf jsheets-0.4.5-macos-arm64.tar.gz
./jsheets-0.4.5-macos-arm64/jsheets-desktop [file.jsheets | file.xlsx] [--mcp [port]]

If JSheets is already in Applications, /Applications/JSheets.app/Contents/MacOS/jsheets-desktop takes the same arguments.

On the Mac

  • The Dock and Cmd+Tab show the JSheets icon instead of a generic one.
  • The delete key clears the whole selection, as in Excel for Mac.
  • MotherDuck tokens are kept in the macOS Keychain.

MotherDuck, fixed since 0.4.4

  • MotherDuck sources open on the Mac. The signed app couldn't load DuckDB's MotherDuck extension.
  • Sign in with just your token, then pick a database from your account's list. You no longer type a database name.
  • Sign out forgets the stored token, and a revoked token asks for a new one.
  • Views that read other databases list and open, and a database lists its tables in one step instead of one query per table.
  • Opening a MotherDuck table no longer fails with "query returned no rows".
  • The chooser shows what it's waiting for while it signs in or opens a source.

From 0.4.4: the table editor

Data ▸ Open table… (or File ▸ Open table… on the start page) opens a table in its own window, so you can scroll it and edit it directly.

  • Sources: DuckDB databases, MotherDuck (md:), and Parquet, CSV and JSON files. Your MotherDuck token is kept in the system keychain.
  • Any size. Only the rows on screen are read, so a table of millions of rows scrolls, jumps with Ctrl+End and goes to a row with Ctrl+G at once.
  • Edit like a sheet. Type to replace a value, F2 to edit, Delete to clear, Ctrl++ and Ctrl+− to add and delete rows, and Ctrl+Z to undo. Keys work as in Excel.
  • Formula columns. Type = after the last column to add a column such as =IF([@notional]>1000000,"Large","Small"), or rewrite a column with =TRIM(PROPER([@counterparty])). Formulas use Excel's table syntax and the same functions as the sheet, run over the whole table. Saving writes the values.
  • Safe saves. Edits wait until you save, then go to the database in one transaction: all of them or none. If the database refuses a save, for example over a duplicate key, nothing changes and you see its message. A row someone else changed since you opened it is never overwritten. A save over 10,000 cells, or one that changes a column's type, asks first.
  • For agents. MCP tools read tables, make edits, apply formulas and save, limited to sources you have opened yourself.

Also from 0.4.4

  • 3D references such as SUM(Jan:Mar!B2) calculate, and survive moving and deleting sheets.
  • Recalculating after an edit is much faster when an edit reaches many single-cell formulas: a table of 132 SUMPRODUCTs went from about 1.7 s to a fraction of a second.
  • Fewer #UNSUPPORTED results for very long formulas, such as SUMPRODUCT comparisons across many columns and long chains of COUNTIF. Where one remains, Evaluate Formula says why.
  • Dropdown lists filter as you type, and scroll with the mouse wheel.
  • For agents: a rejected apply_transaction says which operation failed and why, dry_run: true checks a batch without writing anything, and a call without a task no longer ends the agent's open task.
  • Formats on part of a column are kept when saving to XLSX.

Known gaps

  • Area, stock, radar and surface charts, and Excel 2016 types such as sunburst, treemap, waterfall and histogram, are kept when you open and save a file, but JSheets doesn't draw them yet.
  • Pivot charts and slicers come in 0.5.0.
  • Results can differ from Excel in the last of 15 significant digits.

Check results that matter against Excel until these are fixed.

JSheets 0.4.4

JSheets 0.4.4 Pre-release
Pre-release

Choose a tag to compare

@matsonj matsonj released this 10 Nov 21:16

JSheets is a desktop spreadsheet for people who know Excel well, with DuckDB as its calculation engine and a built-in MCP server so AI agents can build and check workbooks. This pre-release is for Linux x86-64, and it also runs on WSL Ubuntu. It adds the table editor. The Mac build follows as 0.4.5.

Install

curl -LO https://github.com/matsonj/jsheets-releases/releases/download/v0.4.4/jsheets-0.4.4-linux-x86_64.tar.gz
curl -LO https://github.com/matsonj/jsheets-releases/releases/download/v0.4.4/jsheets-0.4.4-linux-x86_64.tar.gz.sha256
sha256sum -c jsheets-0.4.4-linux-x86_64.tar.gz.sha256
tar -xzf jsheets-0.4.4-linux-x86_64.tar.gz
./jsheets-0.4.4-linux-x86_64/jsheets-desktop [file.jsheets | file.xlsx] [--mcp [port]]

It needs glibc 2.35 or later and a desktop with OpenGL.

New: the table editor

Data ▸ Open table… (or File ▸ Open table… on the start page) opens a table in its own window, so you can scroll it and edit it directly.

  • Sources: DuckDB databases, MotherDuck (md:), and Parquet, CSV and JSON files. Your MotherDuck token is kept in the system keychain.
  • Any size. Only the rows on screen are read, so a table of millions of rows scrolls, jumps with Ctrl+End and goes to a row with Ctrl+G at once.
  • Edit like a sheet. Type to replace a value, F2 to edit, Delete to clear, Ctrl++ and Ctrl+− to add and delete rows, and Ctrl+Z to undo. Keys work as in Excel.
  • Formula columns. Type = after the last column to add a column such as =IF([@notional]>1000000,"Large","Small"), or rewrite a column with =TRIM(PROPER([@counterparty])). Formulas use Excel's table syntax and the same functions as the sheet, run over the whole table. Saving writes the values.
  • Safe saves. Edits wait until you save, then go to the database in one transaction: all of them or none. If the database refuses a save, for example over a duplicate key, nothing changes and you see its message. A row someone else changed since you opened it is never overwritten. A save over 10,000 cells, or one that changes a column's type, asks first.
  • For agents. MCP tools read tables, make edits, apply formulas and save, limited to sources you have opened yourself.

Also new

  • 3D references such as SUM(Jan:Mar!B2) calculate, and survive moving and deleting sheets.
  • Recalculating after an edit is much faster when an edit reaches many single-cell formulas: a table of 132 SUMPRODUCTs went from about 1.7 s to a fraction of a second.
  • Fewer #UNSUPPORTED results for very long formulas, such as SUMPRODUCT comparisons across many columns and long chains of COUNTIF. Where one remains, Evaluate Formula says why.
  • Dropdown lists filter as you type, and scroll with the mouse wheel.
  • On a Mac keyboard, the delete key clears the whole selection, as in Excel for Mac.
  • For agents: a rejected apply_transaction says which operation failed and why, dry_run: true checks a batch without writing anything, and a call without a task no longer ends the agent's open task.
  • Formats on part of a column are kept when saving to XLSX.

Known gaps

  • Area, stock, radar and surface charts, and Excel 2016 types such as sunburst, treemap, waterfall and histogram, are kept when you open and save a file, but JSheets doesn't draw them yet.
  • Pivot charts and slicers come in 0.5.0.
  • Results can differ from Excel in the last of 15 significant digits.

Check results that matter against Excel until these are fixed.

JSheets 0.4.1

JSheets 0.4.1 Pre-release
Pre-release

Choose a tag to compare

@matsonj matsonj released this 10 Nov 04:09

JSheets is a desktop spreadsheet for people who know Excel well, with DuckDB as its calculation engine and a built-in MCP server so AI agents can build and check workbooks. This pre-release is for macOS on Apple Silicon. It brings the Mac up to date with 0.4.0, which adds charts. On Linux it would behave exactly like 0.4.0, so Linux users should stay on 0.4.0.

Install

Download jsheets-0.4.1-macos-arm64.dmg, open it, and drag JSheets to Applications. The app is signed and notarized by Apple, so it opens without warnings. It needs an Apple Silicon Mac with macOS 11 or later.

To run it from a terminal, for example to start the MCP server, use the same binary in the tarball:

curl -LO https://github.com/matsonj/jsheets-releases/releases/download/v0.4.1/jsheets-0.4.1-macos-arm64.tar.gz
curl -LO https://github.com/matsonj/jsheets-releases/releases/download/v0.4.1/jsheets-0.4.1-macos-arm64.tar.gz.sha256
shasum -a 256 -c jsheets-0.4.1-macos-arm64.tar.gz.sha256
tar -xzf jsheets-0.4.1-macos-arm64.tar.gz
./jsheets-0.4.1-macos-arm64/jsheets-desktop [file.jsheets | file.xlsx] [--mcp [port]]

If JSheets is already in Applications, /Applications/JSheets.app/Contents/MacOS/jsheets-desktop takes the same arguments.

From 0.4.0: charts

  • Seven chart types: line, column, bar, pie, doughnut, scatter and bubble, including clustered, stacked and 100% stacked columns and bars, and combinations such as columns with a line on a secondary axis.
  • The JSheets look by default. New charts use the JSheets palette and type. Charts from Excel files keep their own colours and settings.
  • Excel's options. Select a chart, or any part of one, and the chart panel opens on it, with the sections of Excel's Format pane.
  • Data stays linked. Series follow their cells through inserted rows, renamed sheets and undo. The formula bar shows a series as =SERIES(...).
  • Excel files. Charts open from and save to XLSX. A chart you haven't changed is written back exactly as Excel wrote it.
  • For agents. MCP tools add, change, read and delete charts, and render_chart returns a PNG or SVG so an agent can check what it drew.
  • Evaluate Formula is redesigned as a flow beside the cell, with a full-screen view for long formulas.

From 0.3.0 and 0.3.1

  • Evaluate Formula (Formulas menu) steps through a formula the way Excel's does, and drills into the cells it reads. The MCP tool evaluate_formula returns the same trace to agents.
  • What-if data tables ({=TABLE(...)}) calculate and save back to XLSX.
  • Circular references iterate when the workbook turns iteration on.
  • Large models are much faster: workbooks with thousands of INDIRECT formulas open, and a 134,000-formula monthly model recalculates in about 2 minutes instead of 12.
  • Fewer #UNSUPPORTED results, including OFFSET sized by a cell, SUMIF with a range of criteria, XLOOKUP match and search modes, and time formats with a locale tag such as [$-409]h:mm AM/PM.
  • Legacy array formulas calculate across their whole range.
  • The MCP server listens on loopback without a token, on a stable default port, and answers while a workbook recalculates.

Known gaps

  • Area, stock, radar and surface charts, and Excel 2016 types such as sunburst, treemap, waterfall and histogram, are kept when you open and save a file, but JSheets doesn't draw them yet.
  • Pivot charts and slicers come in 0.5.0.
  • 3D references such as SUM(Sheet1:Sheet3!A1) aren't supported, data tables make opening slower, and results can differ from Excel in the last of 15 significant digits.

Check results that matter against Excel until these are fixed.

JSheets 0.4.0

JSheets 0.4.0 Pre-release
Pre-release

Choose a tag to compare

@matsonj matsonj released this 10 Nov 03:35

JSheets is a desktop spreadsheet for people who know Excel well, with DuckDB as its calculation engine and a built-in MCP server so AI agents can build and check workbooks. This pre-release is for Linux x86-64, and it also runs on WSL Ubuntu. It adds charts.

Install

curl -LO https://github.com/matsonj/jsheets-releases/releases/download/v0.4.0/jsheets-0.4.0-linux-x86_64.tar.gz
curl -LO https://github.com/matsonj/jsheets-releases/releases/download/v0.4.0/jsheets-0.4.0-linux-x86_64.tar.gz.sha256
sha256sum -c jsheets-0.4.0-linux-x86_64.tar.gz.sha256
tar -xzf jsheets-0.4.0-linux-x86_64.tar.gz
./jsheets-0.4.0-linux-x86_64/jsheets-desktop [file.jsheets | file.xlsx] [--mcp [port]]

It needs glibc 2.35 or later and a desktop with OpenGL.

New: charts

  • Seven chart types: line, column, bar, pie, doughnut, scatter and bubble, including clustered, stacked and 100% stacked columns and bars, and combinations such as columns with a line on a secondary axis.
  • The JSheets look by default. New charts use the JSheets palette and type. Charts from Excel files keep their own colours and settings.
  • Excel's options. Select a chart, or any part of one, and the chart panel opens on it. Its sections cover the chart, series, single points, data labels, title, legend, both axes, trendlines, slices, scatter and bubble settings, and chart options, matching Excel's Format pane.
  • Data stays linked. Series follow their cells: inserting rows, renaming sheets and undo all keep them right. Labels can take their text from cells. The formula bar shows a series as =SERIES(...).
  • Excel files. Charts open from and save to XLSX. A chart you haven't changed is written back exactly as Excel wrote it.
  • For agents. MCP tools add, change, move, read and delete charts, and render_chart returns a PNG or SVG so an agent can check what it drew.
  • Export. Copy a chart as SVG, or save it as an SVG file.

Also new

  • Evaluate Formula is redesigned as a flow beside the cell, in the Model map's style, with a full-screen view for long formulas.

Fixed

  • Time formats with a locale tag, such as [$-409]h:mm AM/PM, showed #UNSUPPORTED. They now display as in Excel, in cells, TEXT and chart labels.
  • A save that finished while you were still editing could be reported as lost.
  • One-cell legacy array formulas keep the formula as written (the 0.3.2 fix).

Known gaps

  • Area, stock, radar and surface charts, and Excel 2016 types such as sunburst, treemap, waterfall and histogram, are kept when you open and save a file, but JSheets doesn't draw them yet.
  • Pivot charts and slicers come in 0.5.0.
  • The same as 0.3.1: 3D references such as SUM(Sheet1:Sheet3!A1) aren't supported, data tables make opening slower, and results can differ from Excel in the last of 15 significant digits.

JSheets 0.3.1

JSheets 0.3.1 Pre-release
Pre-release

Choose a tag to compare

@matsonj matsonj released this 08 Nov 11:41

JSheets is a desktop spreadsheet for people who know Excel well, with DuckDB as its calculation engine and a built-in MCP server so AI agents can build and check workbooks. This pre-release is for Linux x86-64, and it also runs on WSL Ubuntu. It fixes three bugs in 0.3.0.

Install

curl -LO https://github.com/matsonj/jsheets-releases/releases/download/v0.3.1/jsheets-0.3.1-linux-x86_64.tar.gz
curl -LO https://github.com/matsonj/jsheets-releases/releases/download/v0.3.1/jsheets-0.3.1-linux-x86_64.tar.gz.sha256
sha256sum -c jsheets-0.3.1-linux-x86_64.tar.gz.sha256
tar -xzf jsheets-0.3.1-linux-x86_64.tar.gz
./jsheets-0.3.1-linux-x86_64/jsheets-desktop [file.jsheets | file.xlsx] [--mcp [port]]

It needs glibc 2.35 or later and a desktop with OpenGL.

Fixed

  • A typed entry is no longer lost when the read JSheets makes before committing it fails. The entry stays open with what you typed, and the error shows.
  • Editing while viewing a past step of a real workbook names the right step to return to. It used to say "Return to step 0 to edit".
  • Choosing a table in the import panel while an import runs no longer drops the running import, which could let a second import start alongside it.

Known gaps

The same as 0.3.0: 3D references such as SUM(Sheet1:Sheet3!A1) aren't supported, data tables make opening slower, and results can differ from Excel in the last of 15 significant digits.

JSheets 0.3.0

JSheets 0.3.0 Pre-release
Pre-release

Choose a tag to compare

@matsonj matsonj released this 08 Nov 11:25

JSheets is a desktop spreadsheet for people who know Excel well, with DuckDB as its calculation engine and a built-in MCP server so AI agents can build and check workbooks. This pre-release is for Linux x86-64, and it also runs on WSL Ubuntu.

This release comes from running agents on SpreadsheetBench 2's finance tasks (financial models, debugging and templates) and fixing everything that went wrong because of JSheets.

Install

curl -LO https://github.com/matsonj/jsheets-releases/releases/download/v0.3.0/jsheets-0.3.0-linux-x86_64.tar.gz
curl -LO https://github.com/matsonj/jsheets-releases/releases/download/v0.3.0/jsheets-0.3.0-linux-x86_64.tar.gz.sha256
sha256sum -c jsheets-0.3.0-linux-x86_64.tar.gz.sha256
tar -xzf jsheets-0.3.0-linux-x86_64.tar.gz
./jsheets-0.3.0-linux-x86_64/jsheets-desktop [file.jsheets | file.xlsx] [--mcp [port]]

It needs glibc 2.35 or later and a desktop with OpenGL.

New

  • Evaluate Formula (Formulas menu) steps through a formula the way Excel's does, with a plan that doesn't change length as you step, and drills into the formulas of the cells it reads, with a path back.
  • What-if data tables ({=TABLE(...)}) calculate, and save back to XLSX as data tables. Like Excel's "Automatic except for data tables", they calculate when a workbook opens and with F9, and keep their values through edits.
  • Agents can explain a value. The MCP tool evaluate_formula returns the complete calculation trace for a cell, through the cells it reads.
  • Circular references iterate as Excel does when the workbook turns iteration on.
  • The MCP server is easier to connect to: it listens on loopback without a token, on a stable default port.

Faster

  • Workbooks with thousands of INDIRECT formulas open. A model with 18,900 one-cell INDIRECT formulas and 510 defined names opens in about 80 seconds; it never finished before.
  • Large horizontal models recalculate much faster. A 134,000-formula monthly model recalculates in about 2 minutes instead of 12, and one edit takes about a second instead of 18 minutes.
  • Editing stays responsive in workbooks that use OFFSET: an edit recalculates only what it reaches.
  • The MCP server answers while a workbook recalculates, instead of waiting for it.

Fixed

  • Formulas that showed #UNSUPPORTED now calculate:
    • OFFSET sized by a header cell across a wide row;
    • SUM, MIN, MAX, AVERAGE and PRODUCT of several separate cells;
    • formulas that read their own column below themselves;
    • INDIRECT and OFFSET whose targets were too large.
  • Legacy array formulas (entered with Ctrl+Shift+Enter) over a range calculate across the whole range, and save back as one array formula; before, only the first cell recalculated.
  • SUMIF, SUMIFS, AVERAGEIF and AVERAGEIFS with a range of criteria return one result per criterion, as COUNTIF already did.
  • XLOOKUP finds the next smaller or larger item (match mode -1 or 1) and searches last to first (search mode -1).
  • Formula spacing is kept on every cell of a filled formula, not just the first.
  • Newer functions saved without their _xlfn. prefix show #NAME?, as in Excel, and keep their spelling when saved.
  • Workbooks with unusual sheet names open.
  • Undoing a transaction restores every calculation setting, including iteration.
  • Smaller fixes: Paste Special opens with its first choice highlighted; Enter in a menu runs only the highlighted command; Find no longer jumps after a refused replace; closing waits for an agent's task to finish; the unsaved marker always matches the workbook.

Known gaps

  • 3D references such as SUM(Sheet1:Sheet3!A1) aren't supported.
  • Data tables recalculate the whole model once per cell, so a workbook with several opens more slowly: about 30 seconds for an LBO with four 5×5 tables.
  • A legacy array formula entered in a single cell whose result is an array is shown as INDEX(formula,1,1). The value matches Excel's; only the text differs.
  • Results can differ from Excel in the last of 15 significant digits.

Check results that matter against Excel until these are fixed.

JSheets 0.2.5

JSheets 0.2.5 Pre-release
Pre-release

Choose a tag to compare

@matsonj matsonj released this 05 Nov 23:59

JSheets is a desktop spreadsheet for people who know Excel well, with DuckDB as its calculation engine and a built-in MCP server so AI agents can build and check workbooks. This pre-release is for macOS on Apple Silicon. It brings the Mac up to date with 0.2.4 and makes the app look and behave like a Mac app. On Linux it would behave exactly like 0.2.4, so Linux users should stay on 0.2.4.

Install

Download jsheets-0.2.5-macos-arm64.dmg, open it, and drag JSheets to Applications. The app is signed and notarized by Apple, so it opens without warnings. It needs an Apple Silicon Mac with macOS 11 or later.

To run it from a terminal, for example to start the MCP server, use the same binary in the tarball:

curl -LO https://github.com/matsonj/jsheets-releases/releases/download/v0.2.5/jsheets-0.2.5-macos-arm64.tar.gz
curl -LO https://github.com/matsonj/jsheets-releases/releases/download/v0.2.5/jsheets-0.2.5-macos-arm64.tar.gz.sha256
shasum -a 256 -c jsheets-0.2.5-macos-arm64.tar.gz.sha256
tar -xzf jsheets-0.2.5-macos-arm64.tar.gz
./jsheets-0.2.5-macos-arm64/jsheets-desktop [file.jsheets | file.xlsx] [--mcp [port]]

If JSheets is already in Applications, /Applications/JSheets.app/Contents/MacOS/jsheets-desktop takes the same arguments.

New on macOS

  • Menus are in the macOS menu bar. File, Edit, View, Insert, Format, Formulas, Data, Agent and Help show their Mac shortcuts. The JSheets menu has Settings (⌘,), Hide and Quit, and the Window menu has Minimize and Zoom. Keys in the sheet still behave exactly like Excel for Mac.
  • Mac window controls. The red, yellow and green buttons are on the top left, in a slim title bar with the workbook's name.
  • A new icon drawn for the macOS app-icon shape, with a separate drawing for each size. macOS 26 no longer shows it shrunk in a gray box.

From 0.2.4, new on the Mac

  • Large workbooks open much faster. A 2.4-million-cell workbook (Microsoft's AdventureWorks sample) imports in 6 seconds instead of 49, using less memory. Workbooks with hundreds of defined names no longer recalculate once per name while opening: one with 848 names went from over 90 seconds to a few.
  • Merge and unmerge cells, with undo, and as merge_cells and unmerge_cells MCP operations.
  • Deleting many columns at once no longer runs out of memory. 415 single-column deletes on a 1,600-column sheet take a few seconds and undo in one step.
  • INDEX(range, 0) on a single row or column selects the whole row or column inside a function, so MATCH(TRUE, INDEX(B2:AK2<0, 0), 0) works.
  • Rounding at exact halves matches Excel on every platform: an average of exactly 90.05% shows as 90.1%, and TEXT(2.675, "0.00") gives 2.68.

Known gaps

  • 3D references such as SUM(Sheet1:Sheet3!A1) aren't supported.
  • Results can differ from Excel in the last of 15 significant digits.

Check results that matter against Excel until these are fixed.

JSheets 0.2.4

JSheets 0.2.4 Pre-release
Pre-release

Choose a tag to compare

@matsonj matsonj released this 05 Nov 23:10

JSheets is a desktop spreadsheet for people who know Excel well, with DuckDB as its calculation engine and a built-in MCP server so AI agents can build and check workbooks. This pre-release is for Linux x86-64, and it also runs on WSL Ubuntu.

Install

curl -LO https://github.com/matsonj/jsheets-releases/releases/download/v0.2.4/jsheets-0.2.4-linux-x86_64.tar.gz
curl -LO https://github.com/matsonj/jsheets-releases/releases/download/v0.2.4/jsheets-0.2.4-linux-x86_64.tar.gz.sha256
sha256sum -c jsheets-0.2.4-linux-x86_64.tar.gz.sha256
tar -xzf jsheets-0.2.4-linux-x86_64.tar.gz
./jsheets-0.2.4-linux-x86_64/jsheets-desktop [file.jsheets | file.xlsx] [--mcp [port]]

It needs glibc 2.35 or later and a desktop with OpenGL.

New

  • Large workbooks open much faster. A 2.4-million-cell workbook (Microsoft's AdventureWorks sample) imports in 6 seconds instead of 49, using less memory. Workbooks with hundreds of defined names no longer recalculate once per name while opening: one with 848 names went from over 90 seconds to a few.
  • Merge and unmerge cells, with undo, and as merge_cells and unmerge_cells MCP operations.
  • The JSheets icon shows in alt-tab, docks and launchers. On first start the app adds a jsheets.desktop entry and its icon under ~/.local/share.

Fixed

  • Deleting many columns at once no longer runs out of memory. 415 single-column deletes on a 1,600-column sheet take a few seconds and undo in one step.
  • INDEX(range, 0) on a single row or column selects the whole row or column inside a function, so MATCH(TRUE, INDEX(B2:AK2<0, 0), 0) works.
  • Rounding at exact halves matches Excel: an average of exactly 90.05% shows as 90.1%, and TEXT(2.675, "0.00") gives 2.68.

Known gaps

  • 3D references such as SUM(Sheet1:Sheet3!A1) aren't supported.
  • Results can differ from Excel in the last of 15 significant digits.

Check results that matter against Excel until these are fixed.

JSheets 0.2.3

JSheets 0.2.3 Pre-release
Pre-release

Choose a tag to compare

@matsonj matsonj released this 05 Nov 07:05

JSheets is a desktop spreadsheet for people who know Excel well, with DuckDB as its calculation engine and a built-in MCP server so AI agents can build and check workbooks. This pre-release is the first build for macOS, on Apple Silicon. On Linux it would behave exactly like 0.2.2, so Linux users should stay on 0.2.2.

Install

Download jsheets-0.2.3-macos-arm64.dmg, open it, and drag JSheets to Applications. The app is signed and notarized by Apple, so it opens without warnings. It needs an Apple Silicon Mac with macOS 11 or later.

To run it from a terminal, for example to start the MCP server, use the same binary in the tarball:

curl -LO https://github.com/matsonj/jsheets-releases/releases/download/v0.2.3/jsheets-0.2.3-macos-arm64.tar.gz
curl -LO https://github.com/matsonj/jsheets-releases/releases/download/v0.2.3/jsheets-0.2.3-macos-arm64.tar.gz.sha256
shasum -a 256 -c jsheets-0.2.3-macos-arm64.tar.gz.sha256
tar -xzf jsheets-0.2.3-macos-arm64.tar.gz
./jsheets-0.2.3-macos-arm64/jsheets-desktop [file.jsheets | file.xlsx] [--mcp [port]]

If JSheets is already in Applications, /Applications/JSheets.app/Contents/MacOS/jsheets-desktop takes the same arguments.

Settings are stored in ~/Library/Application Support/JSheets.

New on macOS

  • A Mac app, in a disk image, with its own icon.
  • Shortcuts use ⌘ where Excel for Mac does, for example ⌘C, ⌘S and ⌘D for fill down. Menus show the Mac keys. To get Windows keys, change Shortcuts in Preferences.
  • Bessel and complex functions (BESSELI, BESSELJ, BESSELK, BESSELY, IMSQRT) give the same results as on Linux.

Known gaps

  • Window chrome is not yet Mac-style. The menus sit inside the window instead of the macOS menu bar, and the window controls are on the right. This is planned for 0.2.4.
  • Rounding at exact halves can differ from the Linux build in the last displayed digit. For example, an average of exactly 90.05% shows as 90.1% here and as 90.0% on Linux. The Mac result matches Excel.
  • INDEX(range, 0) on a single row or column returns only its first value instead of the whole row or column, so MATCH(TRUE, INDEX(B2:AK2<0, 0), 0) gives #N/A. Write MATCH(TRUE, B2:AK2<0, 0) or INDEX(B2:AK2<0, 1, 0) instead.
  • Every known gap from 0.2.2 still applies: long runs of single-column deletes on very wide sheets, some dynamic-array chains of LET, FILTER and UNIQUE, 3D references, and last-digit differences from Excel's 15-digit rounding.

Check results that matter against Excel until these are fixed.