jonathanwxh-cell
18092672ee
#701 : integrate hidden-sheet navigation with current main
2026-10-14 00:01:18 +08: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
ebe0138d30
Merge main into #855
...
# Conflicts:
# ROADMAP.md
# docs/gaps.md
# docs/target-app-parity.md
2026-10-13 01:52:08 -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
0c488f79b3
Merge main into #809
...
# Conflicts:
# ROADMAP.md
# crates/numfmt/src/lib.rs
# crates/numfmt/src/tests.rs
# crates/xlsx/src/tests/malformed.rs
2026-10-13 01:04:29 -04:00
Brandon Thomas
2d0a3f8a47
Merge main into #780
...
# Conflicts:
# ROADMAP.md
# crates/engine/src/cmd/insert.rs
# crates/engine/src/tests.rs
2026-10-13 01:02:28 -04:00
Brandon Thomas
20d6923cb6
Merge main into #766
...
# Conflicts:
# ROADMAP.md
# crates/engine/src/cmd/sheet.rs
2026-10-13 01:00:59 -04:00
Brandon Thomas
3c4556bb04
Merge main into #856
...
# Conflicts:
# ROADMAP.md
# crates/model/src/lib.rs
# crates/xlsx/src/tests/passthrough_tests.rs
# docs/file-format-parity.md
2026-10-13 00:52:57 -04:00
Brandon Thomas
94ee7efdf9
Merge main into #853
...
# Conflicts:
# ROADMAP.md
# docs/file-format-parity.md
2026-10-13 00:08:58 -04:00
Brandon Thomas
49cb977a73
Merge main into #815
...
# Conflicts:
# ROADMAP.md
# crates/pdf/src/tests.rs
2026-10-13 00:08:40 -04:00
Brandon Thomas
5055373149
Merge main into #814
...
# Conflicts:
# ROADMAP.md
2026-10-13 00:08:36 -04:00
Brandon Thomas
d9e13a953f
Merge main into #808
...
# Conflicts:
# ROADMAP.md
2026-10-13 00:08:30 -04:00
Brandon Thomas
6dd8f7abe8
Merge main into #796
...
# Conflicts:
# ROADMAP.md
# crates/engine/src/tests.rs
2026-10-13 00:08:27 -04:00
Brandon Thomas
a67b5d2960
Merge main into #794
...
# Conflicts:
# ROADMAP.md
# docs/gaps.md
# docs/ui-parity.md
2026-10-13 00:08:22 -04:00
Brandon Thomas
e5f31a02f3
Merge main into #786
...
# Conflicts:
# ROADMAP.md
# docs/gaps.md
2026-10-13 00:08:15 -04:00
Brandon Thomas
29775397ef
Merge main into #712
...
# Conflicts:
# ROADMAP.md
# crates/xlsx/src/tests/mod.rs
# docs/file-format-parity.md
# docs/gaps.md
2026-10-13 00:07:50 -04:00
Eduardo Soares
dc3ccc4ea0
#833 : docs — track row auto-fit for oversized fonts
...
# Conflicts:
# ROADMAP.md
# docs/gaps.md
2026-10-12 20:48:43 -03:00
NetterSilver
805ffba836
Docs: update the progress docs for this change
2026-10-13 01:46:09 +02:00
NetterSilver
d1260e1878
Docs: update the progress docs for this change
2026-10-13 01:17:16 +02:00
vangel76 and Claude Sonnet 5.5
a540a7138a
PDF: text width cannot overflow; dash, stroke width and NaN sizes are sanitised ( #812 )
...
text_width sums in u64; an all-zero or non-finite dash array is written as
solid ([] 0 d); stroke widths are clamped to >= 0 (NaN -> 0); drawing calls
with non-finite or non-positive geometry return before storing anything.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-12 22:18:58 +02:00
vangel76 and Claude Sonnet 5.5
0042240c05
PDF: title and author are written as UTF-16BE when they are not ASCII ( #813 )
...
Info strings were WinAnsi; PDF text strings are PDFDocEncoding or UTF-16BE.
Printable ASCII stays a literal string; anything else is a <FEFF...> hex
string. Info strings are capped at 1024 characters.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-12 22:18:46 +02:00
vangel76 and Claude Sonnet 5.5
a60b49fad0
Numfmt: format-code parsing is linear, and an unclosed [ is treated the same in both passes ( #810 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-12 22:10:35 +02:00
vangel76 and Claude Sonnet 5.5
5f992be525
Numfmt: no panic on a fraction denominator with 65,536 zeros; format codes are capped at 255 characters ( #807 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-12 22:09:29 +02:00
vangel76 and Claude Sonnet 5.5
fd53de7c46
Numfmt: TEXT() and chart labels parse each format code once ( #806 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-12 22:09:09 +02:00
vangel76 and Claude Sonnet 5.5
2be04524b3
Calc: SUBTOTAL(10x) recalculates when Row Height, AutoFit Row Height or Ungroup reveal rows
...
home.rowHeight, home.autofitRowHeight and data.ungroup change row hidden
state without marking the edit structural, so SUBTOTAL(101-111) kept a stale
value. Found by the command-sequence fuzz (seed 3).
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-12 21:09:27 +02:00
vangel76 and Claude Sonnet 5.5
339f8ed35b
Page Layout view: drag the margins on the rulers ( #792 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-12 20:57:02 +02:00
vangel76 and Claude Sonnet 5.5
47c0af3f1b
Data: Forecast Sheet Forecast Start option ( #785 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-12 20:34:07 +02:00
vangel76 and Claude Sonnet 5.5
2797d468c5
Security: cell hyperlinks open only http, https and mailto, after a confirmation ( #777 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-12 20:17:30 +02:00
vangel76 and Claude Sonnet 5.5
76e7f1de07
Grid: the selection outline stays visible when extended to the last row ( #687 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-12 19:25:51 +02:00
vangel76 and Claude Sonnet 5.5
afce16c8d2
Grid: deleting several Ctrl-selected rows removes them all ( #758 )
...
home.deleteRows/deleteColumns used only the last selected area. They now
take every area (or a comma list like "3:3,7:8"), merge them and delete
from the last to the first inside one edit, so it is one undo step.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-12 19:24:36 +02:00
jonathanwxh-cell
d4874373a4
#551 : preserve editable ink through XLSX round trips
2026-10-12 23:54:44 +08:00
jonathanwxh-cell
561299bfad
sheet-navigation: keep boundary navigation on visible worksheets
2026-10-12 22:59:53 +08:00
skylar taylor-barrick
587d879f13
Print: adopt craft-print with native settings and job feedback
2026-10-12 03:25:47 +02:00
Brandon Thomas
a34fe4a7af
Merge pull request #436 from LloydNicholson/feat/open-encrypted
...
Open password-encrypted workbooks (Agile and Standard encryption) (#11 )
# Conflicts:
# ROADMAP.md
# docs/file-format-parity.md
# docs/gaps.md
# docs/target-app-parity.md
2026-10-11 18:06:04 -04:00
lloyd and Claude Opus 5.5
8de8bc187a
Docs: encrypted workbooks open with their password ( #11 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 23:29:28 +02:00
neilcawse and Claude Opus 5.5
828efab385
Engine: command-sequence fuzz harness (undo/redo, XLSX round-trip, full-recalc invariants) and the bugs it found
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 16:39:31 -04:00
Brandon Thomas
1c3beb2a95
Merge branch 'land' into fix-401
...
# Conflicts:
# ROADMAP.md
2026-10-11 16:09:03 -04:00
Brandon Thomas
4a23b9cf4b
Merge pull request #404 from vangel76/fix/header-footer-variants
...
Headers and footers: first-page and even-page variants, Insert › Header & Footer edits in place (#344 )
# Conflicts:
# ROADMAP.md
2026-10-11 16:08:56 -04:00
Brandon Thomas
7cd96b945f
Merge pull request #402 from vangel76/fix/ui-font-hebrew-fallback
...
UI fonts: formula bar falls back to the cell font, so Hebrew isn't boxes (#349 )
# Conflicts:
# ROADMAP.md
2026-10-11 16:08:55 -04:00
Brandon Thomas
6cc69494ca
Merge branch 'land' into fix-394
...
# Conflicts:
# ROADMAP.md
2026-10-11 15:55:10 -04:00
vangel76 and Claude Opus 5.5
cdd71b4d5d
Headers and footers: first-page and even-page variants, Insert › Header & Footer edits in place ( #344 )
...
XLSX headerFooter kept only oddHeader/oddFooter: a workbook whose header is on a
different first page (differentFirst + firstHeader) or on even pages showed no
header, and saving dropped it. The model now keeps the first/even headers and
footers and the differentFirst / differentOddEven / scaleWithDoc / alignWithMargins
flags; XLSX reads and writes them; the PDF and the Page Layout view use the right
pair per page; in-place editing edits the page's own pair, and the Header & Footer
tab has Different First Page and Different Odd & Even Pages. pageLayout.headerFooter
takes the variants and a page: odd|even|first for one-section edits.
Insert › Header & Footer now switches to Page Layout view and edits the first
page's centre header, as in Excel, instead of opening the codes dialog.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 21:44:49 +02:00
Brandon Thomas
f173d6733d
Merge pull request #387 from vangel76/fix/sheet-protection-password
...
Review: Protect Sheet passwords use Excel-compatible hashes, kept in XLSX (#346 )
# Conflicts:
# ROADMAP.md
2026-10-11 15:43:46 -04:00
Brandon Thomas
283b06453e
Merge pull request #383 from vangel76/fix/sheetview-top-left-cell
...
View: restore and save the scroll position (topLeftCell) (#378 )
# Conflicts:
# ROADMAP.md
2026-10-11 15:43:45 -04:00
Brandon Thomas
12b46e6bbe
Merge pull request #395 from vangel76/fix/space-selection-shortcuts
...
Keyboard: Shift+Space and Ctrl+Space select without starting an edit (#338 )
# Conflicts:
# ROADMAP.md
# crates/ui-egui/src/grid.rs
2026-10-11 15:43:44 -04:00
Brandon Thomas
8498dedb7d
Merge pull request #381 from vangel76/fix/shrink-to-fit
...
Grid: render Shrink to fit (#375 )
# Conflicts:
# ROADMAP.md
# crates/ui-egui/src/grid.rs
2026-10-11 15:43:32 -04:00
Brandon Thomas
d90a072d90
Merge pull request #380 from vangel76/fix/merged-range-borders
...
Grid: merged ranges draw their right and bottom borders (#376 )
# Conflicts:
# ROADMAP.md
2026-10-11 15:43:31 -04:00
Brandon Thomas
39c3b04d0d
Merge pull request #382 from vangel76/fix/dx12-dxc-startup
...
Windows: compile DirectX 12 shaders with FXC, no DXC runtime needed (#339 , #354 )
2026-10-11 15:43:30 -04:00
vangel76 and Claude Opus 5.5
88bb5677a8
UI fonts: interface text falls back to the cell font ( #349 )
...
On macOS the UI font (SF) has no Hebrew and no Hebrew fallback face was
found, while cells in Arial drew it: the formula bar showed boxes. The
interface families now carry the cell face ahead of the script fallbacks,
and the macOS Hebrew candidates include ArialHB.ttc / SFHebrew.ttf /
LucidaGrande.ttc.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 21:42:24 +02:00
vangel76 and Claude Opus 5.5
da1d291d93
Drawing: text box run formatting, alignment, anchor and no-outline ( #377 )
...
Text boxes ignored a:rPr (size, bold, italic, typeface, fill, outline),
a:pPr algn, a:bodyPr anchor and spPr/a:ln/a:noFill. They are now read into
Shape::format, drawn on screen and in PDF, and written back.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 21:39:53 +02:00
vangel76 and Claude Sonnet 5.5
6290bf123a
Keyboard: Shift+Space and Ctrl+Space select without starting an edit ( #338 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-11 21:32:57 +02:00