| Add a standalone typed ODBC connector | open | 0.00 | 0 | +1410 −1 | PietroSoaresss (PR #2774) | 2026-10-28 |
| UI tests: skip the glyphs the bundled fonts lack when craft-fonts is absent | open | 0.00 | 0 | +19 −3 | Harrison-Booth (PR #2773) | 2026-10-28 |
| Paste: a huge untrimmed copy no longer aborts the process (#2158) | open | 0.00 | 0 | +27 −9 | Harrison-Booth (PR #2772) | 2026-10-28 |
| fix(keyboard): Ctrl with the numpad's + inserts rows, columns or cells, as in Excel | open | 0.00 | 0 | +22 −4 | RomanLis91 (PR #2769) | 2026-10-28 |
| fix(ui): release scrollbar capture after missed mouse-up (#2748) | open | 0.00 | 0 | +743 −8 | TheRenegadeDev (PR #2768) | 2026-10-28 |
| XLSX: keep linked data type records (Stocks, Currencies) and read fields with A1.Price | open | 0.00 | 0 | +489 −63 | Harrison-Booth (PR #2767) | 2026-10-28 |
| Excel function oracle: run a PR's asserted function calls through real Excel and compare | open | 0.00 | 0 | +440 −0 | Harrison-Booth (PR #2766) | 2026-10-28 |
| i18n: Turkish formula entry (function names, separators) | open | 0.00 | 0 | +716 −54 | erolsavas19 (PR #2760) | 2026-10-28 |
| i18n: translate the Save Changes and Start dialogs | open | 0.00 | 0 | +32 −5 | erolsavas19 (PR #2759) | 2026-10-28 |
| Expose the active grid cell to screen readers | open | 0.00 | 0 | +73 −1 | Harrison-Booth (PR #2758) | 2026-10-28 |
| Perf: reuse text criteria aggregates per recalculation (#2751) | open | 0.00 | 0 | +666 −4 | TheRenegadeDev (PR #2757) | 2026-10-28 |
| Fix hidden columns inflating frozen header rows | open | 0.00 | 0 | +115 −6 | TheRenegadeDev (PR #2755) | 2026-10-28 |
| Localization: Brazilian Portuguese formula entry (pt-BR) | open | 0.00 | 0 | +407 −53 | maxgiovanny (PR #2754) | 2026-10-28 |
| i18n: complete the Turkish (tr) interface catalog | open | 0.00 | 0 | +779 −0 | erolsavas19 (PR #2753) | 2026-10-28 |
| feat: add opt-in capability port host transport | open | 0.00 | 0 | +1066 −19 | Srbino (PR #2744) | 2026-10-28 |
| Improve chart formatting and legend positioning | open | 0.00 | 0 | +819 −137 | naceurh (PR #2742) | 2026-10-28 |
| MCP: confine file access to a user-selected folder | open | 0.00 | 0 | +743 −17 | ro-legal-docx (PR #2739) | 2026-10-28 |
| fix(web): acknowledge managed native saves after durable storage | open | 0.00 | 0 | +462 −4 | Srbino (PR #2737) | 2026-10-28 |
| feat(web): expose native workbook snapshots to embedding hosts | open | 0.00 | 0 | +225 −2 | Srbino (PR #2736) | 2026-10-28 |
| fix(ui-egui): Korean typed over a cell keeps its first syllable whole | open | 0.00 | 0 | +182 −10 | Fuzen2478 (PR #2735) | 2026-10-28 |
| Conditional formatting: Rules Manager | open | 0.00 | 0 | +1760 −118 | Antxis77 (PR #2733) | 2026-10-28 |
| Conditional formatting: New/Edit Formatting Rule dialog | open | 0.00 | 0 | +1389 −94 | Antxis77 (PR #2732) | 2026-10-28 |
| Conditional formatting: rule editing in home.conditionalFormat and home.manageRules | open | 0.00 | 0 | +596 −82 | Antxis77 (PR #2731) | 2026-10-28 |
| fix(ui): show shortcuts in command palette (#2725) | open | 0.00 | 0 | +36 −4 | AnhNgoo (PR #2729) | 2026-10-28 |
| CSV: fields starting with = open as formulas, as in Excel | open | 0.00 | 0 | +57 −10 | rickyb82 (PR #2728) | 2026-10-28 |
| fix(engine): set default workbook author (#2448) | open | 0.00 | 0 | +1 −0 | AnhNgoo (PR #2726) | 2026-10-28 |
| CLI: finish workbook saves after stdout closes | open | 0.00 | 0 | +153 −19 | DAnaeto (PR #2723) | 2026-10-28 |
| Security: control channel enforces its token deadline and caps waiting connections (#2717) | open | 0.00 | 0 | +166 −16 | Higgs32584 (PR #2722) | 2026-10-28 |
| Security: print decodes pictures within explicit decoder limits (part of #2179) | open | 0.00 | 0 | +100 −17 | Higgs32584 (PR #2721) | 2026-10-28 |
| Security: PDF export keeps a bounded amount of picture data across pages | open | 0.00 | 0 | +248 −32 | Higgs32584 (PR #2720) | 2026-10-28 |
| Security: cap the work of lifted lookups with #NUM! (#2716) | open | 0.00 | 0 | +80 −1 | Higgs32584 (PR #2719) | 2026-10-28 |
| Security: web links open with noopener as a window feature (#2715) | open | 0.00 | 0 | +3 −2 | Higgs32584 (PR #2718) | 2026-10-28 |
| fix(ui): Persian/Arabic system fonts and script-only word order | open | 0.00 | 0 | +712 −43 | vergoboy (PR #2714) | 2026-10-28 |
| fix(engine): gate the temp-name symlink test to unix | open | 0.00 | 0 | +1 −0 | Higgs32584 (PR #2713) | 2026-10-28 |
| Conditional formatting: a colour scale interpolates between its stops as Excel does | open | 0.00 | 0 | +41 −7 | zyzabruh (PR #2709) | 2026-10-28 |
| Engine test: copying a sheet that holds a spill matches a full recalc (#2053) | open | 0.00 | 0 | +34 −0 | Harrison-Booth (PR #2708) | 2026-10-28 |
| Ignore Error: read and write ignoredErrors, ignore and reset commands, euro sign in numbers (#1994) | open | 0.00 | 0 | +575 −11 | Harrison-Booth (PR #2705) | 2026-10-28 |
| Scripts and agents: a params key the command does not take is an error that names it (#2256) | open | 0.00 | 0 | +241 −22 | Harrison-Booth (PR #2702) | 2026-10-28 |
| Charts: series through defined names get Excel's cache and number formats (#1690, #1689) | open | 0.00 | 0 | +282 −21 | Harrison-Booth (PR #2701) | 2026-10-28 |
| Formula pointing from the keyboard: Ctrl+Page Down / Ctrl+Page Up switch sheets (#2571) | open | 0.00 | 0 | +188 −7 | Harrison-Booth (PR #2699) | 2026-10-28 |
| perf(calc): find formulas a cleared cell may unblock from a set of #SPILL! cells | open | 0.00 | 0 | +167 −24 | vangel76 (PR #2696) | 2026-10-28 |
| perf(calc): index spill areas so cell and range reads don't scan every spill | open | 0.00 | 0 | +393 −47 | vangel76 (PR #2694) | 2026-10-28 |
| calc: rebuild the dependency graph from shared syntax trees | open | 0.00 | 0 | +2 −2 | vangel76 (PR #2693) | 2026-10-28 |
| CI: nightly command-sequence fuzz soak | open | 0.00 | 0 | +109 −4 | Harrison-Booth (PR #2692) | 2026-10-28 |
| perf(calc): SUM/COUNT/AVERAGE over big ranges reuse constant-only results | open | 0.00 | 0 | +176 −0 | vangel76 (PR #2691) | 2026-10-28 |
| Sort: identical merged blocks that tile the range sort as units, as in Excel | open | 0.00 | 0 | +85 −5 | Harrison-Booth (PR #2689) | 2026-10-28 |
| Objects keep their placement when rows and columns change (#2343) | open | 0.00 | 0 | +359 −3 | Harrison-Booth (PR #2687) | 2026-10-28 |
| perf: select instead of sort in MEDIAN, PERCENTILE, QUARTILE, LARGE, SMALL | open | 0.00 | 0 | +132 −17 | vangel76 (PR #2686) | 2026-10-28 |
| Calc: legacy implicit intersection for formulas imported without dynamic arrays | open | 0.00 | 0 | +558 −22 | robalexclark (PR #2677) | 2026-10-28 |
| fix(ui): support Y/N answers in Save Changes (#2572) | open | 0.00 | 0 | +331 −4 | TheRenegadeDev (PR #2675) | 2026-10-28 |
| Report an Issue…: open a prefilled GitHub bug form (#2643) | open | 0.00 | 0 | +112 −12 | Harrison-Booth (PR #2674) | 2026-10-28 |
| Fix cascading AutoFilter dropdown values | open | 0.00 | 0 | +396 −59 | TheRenegadeDev (PR #2672) | 2026-10-28 |
| Charts plot visible cells only; Show data in hidden rows and columns round-trips (#2523) | open | 0.00 | 0 | +201 −31 | Harrison-Booth (PR #2671) | 2026-10-28 |
| IMSQRT: reproduce Excel's stray real part for negative reals | open | 0.00 | 0 | +52 −8 | Harrison-Booth (PR #2670) | 2026-10-28 |
| fix(ui): preview autofill values while dragging the fill handle | open | 0.00 | 0 | +434 −70 | TheRenegadeDev (PR #2669) | 2026-10-28 |
| Fix row AutoFit wrapping hidden columns at zero width | open | 0.00 | 0 | +95 −2 | tjheinzer (PR #2668) | 2026-10-28 |
| feat: route MCP tools to the visible browser workbook | open | 0.00 | 0 | +125 −1 | muttleydosomething (PR #2667) | 2026-10-28 |
| CSV export: opt-in values: true writes raw cell values (#2648) | open | 0.00 | 0 | +103 −6 | Harrison-Booth (PR #2666) | 2026-10-28 |
| Dependencies: quick-xml 0.41 to 0.42 (xlsx reads names and values as &str) | open | 0.00 | 0 | +99 −113 | Harrison-Booth (PR #2665) | 2026-10-28 |
| Whole-column borders no longer push older undo steps out of the history | open | 0.00 | 0 | +287 −85 | Harrison-Booth (PR #2664) | 2026-10-28 |
| fix(ui): keep context menu width stable (#2604) | open | 0.00 | 0 | +37 −2 | bryanmenezes-qmc (PR #2663) | 2026-10-28 |
| fix(ui): support single-key answers in Save Changes dialog (#2572) | open | 0.00 | 0 | +193 −5 | kk376 (PR #2662) | 2026-10-28 |
| fix(ui): preview values during fill-handle drag (#2598) | open | 0.00 | 0 | +250 −1 | bryanmenezes-qmc (PR #2661) | 2026-10-28 |
| LAMBDA tail recursion reaches Excel's depth (5,459) | open | 0.00 | 0 | +176 −15 | Harrison-Booth (PR #2660) | 2026-10-28 |
| fix(ui): align Protect Workbook info text (#2449) | open | 0.00 | 0 | +15 −1 | bryanmenezes-qmc (PR #2659) | 2026-10-28 |
| Cells: hold Excel's 32,767-character limit at the three ways past it (#2635) | open | 0.00 | 0 | +187 −11 | galagersharp-code (PR #2658) | 2026-10-28 |
| Match Excel for YEARFRAC basis 0, MOD, NUMBERVALUE and PERCENTRANK edge cases | open | 0.00 | 0 | +65 −20 | Harrison-Booth (PR #2657) | 2026-10-28 |
| Cap text at 32,767 characters like Excel (#2635) | open | 0.00 | 0 | +115 −26 | Harrison-Booth (PR #2656) | 2026-10-28 |
| perf: win back formula-entry and XLSX-save time lost since 23829d8c | open | 0.00 | 0 | +53 −8 | nihilist-narwhal (PR #2654) | 2026-10-28 |
| Fit sheet on one page for PDF export | open | 0.00 | 0 | +24 −9 | Dmussi (PR #2652) | 2026-10-28 |
| cargo xtask bench: calculation benchmarks on fixed in-code workbooks | open | 0.00 | 0 | +497 −74 | nihilist-narwhal (PR #2651) | 2026-10-28 |
| Excel open check: save workbooks with the CLI and open them in real Excel | open | 0.00 | 0 | +203 −2 | Harrison-Booth (PR #2650) | 2026-10-28 |
| Flatpak: use Freedesktop 26.08 in both manifests | open | 0.00 | 0 | +73 −5 | nilltadios (PR #2649) | 2026-10-28 |
| i18n: Spanish catalog covers every interface key (700 labels added) | open | 0.00 | 0 | +765 −9 | nihilist-narwhal (PR #2646) | 2026-10-28 |
| i18n: Paste Special's Add and Text to Columns' Comma get their own keys | open | 0.00 | 0 | +42 −3 | nihilist-narwhal (PR #2645) | 2026-10-28 |
| CSV: Save in the close question writes the file and closes it (#2607) | open | 0.00 | 0 | +135 −2 | ashokram-si (PR #2642) | 2026-10-28 |
| fix: start system font scan during language-aware context setup | open | 0.00 | 0 | +1 −0 | Karloss1234 (PR #2640) | 2026-10-28 |
| fix(ui): left-align the font name box (#2454) | open | 0.00 | 0 | +26 −1 | Zaxaerith (PR #2636) | 2026-10-28 |
| Use distinct icons in the Formulas ribbon | open | 0.00 | 0 | +51 −12 | Coolj974 (PR #2629) | 2026-10-28 |
| Fill handle: Linear Trend and Growth Trend on the right-drag menu for numbers | open | 0.00 | 0 | +297 −22 | dotCooCoo (PR #2628) | 2026-10-28 |
| macOS: declare the UI languages so the open and save panels are translated | open | 0.00 | 0 | +24 −0 | Atalantis (PR #2627) | 2026-10-28 |
| Corpus: pinned public-workbook set and a non-required CI job running gridcraft-cli check | open | 0.00 | 0 | +30 −2 | Harrison-Booth (PR #2624) | 2026-10-28 |
| Charts: read, write and draw error bars | open | 0.00 | 0 | +1555 −64 | Harrison-Booth (PR #2623) | 2026-10-28 |
| Remember the native window and add GNOME Wayland caption buttons | open | 0.00 | 0 | +177 −40 | abdallah-shehawey (PR #2622) | 2026-10-28 |
| Click a status bar statistic to copy its value | open | 0.00 | 0 | +11 −1 | Dmussi (PR #2620) | 2026-10-28 |
| Fix dark mode worksheet cell colors | open | 0.00 | 0 | +424 −74 | JonathanLee2020 (PR #2614) | 2026-10-28 |
| Paste Special: a transposed paste turns formula references as Excel does (fixes #2450) | open | 0.00 | 0 | +128 −6 | zyzabruh (PR #2606) | 2026-10-28 |
| Charts: 100% Stacked Line, with or without markers, draws values as shares of each category's total | open | 0.00 | 0 | +264 −25 | dotCooCoo (PR #2602) | 2026-10-28 |
| Local file and folder links open; =HYPERLINK() cells follow their link (#2596) | open | 0.00 | 0 | +550 −45 | SofiaAFigueredo (PR #2601) | 2026-10-28 |
| chore(deps): bump the cargo-dependencies group across 1 directory with 3 updates | open | 0.00 | 0 | +40 −51 | app/dependabot (PR #2600) | 2026-10-28 |
| UI: workbook tabs when several workbooks are open (#2377, request 4) | open | 0.00 | 0 | +329 −0 | SofiaAFigueredo (PR #2599) | 2026-10-28 |
| Undo and redo keep each sheet's view (Normal, Page Layout, Page Break Preview) | open | 0.00 | 0 | +116 −3 | prxnvt (PR #2597) | 2026-10-28 |
| fix: save through a symlink updates the target instead of replacing the link | open | 0.00 | 0 | +159 −7 | SofiaAFigueredo (PR #2594) | 2026-10-28 |
| Web: page host mode, so a page can host GridCraft in its own document (#2592) | open | 0.00 | 0 | +282 −52 | helenkwok (PR #2593) | 2026-10-28 |
| CSV import: \r\r\n line ends make no empty row per record | open | 0.00 | 0 | +35 −2 | DerKarussellbremser (PR #2587) | 2026-10-28 |
| Clear Formats removes conditional formatting (#2536) | open | 0.00 | 0 | +150 −1 | kulveersingh (PR #2585) | 2026-10-28 |
| feat(ui): add Tools › Customize Keyboard dialog and custom shortcut keymap | open | 0.00 | 0 | +540 −3 | piyushgoel2808 (PR #2581) | 2026-10-28 |
| XLSX: rows with a duplicate, out-of-order or wrong-row cell address are repaired on import (fixes #2531) | open | 0.00 | 0 | +183 −5 | zyzabruh (PR #2578) | 2026-10-28 |
| i18n: Swedish (sv) interface language | open | 0.00 | 0 | +1180 −2 | davvarn (PR #2575) | 2026-10-28 |
| Create new saved files without group/other write permission | open | 0.00 | 0 | +34 −0 | Silvertree2010 (PR #2567) | 2026-10-28 |