Skip to content

Commit d6a2ee3

Browse files
committed
Update CHANGELOG for 4.8.0.
1 parent 41566a2 commit d6a2ee3

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
## 4.8.0 (2020-09-17)
2+
**Summary** - Avoid memory leaks by creating new dynamic assemblies each time.
3+
4+
I was not sure how much of a runtime impact creating a new dynamic assembly would be and so I was trying to optimize the code by storing the `AssemblyBuilder`/`ModuleBuilder` in a static variable. However, I had no mechanism in place to prevent generating duplicate types/methods each time a reader/writer was created, so over time the same emitted code was being added to the dynamic assembly over and over again; a.k.a., a memory leak. At first I tried to implement some sort of caching but then realize that it was almost impossible to uniquely identify a type/column mapping configuration without looking at every property on every mapping. I decided to try creating new assemblies each and every time and that I ran a benchmark. There was no discernable difference in performance, so I think eliminating the premature optimization is the right approach.
5+
16
## 4.7.0 (2020-02-15)
27
**Summary** - Support capturing trailing text after last fixed-length window.
38

FlatFiles/FlatFiles.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,17 @@
1010
<RepositoryUrl>https://github.com/jehugaleahsa/FlatFiles.git</RepositoryUrl>
1111
<RepositoryType>git</RepositoryType>
1212
<PackageTags>csv;comma;tab;separated;value;delimited;flat;file;fixed;width;fixed-width;length;fixed-length;parser;parsing;parse</PackageTags>
13-
<PackageReleaseNotes>Support capturing trailing text after last fixed-length window.</PackageReleaseNotes>
13+
<PackageReleaseNotes>Avoid memory leaks by creating new dynamic assemblies each time.</PackageReleaseNotes>
1414
<SignAssembly>true</SignAssembly>
1515
<AssemblyOriginatorKeyFile>FlatFiles.snk</AssemblyOriginatorKeyFile>
16-
<Version>4.7.0</Version>
16+
<Version>4.8.0</Version>
1717
</PropertyGroup>
1818

1919
<PropertyGroup>
2020
<LangVersion>8.0</LangVersion>
2121
<PackageIconUrl>https://raw.githubusercontent.com/jehugaleahsa/FlatFiles/master/icon.png</PackageIconUrl>
22-
<AssemblyVersion>4.7.0.0</AssemblyVersion>
23-
<FileVersion>4.7.0.0</FileVersion>
22+
<AssemblyVersion>4.8.0.0</AssemblyVersion>
23+
<FileVersion>4.8.0.0</FileVersion>
2424
<PackageLicenseFile>UNLICENSE.txt</PackageLicenseFile>
2525
</PropertyGroup>
2626

0 commit comments

Comments
 (0)