What's Changed
- Grant network access so update checks can reach GitHub by @dylanmtaylor in #2841
- Honor CARGO_BUILD_TARGET in FreeBSD packaging for aarch64 release builds by @dylanmtaylor in #2847
- Macro interface: Automate › Macros, Macros and Record Macro dialogs, step editor with a debugger by @prxnvt in #478
- Macro engine: macro tokens, resolved to A1 references when a step runs by @prxnvt in #2151
- Macro engine: the macro recorder and macro.list, get, save, delete, rename, record by @prxnvt in #2152
- Macro engine: typed macros saved in the workbook by @prxnvt in #465
- Macro engine: macro.run with input checks, a file-access policy and a check of each step by @prxnvt in #2144
- Macro engine: macro.debug steps through a macro as one undo step by @prxnvt in #2145
- Macro engine: macro.check and a footprint dry run, worked out before a macro runs by @prxnvt in #2550
- Clear: Delete and the Clear commands skip the rows a filter hides (#1419) by @switch87 in #1422
- packaging: Flatpak finds and prints to CUPS printers by @dylanmtaylor in #2913
- CI: workflows only call craft-common-actions at @main (AGENTS.md; windows-arm64 unpinned) by @dylanmtaylor in #2921
- Update prompt shows the app icon and accent color instead of a letter by @dylanmtaylor in #2928
- Fix pretend-version testing for update prompts by @dylanmtaylor in #2934
- fix(engine): set default workbook author (#2448) by @AnhNgoo in #2726
- fix(keyboard): Ctrl with the numpad's + inserts rows, columns or cells, as in Excel by @RomanLis91 in #2769
- fix(grid): prevent partial wrapped text lines in fixed-height rows by @AnhNgoo in #2817
- Open Excel's password-protected workbooks again: accept a hash-size integrity key (#2712) by @nct88 in #2870
- Fix editing existing cell hyperlinks by @Plutonium-fream in #2883
- Keep Fill Series value equal to stop despite float drift by @Silvertree2010 in #2888
- Keep chart source outlines beneath floating objects by @Plutonium-fream in #2896
- Formula pointing: Ctrl+arrow and Ctrl+Shift+arrow jump to the edge of the data (#2918) by @kkilchrist in #2919
- Refusal to shift cells off the worksheet names GridCraft, not Excel (#2941) by @MarekSpodBiedry in #2955
- macOS menu test: use the whole native menu, so clippy passes on a Mac by @Aimarmndz in #2970
- Click a status bar statistic to copy its value by @Dmussi in #2620
- macOS: declare the UI languages so the open and save panels are translated by @Atalantis in #2627
- CSV export: opt-in values: true writes raw cell values (#2648) by @Harrison-Booth in #2666
- IMSQRT: reproduce Excel's stray real part for negative reals by @Harrison-Booth in #2670
- Engine test: copying a sheet that holds a spill matches a full recalc (#2053) by @Harrison-Booth in #2708
- fix(engine): gate the temp-name symlink test to unix by @Higgs32584 in #2713
- Security: web links open with noopener as a window feature (#2715) by @Higgs32584 in #2718
- Security: cap the work of lifted lookups with #NUM! (#2716) by @Higgs32584 in #2719
- Security: control channel enforces its token deadline and caps waiting connections (#2717) by @Higgs32584 in #2722
- functions: add ECMA.CEILING by @Harrison-Booth in #2794
- HYPERLINK without a friendly name returns the link as text by @Harrison-Booth in #2795
- Fix AutoSum caret in empty formula by @Harrison-Booth in #2851
- fix(flatpak): allow reading launcher version pins by @dylanmtaylor in #2985
- Print checkbox cells as boxes, not TRUE/FALSE (#2972) by @michael-hatz in #2982
- Print structured refs to columns starting with @ in double brackets by @Silvertree2010 in #2983
- Reject whitespace in base conversion source strings by @Harrison-Booth in #2989
- Validate places for negative base conversions by @Harrison-Booth in #2990
- Return zero for oversized shifts of zero bit values by @Harrison-Booth in #2991
- Return #N/A for Unicode noncharacters in UNICHAR by @Harrison-Booth in #2992
- docs(releasing): M13: correct outdated prerequisites by @AxylumRust in #2993
- match Excel single-character casing by @Harrison-Booth in #2994
- avoid binary noise in fixed decimal text by @Harrison-Booth in #2995
- enforce fixed and dollar output limits by @Harrison-Booth in #2996
- retain dollar sign when rounding to zero by @Harrison-Booth in #2997
- F distribution accepts 10-billion degrees of freedom by @Harrison-Booth in #2998
- Match Excel errors for zero T.DIST degrees by @Harrison-Booth in #2999
- Stabilize Student-t density for large degrees of freedom by @Harrison-Booth in #3000
- T.INV returns division error at zero probability by @Harrison-Booth in #3001
- GAMMA.DIST returns NUM at zero and shape one by @Harrison-Booth in #3002
- WEIBULL.DIST density is zero at zero by @Harrison-Booth in #3003
- cap binomial trial counts by @Harrison-Booth in #3006
- match beta density endpoint errors by @Harrison-Booth in #3007
- return NA for empty harmonic mean input by @Harrison-Booth in #3008
New Contributors
- @AnhNgoo made their first contribution in #2726
- @RomanLis91 made their first contribution in #2769
- @nct88 made their first contribution in #2870
- @Plutonium-fream made their first contribution in #2883
- @kkilchrist made their first contribution in #2919
- @Dmussi made their first contribution in #2620
- @Atalantis made their first contribution in #2627
- @michael-hatz made their first contribution in #2982
- @AxylumRust made their first contribution in #2993
Full Changelog: v0.13.0...v0.14.2