Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
422 commits
Select commit Hold shift + click to select a range
b5a8255
Fill Series: a falling growth series stops at its stop value
nihilist-narwhal Oct 10, 2026
6b6aa82
Long operator chains: evaluate them without the depth limit
nihilist-narwhal Oct 10, 2026
9da4e4c
Manage Rules: don't index past the list after a delete
nihilist-narwhal Oct 10, 2026
c930bf7
Merge Across: keep only the first value of each row
nihilist-narwhal Oct 10, 2026
34b39e2
Merge remote-tracking branch 'origin/main' into fix-function-name-arg…
nihilist-narwhal Oct 13, 2026
dab4aa5
XLSX: write this-row structured references as [[#This Row],[Col]] (fi…
marcoarnulfo Oct 13, 2026
bf2923c
check: the package round trip reports relationship kinds the save los…
marcoarnulfo Oct 13, 2026
95012e0
UI: a cut's text pastes again once the clipboard has held other text
neilcawse Oct 13, 2026
6dc9138
check: internal links and empty parts aren't package losses (part of …
marcoarnulfo Oct 13, 2026
9bb85ab
Refuse to save to an unknown file extension instead of writing XLSX u…
marcoarnulfo Oct 13, 2026
c186781
check: a boolean cached as 1/0 without t="b" matches and is counted a…
CouchRiv Oct 13, 2026
522ede0
Save an XLSX opened under an unknown extension back to its own file a…
marcoarnulfo Oct 13, 2026
8f99be0
Merge pull request #605 from MarekSpodBiedry:issue-558
echelon Oct 13, 2026
cd985b7
Merge pull request #606 from MarekSpodBiedry:issue-557
echelon Oct 13, 2026
28c5bf1
Merge pull request #607 from MarekSpodBiedry:issue-556
echelon Oct 13, 2026
51b1b03
Merge pull request #608 from MarekSpodBiedry:issue-554
echelon Oct 13, 2026
4164ca5
Merge pull request #609 from MarekSpodBiedry:issue-552
echelon Oct 13, 2026
a85638d
Merge pull request #611 from MarekSpodBiedry:issue-547
echelon Oct 13, 2026
db4fd82
Merge pull request #612 from MarekSpodBiedry:issue-546
echelon Oct 13, 2026
e447fb8
Merge pull request #613 from MarekSpodBiedry:issue-545
echelon Oct 13, 2026
2f83a04
Merge pull request #616 from MarekSpodBiedry:issue-542
echelon Oct 13, 2026
6de925c
Merge pull request #617 from MarekSpodBiedry:issue-541
echelon Oct 13, 2026
09c7196
Merge pull request #618 from MarekSpodBiedry:issue-540
echelon Oct 13, 2026
9e3a834
Merge pull request #619 from MarekSpodBiedry:issue-539
echelon Oct 13, 2026
c8f249f
Merge pull request #620 from MarekSpodBiedry:issue-538
echelon Oct 13, 2026
8474233
Merge pull request #621 from MarekSpodBiedry:issue-537
echelon Oct 13, 2026
f625241
Merge pull request #622 from MarekSpodBiedry:issue-536
echelon Oct 13, 2026
b28a92b
Merge pull request #623 from MarekSpodBiedry:issue-535
echelon Oct 13, 2026
487f736
Merge pull request #624 from MarekSpodBiedry:issue-534
echelon Oct 13, 2026
3f5b29a
Merge pull request #625 from MarekSpodBiedry:issue-533
echelon Oct 13, 2026
739c5b8
Merge pull request #626 from MarekSpodBiedry:issue-532
echelon Oct 13, 2026
46ba36e
Merge pull request #627 from MarekSpodBiedry:issue-531
echelon Oct 13, 2026
3794892
Merge pull request #628 from MarekSpodBiedry:issue-527
echelon Oct 13, 2026
a507761
Merge pull request #631 from MarekSpodBiedry:issue-524
echelon Oct 13, 2026
ff16e97
Merge pull request #633 from MarekSpodBiedry:issue-522
echelon Oct 13, 2026
c3546f0
Merge pull request #634 from MarekSpodBiedry:issue-521
echelon Oct 13, 2026
4d8af67
Merge pull request #635 from MarekSpodBiedry:issue-520
echelon Oct 13, 2026
1fa38e5
Merge pull request #636 from MarekSpodBiedry:issue-519
echelon Oct 13, 2026
e5071f3
Merge pull request #637 from MarekSpodBiedry:issue-518
echelon Oct 13, 2026
7ea5cd3
Test: the helper is new_session so a rebound session variable does no…
echelon Oct 13, 2026
59872ec
Merge pull request #627 from MarekSpodBiedry:issue-531 (test fix)
echelon Oct 13, 2026
4941bf8
ROUNDUP keeps #NUM! past the number range; only toward-zero rounding …
echelon Oct 13, 2026
2df8dd6
Merge pull request #618 from MarekSpodBiedry:issue-540
echelon Oct 13, 2026
811a8a1
Fix-up: rustfmt the area-chart label condition after merging the char…
echelon Oct 13, 2026
3bf2998
Merge pull request #99 from KitsuneSemCalda:add-omastore-manifest
echelon Oct 13, 2026
af0a28c
Merge pull request #237 from CyberFox-81:nextcloud-embedding-bridge
echelon Oct 13, 2026
dd16533
Merge pull request #448 from Dejan-Port:select-inserted-chart
echelon Oct 13, 2026
f4acdce
Merge pull request #450 from SteamSmith:fix/write-file-temp-cleanup
echelon Oct 13, 2026
f267530
Merge pull request #452 from tydude001:fix/432-filter-list-scroll
echelon Oct 13, 2026
ed971d8
Merge pull request #453 from Dejan-Port:i18n-serbian
echelon Oct 13, 2026
31eb549
Merge pull request #454 from Dejan-Port:fix-french-header-footer
echelon Oct 13, 2026
81b35af
Merge pull request #457 from neilcawse:fix/macos-open-with-xlsb-ods
echelon Oct 13, 2026
d43eefe
Merge pull request #461 from neilcawse:fix/ribbon-paste
echelon Oct 13, 2026
581a234
Merge pull request #466 from webdevtodayjason:fix/offset-fn-overflow
echelon Oct 13, 2026
591040c
Merge pull request #475 from prxnvt:pr/solver-extras
echelon Oct 13, 2026
f911980
Merge pull request #476 from webdevtodayjason:fix/index-area-overflow
echelon Oct 13, 2026
79fed48
Merge pull request #483 from nihilist-narwhal:fix-autofill-series
echelon Oct 13, 2026
96897b7
Merge pull request #484 from nihilist-narwhal:fix-long-operator-chains
echelon Oct 13, 2026
1868a58
Merge pull request #485 from nihilist-narwhal:fix-manage-rules-panic
echelon Oct 13, 2026
92b1072
Merge pull request #487 from nihilist-narwhal:fix-merge-across-values
echelon Oct 13, 2026
5a6341a
Merge pull request #503 from webdevtodayjason:fix/indirect-r1c1-overflow
echelon Oct 13, 2026
ca9b3fb
Merge pull request #586 from MarekSpodBiedry:issue-578
echelon Oct 13, 2026
35668da
Merge pull request #587 from MarekSpodBiedry:issue-577
echelon Oct 13, 2026
a668b22
Merge pull request #588 from MarekSpodBiedry:issue-576
echelon Oct 13, 2026
2d7988d
Merge pull request #589 from MarekSpodBiedry:issue-575
echelon Oct 13, 2026
944e381
Merge pull request #590 from MarekSpodBiedry:issue-574
echelon Oct 13, 2026
68344a9
Merge pull request #592 from MarekSpodBiedry:issue-572
echelon Oct 13, 2026
24b1b60
Merge pull request #595 from MarekSpodBiedry:issue-569
echelon Oct 13, 2026
8891854
Merge pull request #596 from MarekSpodBiedry:issue-568
echelon Oct 13, 2026
86f83f4
Merge pull request #598 from MarekSpodBiedry:issue-566
echelon Oct 13, 2026
8d3e440
Merge pull request #599 from MarekSpodBiedry:issue-565
echelon Oct 13, 2026
e154960
Merge pull request #602 from MarekSpodBiedry:issue-562
echelon Oct 13, 2026
e0012d4
Merge pull request #603 from MarekSpodBiedry:issue-560
echelon Oct 13, 2026
87f4932
Merge pull request #604 from MarekSpodBiedry:issue-559
echelon Oct 13, 2026
8d22483
Merge remote-tracking branch 'origin/main' into HEAD
echelon Oct 13, 2026
8564ef7
French: drop the two header/footer keys main already has
echelon Oct 13, 2026
467b209
Merge pull request #454 from Dejan-Port:fix-french-header-footer
echelon Oct 13, 2026
284c33a
Fix-up: rustfmt check.rs after merging the check PRs
echelon Oct 13, 2026
9f9c0ac
Test: open a workbook before setting values in the hyphenated table-n…
echelon Oct 13, 2026
6cddd36
Merge pull request #588 from MarekSpodBiedry:issue-576
echelon Oct 13, 2026
62100c2
Merge pull request #638 from MarekSpodBiedry:issue-517
echelon Oct 13, 2026
8b845eb
Merge pull request #639 from MarekSpodBiedry:issue-516
echelon Oct 13, 2026
02c9735
Merge pull request #640 from MarekSpodBiedry:issue-515
echelon Oct 13, 2026
f378bb9
Merge pull request #641 from MarekSpodBiedry:issue-514
echelon Oct 13, 2026
9c4314b
Merge pull request #642 from MarekSpodBiedry:issue-513
echelon Oct 13, 2026
9113856
Merge pull request #643 from MarekSpodBiedry:issue-512
echelon Oct 13, 2026
1bba0ba
Merge pull request #644 from MarekSpodBiedry:issue-511
echelon Oct 13, 2026
884b1d2
Merge pull request #645 from MarekSpodBiedry:issue-510
echelon Oct 13, 2026
b8e000f
Merge pull request #646 from MarekSpodBiedry:issue-509
echelon Oct 13, 2026
50853e3
Merge pull request #647 from MarekSpodBiedry:issue-508
echelon Oct 13, 2026
335106e
Merge pull request #648 from MarekSpodBiedry:issue-507
echelon Oct 13, 2026
4cc5ba0
Merge pull request #652 from Losminek:cs-tooltips
echelon Oct 13, 2026
89f9e24
Merge pull request #664 from richard1912:fix/top10-filter-threshold
echelon Oct 13, 2026
1d4806f
Merge pull request #679 from marcoarnulfo:fix/validation-tooltip-list
echelon Oct 13, 2026
decc64a
Merge pull request #683 from marcoarnulfo:fix/select-inserted-chart
echelon Oct 13, 2026
1d875bd
Merge pull request #686 from neilcawse:fix/criteria-over-255
echelon Oct 13, 2026
e548a2e
Merge pull request #695 from marcoarnulfo:fix/formula-header-point
echelon Oct 13, 2026
2f38d01
Merge pull request #704 from isaac-levine:file-export-pdf-menu
echelon Oct 13, 2026
1830ea7
Merge pull request #715 from marcoarnulfo:fix/comments-panel-width
echelon Oct 13, 2026
98c85c6
Merge pull request #718 from neilcawse:fix/pivot-values-on-rows
echelon Oct 13, 2026
a435ef6
Merge pull request #720 from dantebertuzzi:fix/cell-set-numeric-input
echelon Oct 13, 2026
5c9e484
Merge pull request #739 from dantebertuzzi:i18n/pt-br-catalog
echelon Oct 13, 2026
291120a
Merge pull request #740 from marcoarnulfo:fix/numfmt-negative-zero
echelon Oct 13, 2026
70c84e2
Merge pull request #741 from marcoarnulfo:fix/macos-window-menu
echelon Oct 13, 2026
7055435
Merge pull request #744 from marcoarnulfo:fix/roman-forms-2-3
echelon Oct 13, 2026
45973a6
Merge pull request #745 from marcoarnulfo:fix/mode-typed-text-bool
echelon Oct 13, 2026
0837cbc
Merge pull request #746 from marcoarnulfo:fix/xls-format-short-string
echelon Oct 13, 2026
83e9314
Merge pull request #748 from marcoarnulfo:fix/cfb-short-last-sector
echelon Oct 13, 2026
d8561a9
Merge pull request #755 from marcoarnulfo:fix/xludf-prefix
echelon Oct 13, 2026
d6bb4bd
Merge pull request #763 from msaulc:fix/ctrl-shift-arrow-scroll
echelon Oct 13, 2026
1e29e69
Merge pull request #767 from vangel76:fix/selection-border-687
echelon Oct 13, 2026
40166af
Merge pull request #773 from marcoarnulfo:fix/numfmt-scientific-exponent
echelon Oct 13, 2026
c9b36de
Merge pull request #821 from marcoarnulfo:fix/xls-kept-value-string-r…
echelon Oct 13, 2026
a76759c
Merge pull request #822 from marcoarnulfo:fix/workbook-fileversion-ca…
echelon Oct 13, 2026
efed7ca
Merge pull request #826 from marcoarnulfo:fix/xlsx-external-file-hype…
echelon Oct 13, 2026
ad0370d
Merge pull request #836 from marcoarnulfo:fix/point-mode-shift-up
echelon Oct 13, 2026
317df69
Merge pull request #851 from marcoarnulfo:fix/sheet-navigator
echelon Oct 13, 2026
d14269a
Merge pull request #869 from marcoarnulfo:fix/this-row-structured-refs
echelon Oct 13, 2026
147db77
Merge pull request #879 from marcoarnulfo:fix/unknown-save-extension
echelon Oct 13, 2026
f0e158f
Merge pull request #882 from CouchRiv:fix/check-bool-cached-as-number
echelon Oct 13, 2026
45221f5
Fix-up: rustfmt extra.rs after merging
echelon Oct 13, 2026
ed7681a
Merge branch 'main' into recent-modified
arcanii Oct 13, 2026
ad11eb3
Merge main into #460
echelon Oct 13, 2026
1936228
Merge pull request #460 from neilcawse:fix/xls-array-formulas
echelon Oct 13, 2026
0a0e5ad
Merge main into #486
echelon Oct 13, 2026
eb5f366
Merge pull request #486 from nihilist-narwhal:fix-function-name-argum…
echelon Oct 13, 2026
588e289
Merge main into #585
echelon Oct 13, 2026
2a443bb
Merge pull request #585 from MarekSpodBiedry:issue-579
echelon Oct 13, 2026
7baa166
Merge main into #597
echelon Oct 13, 2026
c7f04be
Merge pull request #597 from MarekSpodBiedry:issue-567
echelon Oct 13, 2026
6a3b462
Merge main into #610
echelon Oct 13, 2026
94ccbcd
Merge pull request #610 from MarekSpodBiedry:issue-550
echelon Oct 13, 2026
f075c63
Merge main into #614
echelon Oct 13, 2026
378382b
Merge pull request #614 from MarekSpodBiedry:issue-544
echelon Oct 13, 2026
7415d3b
Merge main into #615
echelon Oct 13, 2026
1d716e8
Merge pull request #615 from MarekSpodBiedry:issue-543
echelon Oct 13, 2026
bea16de
Merge main into #659
echelon Oct 13, 2026
bf4c88f
Merge pull request #659 from derechopiano:fix/autofilter-keyboard-access
echelon Oct 13, 2026
7ebda25
Merge main into #688
echelon Oct 13, 2026
8fa9a65
Merge pull request #688 from derechopiano:fix/sheet-tab-navigation
echelon Oct 13, 2026
2977539
Merge main into #712
echelon Oct 13, 2026
a8cb5fe
Merge pull request #712 from jonathanwxh-cell:fix/xlsx-ink-roundtrip
echelon Oct 13, 2026
6b28a97
Merge main into #747
echelon Oct 13, 2026
c8b01a6
Merge pull request #747 from marcoarnulfo:fix/xls-calc-iteration
echelon Oct 13, 2026
04428cd
Merge main into #749
echelon Oct 13, 2026
727bd37
Merge main into #751
echelon Oct 13, 2026
773bd6c
Merge pull request #749 from marcoarnulfo:fix/structured-ref-column-s…
echelon Oct 13, 2026
8b75c7c
Merge pull request #751 from marcoarnulfo:fix/dget-empty-criteria-res…
echelon Oct 13, 2026
d2bd177
Merge main into #753
echelon Oct 13, 2026
e897ebd
Merge pull request #753 from marcoarnulfo:fix/cell-width-padding
echelon Oct 13, 2026
e5f31a0
Merge main into #786
echelon Oct 13, 2026
8488b03
Merge pull request #786 from vangel76:feat/forecast-start-785
echelon Oct 13, 2026
167ba9b
Merge main into #788
echelon Oct 13, 2026
7692738
Merge pull request #788 from brzuchal:format-cells-tr
echelon Oct 13, 2026
a67b5d2
Merge main into #794
echelon Oct 13, 2026
0d4402b
Merge pull request #794 from vangel76:feat/ruler-margins-792
echelon Oct 13, 2026
6dd8f7a
Merge main into #796
echelon Oct 13, 2026
599fc0f
Merge pull request #796 from vangel76:fix/subtotal-hidden-recalc
echelon Oct 13, 2026
d9e13a9
Merge main into #808
echelon Oct 13, 2026
8e60c2a
Merge pull request #808 from vangel76:perf/numfmt-text-parse-cache
echelon Oct 13, 2026
5055373
Merge main into #814
echelon Oct 13, 2026
be4d754
Merge pull request #814 from vangel76:fix/pdf-info-strings-utf16
echelon Oct 13, 2026
49cb977
Merge main into #815
echelon Oct 13, 2026
b869863
Merge pull request #815 from vangel76:fix/pdf-api-robustness
echelon Oct 13, 2026
62b7ba1
Merge main into #823
echelon Oct 13, 2026
33ad877
Merge pull request #823 from marcoarnulfo:fix/xlsx-keep-default-font
echelon Oct 13, 2026
b2e2df3
Merge main into #825
echelon Oct 13, 2026
06203fa
Merge pull request #825 from marcoarnulfo:fix/xls-external-name-cache…
echelon Oct 13, 2026
2ea8002
Merge main into #850
echelon Oct 13, 2026
cbdb2cc
Merge pull request #850 from marcoarnulfo:fix/enter-pastes-clipboard
echelon Oct 13, 2026
94ee7ef
Merge main into #853
echelon Oct 13, 2026
a6f8818
Merge pull request #853 from Silvertree2010:fix/csv-export-budget
echelon Oct 13, 2026
2174db2
Merge main into #871
echelon Oct 13, 2026
7e6aa69
Merge pull request #871 from marcoarnulfo:fix/check-package-parts
echelon Oct 13, 2026
13bc5ec
Merge remote-tracking branch 'origin/main' into feat/cell-autocomplete
marcoarnulfo Oct 13, 2026
6de9cfe
Merge remote-tracking branch 'origin/main' into fix/pivot-fields-pane…
marcoarnulfo Oct 13, 2026
ca8fc73
Merge remote-tracking branch 'origin/main' into fix/function-excel-di…
marcoarnulfo Oct 13, 2026
638cbab
Merge remote-tracking branch 'origin/main' into fix/edate-eomonth-1900
marcoarnulfo Oct 13, 2026
c7cb91e
Merge remote-tracking branch 'origin/main' into fix/xlsx-xml-maps
marcoarnulfo Oct 13, 2026
6405b00
Fix-up: repair test files after merging the conflicting PRs
echelon Oct 13, 2026
2f33d43
Merge main into #591
echelon Oct 13, 2026
7357a90
Merge pull request #591 from MarekSpodBiedry:issue-573
echelon Oct 13, 2026
c888e81
Merge main into #593
echelon Oct 13, 2026
4f7f67f
Merge pull request #593 from MarekSpodBiedry:issue-571
echelon Oct 13, 2026
b464a7f
Merge main into #594
echelon Oct 13, 2026
387a3a3
Merge pull request #594 from MarekSpodBiedry:issue-570
echelon Oct 13, 2026
0068c8f
Merge main into #649
echelon Oct 13, 2026
181915e
Merge pull request #649 from MarekSpodBiedry:issue-479
echelon Oct 13, 2026
fe26486
Merge main into #690
echelon Oct 13, 2026
cba08d1
Merge pull request #690 from vedran-dobos:zoom-wheel-ladder
echelon Oct 13, 2026
cc0b7c1
Merge main into #600
echelon Oct 13, 2026
e381a8f
Merge pull request #600 from MarekSpodBiedry:issue-564
echelon Oct 13, 2026
b112b56
Merge branch 'main' into recent-modified
arcanii Oct 13, 2026
3c4556b
Merge main into #856
echelon Oct 13, 2026
84ad5a2
Merge pull request #856 from Silvertree2010:fix/xlsx-chart-sheets
echelon Oct 13, 2026
b3ad579
Merge main into #830
echelon Oct 13, 2026
699f594
Merge pull request #830 from bmh129:ui/view-show-group-columns
echelon Oct 13, 2026
9972a75
Merge main into #824
echelon Oct 13, 2026
3a800f2
Merge pull request #824 from marcoarnulfo:fix/xlsx-rebase-external-li…
echelon Oct 13, 2026
623997a
Fix-up: close the CSV history-name test the merge left open
echelon Oct 13, 2026
9c77316
Merge #594 fix-up
echelon Oct 13, 2026
20309f6
Fix-up: close the Save As link test the merge left open
echelon Oct 13, 2026
c6ab899
Merge #824 fix-up
echelon Oct 13, 2026
20d6923
Merge main into #766
echelon Oct 13, 2026
6126695
Merge pull request #766 from vangel76:fix/multi-row-delete-758
echelon Oct 13, 2026
2d0a3f8
Merge main into #780
echelon Oct 13, 2026
a9a6a3e
Merge pull request #780 from vangel76:fix/hyperlink-scheme-777
echelon Oct 13, 2026
0c488f7
Merge main into #809
echelon Oct 13, 2026
8d18988
Merge pull request #809 from vangel76:fix/numfmt-fraction-width-cap
echelon Oct 13, 2026
499bf2c
Test: the uncached long TEXT() code stays under the 255-character cap
echelon Oct 13, 2026
0703575
Merge #809 test fix
echelon Oct 13, 2026
be45cca
Merge main into #811
echelon Oct 13, 2026
aa02516
Merge pull request #811 from vangel76:fix/numfmt-parse-linear
echelon Oct 13, 2026
afb6eca
Test: drive the linear-time parse check through the uncapped parser
echelon Oct 13, 2026
ebea0c9
Merge #811 test fix
echelon Oct 13, 2026
4536bc7
Merge main into #849
echelon Oct 13, 2026
2b36221
Merge pull request #849 from marcoarnulfo:feat/horizontal-scrollbar
echelon Oct 13, 2026
99f202b
Tab bar: the scrollbar-reachable test checks #849's scrollbar track; …
echelon Oct 13, 2026
6503df5
Merge #849 fix-up
echelon Oct 13, 2026
77f5799
Test: drop the unused Color32 import
echelon Oct 13, 2026
e2a6aac
Merge #849 fix-up
echelon Oct 13, 2026
a2bf1b3
Merge main into #854
echelon Oct 13, 2026
8272c99
Merge pull request #854 from derechopiano:fix/data-validation-dialog
echelon Oct 13, 2026
8108dbc
Fix-up: close the passthrough tests the merges left open; rustfmt
echelon Oct 13, 2026
5144bd5
Merge pull request #742 from marcoarnulfo:fix/edate-eomonth-1900
echelon Oct 13, 2026
80d282e
Merge pull request #752 from marcoarnulfo:fix/function-excel-diffs-738
echelon Oct 13, 2026
08cbb69
Merge main into #463
echelon Oct 13, 2026
884585a
Merge pull request #463 from arcanii:recent-modified
echelon Oct 13, 2026
72e7590
Merge main into #862
echelon Oct 13, 2026
a4ca87a
Merge pull request #862 from marcoarnulfo:fix/pivot-fields-pane-i18n
echelon Oct 13, 2026
be003d4
Merge main into #863
echelon Oct 13, 2026
f353ec7
Merge pull request #863 from marcoarnulfo:fix/xlsx-xml-maps
echelon Oct 13, 2026
11838c5
Merge branch 'main' into recent-modified
arcanii Oct 13, 2026
ebe0138
Merge main into #855
echelon Oct 13, 2026
a8cd6f4
Drop the planning notes from the PR
echelon Oct 13, 2026
3753d7c
Merge pull request #855 from edurbs:row-autofit-833
echelon Oct 13, 2026
fefe3a0
Merge pull request #463 from arcanii:recent-modified
echelon Oct 13, 2026
589b59d
Docs: one Last updated line per doc after the merges
echelon Oct 13, 2026
f4bd752
Merge main into #848
echelon Oct 13, 2026
4c70a46
i18n: Enable AutoComplete for cell values in every catalog
echelon Oct 13, 2026
84acf62
Merge pull request #848 from marcoarnulfo:feat/cell-autocomplete
echelon Oct 13, 2026
d9d09f0
Release 0.7.0
Oct 14, 2026
e6b6b34
ci: add comfortable runtime limits to unbounded jobs (#1418)
skylartaylor Oct 15, 2026
79e85c1
fix(edit): recalculate every cell changed by large clears (#1032) (#1…
harrisonoconnorhover Oct 15, 2026
82ee02a
Formula parser: Excel's 8,192-character limit and postfix nesting (ne…
nihilist-narwhal Oct 15, 2026
fda8e7b
AutoFilter: Enter in the filter menu applies the filter and closes it…
marcoarnulfo Oct 15, 2026
bb685e3
Merge pull request #1588 from marcoarnulfo/fix/filter-menu-enter-applies
skylartaylor Oct 16, 2026
e91e7f7
ci: delegate FreeBSD workflow, add nix check, and remove flatpak-pages
dylanmtaylor Oct 15, 2026
f1894c6
Merge pull request #1590 from dylanmtaylor/ci/shared-freebsd-workflow
skylartaylor Oct 16, 2026
b5676f3
Charts: draw categories in reverse order when the axis says maxMin (#…
isaac-levine Oct 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
176 changes: 0 additions & 176 deletions .github/workflows/flatpak-pages.yml

This file was deleted.

94 changes: 13 additions & 81 deletions .github/workflows/freebsd.yml
Original file line number Diff line number Diff line change
@@ -1,95 +1,27 @@
# Builds and tests the workspace on FreeBSD, inside a FreeBSD VM on a Linux runner
# (GitHub has no FreeBSD runners). GPU tests skip themselves when the VM has no adapter.
# Test builds run only from the `release` branch (a manual run from any other branch is skipped).
# Packaging runs (release.yml calls it that way) run from any branch, so a release.yml dry run
# from a branch builds the tarball too; they need no secrets.
#
# With `package: true` (release.yml calls it that way, or a manual run) it instead builds the
# release binaries and uploads `gridcraft-<version>-freebsd-x86_64.tar.gz` as the
# `release-freebsd` artifact (packaging/freebsd/package.sh), which release.yml attaches to the
# draft GitHub Release.
name: FreeBSD

on:
push:
branches: [release]
pull_request:
paths:
- .github/workflows/freebsd.yml
- packaging/freebsd/**
- packaging/env.sh
workflow_dispatch:
inputs:
package:
description: "Build the release tarball instead of running the tests"
type: boolean
default: false
workflow_call:
inputs:
version:
description: "Version for the artifact name (empty: Cargo.toml)"
type: string
default: ""
version_override:
description: "Also write the version into Cargo.toml before building (test runs)"
type: boolean
default: false
package:
type: boolean
default: false

concurrency:
# Called from release.yml, github.workflow is the caller's name; keep the groups apart.
group: freebsd-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.workflow == 'FreeBSD' }}
group: freebsd-${{ github.ref }}
cancel-in-progress: true

permissions:
contents: read

jobs:
freebsd:
name: FreeBSD 14 (${{ inputs.package && 'package' || 'build + test' }})
if: github.ref == 'refs/heads/release' || inputs.package
runs-on: ubuntu-latest
timeout-minutes: 300
env:
GRIDCRAFT_VERSION: ${{ inputs.version }}
GRIDCRAFT_VERSION_OVERRIDE: ${{ inputs.version_override && '1' || '' }}
GRIDCRAFT_PACKAGE: ${{ inputs.package && '1' || '' }}
GRIDCRAFT_BUILD_SHA: ${{ github.sha }}
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Check out craft-fonts
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
repository: storytold/craft-fonts
ref: abb83316d96aa59c1cf64784289e378fe9fa5695
path: craft-fonts
- name: Build in a FreeBSD VM
uses: vmactions/freebsd-vm@c46abacb49f09938ca4e1702d15d836285d694cc # v1.5.9
with:
release: "14.3"
usesh: true
cpu: 4
mem: 12288
envs: "GRIDCRAFT_VERSION GRIDCRAFT_VERSION_OVERRIDE GRIDCRAFT_PACKAGE GRIDCRAFT_BUILD_SHA"
# Only the packaging run brings files back (dist/release). The target dir lives outside
# the synced checkout, because copying it out of the VM fails on large builds.
copyback: ${{ inputs.package }}
prepare: |
pkg install -y bash git curl pkgconf cmake python3 libxkbcommon wayland libX11 libXcursor libXrandr libXi libxcb mesa-libs vulkan-loader gtk3 fontconfig freetype2
curl -fsSL https://sh.rustup.rs | sh -s -- -y --profile minimal
run: |
. "$HOME/.cargo/env"
# The checkout is synced in under another owner; let tests that call git read it.
git config --global --add safe.directory "*"
export CARGO_TARGET_DIR=/var/tmp/gridcraft-target CARGO_PROFILE_DEV_DEBUG=0
rustc --version
if [ -n "$GRIDCRAFT_PACKAGE" ]; then
if [ -n "$GRIDCRAFT_VERSION_OVERRIDE" ]; then
cargo run -q -p xtask --no-default-features -- version set "$GRIDCRAFT_VERSION"
fi
CRAFT_FONTS_DIR="$PWD/craft-fonts" CRAFT_FONTS_REQUIRED=1 bash packaging/freebsd/package.sh
else
cargo build --workspace --all-targets --locked
CRAFT_FONTS_DIR="$PWD/craft-fonts" cargo test --workspace --locked
fi
- uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
if: inputs.package
with:
name: release-freebsd
path: dist/release/*
if-no-files-found: error
# Intentionally tracked at @main (not SHA-pinned) so org-wide CI improvements, security fixes, and build optimizations propagate without PR churn across all craftapp repos.
uses: storytold/craft-common-actions/.github/workflows/freebsd.yml@main
with:
craft-fonts-ref: abb83316d96aa59c1cf64784289e378fe9fa5695
33 changes: 33 additions & 0 deletions .github/workflows/nix.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Evaluates the Nix flake (no build, about a minute): `nix build` / `nix develop` stop at evaluation
# when Cargo.lock gains something nix/package.nix can't vendor, and nothing else would notice.
name: Nix

on:
push:
branches: [main]
paths: ["flake.nix", "flake.lock", "nix/**", "Cargo.lock", ".github/workflows/nix.yml"]
pull_request:
paths: ["flake.nix", "flake.lock", "nix/**", "Cargo.lock", ".github/workflows/nix.yml"]
workflow_dispatch:

permissions:
contents: read

concurrency:
group: nix-${{ github.ref }}
cancel-in-progress: true

jobs:
eval:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
- name: nix flake check --no-build
run: |
if [ -f flake.nix ]; then
nix flake check --no-build --all-systems
else
echo "No flake.nix present in this repository; skipping check."
fi
6 changes: 6 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,9 @@ jobs:
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
WINDOWS_CERTIFICATE: ${{ secrets.WINDOWS_CERTIFICATE }}
WINDOWS_CERTIFICATE_PASSWORD: ${{ secrets.WINDOWS_CERTIFICATE_PASSWORD }}
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }}
AZURE_SIGNING_ENDPOINT: ${{ secrets.AZURE_SIGNING_ENDPOINT }}
AZURE_SIGNING_ACCOUNT: ${{ secrets.AZURE_SIGNING_ACCOUNT }}
AZURE_CERT_PROFILE: ${{ secrets.AZURE_CERT_PROFILE }}
Loading
Loading