Release Notes

Update history for ReoGrid v4.

Last updated: June 12, 2026
Latest
v4.5.0
June 12, 2026
  • Note
    A license key is now required. From v4.5 onward, you must set a valid license key with SetLicense(string) before use. If no key is set, a gray overlay covers the entire grid and mouse/keyboard input, cell editing, and printing are blocked. When upgrading from v4.4 or earlier, be sure to call SetLicense(string) before using the grid.
    • License keys are tamper-protected with a digital signature.
    • License keys are available from the customer portal (https://portal.unvell.com/).
  • New
    Added 47 Excel-compatible formula functions, spanning logical, lookup, date, statistical, and text categories.
    • Logical / conditional: IFERROR / IFS / SUMIFS / COUNTIFS / AVERAGEIFS
    • Lookup / reference: INDEX / OFFSET / CHOOSE
    • Math / statistics: ROUNDUP / ROUNDDOWN / INT / TRUNC / SQRT / SIGN / PI / SUMPRODUCT / RANK / LARGE / SMALL / MEDIAN / STDEV / STDEVP / VAR / VARP
    • Date / time: DATE / DATEVALUE / TIMEVALUE / WEEKDAY / WEEKNUM / EDATE / EOMONTH / NETWORKDAYS / WORKDAY
    • Text: TEXT / SUBSTITUTE / REPLACE / CONCAT / CONCATENATE / TEXTJOIN
    • Information: ISTEXT / ISNONTEXT / ISNA / ISLOGICAL / ISEVEN / ISODD
    • Double-byte (CJK): JIS / ASC / DBCS, plus a simplified PHONETIC
  • New
    Added point-mode formula editing. While editing a formula, click a cell to insert or replace a cell reference at the cursor without leaving edit mode. Drag to extend it to a range, and use the arrow keys to move the active reference — the same feel as Excel and Google Sheets. Every reference in the formula is color-coded and highlighted.
    • Drag a highlight border edge to move the reference, or drag a corner to resize it.
  • New
    Added reading and writing of XLSX outlines (grouping). Row and column outline levels and collapsed state are now exchanged with Excel files.
  • New
    Exposed LazyLoadDataSource, with an AddDataSource(source, mode) overload that infers the range automatically from the record and column counts.
  • Improvement
    Substantially improved XLSX loading performance and memory usage.
    • Introduced an in-house streaming parser that avoids generating intermediate data during loading.
    • Workbooks with many sheets now parse only the open sheet up front and materialize the others on first access.
    • Reduced memory usage by about 37% on a 10-million-cell workbook (3.9 GB → 2.5 GB). With viewport-aware style evaluation, memory dropped a further ~40% and load time ~60%.
    • Sped up cell loading by about 50% (number-format pattern caching, optimized reference resolution, and more).
  • Improvement
    Strengthened XLSX import compatibility.
    • Support for multi-section / conditional custom number formats.
    • Fixed theme colors being loaded with light/dark swapped, so cells now display the correct color.
    • Correct interpretation of rich-text formatting (whether bold is on) and splitting into separate lines at each line break.
    • Display of images anchored to a cell position (such as stamps) and the preview image of embedded OLE objects.
    • Inline-string cells are now loaded as text.
  • New
    Added Worksheet.ClearStyleCache(range?) for releasing memory — after a large bulk load you can release cached styles.
  • New
    Added Worksheet.RowOutlineButtonLocation / ColumnOutlineButtonLocation to set the outline-button position independently for rows and columns (the existing OutlineButtonLocation sets both at once).
  • Fix
    Formulas: fixed a rare crash when clicking a cell partway through typing a function name.
  • Fix
    Styles: fixed an issue where changing one of several cells that share a style also changed the others.
  • Fix
    Styles / fonts: fixed an issue where cells that inherit a font changed size or weight when an edit was committed or on redraw.
  • Fix
    Printing: fixed an empty sheet being split across two pages, an exception when dragging a page break, and an extra one-cell page for rows/columns that fit exactly at the page edge.
  • Fix
    Excel import: fixed split windows being mistaken for frozen panes, which crashed the entire sheet load.
  • Fix
    Rich text (WinForms): fixed text being clipped when auto-fit left the row height too short.
  • Fix
    Fixed console/shell output being disrupted after CSV export.
Previous Releases

v4.4.0

April 24, 2026
  • Improvement
    Faster rendering: cached cell style and border-drawing resources to speed up screen redraws.
  • Improvement
    Faster font handling: optimized font name lookup and font object retrieval for smoother behavior when displaying large numbers of cells.
  • Improvement
    Faster formula recalculation: redesigned the dependency-tracking algorithm, achieving roughly 2.7× speedup in cases where a single cell is referenced by many other cells.
  • Improvement
    Faster sorting: significantly improved sort performance on large datasets by suspending unnecessary processing during the sort.
  • Improvement
    Faster conditional formatting: optimized evaluation timing — instead of recalculating on every cell edit, conditional formats are now processed in batch at render time.
  • Improvement
    Faster bulk data operations: improved performance of range data assignment, paste, and undo operations by suppressing screen updates and event firing during batch processing.
  • Fix
    Formulas: expressions with a leading plus sign such as =+D25-F8-F14 now behave the same as in Excel.
  • Fix
    Formulas: references with parentheses or whitespace in sheet names (e.g., 'BS(USD)'!B3, 'My Sheet'!A1) are now handled correctly.
  • Fix
    Sorting: formulas now correctly move along with their rows during sort (matching Excel behavior).
  • Fix
    Conditional formatting: fixed an issue where cell styles were not properly cleared when a conditional format was removed.
  • Change
    Removed the ConditionalStyleApplyCells property and the ConditionalStyleApplyCellCollection class.
  • New
    Added Worksheet.HasConditionalStyle(row, col) / HasConditionalStyle(CellPosition) to check whether a conditional style is applied to a given cell.
  • New
    Added the Cell.HasConditionalStyles property — a lightweight check that does not require materializing the style list.

v4.3.14

March 25, 2026
  • Fix
    Fixed mouse scroll behavior in NormalViewportController, correctly enforcing horizontal and vertical scroll limits.
  • Fix
    Fixed a background color application issue in ControlShareControlStyle changes are now reflected immediately.
  • New
    Added a StyleChanged event to ControlAppearanceStyle to notify when a style color is changed.

v4.3.12

February 18, 2026
  • Fix
    Fixed slow Excel export when cell fonts were specified.
  • Fix
    Fixed RGF save/load so that number-format arguments specified as a string pattern (e.g., 0.0) are preserved correctly.

v4.3.11

February 12, 2026
  • Fix
    Fixed a regression introduced in v4.3.10 where the borders of the last row and last column were not drawn.
  • Fix
    Fixed an issue in multi-page printing where cells in the last row and last column were not printed on the final page.

v4.3.10

February 7, 2026
  • New
    Exposed DoAction on Worksheet.
  • Fix
    Fixed scrollbar position during synchronization.
  • Fix
    Fixed cell overflow during printing.
  • Fix
    Fixed font styles in Excel export.

v4.3.8

December 25, 2025
  • Fix
    Fixed an issue in WPF rich text where font keys were not detected; added a font lookup fallback.
  • Fix
    Fixed rendering of header dropdown buttons.
  • New
    Added the IsSuspendingScrollToCell property to temporarily disable scrolling to a cell.
  • Improvement
    Improved row/column select-all behavior, resolving an issue where the view was forcibly scrolled to the last cell under certain conditions.

v4.3.4

December 3, 2025
  • Fix
    Fixed an issue in the WPF version where RichText was not rendered correctly under certain conditions.
  • New
    Added Undo / Redo support for built-in cell types.
  • Fix
    Fixed an issue where row header background colors were not displayed correctly under certain conditions.
  • Fix
    Fixed guideline and selection display for hidden cells.

v4.3.3

November 13, 2025
  • Fix
    Fixed an issue where some hidden columns could not be re-shown after loading an RGF file.
  • Fix
    Fixed an issue where cell formulas were not recalculated under certain conditions.
  • Fix
    Fixed an issue where SheetTab was not drawn correctly after rearranging worksheets.
  • Fix
    Fixed an issue where DropdownCell could not be copied.
  • Fix
    Fixed an issue where the scrollbar position was not displayed correctly under certain conditions when freezing cells.

v4.3.2

November 6, 2025
  • Fix
    Fixed an exception that occurred with no-argument formulas (e.g., ABS(), COS()).
  • Fix
    Fixed issues with text wrapping (line breaks) inside cells.
  • New
    Added text wrapping support for header cells.
  • Fix
    Fixed an issue where outline (group) level button text was not drawn correctly when zooming.
  • Fix
    Fixed scaling issues in rich text rendering.
  • Fix
    Fixed an issue where column widths were not retrieved correctly when loading Excel files.
  • Fix
    Fixed a rare error that occurred in header cells.
  • Fix
    Fixed an issue in the WPF version where sheet tabs were not displayed correctly.
  • New
    Added the SheetTabFont property.
  • New
    Added the Worksheet.Tag property.
  • Fix
    Fixed display issues when moving sheet tabs by drag and drop.
  • Fix
    Fixed an issue where the Dotted border style was changed to Dashed when exported to Excel.
  • Fix
    Fixed an issue where cells without an explicit font size changed from 10.5 to 12.5 when exported to Excel.

v4.3.0

October 6, 2025
  • Change
    Renamed IsValidAddress to IsValidAddressFormat for clearer naming.
  • New
    Added Worksheet.IsValidAddress for stricter address string validation.
  • New
    Added IsValidCellAddress and IsValidRangeAddress to safely generate coordinate objects while validating address validity, with improved performance.
  • Improvement
    Improved robustness by using IsValidCellAddress / IsValidRangeAddress in ReoGrid internal processing.
  • Fix
    Fixed an issue where cells were not loaded correctly when zooming during Lazy Loading.
  • Improvement
    Enhanced the ADDRESS function to dynamically generate addresses from referenced cell values.
  • Improvement
    Enhanced the INDIRECT function for more accurate cell reference management and proper interpretation of lowercase addresses.
  • Fix
    Fixed an issue where row number text was not scaled during zoom operations.
  • Fix
    Fixed an issue where Excel files containing certain RichFormatText became corrupted when loaded and saved.
  • Change
    Changed the target framework from net8.0-windows7.0 to net8.0-windows, supporting more general .NET 8 Windows environments.
  • Improvement
    Improved recalculation after worksheet cloning.
    • Resolved cases where calculation results became inconsistent or outdated immediately after cloning sheets containing shared formulas and dependency chains.
    • Reorganized reference remapping and recalculation order during clone creation to guarantee an immediately consistent display.
    • In most cases, additional Recalculate calls in existing code are no longer necessary. Explicit recalculation is still possible when needed.
  • Improvement
    Improved reliability of border (Border) Excel output.
    • Normalized output to avoid writing empty/transparent borders as unnecessary "thin" styles.
    • Fixed mapping for Dotted / DashDot / DashDotDot / medium* styles to prevent shape corruption during re-import.
    • Resolved an issue where unnecessary opposite-side lines reappeared in corner cells when the "outside only" setting was applied.
  • Note
    If you were relying on inner lines that were unintentionally added after setting "outside only" in previous versions, you will need to set them again explicitly.
  • Note
    Code that called Recalculate immediately after cloning may now be redundant (it can be kept for performance-tuning purposes).
  • Improvement
    Excel compatibility: 0 can now be interpreted as FALSE. In functions such as IF, 0 evaluates as FALSE and any non-zero number as TRUE.
  • New
    Implemented lookup functions.
    • VLOOKUP: supports exact and approximate matching with numeric and string keys. The fourth argument accepts TRUE/FALSE as well as 1/0.
    • HLOOKUP: supports horizontal lookup.
    • MATCH / XMATCH: return the position of a match. Supports direction options (0, 1, -1).
    • XLOOKUP: provides flexible lookup with if_not_found, match modes, and search modes.
  • Improvement
    Operator improvements: the multiplication operator (*) can now convert numeric strings to numbers (e.g., "10"*2 → 20).
  • Improvement
    Error handling improvements: division by zero is now processed as InvalidValue (the Excel-compatible #DIV/0!). FormulaStatus is now InvalidValue instead of Normal in this case.
  • Note
    When using approximate matching, the data must be sorted in ascending or descending order, the same as in Excel.
  • Improvement
    Improved stability.
  • Improvement
    Improved rendering performance.
  • New
    Added support for .NET 8 and .NET Framework 4.8.
  • Fix
    Fixed an issue where red text formatting was not displayed correctly.

v4.0.0

Major Release
  • New
    Lazy Loading — ultra-fast data loading mode.
  • New
    Multi-row header support.
  • Improvement
    Significantly enhanced WPF version.
  • New
    Added the data source mechanism.
  • Improvement
    Enhanced DropdownListCell.
  • New
    Added ComboListCell (with auto-completion support).
  • New
    Added support for Excel custom format patterns.
  • Improvement
    Enhanced outlines.
  • New
    Added customizable condition filters.
  • New
    Added conditional styles.
  • New
    Added string search functionality.
  • Improvement
    Enhanced cell locking.
  • New
    Added input validation.
  • New
    Worksheet data now supports column 0 and row 0.
  • Improvement
    Further rendering speed improvements.
  • Improvement
    Floating-point calculation precision corrections.
  • New
    Automated testing support via WinAppDriver.
  • Improvement
    Additional formula functions supported.

For an overview of the major new features in ReoGrid v4:

What's New page