diff --git a/Benchmarks/EventLogParsing/EventLogParsing.BenchmarkHost/packages.lock.json b/Benchmarks/EventLogParsing/EventLogParsing.BenchmarkHost/packages.lock.json index 699fe0a5..8d19fd46 100644 --- a/Benchmarks/EventLogParsing/EventLogParsing.BenchmarkHost/packages.lock.json +++ b/Benchmarks/EventLogParsing/EventLogParsing.BenchmarkHost/packages.lock.json @@ -25,8 +25,8 @@ }, "HtmlForgeX": { "type": "Transitive", - "resolved": "1.1.0", - "contentHash": "jSDGXPlzm7d5ZY+2YDYQ6TwlO352GnV230vnQBSIkKvfqD16QMbOSmNGNqCQSjI00C1TtoxU3BxFlz3okRiaVg==" + "resolved": "1.2.0", + "contentHash": "rXmjplPb5sgpqsc+ta0m/myRkYPE+Ri5VMT7F11DqLXHXZhiEv5asLrTy93bGVaXhVJYB0jxnR8qNVC2KIxhQA==" }, "HtmlForgeX.Email": { "type": "Transitive", @@ -82,7 +82,7 @@ "type": "Project", "dependencies": { "EventViewerX": "[4.0.1, )", - "HtmlForgeX": "[1.1.0, )", + "HtmlForgeX": "[1.2.0, )", "HtmlForgeX.Email": "[2.0.0, )", "OfficeIMO.CSV": "[3.2.4, )", "OfficeIMO.Excel": "[3.2.4, )" diff --git a/Benchmarks/EventReportRendering/README.md b/Benchmarks/EventReportRendering/README.md index 6dc1f263..22ea61bf 100644 --- a/Benchmarks/EventReportRendering/README.md +++ b/Benchmarks/EventReportRendering/README.md @@ -19,11 +19,11 @@ The shared PowerForge runner uses one warmup, three measured iterations, rotated The email change limits projection to the rows actually displayed. Its allocation stays approximately constant as the snapshot grows. The complete snapshot and source counts remain available in the report. -The HTML renderer still projects and renders every event. Its allocation improvement is small, and the 10,000-event output is about 16.6 MB. These measurements do not establish an HTML throughput improvement or a bound on large interactive reports. Timing results are observations from a potentially busy development host, not release performance guarantees. +The historical HTML measurements above precede the shared render buffer described below. Timing results are observations from a potentially busy development host, not release performance guarantees. The before snapshot uses the unchanged renderer at commit `7793aa5997bf016b0f56c33e8ae01abd68846ccd`. The after snapshot includes bounded email projection, single-pass constant-column classification, and HtmlForgeX 1.1.0 for descriptive dashboard captions. The email dependency remains HtmlForgeX.Email 1.6.0 in both measurements. -## Current mobile email baseline +## Mobile email baseline `after-mobile.json` records the same fixture with published HtmlForgeX.Email 2.0.0 and mobile stacked records at commit @@ -41,7 +41,43 @@ with processor affinity `0xFFFF` and BelowNormal priority requested. Email allocation stays approximately constant as the input grows because the digest still displays 25 records. The newer dependency and stacked presentation produce more markup and allocate more than the historical 1.6 fixture above. -Use this baseline when measuring the current presentation; the two dependency +Use this baseline when measuring the mobile email presentation; the two dependency versions and output layouts do not form a comparison of projection changes alone. -Full-detail HTML still renders every retained record and needs explicit input -bounds for large investigations. + +## Shared render buffer + +HtmlForgeX 1.2.0 renders nested monitoring containers and deferred record JSON +into the owning buffer. It avoids copying complete child strings at each level +and reuses monitoring IDs that are already normalized. HTML retains every record; +email continues to display the first 25. + +A comparison of unchanged HtmlForgeX source at +`6787b52211d1159bf0e9510451454bea79a4c967` with the shared-buffer implementation +uses the same fixture and readable assets on both sides: + +| Case | Before allocated bytes | After allocated bytes | Reduction | +| --- | ---: | ---: | ---: | +| HTML, 1,000 events | 147,991,211 | 41,959,016 | 71.6% | +| HTML, 10,000 events | 1,158,312,323 | 223,370,648 | 80.7% | + +The output has the same length and content apart from its generated timestamp. +Wide and compact browser checks retain all 10,000 records and can filter and +inspect the final record. + +`after-render-buffer.json` records the signed 1.2.0 package with its release +assets, which are minified. All twelve measured samples pass with the same SDK, +affinity, priority, warmup, iteration count and case order as the mobile baseline. + +| Case | Mean renderer allocated bytes | Output bytes | +| --- | ---: | ---: | +| Email, 1,000 events | 11,899,384 | 215,215 | +| Email, 10,000 events | 11,899,480 | 215,219 | +| HTML, 1,000 events | 38,704,584 | 2,827,233 | +| HTML, 10,000 events | 220,107,507 | 16,435,290 | + +These are cumulative allocations during the warmed rendering operation, not peak +working-set measurements. The shared-buffer comparison isolates the renderer +change; the package baseline also reflects its minified assets. A large report +still projects every event and embeds its data, so callers should bound inputs +for large investigations. These fixtures do not establish an unlimited-report +memory bound or a release throughput guarantee. diff --git a/Benchmarks/EventReportRendering/after-render-buffer.json b/Benchmarks/EventReportRendering/after-render-buffer.json new file mode 100644 index 00000000..36e541ff --- /dev/null +++ b/Benchmarks/EventReportRendering/after-render-buffer.json @@ -0,0 +1,53 @@ +{ + "Contract": "Deterministic generic rows; fixture generation excluded; HTML retains all rows; email displays the first 25.", + "Phase": "HtmlForgeX 1.2.0 shared render buffer with release assets", + "HtmlForgeXSourceRevision": "b895ca47e524d1fc54685f434efab7da25efdd96", + "EventViewerXSourceRevision": "b5847b195815c416d14204c67a5c56acd06032e2", + "HtmlForgeXVersion": "1.2.0", + "HtmlForgeXEmailVersion": "2.0.0", + "ConfiguredSdkVersion": "10.0.112", + "Runtime": ".NET 10.0.12", + "OSArchitecture": "X64", + "ProcessArchitecture": "X64", + "ProcessorAffinityRequested": "0xFFFF", + "PriorityRequested": "BelowNormal", + "WarmupCount": 1, + "IterationCount": 3, + "RunOrder": "Rotated", + "SampleCount": 12, + "FailureCount": 0, + "Metrics": [ + { + "Scenario": "Email-1000", + "Metrics": { + "RenderMs": 9.4758, + "RendererAllocatedBytes": 11899384.0, + "OutputBytes": 215215.0 + } + }, + { + "Scenario": "Email-10000", + "Metrics": { + "RenderMs": 17.6628, + "RendererAllocatedBytes": 11899480.0, + "OutputBytes": 215219.0 + } + }, + { + "Scenario": "Html-1000", + "Metrics": { + "RenderMs": 50.0924, + "RendererAllocatedBytes": 38704584.0, + "OutputBytes": 2827233.0 + } + }, + { + "Scenario": "Html-10000", + "Metrics": { + "RenderMs": 253.44226666666668, + "RendererAllocatedBytes": 220107506.66666666, + "OutputBytes": 16435290.0 + } + } + ] +} diff --git a/Benchmarks/EventReportRendering/packages.lock.json b/Benchmarks/EventReportRendering/packages.lock.json index 699fe0a5..8d19fd46 100644 --- a/Benchmarks/EventReportRendering/packages.lock.json +++ b/Benchmarks/EventReportRendering/packages.lock.json @@ -25,8 +25,8 @@ }, "HtmlForgeX": { "type": "Transitive", - "resolved": "1.1.0", - "contentHash": "jSDGXPlzm7d5ZY+2YDYQ6TwlO352GnV230vnQBSIkKvfqD16QMbOSmNGNqCQSjI00C1TtoxU3BxFlz3okRiaVg==" + "resolved": "1.2.0", + "contentHash": "rXmjplPb5sgpqsc+ta0m/myRkYPE+Ri5VMT7F11DqLXHXZhiEv5asLrTy93bGVaXhVJYB0jxnR8qNVC2KIxhQA==" }, "HtmlForgeX.Email": { "type": "Transitive", @@ -82,7 +82,7 @@ "type": "Project", "dependencies": { "EventViewerX": "[4.0.1, )", - "HtmlForgeX": "[1.1.0, )", + "HtmlForgeX": "[1.2.0, )", "HtmlForgeX.Email": "[2.0.0, )", "OfficeIMO.CSV": "[3.2.4, )", "OfficeIMO.Excel": "[3.2.4, )" diff --git a/Benchmarks/EventStore/packages.lock.json b/Benchmarks/EventStore/packages.lock.json index c6243b44..02e26b71 100644 --- a/Benchmarks/EventStore/packages.lock.json +++ b/Benchmarks/EventStore/packages.lock.json @@ -25,8 +25,8 @@ }, "HtmlForgeX": { "type": "Transitive", - "resolved": "1.1.0", - "contentHash": "jSDGXPlzm7d5ZY+2YDYQ6TwlO352GnV230vnQBSIkKvfqD16QMbOSmNGNqCQSjI00C1TtoxU3BxFlz3okRiaVg==" + "resolved": "1.2.0", + "contentHash": "rXmjplPb5sgpqsc+ta0m/myRkYPE+Ri5VMT7F11DqLXHXZhiEv5asLrTy93bGVaXhVJYB0jxnR8qNVC2KIxhQA==" }, "HtmlForgeX.Email": { "type": "Transitive", @@ -88,7 +88,7 @@ "type": "Project", "dependencies": { "EventViewerX": "[4.0.1, )", - "HtmlForgeX": "[1.1.0, )", + "HtmlForgeX": "[1.2.0, )", "HtmlForgeX.Email": "[2.0.0, )", "OfficeIMO.CSV": "[3.2.4, )", "OfficeIMO.Excel": "[3.2.4, )" diff --git a/Sources/EventViewerX.Cli/packages.lock.json b/Sources/EventViewerX.Cli/packages.lock.json index 9c177108..89cd4f4a 100644 --- a/Sources/EventViewerX.Cli/packages.lock.json +++ b/Sources/EventViewerX.Cli/packages.lock.json @@ -114,8 +114,8 @@ }, "HtmlForgeX": { "type": "Transitive", - "resolved": "1.1.0", - "contentHash": "jSDGXPlzm7d5ZY+2YDYQ6TwlO352GnV230vnQBSIkKvfqD16QMbOSmNGNqCQSjI00C1TtoxU3BxFlz3okRiaVg==" + "resolved": "1.2.0", + "contentHash": "rXmjplPb5sgpqsc+ta0m/myRkYPE+Ri5VMT7F11DqLXHXZhiEv5asLrTy93bGVaXhVJYB0jxnR8qNVC2KIxhQA==" }, "HtmlForgeX.Email": { "type": "Transitive", @@ -446,7 +446,7 @@ "type": "Project", "dependencies": { "EventViewerX": "[4.0.1, )", - "HtmlForgeX": "[1.1.0, )", + "HtmlForgeX": "[1.2.0, )", "HtmlForgeX.Email": "[2.0.0, )", "OfficeIMO.CSV": "[3.2.4, )", "OfficeIMO.Excel": "[3.2.4, )" diff --git a/Sources/EventViewerX.Cli/packages.release.lock.json b/Sources/EventViewerX.Cli/packages.release.lock.json index 151e4d4d..3f551148 100644 --- a/Sources/EventViewerX.Cli/packages.release.lock.json +++ b/Sources/EventViewerX.Cli/packages.release.lock.json @@ -120,8 +120,8 @@ }, "HtmlForgeX": { "type": "Transitive", - "resolved": "1.1.0", - "contentHash": "jSDGXPlzm7d5ZY+2YDYQ6TwlO352GnV230vnQBSIkKvfqD16QMbOSmNGNqCQSjI00C1TtoxU3BxFlz3okRiaVg==" + "resolved": "1.2.0", + "contentHash": "rXmjplPb5sgpqsc+ta0m/myRkYPE+Ri5VMT7F11DqLXHXZhiEv5asLrTy93bGVaXhVJYB0jxnR8qNVC2KIxhQA==" }, "HtmlForgeX.Email": { "type": "Transitive", @@ -452,7 +452,7 @@ "type": "Project", "dependencies": { "EventViewerX": "[4.0.1, )", - "HtmlForgeX": "[1.1.0, )", + "HtmlForgeX": "[1.2.0, )", "HtmlForgeX.Email": "[2.0.0, )", "OfficeIMO.CSV": "[3.2.4, )", "OfficeIMO.Excel": "[3.2.4, )" diff --git a/Sources/EventViewerX.Cli/packages.runtime.lock.json b/Sources/EventViewerX.Cli/packages.runtime.lock.json index 72e8bfb9..93f904f2 100644 --- a/Sources/EventViewerX.Cli/packages.runtime.lock.json +++ b/Sources/EventViewerX.Cli/packages.runtime.lock.json @@ -114,8 +114,8 @@ }, "HtmlForgeX": { "type": "Transitive", - "resolved": "1.1.0", - "contentHash": "jSDGXPlzm7d5ZY+2YDYQ6TwlO352GnV230vnQBSIkKvfqD16QMbOSmNGNqCQSjI00C1TtoxU3BxFlz3okRiaVg==" + "resolved": "1.2.0", + "contentHash": "rXmjplPb5sgpqsc+ta0m/myRkYPE+Ri5VMT7F11DqLXHXZhiEv5asLrTy93bGVaXhVJYB0jxnR8qNVC2KIxhQA==" }, "HtmlForgeX.Email": { "type": "Transitive", @@ -446,7 +446,7 @@ "type": "Project", "dependencies": { "EventViewerX": "[4.0.1, )", - "HtmlForgeX": "[1.1.0, )", + "HtmlForgeX": "[1.2.0, )", "HtmlForgeX.Email": "[2.0.0, )", "OfficeIMO.CSV": "[3.2.4, )", "OfficeIMO.Excel": "[3.2.4, )" diff --git a/Sources/EventViewerX.Reporting/EventViewerX.Reporting.csproj b/Sources/EventViewerX.Reporting/EventViewerX.Reporting.csproj index 9cf5c9fe..033715d2 100644 --- a/Sources/EventViewerX.Reporting/EventViewerX.Reporting.csproj +++ b/Sources/EventViewerX.Reporting/EventViewerX.Reporting.csproj @@ -22,7 +22,7 @@ - + diff --git a/Sources/EventViewerX.Reporting/packages.lock.json b/Sources/EventViewerX.Reporting/packages.lock.json index 168a0c56..0077159d 100644 --- a/Sources/EventViewerX.Reporting/packages.lock.json +++ b/Sources/EventViewerX.Reporting/packages.lock.json @@ -4,9 +4,9 @@ ".NETFramework,Version=v4.7.2": { "HtmlForgeX": { "type": "Direct", - "requested": "[1.1.0, )", - "resolved": "1.1.0", - "contentHash": "jSDGXPlzm7d5ZY+2YDYQ6TwlO352GnV230vnQBSIkKvfqD16QMbOSmNGNqCQSjI00C1TtoxU3BxFlz3okRiaVg==", + "requested": "[1.2.0, )", + "resolved": "1.2.0", + "contentHash": "rXmjplPb5sgpqsc+ta0m/myRkYPE+Ri5VMT7F11DqLXHXZhiEv5asLrTy93bGVaXhVJYB0jxnR8qNVC2KIxhQA==", "dependencies": { "System.ComponentModel.Annotations": "5.0.0", "System.Text.Json": "10.0.12" @@ -233,9 +233,9 @@ ".NETStandard,Version=v2.1": { "HtmlForgeX": { "type": "Direct", - "requested": "[1.1.0, )", - "resolved": "1.1.0", - "contentHash": "jSDGXPlzm7d5ZY+2YDYQ6TwlO352GnV230vnQBSIkKvfqD16QMbOSmNGNqCQSjI00C1TtoxU3BxFlz3okRiaVg==", + "requested": "[1.2.0, )", + "resolved": "1.2.0", + "contentHash": "rXmjplPb5sgpqsc+ta0m/myRkYPE+Ri5VMT7F11DqLXHXZhiEv5asLrTy93bGVaXhVJYB0jxnR8qNVC2KIxhQA==", "dependencies": { "System.ComponentModel.Annotations": "5.0.0", "System.Text.Json": "10.0.12" @@ -419,9 +419,9 @@ "net10.0-windows7.0": { "HtmlForgeX": { "type": "Direct", - "requested": "[1.1.0, )", - "resolved": "1.1.0", - "contentHash": "jSDGXPlzm7d5ZY+2YDYQ6TwlO352GnV230vnQBSIkKvfqD16QMbOSmNGNqCQSjI00C1TtoxU3BxFlz3okRiaVg==" + "requested": "[1.2.0, )", + "resolved": "1.2.0", + "contentHash": "rXmjplPb5sgpqsc+ta0m/myRkYPE+Ri5VMT7F11DqLXHXZhiEv5asLrTy93bGVaXhVJYB0jxnR8qNVC2KIxhQA==" }, "HtmlForgeX.Email": { "type": "Direct", @@ -501,9 +501,9 @@ "net8.0-windows7.0": { "HtmlForgeX": { "type": "Direct", - "requested": "[1.1.0, )", - "resolved": "1.1.0", - "contentHash": "jSDGXPlzm7d5ZY+2YDYQ6TwlO352GnV230vnQBSIkKvfqD16QMbOSmNGNqCQSjI00C1TtoxU3BxFlz3okRiaVg==" + "requested": "[1.2.0, )", + "resolved": "1.2.0", + "contentHash": "rXmjplPb5sgpqsc+ta0m/myRkYPE+Ri5VMT7F11DqLXHXZhiEv5asLrTy93bGVaXhVJYB0jxnR8qNVC2KIxhQA==" }, "HtmlForgeX.Email": { "type": "Direct", diff --git a/Sources/EventViewerX.Reporting/packages.release.lock.json b/Sources/EventViewerX.Reporting/packages.release.lock.json index 698a4804..90abb603 100644 --- a/Sources/EventViewerX.Reporting/packages.release.lock.json +++ b/Sources/EventViewerX.Reporting/packages.release.lock.json @@ -4,9 +4,9 @@ ".NETFramework,Version=v4.7.2": { "HtmlForgeX": { "type": "Direct", - "requested": "[1.1.0, )", - "resolved": "1.1.0", - "contentHash": "jSDGXPlzm7d5ZY+2YDYQ6TwlO352GnV230vnQBSIkKvfqD16QMbOSmNGNqCQSjI00C1TtoxU3BxFlz3okRiaVg==", + "requested": "[1.2.0, )", + "resolved": "1.2.0", + "contentHash": "rXmjplPb5sgpqsc+ta0m/myRkYPE+Ri5VMT7F11DqLXHXZhiEv5asLrTy93bGVaXhVJYB0jxnR8qNVC2KIxhQA==", "dependencies": { "System.ComponentModel.Annotations": "5.0.0", "System.Text.Json": "10.0.12" @@ -377,9 +377,9 @@ ".NETStandard,Version=v2.1": { "HtmlForgeX": { "type": "Direct", - "requested": "[1.1.0, )", - "resolved": "1.1.0", - "contentHash": "jSDGXPlzm7d5ZY+2YDYQ6TwlO352GnV230vnQBSIkKvfqD16QMbOSmNGNqCQSjI00C1TtoxU3BxFlz3okRiaVg==", + "requested": "[1.2.0, )", + "resolved": "1.2.0", + "contentHash": "rXmjplPb5sgpqsc+ta0m/myRkYPE+Ri5VMT7F11DqLXHXZhiEv5asLrTy93bGVaXhVJYB0jxnR8qNVC2KIxhQA==", "dependencies": { "System.ComponentModel.Annotations": "5.0.0", "System.Text.Json": "10.0.12" @@ -761,9 +761,9 @@ "net10.0-windows7.0": { "HtmlForgeX": { "type": "Direct", - "requested": "[1.1.0, )", - "resolved": "1.1.0", - "contentHash": "jSDGXPlzm7d5ZY+2YDYQ6TwlO352GnV230vnQBSIkKvfqD16QMbOSmNGNqCQSjI00C1TtoxU3BxFlz3okRiaVg==" + "requested": "[1.2.0, )", + "resolved": "1.2.0", + "contentHash": "rXmjplPb5sgpqsc+ta0m/myRkYPE+Ri5VMT7F11DqLXHXZhiEv5asLrTy93bGVaXhVJYB0jxnR8qNVC2KIxhQA==" }, "HtmlForgeX.Email": { "type": "Direct", @@ -921,9 +921,9 @@ "net8.0-windows7.0": { "HtmlForgeX": { "type": "Direct", - "requested": "[1.1.0, )", - "resolved": "1.1.0", - "contentHash": "jSDGXPlzm7d5ZY+2YDYQ6TwlO352GnV230vnQBSIkKvfqD16QMbOSmNGNqCQSjI00C1TtoxU3BxFlz3okRiaVg==" + "requested": "[1.2.0, )", + "resolved": "1.2.0", + "contentHash": "rXmjplPb5sgpqsc+ta0m/myRkYPE+Ri5VMT7F11DqLXHXZhiEv5asLrTy93bGVaXhVJYB0jxnR8qNVC2KIxhQA==" }, "HtmlForgeX.Email": { "type": "Direct", diff --git a/Sources/EventViewerX.Reporting/packages.runtime.lock.json b/Sources/EventViewerX.Reporting/packages.runtime.lock.json index 5f762252..7fa4772f 100644 --- a/Sources/EventViewerX.Reporting/packages.runtime.lock.json +++ b/Sources/EventViewerX.Reporting/packages.runtime.lock.json @@ -4,9 +4,9 @@ ".NETFramework,Version=v4.7.2": { "HtmlForgeX": { "type": "Direct", - "requested": "[1.1.0, )", - "resolved": "1.1.0", - "contentHash": "jSDGXPlzm7d5ZY+2YDYQ6TwlO352GnV230vnQBSIkKvfqD16QMbOSmNGNqCQSjI00C1TtoxU3BxFlz3okRiaVg==", + "requested": "[1.2.0, )", + "resolved": "1.2.0", + "contentHash": "rXmjplPb5sgpqsc+ta0m/myRkYPE+Ri5VMT7F11DqLXHXZhiEv5asLrTy93bGVaXhVJYB0jxnR8qNVC2KIxhQA==", "dependencies": { "System.ComponentModel.Annotations": "5.0.0", "System.Text.Json": "10.0.12" @@ -377,9 +377,9 @@ ".NETStandard,Version=v2.1": { "HtmlForgeX": { "type": "Direct", - "requested": "[1.1.0, )", - "resolved": "1.1.0", - "contentHash": "jSDGXPlzm7d5ZY+2YDYQ6TwlO352GnV230vnQBSIkKvfqD16QMbOSmNGNqCQSjI00C1TtoxU3BxFlz3okRiaVg==", + "requested": "[1.2.0, )", + "resolved": "1.2.0", + "contentHash": "rXmjplPb5sgpqsc+ta0m/myRkYPE+Ri5VMT7F11DqLXHXZhiEv5asLrTy93bGVaXhVJYB0jxnR8qNVC2KIxhQA==", "dependencies": { "System.ComponentModel.Annotations": "5.0.0", "System.Text.Json": "10.0.12" @@ -761,9 +761,9 @@ "net10.0-windows7.0": { "HtmlForgeX": { "type": "Direct", - "requested": "[1.1.0, )", - "resolved": "1.1.0", - "contentHash": "jSDGXPlzm7d5ZY+2YDYQ6TwlO352GnV230vnQBSIkKvfqD16QMbOSmNGNqCQSjI00C1TtoxU3BxFlz3okRiaVg==" + "requested": "[1.2.0, )", + "resolved": "1.2.0", + "contentHash": "rXmjplPb5sgpqsc+ta0m/myRkYPE+Ri5VMT7F11DqLXHXZhiEv5asLrTy93bGVaXhVJYB0jxnR8qNVC2KIxhQA==" }, "HtmlForgeX.Email": { "type": "Direct", @@ -915,9 +915,9 @@ "net8.0-windows7.0": { "HtmlForgeX": { "type": "Direct", - "requested": "[1.1.0, )", - "resolved": "1.1.0", - "contentHash": "jSDGXPlzm7d5ZY+2YDYQ6TwlO352GnV230vnQBSIkKvfqD16QMbOSmNGNqCQSjI00C1TtoxU3BxFlz3okRiaVg==" + "requested": "[1.2.0, )", + "resolved": "1.2.0", + "contentHash": "rXmjplPb5sgpqsc+ta0m/myRkYPE+Ri5VMT7F11DqLXHXZhiEv5asLrTy93bGVaXhVJYB0jxnR8qNVC2KIxhQA==" }, "HtmlForgeX.Email": { "type": "Direct", diff --git a/Sources/EventViewerX.Tests/packages.lock.json b/Sources/EventViewerX.Tests/packages.lock.json index 9adde98c..88df64bd 100644 --- a/Sources/EventViewerX.Tests/packages.lock.json +++ b/Sources/EventViewerX.Tests/packages.lock.json @@ -74,8 +74,8 @@ }, "HtmlForgeX": { "type": "Transitive", - "resolved": "1.1.0", - "contentHash": "jSDGXPlzm7d5ZY+2YDYQ6TwlO352GnV230vnQBSIkKvfqD16QMbOSmNGNqCQSjI00C1TtoxU3BxFlz3okRiaVg==" + "resolved": "1.2.0", + "contentHash": "rXmjplPb5sgpqsc+ta0m/myRkYPE+Ri5VMT7F11DqLXHXZhiEv5asLrTy93bGVaXhVJYB0jxnR8qNVC2KIxhQA==" }, "HtmlForgeX.Email": { "type": "Transitive", @@ -282,7 +282,7 @@ "type": "Project", "dependencies": { "EventViewerX": "[4.0.1, )", - "HtmlForgeX": "[1.1.0, )", + "HtmlForgeX": "[1.2.0, )", "HtmlForgeX.Email": "[2.0.0, )", "OfficeIMO.CSV": "[3.2.4, )", "OfficeIMO.Excel": "[3.2.4, )" @@ -372,8 +372,8 @@ }, "HtmlForgeX": { "type": "Transitive", - "resolved": "1.1.0", - "contentHash": "jSDGXPlzm7d5ZY+2YDYQ6TwlO352GnV230vnQBSIkKvfqD16QMbOSmNGNqCQSjI00C1TtoxU3BxFlz3okRiaVg==" + "resolved": "1.2.0", + "contentHash": "rXmjplPb5sgpqsc+ta0m/myRkYPE+Ri5VMT7F11DqLXHXZhiEv5asLrTy93bGVaXhVJYB0jxnR8qNVC2KIxhQA==" }, "HtmlForgeX.Email": { "type": "Transitive", @@ -591,7 +591,7 @@ "type": "Project", "dependencies": { "EventViewerX": "[4.0.1, )", - "HtmlForgeX": "[1.1.0, )", + "HtmlForgeX": "[1.2.0, )", "HtmlForgeX.Email": "[2.0.0, )", "OfficeIMO.CSV": "[3.2.4, )", "OfficeIMO.Excel": "[3.2.4, )" diff --git a/Sources/PSEventViewer/packages.lock.json b/Sources/PSEventViewer/packages.lock.json index 2efb43ec..f40e51ac 100644 --- a/Sources/PSEventViewer/packages.lock.json +++ b/Sources/PSEventViewer/packages.lock.json @@ -123,8 +123,8 @@ }, "HtmlForgeX": { "type": "Transitive", - "resolved": "1.1.0", - "contentHash": "jSDGXPlzm7d5ZY+2YDYQ6TwlO352GnV230vnQBSIkKvfqD16QMbOSmNGNqCQSjI00C1TtoxU3BxFlz3okRiaVg==", + "resolved": "1.2.0", + "contentHash": "rXmjplPb5sgpqsc+ta0m/myRkYPE+Ri5VMT7F11DqLXHXZhiEv5asLrTy93bGVaXhVJYB0jxnR8qNVC2KIxhQA==", "dependencies": { "System.ComponentModel.Annotations": "5.0.0", "System.Text.Json": "10.0.12" @@ -459,7 +459,7 @@ "type": "Project", "dependencies": { "EventViewerX": "[4.0.1, )", - "HtmlForgeX": "[1.1.0, )", + "HtmlForgeX": "[1.2.0, )", "HtmlForgeX.Email": "[2.0.0, )", "Microsoft.Bcl.AsyncInterfaces": "[10.0.12, )", "OfficeIMO.CSV": "[3.2.4, )", @@ -646,8 +646,8 @@ }, "HtmlForgeX": { "type": "Transitive", - "resolved": "1.1.0", - "contentHash": "jSDGXPlzm7d5ZY+2YDYQ6TwlO352GnV230vnQBSIkKvfqD16QMbOSmNGNqCQSjI00C1TtoxU3BxFlz3okRiaVg==", + "resolved": "1.2.0", + "contentHash": "rXmjplPb5sgpqsc+ta0m/myRkYPE+Ri5VMT7F11DqLXHXZhiEv5asLrTy93bGVaXhVJYB0jxnR8qNVC2KIxhQA==", "dependencies": { "System.ComponentModel.Annotations": "5.0.0", "System.Text.Json": "10.0.12" @@ -922,7 +922,7 @@ "type": "Project", "dependencies": { "EventViewerX": "[4.0.1, )", - "HtmlForgeX": "[1.1.0, )", + "HtmlForgeX": "[1.2.0, )", "HtmlForgeX.Email": "[2.0.0, )", "OfficeIMO.CSV": "[3.2.4, )", "OfficeIMO.Excel": "[3.2.4, )" @@ -1050,8 +1050,8 @@ }, "HtmlForgeX": { "type": "Transitive", - "resolved": "1.1.0", - "contentHash": "jSDGXPlzm7d5ZY+2YDYQ6TwlO352GnV230vnQBSIkKvfqD16QMbOSmNGNqCQSjI00C1TtoxU3BxFlz3okRiaVg==" + "resolved": "1.2.0", + "contentHash": "rXmjplPb5sgpqsc+ta0m/myRkYPE+Ri5VMT7F11DqLXHXZhiEv5asLrTy93bGVaXhVJYB0jxnR8qNVC2KIxhQA==" }, "HtmlForgeX.Email": { "type": "Transitive", @@ -1230,7 +1230,7 @@ "type": "Project", "dependencies": { "EventViewerX": "[4.0.1, )", - "HtmlForgeX": "[1.1.0, )", + "HtmlForgeX": "[1.2.0, )", "HtmlForgeX.Email": "[2.0.0, )", "OfficeIMO.CSV": "[3.2.4, )", "OfficeIMO.Excel": "[3.2.4, )" @@ -1336,8 +1336,8 @@ }, "HtmlForgeX": { "type": "Transitive", - "resolved": "1.1.0", - "contentHash": "jSDGXPlzm7d5ZY+2YDYQ6TwlO352GnV230vnQBSIkKvfqD16QMbOSmNGNqCQSjI00C1TtoxU3BxFlz3okRiaVg==" + "resolved": "1.2.0", + "contentHash": "rXmjplPb5sgpqsc+ta0m/myRkYPE+Ri5VMT7F11DqLXHXZhiEv5asLrTy93bGVaXhVJYB0jxnR8qNVC2KIxhQA==" }, "HtmlForgeX.Email": { "type": "Transitive", @@ -1532,7 +1532,7 @@ "type": "Project", "dependencies": { "EventViewerX": "[4.0.1, )", - "HtmlForgeX": "[1.1.0, )", + "HtmlForgeX": "[1.2.0, )", "HtmlForgeX.Email": "[2.0.0, )", "OfficeIMO.CSV": "[3.2.4, )", "OfficeIMO.Excel": "[3.2.4, )"