Dylan M. Taylor
e91e7f7a68
ci: delegate FreeBSD workflow, add nix check, and remove flatpak-pages
2026-10-15 20:47:20 -04:00
skylar taylor-barrick
bb685e3275
Merge pull request #1588 from marcoarnulfo/fix/filter-menu-enter-applies
...
AutoFilter: Enter in the filter menu applies the filter and closes it
2026-10-15 18:28:45 -06:00
Marco Arnulfo
fda8e7b703
AutoFilter: Enter in the filter menu applies the filter and closes it ( fixes #1516 )
2026-10-16 01:13:10 +02:00
NetterSilver and Claude Haiku 5.5
1ab9e60d88
Reject formula number literals too large for f64 as parse errors
...
Found while testing crates/formula/src/lexer.rs:258
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-15 22:23:34 +02:00
Nihilist Narwhal and Claude Opus 5.5
82ee02aac4
Formula parser: Excel's 8,192-character limit and postfix nesting (never crash) ( #1330 )
...
A hostile file could abort any process that opens it: a cell formula of a
million `%` (`1%%%…`) or a 200,000-term sum parsed into trees deep enough to
overflow the stack when printed, saved, evaluated or dropped, even in release
builds. Postfix operators (`%`, invoking a result) built their nesting in a
loop that the 256-level limit did not see.
- `parse` refuses formula text longer than Excel's 8,192 characters
(`MAX_FORMULA_LEN`, counted in characters, the leading `=` excluded). This
also bounds the depth of the left-deep trees long operator chains build.
- Each postfix `%` and each call of a result counts towards the nesting limit.
- A file's formula that is refused keeps its text and cached value, as other
unparsable formulas do.
Regression tests: formula (small-stack thread: long `%`, invoke and operator
chains are errors; the limit counts characters, not bytes) and xlsx
(`hostile_formula_text_does_not_overflow_the_stack`: open, save and drop a
workbook with such formulas and a defined name on a 1 MiB stack). Both abort
with a stack overflow without the fix.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-15 13:39:28 -06:00
Harrison O'Connor-Hoover
79e85c1b80
fix(edit): recalculate every cell changed by large clears ( #1032 ) ( #1128 )
2026-10-15 13:38:13 -06:00
wstock
348d955a0a
Conditional formatting: text rules never match an error value ( #1162 )
...
In Excel the "contains", "begins with" and "ends with" rules are
SEARCH/LEFT/RIGHT formulas, which fail on an error value, so an error
cell is never formatted by them and always matches "does not contain".
GridCraft matched on the error's display text instead, so #N/A
"contained" a and "began with" #.
Skip error values in the three positive rules and match them in
notContainsText, with a regression test over =NA(), =1/0 and text cells.
2026-10-15 06:57:38 +00:00
CouchRiv
bc524fa48e
Merge remote-tracking branch 'up/main' into fix/conditional-format-style-colors
2026-10-15 01:36:05 -04:00
skylar taylor-barrick and skylartaylor
e6b6b34970
ci: add comfortable runtime limits to unbounded jobs ( #1418 )
...
Co-authored-by: skylartaylor <26588250+skylartaylor@users.noreply.github.com >
2026-10-15 05:16:03 +02:00
derechopiano
be20ca163d
UI: keep PivotTable field-list scrollbar at pane edge
2026-10-15 04:13:02 +01:00
Mario
f9802ecc9d
Improved font dropdown row sizing and scroll alignment
2026-10-15 01:15:15 +02:00
Mario
50f8c0d42b
Fix font dropdown resizing and keyboard navigation
2026-10-14 22:16:10 +02:00
Brandon Thomas and Claude Opus 5.5
d9d09f0baa
Release 0.7.0
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
v0.7.0
2026-10-14 09:33:30 -04:00
Marco Arnulfo
f519fd67f6
XLSX: keep a dxf's protection, font size and face, and the font parts it turns off (part of #1209 )
2026-10-14 04:49:33 +02:00
vangel76 and Claude Sonnet 5.5
1539500b7f
Conditional formats: statistics only for rules that read them, borrowed not cloned per cell ( #1098 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-13 20:11:02 +02:00
Richard and Claude Opus 5.5
4bcc5c87d1
Ribbon: Font Size box matches the Font name box, list drops under it
...
The size box is one frame with the Font name box's fill, border, height and
corners, with the text field and the dropdown arrow inside it (focus shows
the selection stroke). The size list drops directly below the box and is as
wide as it, instead of opening 220 pt wide under the arrow.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Ut3hr3a13szpQdQ7gbYbfc
2026-10-13 20:09:54 +11:00
Marco Arnulfo
5a7fbfa5b8
Contributors: add my real name
2026-10-13 10:46:07 +02:00
Marco Arnulfo
4ec6a373b0
Ribbon: Font Size is a box you type into, the sizes behind its arrow ( fixes #932 )
2026-10-13 10:35:59 +02:00
Brandon Thomas
84acf6293b
Merge pull request #848 from marcoarnulfo:feat/cell-autocomplete
2026-10-13 02:04:03 -04:00
Brandon Thomas and Claude Opus 5.5
4c70a46377
i18n: Enable AutoComplete for cell values in every catalog
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-13 02:04:02 -04:00
Brandon Thomas
f4bd752bdc
Merge main into #848
2026-10-13 02:03:38 -04:00
Brandon Thomas and Claude Opus 5.5
589b59defc
Docs: one Last updated line per doc after the merges
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-13 02:02:41 -04:00
Brandon Thomas
fefe3a0c27
Merge pull request #463 from arcanii:recent-modified
...
# Conflicts:
# docs/ui-parity.md
2026-10-13 02:02:30 -04:00
Brandon Thomas
3753d7cf08
Merge pull request #855 from edurbs:row-autofit-833
2026-10-13 01:52:13 -04:00
Brandon Thomas and Claude Opus 5.5
a8cd6f4b63
Drop the planning notes from the PR
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-13 01:52:12 -04:00
Brandon Thomas
ebe0138d30
Merge main into #855
...
# Conflicts:
# ROADMAP.md
# docs/gaps.md
# docs/target-app-parity.md
2026-10-13 01:52:08 -04:00
Bryan Mark and Claude Opus 5.5
11838c58c6
Merge branch 'main' into recent-modified
...
Brings the branch up to upstream's main (59 more commits). One conflict:
- docs/ui-parity.md: every line of both sides is kept, as upstream's own
merges keep them, in the order of their dates, newest first (upstream
has a change of the 13th now, which goes above this one of the 12th).
Gate: all eight steps, 1580 tests.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-13 14:48:48 +09:00
Brandon Thomas
f353ec7fa4
Merge pull request #863 from marcoarnulfo:fix/xlsx-xml-maps
2026-10-13 01:40:22 -04:00
Brandon Thomas
be003d44af
Merge main into #863
...
# Conflicts:
# crates/xlsx/src/tests/passthrough_tests.rs
2026-10-13 01:40:22 -04:00
Brandon Thomas
a4ca87ab2a
Merge pull request #862 from marcoarnulfo:fix/pivot-fields-pane-i18n
2026-10-13 01:40:11 -04:00
Brandon Thomas
72e7590c8c
Merge main into #862
...
# Conflicts:
# crates/ui-egui/tests/interaction.rs
2026-10-13 01:40:11 -04:00
Brandon Thomas
884585a344
Merge pull request #463 from arcanii:recent-modified
2026-10-13 01:40:00 -04:00
Brandon Thomas
08cbb69585
Merge main into #463
...
# Conflicts:
# docs/ui-parity.md
2026-10-13 01:40:00 -04:00
Brandon Thomas
80d282e7a5
Merge pull request #752 from marcoarnulfo:fix/function-excel-diffs-738
2026-10-13 01:39:44 -04:00
Brandon Thomas
5144bd5b17
Merge pull request #742 from marcoarnulfo:fix/edate-eomonth-1900
2026-10-13 01:39:43 -04:00
Brandon Thomas and Claude Opus 5.5
8108dbccc6
Fix-up: close the passthrough tests the merges left open; rustfmt
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-13 01:21:57 -04:00
Brandon Thomas
8272c991b9
Merge pull request #854 from derechopiano:fix/data-validation-dialog
2026-10-13 01:17:15 -04:00
Brandon Thomas
a2bf1b3ad5
Merge main into #854
...
# Conflicts:
# crates/ui-egui/src/dialogs.rs
2026-10-13 01:17:14 -04:00
Brandon Thomas
e2a6aacf78
Merge #849 fix-up
2026-10-13 01:16:10 -04:00
Brandon Thomas and Claude Opus 5.5
77f5799bf1
Test: drop the unused Color32 import
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-13 01:16:10 -04:00
Brandon Thomas
6503df5411
Merge #849 fix-up
2026-10-13 01:13:38 -04:00
Brandon Thomas and Claude Opus 5.5
99f202b18a
Tab bar: the scrollbar-reachable test checks #849 's scrollbar track; drop the unused Color32 import
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-13 01:13:38 -04:00
Brandon Thomas
2b36221890
Merge pull request #849 from marcoarnulfo:feat/horizontal-scrollbar
2026-10-13 01:07:18 -04:00
Brandon Thomas
4536bc7fc8
Merge main into #849
...
# Conflicts:
# crates/ui-egui/src/grid.rs
# crates/ui-egui/src/tabs.rs
# docs/ui-parity.md
2026-10-13 01:07:17 -04:00
Brandon Thomas
ebea0c94d1
Merge #811 test fix
2026-10-13 01:06:20 -04:00
Brandon Thomas and Claude Opus 5.5
afb6eca31f
Test: drive the linear-time parse check through the uncapped parser
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-13 01:06:20 -04:00
Brandon Thomas
aa02516162
Merge pull request #811 from vangel76:fix/numfmt-parse-linear
2026-10-13 01:05:46 -04:00
Brandon Thomas
be45ccab31
Merge main into #811
...
# Conflicts:
# ROADMAP.md
# crates/numfmt/src/parse.rs
# crates/numfmt/src/tests.rs
2026-10-13 01:05:45 -04:00
Brandon Thomas
0703575b04
Merge #809 test fix
2026-10-13 01:05:06 -04:00
Brandon Thomas and Claude Opus 5.5
499bf2c0a7
Test: the uncached long TEXT() code stays under the 255-character cap
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-13 01:05:06 -04:00