aiongg
013ead7389
Integration: #2033 drop the dated history from the auto-fit comments
2026-10-22 02:35:41 +00:00
aiongg
aab44d2c23
Merge PR #1535 : engine: sort and remove duplicates move the rows' notes and hyperlinks
...
# Conflicts:
# crates/engine/src/tests.rs
2026-10-22 02:35:40 +00:00
aiongg
5c1b171892
Merge PR #1738 : Keep chart source range in step with inserted and deleted lines
2026-10-22 02:35:39 +00:00
aiongg
3ed16929d9
Merge PR #1320 : AutoFit Column Width measures text in the font the grid draws it with
...
Conflicts:
- crates/engine/src/cmd/format.rs: autofit_cols keeps #885 's (si, lines) and adds #1320 's measure
2026-10-22 02:35:39 +00:00
aiongg
d83dc11ff2
Merge PR #1695 : Charts: box & whisker charts honor their quartile method
...
crates/engine/src/tests.rs: kept both new tests (csv_as_text_keeps_identifier_columns_as_written and box_whisker_quartile_methods_survive_xlsx).
2026-10-22 02:35:39 +00:00
aiongg
6d4e62d12b
Merge PR #2032 : Formula entry: an incomplete formula's error describes what was typed ( fixes #2030 )
...
crates/formula/src/tests.rs: kept both tests.
2026-10-22 02:35:39 +00:00
aiongg
4fd4d39aa0
Merge PR #1308 : engine: refuse removeDuplicates with no valid column instead of deleting all rows
...
Conflicts:
- crates/engine/src/cmd/data.rs: keeps #1308 's column guard after cols is built; drops its later 'let sheet' (#1285 supplies sheet)
2026-10-22 02:35:34 +00:00
aiongg
26c6e4ca14
Merge PR #1621 : Reject unsupported flip param in arrange.rotate
...
Conflicts:
- crates/engine/src/tests.rs: kept both appended tests
2026-10-22 02:35:33 +00:00
aiongg
b17f47b2ca
Merge PR #2033 : Row auto-fit: count line breaks only in cells that wrap
...
ROADMAP.md: header line keeps the newer 2026-10-19 date and lists this change; this PR's progress-log row added once below the newer rows.
2026-10-22 02:35:31 +00:00
aiongg
cede13d0a7
Merge PR #1527 : engine: pageLayout.printTitles only touches the axes it is given
2026-10-22 02:35:30 +00:00
aiongg
5f4309e4ba
Merge PR #1653 : Charts: insert.chart builds a series from every area of a multi-area range
2026-10-22 02:35:30 +00:00
aiongg
66c64a9331
Merge PR #2019 : Formulas: the reference app's longest legal operator chain (4,096 operands) no longer crashes entry or save
...
docs/function-parity.md: union of the status line and both history rows.
2026-10-22 02:35:30 +00:00
aiongg
0e298839aa
Merge PR #1292 : Preserve hyperlinks in PDF export and support PDF in CLI convert
...
docs/file-format-parity.md: status line combined, change-log rows both kept
2026-10-22 02:35:28 +00:00
aiongg
77b861392a
Merge PR #1299 : Filter: count empty text and ="" results as (Blanks)
2026-10-22 02:35:26 +00:00
aiongg
10746f8e33
Merge PR #1614 : XLSX: a note keeps its box's place and size through open and save ( #1608 )
2026-10-22 02:35:24 +00:00
aiongg
d691e95f6d
Merge PR #1285 : Remove Duplicates, Filter and Subtotal: a Sheet! prefix on the range works on that sheet
2026-10-22 02:35:24 +00:00
aiongg
87df1947f9
Merge PR #1284 : Sort: a Sheet! prefix on the range sorts that sheet, not the active one
2026-10-22 02:35:21 +00:00
aiongg
d26bbe3432
Merge PR #1085 : Format: Row Height and Column Width say pixels, and take points like the reference app
...
Conflicts:
- crates/engine/src/cmd/format.rs: spec strings keep #885 's sheet?/Sheet! forms with #1085 's pixels/points wording; row_height and col_width keep #1085 's unit logic with #885 's (si, lines) = line_targets
2026-10-22 02:35:21 +00:00
aiongg
bdb03349f6
Merge PR #1930 : Accounting format: the documented currency symbol is honoured
2026-10-22 02:35:17 +00:00
aiongg
0bf7d40f3b
Integration: #1534 remove the What::Hyperlinks paste-special target
...
The hyperlink copy stays inside What::All, which the cut path uses; the existing
test a_cut_moves_the_sources_notes_hyperlinks_and_merges covers it.
2026-10-22 02:35:17 +00:00
aiongg
43cd35d4bd
Merge PR #1263 : Bound Undo history growth after bulk edits
...
crates/engine/src/lib.rs: kept both the journal caps (#1230 ) and the undo byte budget; separate constants and call sites.
crates/engine/src/cmd/edit.rs: undo pushes through push_history; the redo entry keeps the undone edit's selection (#1855 behaviour).
crates/engine/src/tests.rs: kept both tests (redo_selects_the_redone_cell and the two history-bound tests).
2026-10-22 02:35:17 +00:00
aiongg
69f6ea363d
Merge PR #1529 : fix #1458 : one reference-app sheet-name quoting rule for formulas, pivot sources and ADDRESS
2026-10-22 02:35:16 +00:00
aiongg
8daa1f41e1
Merge PR #1731 : Move PivotTables with their cells on row/column insert and delete
2026-10-22 02:35:14 +00:00
aiongg
cd5d21740a
Merge PR #1326 : Reject a list data validation that has no formula1 ( #1303 )
...
Conflicts:
- crates/engine/src/cmd/data.rs: kept both; the missing-formula1 guard comes right after the kind match, before the operator and list_source handling
2026-10-22 02:35:14 +00:00
aiongg
2c10a8da46
Merge PR #759 : Names: a name over several ranges reads its top-level commas as unions
...
crates/formula/src/lib.rs: union pub use list (MAX_FORMULA_LEN and parse_name).
crates/engine/src/cmd/formulas.rs: keep both new tests.
2026-10-22 02:35:11 +00:00
aiongg
708c82cf2c
Integration: #1059 delete_areas accepts a single row or column
...
home.deleteRows {rows:"2"} and home.deleteColumns {cols:"B"} failed with
"not a range"; delete_areas now parses with parse_lines. The PR's test
covers both.
2026-10-22 02:35:09 +00:00
aiongg
c8e0323cf3
Merge PR #1975 : Select precedent/dependent cells with Ctrl+[ / Ctrl+] ( #1865 part 1)
2026-10-22 02:35:09 +00:00
aiongg
93517ccf51
Merge PR #1500 : Fix number-format palette colours in grid and PDF output
...
crates/engine/src/cmd/print.rs: kept both appended tests
docs/ui-parity.md: kept HEAD header line, both change rows
2026-10-22 02:35:06 +00:00
aiongg
ad490a1393
Merge PR #1735 : Analysis ToolPak: moving-average standard errors use a running sum ( #1043 )
2026-10-22 02:35:05 +00:00
aiongg
f8b7547344
Merge PR #1709 : Rows: a big font isn't counted twice when the sheet's default height already fits it
2026-10-22 02:35:02 +00:00
aiongg
51401a382c
Merge PR #1534 : engine: a cut takes the source's notes, hyperlinks and merged areas with it
2026-10-22 02:35:01 +00:00
aiongg
32faa4f1c6
Merge PR #1661 : Merged cell with Wrap Text: auto-fit skips it, so the text draws and the row keeps its default height
2026-10-22 02:34:59 +00:00
aiongg
0f27cef4d6
Merge PR #1364 : engine: keep case-insensitive replace from dropping text when folding shifts byte boundaries
2026-10-22 02:34:59 +00:00
aiongg
3eda63d5e5
Merge PR #1706 : Reject table.resize when the new range overlaps another table
2026-10-22 02:34:58 +00:00
aiongg
9f03d2cd1b
Merge PR #1434 : Refuse table names that clash with defined names or R1C1 references
...
Conflicts: crates/engine/src/cmd/insert.rs (both appended a test at the end of tests; kept both)
2026-10-22 02:34:58 +00:00
aiongg
675d96ef17
Merge PR #1373 : Protection: Protect Sheet entries unprotect, selectLockedCells enforced ( #1346 )
2026-10-22 02:34:56 +00:00
aiongg
38fb979498
Merge PR #1329 : Slicer: find a named table on any sheet
...
Conflicts: crates/engine/src/tests.rs (both appended a test at the same spot; kept both)
2026-10-22 02:34:53 +00:00
aiongg
93de710d28
Merge PR #1306 : Show dynamic array source formulas read-only in spill cells
...
docs/ui-parity.md: kept HEAD's header line, both change rows (newest first)
2026-10-22 02:34:52 +00:00
aiongg
78225db6f8
Merge PR #1108 : Refuse a cut-paste whose destination does not fit instead of dropping cells ( #997 )
2026-10-22 02:34:52 +00:00
aiongg
0b573362bc
Merge PR #1059 : rows/cols parameters: accept a single row or column
2026-10-22 02:34:51 +00:00
aiongg
90cdb12fc6
Merge PR #1470 : fix(solver): commit solutions and reports atomically
2026-10-22 02:34:49 +00:00
aiongg
a512a6a8a7
Merge PR #1117 : Fix table without header: re-point references when the data moves down ( #1030 )
2026-10-22 02:34:46 +00:00
aiongg
2c73c2b18f
Merge PR #1214 : Grid: an armed Format Painter pastes onto the next cells clicked or dragged
2026-10-22 02:34:39 +00:00
aiongg
ccc0e8cfe4
Merge PR #885 : Row, column and freeze commands act on the sheet they are given
2026-10-22 02:34:36 +00:00
aiongg
c4389fcacb
Merge PR #701 : Keep sheet navigation on visible worksheets at workbook boundaries
2026-10-22 02:34:36 +00:00
aiongg
947930e889
Merge PR #584 : Refuse inserting cells that would push values off the worksheet ( #580 )
2026-10-22 02:34:36 +00:00
aiongg
bd4c875225
Merge PR #884 : Conditional formats: hex colours in a custom style, and no more silently empty or never-matching rules
2026-10-22 02:34:35 +00:00
aiongg
954f30f9f4
Merge PR #1058 : Format Cells: take the documented camelCase style keys
2026-10-22 02:34:33 +00:00
aiongg
f8f7193f52
Merge PR #1084 : Data validation: a list typed without quotes is saved as a quoted list, and an unknown type is refused
2026-10-22 02:34:32 +00:00
Higgs32584 and Claude Opus 5.5
b817c04a9b
clipboard: bound HTML colspan/rowspan expansion ( #2171 )
...
Clipboard HTML is read only as far as the pasted text's shape (clamped
to the sheet) and at most 1,000,000 cells; colspan/rowspan are clamped
to the sheet extent before expanding, and rowspan now keeps later rows
in their columns.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-21 21:06:51 -04:00