Repository navigation
2026.10.07.1
Changes by project
CompuMaster.EPPlus4 and legacy Epplus-FixCalcsEdition.Net48 project
- Fixed inherited EPPlus4 cell-store races that could lose or change values during concurrent writes, especially when column indexes grew. Competing storage operations now use a stable monitor.
- Protected workbook-wide style updates and style-collection lookups. Style enumeration captures collection membership; the contained style objects remain mutable.
- Serialized calculation and parser-manager operations within each workbook, including dependency-chain and token preparation, and coordinated these operations with saving and disposal through a package-local monitor. Independent packages keep separate monitors.
- Protected core workbook/style/parser initialization and address-cache reads, safely published the operator dictionary, and made the image URI counter atomic. Public signatures and the historical mutable range-indexer behavior are preserved (#27).
- Updated the NuGet README with the warning: Epplus4 (including its fork CompuMaster.EPPlus4) is not thread-safe. Use each ExcelPackage in one thread, or externally coordinate all access and complete compound operations. The remaining cached-range, callback-reentry, arbitrary workbook access, cross-workbook/direct-mutation, and global stream-copy limitations are documented. The shared RAND seed and other investigation candidates remain tracked in #26. These fixes do not establish general thread safety.
Repository documentation and CompuMaster.Excel.Test
- Added matching Known Issues sections to the repository and EPPlus project README entry points, immediately after Special CompuMaster Edition.
- Added 20 synchronization regression cases with serial controls, saved-result assertions, controlled calculation/save/dispose interleavings, stable monitor identity, style-enumeration coverage, and independently owned package scenarios. The selected regression suite passed on both .NET Framework 4.8 and .NET 8: 99 passed and 2 skipped per runtime. All four CompuMaster.EPPlus4 targets build.
The standard release workflow republishes the repository's enabled NuGet packages with the aligned release version. Source changes since 2026.10.07.0 are limited to the projects and documentation listed above; packages that depend on CompuMaster.EPPlus4 receive the updated dependency through this release.
Full Changelog: 2026.10.07.0...2026.10.07.1