Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 9 additions & 5 deletions appveyor8.yml
Original file line number Diff line number Diff line change
@@ -1,20 +1,24 @@
version: 8.3.1.{build}
version: 8.4.0.{build}
branches:
only:
- develop8
configuration: release
image: Visual Studio 2022
install:
- ps: |
Invoke-WebRequest -Uri 'https://dot.net/v1/dotnet-install.ps1' -UseBasicParsing -OutFile "$env:temp\dotnet-install.ps1"
& $env:temp\dotnet-install.ps1 -Architecture x64 -Version '10.0.100' -InstallDir "$env:ProgramFiles\dotnet"
init:
- ps: >-
Update-AppveyorBuild -Version "8.3.1.$env:appveyor_build_number-$(Get-Date -format yyyyMMdd)-$env:appveyor_repo_branch"
Update-AppveyorBuild -Version "8.4.0.$env:appveyor_build_number-$(Get-Date -format yyyyMMdd)-$env:appveyor_repo_branch"

Write-Host "8.3.1.$env:appveyor_build_number-$(Get-Date -format yyyyMMdd)-$env:appveyor_repo_branch"
Write-Host "8.4.0.$env:appveyor_build_number-$(Get-Date -format yyyyMMdd)-$env:appveyor_repo_branch"
dotnet_csproj:
patch: true
file: '**\*.csproj'
version: '{version}'
assembly_version: 8.3.1.{build}
file_version: 8.3.1.{build}
assembly_version: 8.4.0.{build}
file_version: 8.4.0.{build}
nuget:
project_feed: true
before_build:
Expand Down
27 changes: 27 additions & 0 deletions docs/articles/fixedissues.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,31 @@
# Features / Fixed issues - EPPlus 8
## Version 8.4.0
### Features
* Added targeting framework .NET 10.
### Fixed issues
* Fixed an issue where the DATEDIF function returned incorrect results for the number of months.
* Fixed an issue where EPPlus incorrectly evaluated the expression TRUE=1 as TRUE instead of FALSE.
* Resolved various issues in CEILING, ISOCEILING, CEILING.PRECISE, CEILING.MATH and FLOOR, FLOOR.PRECISE, FLOOR.MATH functions, especially when handling negative multiples.
The TIME function was previously limited to the range 00:00:00–23:59:59. It now behaves similar to Excel, supporting overflow and negative values.
* Fixed an issue where the TIME function did not handle array input correctly.
* Chart Style Manager reset the series color cycle when multiple chart types or a secondary axis were used.
* Direct input of errors like #DIV/0!, #NAME?, #NULL! or #GETTING_DATA was not supported in formulas and arrays.
* ISBLANK("") incorrectly returned true.
* ERROR.TYPE returned a #VALUE! error when supplying a #DIV/0! error.
* INDIRECT("") now returns a #REF! error.
* CONCATENATE(TRUE,FALSE) now returns the bool-strings in upper case, as Excel.
* REPT("ab",-1) now returns a #VALUE error.
* Fixed several issues with the MOD function and negative arguments.
* POWER(0,0) now returns a #NUM! error.
* Added support for preserving conditional formatting in pivot tables placed in the <extLst> element.
* The ISNUMBER now returns false on Boolean values.
* The CHOOSE function incorrectly returned error (i.e. #DIV/0!), if supplies as conditional arguments.
* The UNICHAR function did return the correct character.
* The TEXT function failed, if a null value was supplied as format argument.
* VLOOKUP could fail to find an item in the cell if the first row was the header. Excel ignores header values in the binary search.
* `ExcelRangeBase.DimensionByValue` returned the wrong range in rare cases.
* `ExcelRangeBase.Richtext` caused a null `NullReferenceException` when it hade been disposed.

## Version 8.3.1
* Using an array as denominator when first value is 0 returns a single ´#DIV0!´ error.
* The ´FILTER´ function did not work correctly when filtering on columns.
Expand Down
4 changes: 4 additions & 0 deletions src/Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,10 @@
<DefineConstants>Core;NET90</DefineConstants>
</PropertyGroup>

<PropertyGroup Condition=" '$(TargetFramework)' == 'net10.0'">
<DefineConstants>Core;NET100</DefineConstants>
</PropertyGroup>

<PropertyGroup Condition=" '$(TargetFramework)' == 'net481'">
<DefineConstants>NET481;NETFULL</DefineConstants>
</PropertyGroup>
Expand Down
8 changes: 4 additions & 4 deletions src/EPPlus.Interfaces/EPPlus.Interfaces.csproj
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net9.0;net8.0;netstandard2.1;netstandard2.0;net462;net35</TargetFrameworks>
<AssemblyVersion>8.1.0.0</AssemblyVersion>
<FileVersion>8.1.0.0</FileVersion>
<Version>8.1.0</Version>
<TargetFrameworks>net10.0;net9.0;net8.0;netstandard2.1;netstandard2.0;net462;net35</TargetFrameworks>
<AssemblyVersion>8.4.0.0</AssemblyVersion>
<FileVersion>8.4.0.0</FileVersion>
<Version>8.4.0</Version>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<PackageLicenseFile>license.md</PackageLicenseFile>
<RepositoryType>git</RepositoryType>
Expand Down
15 changes: 9 additions & 6 deletions src/EPPlus.System.Drawing/EPPlus.System.Drawing.csproj
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks>net9.0;net8.0;netstandard2.1;netstandard2.0;net462;net35</TargetFrameworks>
<AssemblyVersion>8.1.0.0</AssemblyVersion>
<FileVersion>8.1.0.0</FileVersion>
<Version>8.1.0</Version>
<TargetFrameworks>net10.0;net9.0;net8.0;netstandard2.1;netstandard2.0;net462;net35</TargetFrameworks>
<AssemblyVersion>8.4.0.0</AssemblyVersion>
<FileVersion>8.4.0.0</FileVersion>
<Version>8.4.0</Version>
<SignAssembly>true</SignAssembly>
<PackageLicenseFile>license.md</PackageLicenseFile>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
Expand All @@ -19,12 +19,15 @@
<ProjectReference Include="..\EPPlus.Interfaces\EPPlus.Interfaces.csproj" />
</ItemGroup>

<ItemGroup Condition="'$(TargetFramework)' != 'net35' and '$(TargetFramework)' != 'net462' and '$(TargetFramework)' != 'net9.0'">
<ItemGroup Condition="'$(TargetFramework)' != 'net35' and '$(TargetFramework)' != 'net462' and '$(TargetFramework)' != 'net9.0' and '$(TargetFramework)' != 'net10.0'">
<PackageReference Include="System.Drawing.Common" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net9.0'">
<PackageReference Include="System.Drawing.Common" VersionOverride="9.0.1" />
<PackageReference Include="System.Drawing.Common" VersionOverride="9.0.11" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net10.0'">
<PackageReference Include="System.Drawing.Common" VersionOverride="10.0.1" />
</ItemGroup>
<ItemGroup>
<None Include="EPPlusLogo.png">
<Pack>True</Pack>
Expand Down
22 changes: 12 additions & 10 deletions src/EPPlus/EPPlus.csproj
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net8.0;net9.0;netstandard2.1;netstandard2.0;net462;net35</TargetFrameworks>
<AssemblyVersion>8.3.1.0</AssemblyVersion>
<FileVersion>8.3.1.0</FileVersion>
<Version>8.3.1</Version>
<TargetFrameworks>net8.0;net9.0;net10.0;netstandard2.1;netstandard2.0;net462;net35</TargetFrameworks>
<AssemblyVersion>8.4.0.0</AssemblyVersion>
<FileVersion>8.4.0.0</FileVersion>
<Version>8.4.0</Version>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<PackageProjectUrl>https://epplussoftware.com</PackageProjectUrl>
<Authors>EPPlus Software AB</Authors>
Expand All @@ -18,17 +18,21 @@
<PackageReadmeFile>readme.md</PackageReadmeFile>
<Copyright>EPPlus Software AB</Copyright>
<PackageReleaseNotes>
EPPlus 8.3.1
EPPlus 8.4.0

IMPORTANT NOTICE!
From version 5 EPPlus changes the license model using a dual license, Polyform Non Commercial / Commercial license.
EPPlus will still have the source available, but for non Polyform NC compliant projects, EPPlus will provide a commercial license.
Commercial licenses can be purchased from https://epplussoftware.com
This applies to EPPlus version 5 and later. Earlier versions are still licensed LGPL.

## Version 8.3.1
## Version 8.4.0
* Added target framework .NET 10.
Minor bug fixes. See https://epplussoftware.com/Developers/MinorFeaturesAndIssues


## Version 8.3.1
Minor bug fixes.

## Version 8.3.0
* Support for adding, updating and removing external connections and query tables. See https://github.com/EPPlusSoftware/EPPlus/wiki/External-Connections-and-Query-Tables
* Support for adding pivot tables with external connections as data source.
Expand Down Expand Up @@ -541,6 +545,7 @@
A list of fixed issues can be found here https://epplussoftware.com/docs/7.0/articles/fixedissues.html

Version history
8.4.0 20251212 Updated target frameworks. Minor bug fixes.
8.3.1 20251128 Minor bug fixes.
8.3.0 20251120 Connections and query tables support. Minor features and bug fixes. See https://epplussoftware.com/Developers/MinorFeaturesAndIssues
8.2.1 20251012 Minor bug fixes.
Expand Down Expand Up @@ -744,8 +749,6 @@
<PackageReference Include="System.Text.Encoding.CodePages" VersionOverride="9.0.3" />
<PackageReference Include="System.Security.Cryptography.Xml" VersionOverride="9.0.3" />
</ItemGroup>
<!-- TargetFramework net10.0, remove when GitHub actions and AppVeyor support is available. -->
<!--
<ItemGroup Condition="'$(TargetFramework)' == 'net10.0'">
<PackageReference Include="Microsoft.Extensions.Configuration.Json" VersionOverride="10.0.0" />
<PackageReference Include="Microsoft.IO.RecyclableMemoryStream" />
Expand All @@ -754,7 +757,6 @@
<PackageReference Include="System.Text.Encoding.CodePages" VersionOverride="10.0.0" />
<PackageReference Include="System.Security.Cryptography.Xml" VersionOverride="10.0.0" />
</ItemGroup>
-->
<ItemGroup>
<Compile Remove="LoadFunctions\HeaderReader.cs" />
</ItemGroup>
Expand Down
2 changes: 1 addition & 1 deletion src/EPPlus/EPPlusLicense.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ public class EPPlusLicense
{
private static ExcelPackageConfiguration _configuration = new ExcelPackageConfiguration();
static bool _licenseSet = false;
internal const string _versionDate = "2025-08-15";
internal const string _versionDate = "2025-12-12";
/// <summary>
/// The license key used for a commercial license.
/// </summary>
Expand Down
Loading