What's Changed
- fix(calc): recalculate dependents of a cleared spill past 65536 cells (#558) by @MarekSpodBiedry in #605
- Return #VALUE! when a LAMBDA call has too few argument positions (#557) by @MarekSpodBiedry in #606
- SUBTOTAL 109-111 leave out nested subtotals like 1-11 (#556) by @MarekSpodBiedry in #607
- fix(xlsx): keep leading and trailing whitespace in document properties on reopen (#554) by @MarekSpodBiedry in #608
- Refuse XLSX export of sheet names XLSX cannot hold (#552) by @MarekSpodBiedry in #609
- Fix data.filterBy inside a table installing the sheet AutoFilter instead of toggling the table button (#547) by @MarekSpodBiedry in #611
- Fix histogram counts disagreeing with interval labels on bin boundaries (#546) by @MarekSpodBiedry in #612
- Draw data labels on area and stacked area charts (#545) by @MarekSpodBiedry in #613
- Fix chart rasterizer panic on negative rectangle extents (#542) by @MarekSpodBiedry in #616
- Return #VALUE! from FIND and SEARCH when the start is past the text end (#541) by @MarekSpodBiedry in #617
- Return zero from ROUNDDOWN and TRUNC at precisions beyond the number range (#540) by @MarekSpodBiedry in #618
- Return #NUM! from PROB for zero probabilities (#539) by @MarekSpodBiedry in #619
- Reject oversized TEXTSPLIT results before building the padded grid (#538) by @MarekSpodBiedry in #620
- Check the full PIVOTBY layout size before building column headers (#537) by @MarekSpodBiedry in #621
- HSTACK checks its padded output size before building it (#536) by @MarekSpodBiedry in #622
- Return an error when a weekday fill runs past the supported dates (#535) by @MarekSpodBiedry in #623
- Column sort rejects a zero row key with a parameter error instead of panicking (#534) by @MarekSpodBiedry in #624
- Refuse Total Row on a table that ends on the last worksheet row (#533) by @MarekSpodBiedry in #625
- Spelling: skip suggestions for words longer than 64 characters (#532) by @MarekSpodBiedry in #626
- Reject row/column insert counts past the worksheet and clamp delete counts instead of overflowing (#531) by @MarekSpodBiedry in #627
- Formula: print flat operator chains iteratively so deep trees cannot overflow the stack (#527) by @MarekSpodBiedry in #628
- Page Setup opens on the sheet's saved margins (#524) by @MarekSpodBiedry in #631
- Data Validation dialog opens on the active cell's current rule (#522) by @MarekSpodBiedry in #633
- Zoom dialog: a Magnification choice sets the percentage to store (#521) by @MarekSpodBiedry in #634
- Fix ribbon checkboxes sending the pre-click value (#520) by @MarekSpodBiedry in #635
- Keep a literal chart category with a comma or semicolon as one point on save (#519) by @MarekSpodBiedry in #636
- Read omitted val on chart smooth and showVal as on (#518) by @MarekSpodBiedry in #637
- Web: opt-in embedding bridge for host pages (?host=parent) by @CyberFox-81 in #237
- io: remove the .sctmp temporary file when a save fails by @SteamSmith in #450
- AutoFilter: the value list scrolls across the menu's full width (Fixes #432) by @tydude001 in #452
- i18n: add Serbian (Latin script) interface translations by @Dejan-Port in #453
- fix(i18n): correct scattered wrong French translations and add 2 missing keys by @Dejan-Port in #454
- Packaging: offer GridCraft for .xlsb and .ods files on macOS by @neilcawse in #457
- UI: Paste button and menus paste the system clipboard; regression test for the Paste freeze (#273) by @neilcawse in #461
- OFFSET: huge offsets and sizes give #REF! instead of overflowing by @webdevtodayjason in #466
- Data: Solver Evolutionary method, and Answer and Limits reports by @prxnvt in #475
- INDEX: a huge area number gives #REF! instead of overflowing by @webdevtodayjason in #476
- AutoFill: times, quarters, ordinals and mixed sources continue as series by @nihilist-narwhal in #483
- Formulas: long operator chains no longer hit the evaluator's depth limit by @nihilist-narwhal in #484
- Manage Rules: don't index past the list after a delete by @nihilist-narwhal in #485
- Merge Across: keep only the first value of each row by @nihilist-narwhal in #487
- INDIRECT: R1C1 offsets past the sheet give #REF! instead of overflowing by @webdevtodayjason in #503
- Convert TODAY and NOW to the workbook date system in 1904 workbooks (#578) by @MarekSpodBiedry in #586
- Restore frozen panes when showing a custom view (#577) by @MarekSpodBiedry in #587
- Tables: names with a hyphen or other operator characters are rejected (#576) by @MarekSpodBiedry in #588
- Reject table.resize to a range that does not overlap the table (#575) by @MarekSpodBiedry in #589
- Keep a defined name that shares a table's name when the table is renamed (#574) by @MarekSpodBiedry in #590
- Return #VALUE! for AGGREGATE without a data argument (#572) by @MarekSpodBiedry in #592
- Open files by their content, not a mismatched extension (#569) by @MarekSpodBiedry in #595
- Parse an intersection whose operand became #REF! (#568) by @MarekSpodBiedry in #596
- Parse two-digit years in spaced month-name dates (#566) by @MarekSpodBiedry in #598
- Treat serials past 9999-12-31 as out of range in the 1904 date system (#565) by @MarekSpodBiedry in #599
- Paste Special: copy the validation rule with the Validation and All options (#562) by @MarekSpodBiedry in #602
- MCP: reject invalid format_range borders as invalid params (#560) by @MarekSpodBiedry in #603
- Make gridcraft-cli check compare conditional-format rule contents, not just their count (#559) by @MarekSpodBiedry in #604
- Add OmaStore manifest by @KitsuneSemCalda in #99
- fix: select a newly inserted chart from Recommended Charts by @Dejan-Port in #448
- XLSX: write this-row structured references as [[#This Row],[Col]] by @marcoarnulfo in #869
- Fix saving a custom view or script when the stored list is not a JSON object (#517) by @MarekSpodBiedry in #638
- Treat non-object params as empty in themeColors, background and drawBorder (#516) by @MarekSpodBiedry in #639
- Refuse a PivotTable that cannot fit before aggregating all column groups (#515) by @MarekSpodBiedry in #640
- Fail Web Page export on sheets taller than its row limit instead of dropping cells (#514) by @MarekSpodBiedry in #641
- xlsx: warn when hyperlinks past the 10,000-cell cap are dropped on read (#513) by @MarekSpodBiedry in #642
- Keep every range of a conditional format or validation sqref (#512) by @MarekSpodBiedry in #643
- Save a table that has only a header row and a totals row (#511) by @MarekSpodBiedry in #644
- Keep a long outline group's bracket once its first 4096 lines scroll away (#510) by @MarekSpodBiedry in #645
- fix(grid): filter dropdown installs the AutoFilter on the clicked table (#509) by @MarekSpodBiedry in #646
- Keep manually hidden and collapsed rows when removing an AutoFilter (#508) by @MarekSpodBiedry in #647
- Run the fill-handle double-click fill before the handle press returns (#507) by @MarekSpodBiedry in #648
- i18n(cs): translate 120 labels and tooltips already looked up via tr() by @Losminek in #652
- Compute the Top 10 filter threshold once per column (#661) by @richard1912 in #664
- Data validation: hide the input message while the cell's list is open (#505) by @marcoarnulfo in #679
- Charts: a newly inserted chart is selected, so Delete removes it (#668, #256) by @marcoarnulfo in #683
- Functions: COUNTIF family returns #VALUE! for criteria over 255 characters by @neilcawse in #686
- UI: clicking a column or row header in point mode inserts N:N / n:n (#691) by @marcoarnulfo in #695
- Comments pane: one Show Comments button, and the pane keeps its width by @marcoarnulfo in #715
- PivotTables: values on rows (Σ Values in Rows, dataOnRows) by @neilcawse in #718
- cell.set / set_cell: accept a number for
input(#697) by @dantebertuzzi in #720 - i18n(pt-BR): translate 546 more labels, dialog strings and tooltips by @dantebertuzzi in #739
- Numfmt: a negative number that rounds to zero shows no minus sign by @marcoarnulfo in #740
- macOS: register the Window menu as NSApp's windowsMenu, so the tiling shortcuts work by @marcoarnulfo in #741
- ROMAN: forms 2 and 3 subtract IC, XM and VM like Excel by @marcoarnulfo in #744
- functions: MODE skips typed text and logical arguments by @marcoarnulfo in #745
- XLS: a FORMAT record shorter than its character count keeps the characters it holds by @marcoarnulfo in #746
- XLS: open compound files whose last sector isn't padded by @marcoarnulfo in #748
- Formulas: keep _xludf. so user-defined calls stay user-defined by @marcoarnulfo in #755
- Grid: extending the selection from the keyboard scrolls its moving end into view (#762) by @msaulc in #763
- Grid: the selection outline stays visible when extended to the last row (#687) by @vangel76 in #767
- Numfmt: scientific formats with a literal after E±, a % or a comma match Excel by @marcoarnulfo in #773
- XLS: a formula kept as its saved value keeps a text result by @marcoarnulfo in #821
- XLSX: keep fileVersion and calcFeatures in workbook.xml on save by @marcoarnulfo in #822
- XLSX: a hyperlink to another file is saved as an external relationship by @marcoarnulfo in #826
- Grid: Shift+arrows in point mode extend from the pointed cell, also up and left by @marcoarnulfo in #836
- Sheet tabs: All Sheets navigator with a filter field by @marcoarnulfo in #851
- Refuse to save to an unknown file extension instead of writing XLSX under it by @marcoarnulfo in #879
- check: a boolean cached as 1/0 without t="b" matches, and is counted apart by @CouchRiv in #882
- File: Export as PDF in the File menu, and the palette asks for a path (#407) by @isaac-levine in #704
- XLS: array formulas fill their range on recalculation by @neilcawse in #460
- Functions passed by name: GROUPBY(…,SUM), BYROW(…,SUM), MAP(…,ABS) by @nihilist-narwhal in #486
- Chart: color pie, doughnut, treemap and sunburst points from the workbook theme (#579) by @MarekSpodBiedry in #585
- Quote sheet names when printing sheet-qualified defined names (#567) by @MarekSpodBiedry in #597
- Keep a solid data bar solid across an XLSX save and reopen (#550) by @MarekSpodBiedry in #610
- Funnel chart: hide value labels when data labels are off (#544) by @MarekSpodBiedry in #614
- Honour the gridlines flag on box-and-whisker and stock charts (#543) by @MarekSpodBiedry in #615
- Open AutoFilter header menus with Alt+Down by @derechopiano in #659
- Reveal the active worksheet tab after sheet navigation by @derechopiano in #688
- Preserve editable ink strokes across XLSX saves by @jonathanwxh-cell in #712
- XLS import: read the calculation settings (iteration, mode, precision as displayed) by @marcoarnulfo in #747
- Tables: structured references keep the spaces at the edges of a column name by @marcoarnulfo in #749
- Functions: DGET and the database functions match Excel for computed, empty-string and empty-field criteria by @marcoarnulfo in #751
- CELL("width") returns the Column Width dialog value, without the padding (#735) by @marcoarnulfo in #753
- Data: Forecast Sheet Forecast Start option (#785) by @vangel76 in #786
- i18n: look up the Format Cells dialog labels in the catalog by @brzuchal in #788
- Page Layout view: drag the margins on the rulers (#792) by @vangel76 in #794
- Calc: SUBTOTAL 109 recalculates when Row Height, AutoFit or Ungroup reveal rows by @vangel76 in #796
- Numfmt: TEXT() and chart labels parse each format code once (#806) by @vangel76 in #808
- PDF: title and author are written as UTF-16BE when they are not ASCII (#813) by @vangel76 in #814
- PDF: text width cannot overflow; dash, stroke width and NaN sizes are sanitised (#812) by @vangel76 in #815
- XLSX: keep the workbook's default font on save by @marcoarnulfo in #823
- XLS: formulas that use a skipped defined name keep their saved results by @marcoarnulfo in #825
- UI: Enter pastes the copied range and ends copy mode by @marcoarnulfo in #850
- CSV export: refuse a file over 512 MiB instead of expanding the whole used range (#528) by @Silvertree2010 in #853
- check: the package round trip reports relationship kinds the save lost by @marcoarnulfo in #871
- Reject out-of-range numeric filterBy columns instead of overflowing (#573) by @MarekSpodBiedry in #591
- Fix SEARCH position when text contains a char with multi-char lowercase (#571) by @MarekSpodBiedry in #593
- fix(engine): CSV named History keeps a valid sheet name (#570) by @MarekSpodBiedry in #594
- Read date text in the workbook date system in arithmetic and VALUE (#564) by @MarekSpodBiedry in #600
- Center Across Selection: center text over the empty cells to its right (#479) by @MarekSpodBiedry in #649
- View: Ctrl+wheel zoom steps along a ladder that never skips 100% (#689) by @vedran-dobos in #690
- Grid: deleting several Ctrl-selected rows removes them all (#758) by @vangel76 in #766
- Security: cell hyperlinks open only http, https and mailto, after a confirmation (#777) by @vangel76 in #780
- Numfmt: no panic on a fraction denominator with 65,536 zeros; format codes are capped at 255 characters (#807) by @vangel76 in #809
- Numfmt: format-code parsing is linear, and an unclosed [ is treated the same in both passes (#810) by @vangel76 in https://github.com//pull/811
- XLSX: Save As into another folder keeps links on the same workbook by @marcoarnulfo in #824
- View ribbon: lay out the Show group's checkboxes in two columns by @bmh129 in #830
- Grid: horizontal scrollbar in the sheet tab bar by @marcoarnulfo in #849
- UI: Show rule-specific data validation fields by @derechopiano in #854
- XLSX: keep chart sheets on open and save (#727) by @Silvertree2010 in #856
- EDATE and EOMONTH: serial 0 is day 0 and February 1900 has 28 days by @marcoarnulfo in #742
- Functions: MIRR, COUNTIF, INDIRECT and USDOLLAR match Excel 365 by @marcoarnulfo in #752
- Rows auto-fit oversized fonts on open and on row formatting (#833) by @edurbs in #855
- PivotTables: the PivotTable Fields pane follows the interface language by @marcoarnulfo in #862
- XLSX: XML maps survive a save, with their table columns and mapped cells by @marcoarnulfo in #863
- File view: the recent list tells when each workbook was last changed by @arcanii in #463
- UI: AutoComplete for cell values can be turned off, Backspace and Escape drop the proposal by @marcoarnulfo in #848
New Contributors
- @CyberFox-81 made their first contribution in #237
- @SteamSmith made their first contribution in #450
- @tydude001 made their first contribution in #452
- @prxnvt made their first contribution in #475
- @KitsuneSemCalda made their first contribution in #99
- @marcoarnulfo made their first contribution in #869
- @richard1912 made their first contribution in #664
- @dantebertuzzi made their first contribution in #720
- @msaulc made their first contribution in #763
- @CouchRiv made their first contribution in #882
- @isaac-levine made their first contribution in #704
- @jonathanwxh-cell made their first contribution in #712
- @brzuchal made their first contribution in #788
- @Silvertree2010 made their first contribution in #853
- @bmh129 made their first contribution in #830
Full Changelog: v0.6.1...v0.7.0