What's Changed
- Sort: order Arabic text by its letters, not its vowel marks or digit script by @Mouhand-Kaddo in #1940
- AutoFit: estimate Arabic text width from measured glyph widths by @Mouhand-Kaddo in #1933
- Number formats: honour the B1/B2 calendar prefixes (Hijri dates for B2) by @Mouhand-Kaddo in #1918
- Arabic font fallback in cells, the formula bar and the web by @Mouhand-Kaddo in #931
- Arabic bidi layout and cell reading direction in the grid and editors by @Mouhand-Kaddo in #947
- XLSX: legacy formulas (no dynamic-array
cm) open with Excel's implicit@and calculate like Excel by @neilcawse in #417 - UI.1265: align CJK fallback text with the Latin baseline by @RockerHX in #3081
- M12: regional format data (Region, 20 regions) by @quantforge-br in #3048
- XLS: formulas open as legacy formulas with Excel's implicit @ (#410) by @Harrison-Booth in #1367
- Naming: use Diagram and Decorative Text in the feature catalog by @FredApps in #3622
- i18n(uk): translate Chart as Діаграма by @FredApps in #3703
- PDF export: index merged areas when drawing a block by @dylanmtaylor in #3203
- Go To: index defined names when resolving and listing them by @dylanmtaylor in #3206
- xtask: probe keytip commands without file access, and refuse text that could escape generated code by @dylanmtaylor in #3269
- engine: show overlong format codes as General without hashing them per cell by @dylanmtaylor in #3273
- ui-egui: embed craft-fonts files only from inside the checkout by @dylanmtaylor in #3281
- engine: Consolidate finds keys through hash maps and refuses an oversized table by @dylanmtaylor in #3285
- functions: REGEXREPLACE keeps only the requested occurrence's captures by @dylanmtaylor in #3288
- io: refuse a FIFO before opening it; keep the replaced file's group on save by @dylanmtaylor in #3313
- Sandbox: a crate that runs a helper program confined (Landlock and seccomp on Linux, sandbox-exec on macOS) by @prxnvt in #3476
- Manage Rules: scroll the rule list instead of laying out every rule by @vangel76 in #3382
- Functions: lookups keep an empty target cell blank (#374) by @vangel76 in #379
- MCP: the stdio server keeps at most 16 MB of a message (#2164) by @nihilist-narwhal in #2326
- xlsx: escape shape font typeface attribute (#2170) by @Higgs32584 in #2196
- Numfmt: one built-in format table, fewer allocations rendering numbers and General (#817) by @vangel76 in #820
- Conditional formatting: one scan budget per rule, no thresholds for unsupported colour scales by @dylanmtaylor in #3201
- Get Data: refuse an import whose dense rows would be too large by @dylanmtaylor in #3193
- Find and Replace: bound the text a replacement builds by @dylanmtaylor in #3194
- Forecast Sheet: count hindcast rows against the work limit by @dylanmtaylor in #3199
- Security: WORKDAY, PIVOTBY, SORT and the D-functions stop rescanning their input by @dylanmtaylor in #3200
- Security: TEXTJOIN builds its result piece by piece within the text cap by @dylanmtaylor in #3202
- Security: chart rasterising, spline points and category labels stay bounded by @dylanmtaylor in #3204
- Wildcards: match * and ? patterns in one pass over the text by @dylanmtaylor in #3205
- Analysis ToolPak: stop building a report once it outgrows the output limit by @dylanmtaylor in #3207
- FORMULATEXT and the in-cell editor keep Hidden formulas hidden by @dylanmtaylor in #3298
- xlsx: keep the cached value of a follower whose shared-formula copy is refused by @dylanmtaylor in #3212
- xlsx: find a reused picture through a content hash instead of comparing every media part by @dylanmtaylor in #3214
- numfmt: TEXT returns #VALUE! when its result passes a cell's 32,767 characters by @dylanmtaylor in #3264
- xlsx: analyse each kept chart sheet's graph once per save by @dylanmtaylor in #3261
- calc: one cumulative work budget per formula, and INDEX decides multi-cell picks from their shape by @dylanmtaylor in #3188
- Row auto-fit: sweep merges once per sheet instead of per row by @dylanmtaylor in #3195
- engine: Scenario Summary size limit, bounded solver report names, undo history counts comment and link text by @dylanmtaylor in #3308
- xlsx: resolve cell pictures through a per-structure layout and a relationship index by @dylanmtaylor in #3255
- pivot: Rank and Running Total computed once per sibling set; accumulator, caption and chart-series bounds by @dylanmtaylor in #3306
- xls: charge expanded shared-formula text to the import's text allowance by @dylanmtaylor in #3256
- Save as Web Page: a byte budget for the charts' SVG (an error past it) by @dylanmtaylor in #3209
- xlsx: share inline dxf number formats within a styles part by @dylanmtaylor in #3260
- Release: GridCraft v0.19.0 by @FredApps in #3770
- Sandbox: build on riscv64, where libc names no kexec_file_load by @FredApps in #3777
New Contributors
- @RockerHX made their first contribution in #3081
- @quantforge-br made their first contribution in #3048
Full Changelog: v0.18.0...v0.19.0