Skip to content

V4 dev#18

Merged
Smurf-IV merged 32 commits into
mainfrom
V4-Dev
May 5, 2026
Merged

V4 dev#18
Smurf-IV merged 32 commits into
mainfrom
V4-Dev

Conversation

@Smurf-IV
Copy link
Copy Markdown
Owner

@Smurf-IV Smurf-IV commented May 5, 2026

2026-05-05 - V4

  • ⛓️‍💥 Breaking Change(s)
    • Removal of GetSheetFileName(int offsetSheetId);
    • Removal of GetDefinedRange via int sheetId
    • Removal of Index property from ISheet
    • Internal Creation of WorkBooks
    • Internal implementation of IOpenXmlWorkBookReader::GetSheetNames now returns the relative path to the sheetName
    • CellValue is now a class, therefore no need to use .Value
    • ICell.CellValue is now nullable
  • ArrayPool support has been added to ThreadStringBuilderPool using ArrayPool.
  • Release-specific optimizations added
    • EnableTrimAnalyzer: true
    • TieredCompilation: true
    • TieredCompilationQuickJit: true
    • TieredCompilationQuickJitForLoops: true
  • Implement System.DBNull return option, for empty cells
    • Implement INullRow return option, for empty rows
    • Update tests to use INullRow detection
  • Implement GetCell###(string columnLetters, ...) [Bug]: V2.2512.## No implementation for GetCell###(string columnLetters, ...) #8
  • Implement System.DBNull return option, for empty cells
  • Mark up usage of userdefined cells styles for V5
  • Update "Sylvan.Data.Excel" to Version="0.5.5"
  • Remove in usages (Supposed to not benefit !)
  • Make use of ThreadStatic in XlsbRow
  • Remove secoundary usage of a struct
  • Re-introduce the CellConversion for the XLSX cell types
  • Use ValueTask and reduce memory allocations in some hot paths
  • Cell object type 📅
    • "Best Effort" Operator based conversion
    • TryGetType will return out type, if stored as that type.
  • Add Ecma376StandardProvider
  • Add StylesExtractor
  • Attempt to make use of the Cell types
  • Tinker with some MethodImpl
  • Add _iStyleRef and start to add formatting based on it
  • Fix fallout from making CellValue is now a class
  • 🚀 2026-05-05 - V4

    - Removal of `GetSheetFileName(int offsetSheetId);`
    - Removal of `GetDefinedRange` via `int sheetId`
    - Removal of `Index` property from `ISheet`
    - Internal Creation of WorkBooks
    - Internal implementation of `IOpenXmlWorkBookReader::GetSheetNames` now returns the relative path to the sheetName

#10
- Return as internal dictionary (Performance)
- Fix broken test
- Update third party Benchmark nugets
- Tinker with relase notes
- Return as internal dictionary (Performance)
- Fix broken test
- Update third party Benchmark nugets
- Tinker with relase notes
    - "Best Effort" `Operator` based conversion
    - TryGet`Type` will return `out type`, if stored as that type.
- Some Compile warnings
- Add `StylesExtractor`
- Attempt to make use of the Cell types
- Tinker with some `MethodImpl`
- Add `_iStyleRef` and start to add formatting based on it

#3
- Update performance figures
- Update `yml` files
- Add tests for formatting
- Make use of ThreadStatic in XlsbRow
- Remove secoundary usage of a struct
- Mark up usage of userdefined cells styles for V5
- Update "Sylvan.Data.Excel" to Version="0.5.5"

#16
- Update tests to use `INullRow` detection
- TieredCompilation: true
- TieredCompilationQuickJit: true
- TieredCompilationQuickJitForLoops: true
… ArrayPool<char>.

- Add `ISpanFormattable`
- Reduce length of the releaseNote below 4000 characters
@Smurf-IV Smurf-IV merged commit 26105d0 into main May 5, 2026
1 check passed
@Smurf-IV Smurf-IV deleted the V4-Dev branch May 5, 2026 08:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant