chore(filetypedetection): offene kompatibilitaets-punkte finalisieren und rc6 absichern#92
Merged
tomtastisch merged 4 commits intomainfrom Feb 18, 2026
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Diese PR finalisiert die netstandard2.0-Kompatibilitäts-/Policy-Punkte rund um Dateityp-Erkennung mit fail-closed Semantik für Office/OpenDocument/Archive und stabilisiert die RC6-Linie durch zusätzliche E2E-/Matrix-Tests und Doku-/Evidence-Updates.
Changes:
- Office/OpenDocument-Erkennung gehärtet (OOXML-Marker inkl.
xl/workbook.bin, OpenDocument-mimetype-Mapping, Konflikte =>Unknown) und Legacy-OLE-Office viaLegacyOfficeBinaryRefinerintegriert. - Archiv-Semantik angepasst: Extraktion/
TryValidateArchiveakzeptieren nur noch tatsächlich extrahierbare Archive überFileKind.Zip(Office-Container nicht mehr als extrahierbares Archiv behandelt). - Alias-Auflösung für Office-/OpenOffice-Endungen in
FileTypeRegistrykonsolidiert und Testabdeckung deutlich erweitert; Doku/Changelog/History/Evidence aktualisiert.
Reviewed changes
Copilot reviewed 18 out of 18 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| tests/FileTypeDetectionLib.Tests/Unit/OpenXmlRefinerUnitTests.cs | Erweiterte Unit-Tests für OOXML/OpenDocument inkl. Konflikt-/Ambiguitätsfälle. |
| tests/FileTypeDetectionLib.Tests/Unit/LegacyOfficeBinaryRefinerUnitTests.cs | Neue Unit-Tests für OLE2-Legacy-Office Marker-Refinement. |
| tests/FileTypeDetectionLib.Tests/Unit/FileTypeDetectorPrivateBranchUnitTests.cs | Zusätzliche Reflection-Tests für Office-Variant-Aliases im Extension-Matching. |
| tests/FileTypeDetectionLib.Tests/Unit/ExtensionCheckUnitTests.cs | Erweiterte Extension-Policy-Tests (verify flag, Office/OpenDocument/Legacy). |
| tests/FileTypeDetectionLib.Tests/Unit/EndToEndFailClosedMatrixUnitTests.cs | Neue E2E-Matrix für fail-closed Verhalten über Detect/Verify/Archive APIs. |
| tests/FileTypeDetectionLib.Tests/Unit/DetectionDetailAndArchiveValidationUnitTests.cs | Archiv-Validation angepasst (DOCX nicht mehr “valides Archiv”) + zusätzliche negative Fälle. |
| tests/FileTypeDetectionLib.Tests/Unit/ArchiveExtractionUnitTests.cs | Extraktions-Guards ergänzt: Office-Container dürfen nicht extrahiert werden. |
| src/FileTypeDetection/Infrastructure/CoreInternals.vb | OpenXmlRefiner erweitert (OpenDocument + Konfliktlogik) und neuer LegacyOfficeBinaryRefiner. |
| src/FileTypeDetection/FileTypeDetector.vb | Archivvalidierung/-extraktion auf “nur echte Archive” umgestellt; Legacy-OLE Refinement in Core-Flow integriert. |
| src/FileTypeDetection/Detection/FileTypeRegistry.vb | Office/OpenOffice-Aliaslisten für Docx/Xlsx/Pptx ergänzt. |
| docs/versioning/103_CHANGELOG_RELEASES.MD | Release-Changelog (EN) aktualisiert. |
| docs/versioning/102_HISTORY_VERSIONS.MD | History (EN) rc6 aktualisiert. |
| docs/versioning/003_CHANGELOG_RELEASES.MD | Release-Changelog (DE) aktualisiert. |
| docs/versioning/002_HISTORY_VERSIONS.MD | History (DE) rc6 aktualisiert. |
| docs/references/101_REFERENCES_CORE.MD | ReasonCode-Referenz um OfficeBinaryRefined ergänzt (EN). |
| docs/references/001_REFERENCES_CORE.MD | ReasonCode-Referenz um OfficeBinaryRefined ergänzt (DE). |
| docs/audit/compat/003_NETSTANDARD2_COMPAT_EVIDENCE.MD | Evidence-Report aktualisiert (Scope/Proofs/rc6). |
| README.md | Architektur-/Release-Notizen aktualisiert (Refiner + rc6). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ziel & Scope
Umgesetzte Aufgaben (abhaken)
doc/docx/odt,xls/xlsx/ods,ppt/pptx/odp).LegacyOfficeBinaryRefiner) integriert und fail-closed abgesichert.Unknown).Zip) begrenzt.dotnet format --verify-no-changesals blocker erfolgreich erfuellt.Nachbesserungen aus Review (iterativ)
run.sh-Gates reproduzierbar mit CI-Context-Env ausgefuehrt.EXPECTED_RELEASE_TAG=v5.2.0-rc.6) erneut verifiziert.Security- und Merge-Gates
security/code-scanning/toolsist Merge-Gate und muss auf 0 offene Alerts stehen.Unknownbzw.Falsegeliefert.Evidence (auditierbar)
dotnet restore FileClassifier.sln -v minimaldotnet restore --locked-mode FileClassifier.sln -v minimaldotnet build FileClassifier.sln -c Release --no-restore -warnaserror -v minimaldotnet test tests/FileTypeDetectionLib.Tests/FileTypeDetectionLib.Tests.csproj -c Release --no-build -v minimaldotnet pack src/FileTypeDetection/FileTypeDetectionLib.vbproj -c Release --no-build -o artifacts/ci/netstandard2-compat/nuget -v minimalartifacts/ci/netstandard2-compat/build-netstandard2.0.logartifacts/ci/netstandard2-compat/build-net8.0.logartifacts/ci/netstandard2-compat/build-net10.0.logartifacts/ci/netstandard2-compat/provider-compile-proof-short.txtartifacts/ci/netstandard2-compat/provider-marker-proof.txtartifacts/ci/netstandard2-compat/core-forbidden-apis.txtpython3 tools/check-doc-consistency.pypython3 tools/check-docs.pyEXPECTED_RELEASE_TAG=v5.2.0-rc.6 REQUIRE_RELEASE_TAG=1 bash tools/ci/bin/run.sh versioning-svtbash tools/ci/bin/run.sh version-convergencebash tools/ci/bin/run.sh security-nugetdocs/audit/compat/003_NETSTANDARD2_COMPAT_EVIDENCE.MDDoD (mindestens 2 pro Punkt)
543Tests gruen (dotnet test)tests/FileTypeDetectionLib.Tests/Unit/EndToEndFailClosedMatrixUnitTests.csTryValidateArchive(sample.docx) == false(Tests)ArchiveExtractionUnitTestspruefen docx/disguised docx gegen Extraktionprovider-compile-proof-short.txtpro TFMprovider-marker-proof.txtzeigtNetStandard2_0/Net8_0Pluscheck-doc-consistency.py-> OKcheck-docs.py-> OKartifacts/versioning_report.jsonstatus passartifacts/nuget/Tomtastisch.FileClassifier.5.2.0-rc.6.nupkgvorhanden