nihilist-narwhal
a8a4c5dab3
Conditional formatting: accept Excel's operator names, refuse unknown ones
...
home.conditionalFormat took any operator it didn't know as "greater",
so a Cell Value rule given Excel's own names (lessThan, greaterThan,
lessThanOrEqual, greaterThanOrEqual, as in the file format and VBA)
silently became "greater than". Those names are now accepted, as data
validation already does, and anything else is an error.
2026-10-10 22:52:58 -05:00
nihilist-narwhal
4e7379bd68
Conditional formatting: cell value rules on blank and error cells
...
Excel compares a blank cell as 0 (or empty text) in Cell Value rules,
so "less than 5" or "equal to 0" also formats blank cells, and a
cell holding an error never matches (the comparison is an error).
GridCraft skipped blank cells and matched errors as if they sorted
above every number ("greater than 5" formatted #N/A).
The No Blanks rule also counted a cell holding only spaces as not
blank, while the Blanks rule (like Excel's LEN(TRIM())) counted it as
blank, so such a cell matched both.
2026-10-10 22:52:58 -05:00
nihilist-narwhal
2b1f851d0a
Conditional formatting: apply every matching rule's format
...
Only the first matching rule's format was used, so with a light red
fill for >300 and a red border for >500, 510 showed only the border.
Excel applies every matching rule; where two rules set the same part
(fill, font colour, a border edge…), the rule with the higher priority
wins, and Stop If True still ends the list.
2026-10-10 22:52:58 -05:00
Brandon Thomas and Claude Opus 5.5
9f896c1249
Bump version to 0.5.0 for release ( #227 )
...
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com >
v0.5.0
2026-10-10 19:10:53 -04:00
Brandon Thomas and Claude Opus 5.5
90b3c41eec
Fix-up: #83 's array-export test expects #156 's legacy-array read (cached values refilled on recalc)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 15:59:42 -04:00
Brandon Thomas and Claude Opus 5.5
c6392e6380
Fix-up: chartex frames use the (open, close) anchor tags after merging #161 onto the move-only anchor change
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 15:52:46 -04:00
Brandon Thomas
502c588690
Merge pull request #164 from LloydNicholson/macos-open-documents
...
macOS: open documents from Finder, the Dock and `open -a` (#69 )
# Conflicts:
# apps/gridcraft/src/main.rs
2026-10-10 15:50:57 -04:00
Brandon Thomas
88d0c772fb
Merge pull request #161 from nihilist-narwhal/fix-chart-kinds-roundtrip
...
Charts: histogram, box & whisker, waterfall, funnel, treemap and sunburst keep their kind through XLSX
2026-10-10 15:50:48 -04:00
Brandon Thomas
f23281db8c
Merge pull request #144 from harrisonoconnorhover/codex/cross-sheet-cut
...
Preserve formula references when cutting cells across sheets
# Conflicts:
# ROADMAP.md
# crates/formula/src/adjust.rs
# crates/formula/src/tests.rs
2026-10-10 15:48:08 -04:00
Brandon Thomas
49fbae245a
Merge pull request #156 from nihilist-narwhal/fix-legacy-array-formulas
...
Legacy array formulas: fill the range they were entered in
# Conflicts:
# crates/engine/src/cmd/edit.rs
# crates/ui-egui/src/formula_bar.rs
2026-10-10 15:47:56 -04:00
Brandon Thomas
de0c715662
Merge pull request #186 from MarekSpodBiedry/issue-126
...
Write comment and hyperlink maps with A1 keys so JSON save works (#126 )
# Conflicts:
# crates/engine/src/tests.rs
2026-10-10 15:47:35 -04:00
Brandon Thomas
b07249de75
Merge pull request #160 from itrycodinganditsbad/fix-month-fill-clamp
...
fill: clamp month and year date series to the month's last day
# Conflicts:
# crates/engine/src/tests.rs
2026-10-10 15:47:32 -04:00
Brandon Thomas and Claude Opus 5.5
c15a51c959
Fix-up: move the #179 table-style test module to the end of tables.rs after merging #149
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 15:47:19 -04:00
Brandon Thomas
dd185ff12f
Merge pull request #157 from nihilist-narwhal/fix-blocked-spill-dependents
...
Recalc: formulas over a blocked spill see #SPILL!; no spilling in tables
2026-10-10 15:47:12 -04:00
Brandon Thomas
c3cfc92186
Merge pull request #155 from nihilist-narwhal/fix-range-blank-cells
...
Ranges keep their size past the used range; spilled blanks show 0
2026-10-10 15:47:12 -04:00
Brandon Thomas
9fea6235f7
Merge pull request #148 from nihilist-narwhal/fix-stale-recalc-values
...
Recalc: stale spills and values after edits (fixes #133 , #139 )
2026-10-10 15:47:12 -04:00
Brandon Thomas
84a414a705
Merge pull request #158 from nihilist-narwhal/fix-chart-kinds-combo-stock
...
Charts: combo and stock charts keep their kind in XLSX
2026-10-10 15:47:11 -04:00
Brandon Thomas
1e5edbd43c
Merge pull request #154 from nihilist-narwhal/fix-repeated-headers
...
Repeated headers: number pivot fields and table columns in linear time
2026-10-10 15:47:11 -04:00
Brandon Thomas
5c456df4b7
Merge pull request #152 from nihilist-narwhal/fix-whole-sheet-selection
...
Whole-sheet selection: Fill and Remove Duplicates no longer run out of memory or time
2026-10-10 15:47:10 -04:00
Brandon Thomas
92fb7cd1b3
Merge pull request #149 from nihilist-narwhal/fix-table-header-edits
...
Tables: typing in the header row renames the column; Go To a table selects its data
# Conflicts:
# crates/engine/src/tables.rs
2026-10-10 15:47:10 -04:00
Brandon Thomas
5545e72944
Merge pull request #188 from MarekSpodBiedry/issue-145
...
Release focus when the sheet tab rename ends (#145 )
2026-10-10 15:46:34 -04:00
Brandon Thomas
960c79a328
Merge pull request #187 from MarekSpodBiedry/issue-57
...
Compare numbers at 15 significant digits like Excel (#57 )
2026-10-10 15:46:33 -04:00
Brandon Thomas
645782f5e3
Merge pull request #185 from MarekSpodBiedry/issue-135
...
Report an error when file commands get no file in MCP and CLI (#135 )
2026-10-10 15:46:32 -04:00
Brandon Thomas
87d64f20e1
Merge pull request #184 from MarekSpodBiedry/issue-136
...
Honor search in the desktop engine.commands handler so connected list_commands filters (#136 )
2026-10-10 15:46:32 -04:00
Brandon Thomas
d031c8f37e
Merge pull request #183 from MarekSpodBiedry/issue-140
...
Shrink 3-D sheet spans when an end sheet is deleted (#140 )
2026-10-10 15:46:31 -04:00
Brandon Thomas
cda29c5b73
Merge pull request #182 from MarekSpodBiedry/issue-141
...
Deliver Export as PDF as a browser download (#141 )
2026-10-10 15:46:30 -04:00
Brandon Thomas
c21123e375
Merge pull request #181 from MarekSpodBiedry/issue-127
...
Keep comma when a semicolon or tab is missing from some CSV lines (#127 )
2026-10-10 15:46:29 -04:00
Brandon Thomas
75ede09917
Merge pull request #180 from MarekSpodBiedry/issue-129
...
Keep the untouched part of a data validation range when clearing or replacing part of it (#129 )
2026-10-10 15:35:45 -04:00
Brandon Thomas
14402fc5a3
Merge pull request #179 from MarekSpodBiedry/issue-130
...
Clamp table style number to 1 so zero-numbered styles don't underflow (#130 )
2026-10-10 15:35:44 -04:00
Brandon Thomas
e9fb005eed
Merge pull request #178 from MarekSpodBiedry/issue-134
...
Rename sheet-qualified defined names with their sheet (#134 )
2026-10-10 15:35:44 -04:00
Brandon Thomas
5578c09e55
Merge pull request #159 from itrycodinganditsbad/fix-min-no-args
...
functions: MIN() accepts zero arguments
2026-10-10 15:35:43 -04:00
Brandon Thomas
00df1908a7
Merge pull request #153 from nihilist-narwhal/fix-jump-without-direction
...
selection.move: Ctrl+arrow without a direction no longer loops forever
2026-10-10 15:35:42 -04:00
Brandon Thomas
c4e4aeb293
Merge pull request #151 from nihilist-narwhal/fix-current-region
...
Current region: grow past 10,000 rows, in linear time
2026-10-10 15:35:42 -04:00
Brandon Thomas
20aa531d8c
Merge pull request #150 from nihilist-narwhal/fix-paste-special-operations
...
Paste Special operations: keep text, errors and formulas
2026-10-10 15:35:41 -04:00
Brandon Thomas and Claude Opus 5.5
11ef0e6b04
Maintainer fix-up: compare clearly different numbers directly, skipping the 15-digit text round trip on the sort/lookup hot path
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 15:35:13 -04:00
Brandon Thomas and Claude Opus 5.5
dfd3675324
Maintainer fix-up: drop wall-clock assertions from the repeated-headers test (flaky under load; Instant::now is a disallowed method)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 15:35:10 -04:00
Brandon Thomas and Claude Opus 5.5
f75ded37e7
Merge pull request #105 from harrisonoconnorhover/codex/cell-pictures
...
Add static pictures inside cells with XLSX roundtrip
Rebased onto main (conflicts with #83/#98 and main resolved by maintainer); the contributor's branch does not allow maintainer edits.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 15:02:44 -04:00
Brandon Thomas and Claude Opus 5.5
59c8e36d36
Merge pull request #83 from harrisonoconnorhover/codex/nonspilling-array-export
...
Preserve array evaluation for non-spilling XLSX formulas
Rebased onto main with a maintainer fix-up (LET bindings via split_last/as_chunks for clippy, no slice indexing); the contributor's branch does not allow maintainer edits.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 15:02:43 -04:00
Brandon Thomas and Claude Opus 5.5
5b15827ede
Maintainer fix-up: leave English formula display untouched, match engine formula detection
...
English (and languages without a formula table) now shows stored formula
text verbatim instead of re-parsing it every frame; localized entry no longer
trims leading spaces before formula detection (" =1" stays text, as in the
engine). Adds a display round-trip test for string literals containing
separators, decimal commas and the intersection operator.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 14:49:52 -04:00
Brandon Thomas
3e40014eb0
Merge pull request #98 from harrisonoconnorhover/codex/spanish-formulas
...
Support common Spanish formula names and semicolon arguments
2026-10-10 14:49:52 -04:00
Brandon Thomas
82f42713a8
Merge pull request #108 from harrisonoconnorhover/codex/desktop-shortcut
...
Offer an optional desktop shortcut in the Windows installer
# Conflicts:
# ROADMAP.md
2026-10-10 14:32:51 -04:00
Brandon Thomas and Claude Opus 5.5
60aa2dfe07
Progress docs: target-app parity, gaps, alpha gate, readiness by audience ( #189 )
...
Progress docs per craftrules standards/progress-docs.md: target-app parity, gaps, roadmap with alpha gate, readiness by audience (full / mainstream / essentials) with Opus 5.5 hours, and feature, format, hardware, UI and localization parity docs.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 14:09:06 -04:00
Harrison O'Connor-Hoover
ada33d1ad5
Fix #45 : follow the selected language for formula editing
2026-10-10 13:48:20 -04:00
Brandon Thomas
e72e16a0ec
Merge pull request #82 from edurbs/feat/i18n-portuguese
...
i18n: Brazilian Portuguese interface language (#79 )
2026-10-10 13:25:35 -04:00
Brandon Thomas
580b14eeb9
Merge pull request #104 from neko233-com/feature/i18n-zh-ko-ru
...
i18n: add Simplified Chinese, Korean and Russian UI
2026-10-10 13:25:34 -04:00
Brandon Thomas
837bb00f2b
Merge pull request #31 from justinjohn0306/feat/i18n-language
...
i18n: switch the interface language, defaulting to the system language (#20 )
2026-10-10 13:25:34 -04:00
Brandon Thomas
4f10e48128
Merge pull request #38 from justinjohn0306/fix/thai-hebrew-font-fallback
...
Fonts: render Thai and Hebrew (and other non-Latin scripts) instead of tofu (#32 )
2026-10-10 13:25:33 -04:00
Brandon Thomas
f2ed982fdd
Merge pull request #12 from justinjohn0306/fix/anchor-mode-sort
...
Objects: anchor modes — images/charts/shapes follow cells on sort (#5 )
# Conflicts:
# crates/engine/src/tests.rs
2026-10-10 13:17:30 -04:00
Brandon Thomas
eb4174723d
Merge pull request #17 from justinjohn0306/fix/encrypted-file-message
...
File open: report password-protected (encrypted) files clearly (#11 )
# Conflicts:
# crates/engine/src/io.rs
2026-10-10 13:17:21 -04:00
Brandon Thomas
bd1be73f2d
Merge pull request #62 from justinjohn0306/fix/smooth-line-charts
...
Line charts: smooth (spline) curves (issue #52 )
# Conflicts:
# crates/xlsx/src/tests/mod.rs
2026-10-10 13:17:07 -04:00