github storytold/gridcraft v0.6.1
GridCraft v0.6.1

7 hours ago

What's Changed

  • selection.move: clamp extreme dr/dc to the sheet edge instead of overflowing by @webdevtodayjason in #232
  • CHOOSE: pick element by element when the index is an array by @nihilist-narwhal in #252
  • Add MacJedi42 to the contributor names by @MacJedi42 in #253
  • Sort and Remove Duplicates: compare text the way Excel does by @nihilist-narwhal in #255
  • XLSX: write one cfvo per icon in icon-set rules (#235) by @alexanderalber in #262
  • XLSX: write @ as _xlfn.SINGLE in a dynamic-array formula (#64) by @alexanderalber in #267
  • Fix Paste button deadlock in ribbon by @ttrudging in #272
  • Add vangel76 to the contributor names by @vangel76 in #274
  • UI: skip system fonts egui can't parse instead of panicking at startup (#226) by @vangel76 in #277
  • UI: Name Box Enter goes to the typed cell, not the one below (#247) by @vangel76 in #282
  • macOS: use the correctly padded Dock icon by @Zarvinx in #222
  • fix: Save toolbar button and saveChanges dialog discard an in-progress cell edit by @Dejan-Port in #223
  • XLSX: bump quick-xml 0.38 -> 0.41 (RUSTSEC-2026-0195 namespace-declaration DoS) by @pkibiego in #231
  • Accuracy: round an exact tie at the 16th significant digit toward zero by @MacJedi42 in #248
  • Criteria: text patterns don't match blank cells by @nihilist-narwhal in #250
  • ci: refactor workflows to use storytold/craft-common-actions by @dylanmtaylor in #336
  • Do not draw the selection over the frozen pane when it lies only in the scrolling pane (#198) by @MarekSpodBiedry in #217
  • Resize charts from the corner handle and the Size fields, keep typed chart and table names (#190) by @MarekSpodBiedry in #218
  • Delete selected charts with the keyboard by @Zarvinx in #219
  • i18n: Spanish interface translation (the Español option only localized formulas) by @diegozpy in #242
  • Conditional formatting: apply every matching rule; Cell Value rules as in Excel by @nihilist-narwhal in #251
  • AutoFilter: a selected header row filters the data below it; search box in the filter menu (#201) by @alexanderalber in #263
  • Add German (de) interface language by @arekown in #271
  • Functions: ODDFPRICE, ODDFYIELD, ODDLPRICE, ODDLYIELD (#275) by @vangel76 in #276
  • Fill handle: Ctrl+drag swaps copying and extending a series (#264) by @vangel76 in #278
  • Functions: PERCENTOF and EUROCONVERT (#279) by @vangel76 in #280
  • Clipboard: pasted currency cells keep the number from the clipboard HTML (#257) by @vangel76 in #285
  • Functions: BAHTTEXT (#291) by @vangel76 in #292
  • Name Manager: New… and Edit… open the name dialog and return to the manager (#238) by @vangel76 in #293
  • View: Interface size preference scales the whole window (#230) by @vangel76 in #294
  • View: Formula Bar and Zoom 100% as engine commands (#289) by @vangel76 in #295
  • Functions: TRIMRANGE (#296) by @vangel76 in #297
  • Keep formula helpers inside the worksheet when scrolling (#200) by @webdevtodayjason in #228
  • Typed dates before 1900 stay text; typed times past 24 hours keep their hours by @nihilist-narwhal in #254
  • macOS: centre the window buttons in the title bar (#170) by @vangel76 in #323
  • Issue #347: Protect Sheet and Unprotect Sheet mask the password by @LloydNicholson in #351
  • Charts: Recommended Charts opens a dialog of chart types with previews (#215) by @vangel76 in #301
  • XLSX: write threaded comments and persons parts, read note visibility (#300) by @vangel76 in #302
  • Charts: Select Data edits the category axis labels; blank corner makes column 1 the categories (#287) by @vangel76 in #303
  • Checkboxes: ribbon button, Excel's value and Delete rules, XLSX cell controls (#196) by @vangel76 in #305
  • PivotTables: calculated fields (pivot.calculatedField) (#304) by @vangel76 in #306
  • Review: Allow Edit Ranges with Excel-compatible password hashes (#307) by @vangel76 in #308
  • Grid: freeze panes by dragging the freeze handles (#195) by @vangel76 in #309
  • Grid: mirror right-to-left sheets (#146) by @vangel76 in #310
  • Charts: PivotCharts (insert.pivotChart) (#311) by @vangel76 in #313
  • Windows: never load Vulkan by default; OpenGL fallback when DirectX 12 can't start (#120) by @vangel76 in #315
  • macOS: end the process in on_exit so quitting doesn't crash (#117) by @vangel76 in #316
  • Functions: FORECAST.ETS, .CONFINT, .SEASONALITY and .STAT (#314) by @vangel76 in #317
  • UI: title-bar light/dark switch, File › Display theme, system appearance on first run (#194, #239) by @vangel76 in #318
  • Keyboard: Excel shortcut audit, add the missing ones (#110) by @vangel76 in #319
  • Data: Analysis ToolPak with 13 tools and the Data Analysis dialog (#312) by @vangel76 in #320
  • Packaging: offer GridCraft for .xlsb and .ods files (#92) by @vangel76 in #321
  • Data: Solver with Simplex LP, integer branch and bound and a nonlinear method (#326) by @vangel76 in #327
  • UI: File tab Backstage view (#174) by @vangel76 in #331
  • i18n: Czech interface language (cs) by @Losminek in #335
  • Issue #341: resizing Ctrl-selected rows or columns resizes all of them by @LloydNicholson in #350
  • Get rid of double range copy for aggregation operations over ranges by @Fly-Style in #352
  • Issue #348: copying multiple selections works when the areas line up, and explains when it can't by @LloydNicholson in #353
  • Journal: sheet protection passwords aren't recorded in plain text by @LloydNicholson in #355
  • Fix horizontal worksheet tab scrolling by @ttrudging in #268
  • Cell: cell.set without an input is an error by @mikl0s in #207
  • Fix Rust 1.95 Clippy warnings by @Zarvinx in #212
  • Read the browser clock for NOW(), TODAY() and year-less dates on wasm (#202) by @MarekSpodBiedry in #216
  • Review: Previous/Next Comment, Show Comments, Show All Notes, Convert to Comments (#281) by @vangel76 in #286
  • Clipboard: Insert Copied Cells and Insert Cut Cells (#21) by @vangel76 in #288
  • UI fonts: symbol fallback faces so interface symbols aren't boxes (#197) by @vangel76 in #298
  • M2: fix cell vertical alignment positioning and add keytips (#241) by @AlissonFA in #261
  • Leave the active cell unshaded inside a selected range by @arcanii in #265
  • Glide the selection outline to a new selection; View ▸ Animations turns it off by @arcanii in #266
  • View: Page Layout view with rulers and in-place headers and footers (#329) by @vangel76 in #334
  • Data: Forecast Sheet (data.forecastSheet) (#322) by @vangel76 in #325
  • XLSX/IO: read legacy .xls (BIFF8) workbooks (#121) by @vangel76 in #332
  • XLSX: keep unmodelled parts on save (#330) by @vangel76 in #333
  • Cell references: an invalid reference is an error instead of the active cell by @mikl0s in #206
  • fix(ribbon): Watch Window layout in Formulas ribbon (#342) by @ege-arhan in #360
  • Edit date cells as dates, not serial numbers (#362) by @MarekSpodBiedry in #364
  • Ctrl+click on an already selected header or cell deselects it (#359) by @MarekSpodBiedry in #365
  • Reorder selected columns by dragging headers by @Zarvinx in #211
  • Feature/table slicers by @zaidshurbaji in #193
  • web: print straight to the system print dialog, not just export by @Dejan-Port in #209
  • Linux: the display theme asks the desktop, not winit by @gyurix in #203
  • Preserve VBA macros + Excel-style macros UX (issue #6) by @justinjohn0306 in #19
  • Fix: list and render installed system fonts (#4) by @justinjohn0306 in #9
  • Grid: merged ranges draw their right and bottom borders (#376) by @vangel76 in #380
  • Grid: render Shrink to fit (#375) by @vangel76 in #381
  • Windows: compile DirectX 12 shaders with FXC, no DXC runtime needed (#339, #354) by @vangel76 in #382
  • View: restore and save the scroll position (topLeftCell) (#378) by @vangel76 in #383
  • Review: Protect Workbook dialog with an Excel-compatible password (#345) by @vangel76 in #384
  • Review: Protect Sheet passwords use Excel-compatible hashes, kept in XLSX (#346) by @vangel76 in #387
  • Keyboard: Shift+Space and Ctrl+Space select without starting an edit (#338) by @vangel76 in #395
  • Data validation: relative formulas, checked with the value being entered by @nihilist-narwhal in #397
  • Defined names: relative references follow the cell that uses the name by @nihilist-narwhal in #398
  • XLSX: write the _xlfn. prefix for GROUPBY, PIVOTBY, ENCODEURL and the REGEX functions by @nihilist-narwhal in #399
  • INDEX: arrays of row and column numbers pick a value each by @nihilist-narwhal in #400
  • Web: native Save and Save As file picker with download fallback by @GhostMitra in #391
  • XLOOKUP: return a reference when the result range is one by @nihilist-narwhal in #396
  • Web & UI: resolve system theme preference and default web to system theme by @GhostMitra in #390
  • Web: add favicon to web app index and disable dev incremental compilation by @GhostMitra in #392
  • File: desktop Print opens the system PDF viewer, Save As offers PDF/CSV/HTML (#370, #343) by @vangel76 in #394
  • Draw the outline band for grouped rows and columns (#373) by @itrycodinganditsbad in #388
  • Drawing: text box formatting — run size/bold/font/outline, alignment, anchor, no outline (#377) by @vangel76 in #401
  • UI fonts: formula bar falls back to the cell font, so Hebrew isn't boxes (#349) by @vangel76 in #402
  • Headers and footers: first-page and even-page variants, Insert › Header & Footer edits in place (#344) by @vangel76 in #404
  • Scatter charts of two unlabelled columns plot the first as X for one series (#428) by @MarekSpodBiedry in #438
  • Rotated text follows the cell's alignment by @itrycodinganditsbad in #439
  • Refuse formulas with the wrong argument count on entry (#363) by @shrshk in #409
  • Keytips: table-driven sequential access-key system (issues #33, #49) by @jsymes21-byte in #411
  • Keytips: full Excel sequential Alt table — 364 sequences, badges on every control, generated tests (fixes #33, #49) by @jsymes21-byte in #412
  • i18n: add French (fr) interface by @pechnikov2026-star in #413
  • CI: run cargo xtask ci on pull requests and pushes to main by @neilcawse in #415
  • CLI: check subcommand - cached-value calc oracle and XLSX round-trip fidelity on any corpus by @neilcawse in #416
  • Numfmt: fraction literals and zero fractions, ? pads thousands separator, TEXT booleans through text section by @neilcawse in #418
  • Functions: MODE/VALUE/SUMPRODUCT text args, ADDRESS [Book]Sheet, Excel-style lookup bisection, SUBTOTAL skips filtered rows by @neilcawse in #419
  • Formulas: trim-reference operators (A1:.E10, A1.:E10, A1.:.E10); read unbracketed [[#This Row],Col] by @neilcawse in #420
  • Calc: iterative calculation for circular references (Maximum Iterations, Maximum Change) by @neilcawse in #421
  • File formats: CSV/TSV export writes displayed values; templates and .xlsm saved with their own content types by @neilcawse in #422
  • XLSX: strip _xlpm. from LET/LAMBDA parameters on read, keep line breaks in table columns, allow leading backslash in table names by @neilcawse in #423
  • Charts: read, write and draw trendlines by @neilcawse in #424
  • Engine: command-sequence fuzz harness (undo/redo, XLSX round-trip, full-recalc invariants) and the bugs it found by @neilcawse in #425
  • CSV: saving keeps the separator the file was opened with (#426) by @vedran-dobos in #427
  • Fix AutoFit width for table and AutoFilter dropdowns by @derechopiano in #433
  • Open password-encrypted workbooks (Agile and Standard encryption) (#11) by @LloydNicholson in #436
  • Print: select printers and submit jobs through craft-print by @skylartaylor in #459
  • Release workflow: pass the Azure signing secrets by @echelon in #440

New Contributors

Full Changelog: v0.5.0...v0.6.1

Don't miss a new gridcraft release

NewReleases is sending notifications on new releases.