Releases: IS4Code/SFI
Semantic File Inspector v1.2.2
Full Changelog: v1.2.1...v1.2.2
If you are using the application as a .NET tool, run dotnet tool update IS4.SFI.ConsoleApp --global --version 1.2.2
to install this update.
Application
- The
only-once
option no longer causes an exception for empty files. - The
net6.0-windows
release now has even the native libraries packed in. - Added a new release configuration ‒
net6.0-minimal
. This is a slim release, including only the core components. Any necessary formats or hashes may be downloaded through NuGet. - For the WebAssembly browser release, an experimental .NET 8.0 version is included.
Analysis
- Updated ImageSharp to version 2.1.7, fixing a vulnerability in PNG parsing.
Versions
SFI-1.2.2-net6.0-windows
‒ Windows-compatible self-contained release, using all available components.SFI-1.2.2-net6.0
‒ .NET 6 portable release, using only the portable components.SFI-1.2.2-net6.0-minimal
‒ .NET 6 portable self-contained release, without any optional components.SFI-1.2.2-net461
‒ .NET Framework 4.6.1 release, using all available components.SFI-1.2.2-wasm
‒ WebAssembly release, using only the portable components.SFI-1.2.2-wasm-net8.0
‒ WebAssembly release on .NET 8.0, using only the portable components.
Semantic File Inspector v1.2.1
Full Changelog: v1.2...v1.2.1
If you are using the application as a .NET tool, run dotnet tool update IS4.SFI.ConsoleApp --global --version 1.2.1
to install this update.
Application
- The
buffered
option now has an optional buffering level that can be set to one of none, temporary (a new intermediate level), and full. - Temporary buffering (now the default) prevents duplicate triples from being emitted.
- The web application now includes a "Stop" button and stores the input command as URI fragment for convenient sharing of configuration.
RDF
- JSON-LD streaming output now turns consecutive objects with the same property into arrays once they appear for the second time, reducing unnecessary nesting.
- Fixed race condition when validating a property for the first time.
Analysis
- Fixes for XML parsing (depth checks for fragment, detected mode during pre-loading is preserved for analysis).
- Fixed exception when hashing ImageSharp data. On WebAssembly, the thumbnail is no longer generated by default, since it takes too long.
- Multiple improvements to analyzing .NET assemblies ‒ better error recovery, unified attribute system, more metadata and improved description of references,
- Added the XXH3 and XXH128 hashes.
- XML Office formats are now properly detected, distinguished, and linked to the parent package.
Versions
SFI-1.2.1-net6.0-windows
‒ Windows-compatible self-contained release, using all available components.SFI-1.2.1-net6.0
‒ .NET 6 portable release, using only the portable components.SFI-1.2.1-net461
‒ .NET Framework 4.6.1 release, using all available components.SFI-1.2.1-wasm
‒ WebAssembly release, using only the portable components.
Semantic File Inspector v1.2
Full Changelog: v1.1.1...v1.2
If you are using the application as a .NET tool, run dotnet tool update IS4.SFI.ConsoleApp --global --version 1.2
to install this update.
Application
- Single-character options are converted to their canonical form for duplicate checking and options serialization.
- XML options serialization determines whether a setting should be stored as element based on its cardinality.
- The
.nuget/packages
plugin source directory is added only if it exists. - Options starting with
xml
are properly encoded when serialized. - Component and property names support wildcards when assigning (but the
:
must still be fully present). - Support for
/dev/folderpicker
to open a folder browser dialog. - Individual components are not shared across collections if they are configurable.
- NuGet plugins support the
nuget:?package={package}&version={version}
format. ObsoleteAttribute
on properties is recognized.
RDF
- Using a container membership property for the first time emits metadata to identify it more easily in queries.
Analysis
- Added a new package specifically for archive formats used by various games. Currently supports MPQ, PBO, and WAD (only .NET 6).
- Image parsing and bitmap operations (such as thumbnails and hashing) are now supported on all platforms, using ImageSharp.
- Minor fixes to XMP, DLL, RAR, and RDFa parsing.
- The XML format can now be parsed fully before analysis, supporting both document and fragment modes (or auto-detected), and a few other options affecting parsing (ignoring non-data nodes, custom encoding).
- Added support for LHA archives.
- The CLI assembly format now supports analyzing the code elements and external references of assemblies (when enabled).
Base
- Hash algorithms can now be configured to reject particular sources of input.
- Added
DeviceFileInfo
to support custom input sources. - Added
IImage
as a common interface for images. - Added
Namespace
to represent namespaces in code as an abstraction. FileAnalyer
does not addnfo:FileDataObject
to instances ofIDriveInfo
.- A few more URI formatters and formatting options (UUIDs, QNames, CLR members, DocId-like).
- Non-critical exceptions resulting from analysis are analyzed and described, using the XPath Errors vocabulary.
TrySet
has a newobject?
-taking overload that accepts other reference types supported byILinkedNode
.- (
Try
)SetMembers
extension method for container membership properties. - Reading from
XmlReaderState
now simply returns false instead of exception. - An instance of
IEncodingDetector
is provided as a service to formats and analyzers. DatatypeUri
can be converted back and forth from XML Schema datatypes.PropertyUri
can be inverted, swapping subject and object when used.- Faster term comparisons (but require vocabularies to match exactly).
Versions
SFI-1.2-net6.0-windows
‒ Windows-compatible self-contained release, using all available components.SFI-1.2-net6.0
‒ .NET 6 portable release, using only the portable components.SFI-1.2-net461
‒ .NET Framework 4.6.1 release, using all available components.SFI-1.2-wasm
‒ WebAssembly release, using only the portable components.
Semantic File Inspector v1.1.1
Full Changelog: v1.1...v1.1.1
If you are using the application as a .NET tool, run dotnet tool update IS4.SFI.ConsoleApp --global --version 1.1.1
to install this update.
- Added missing options to the help list.
- Fixed removing analyzers and logging scopes.
Versions
SFI-1.1.1-net6.0-windows
‒ Windows-compatible self-contained release, using all available components.SFI-1.1.1-net6.0
‒ .NET 6 portable release, using only the portable components.SFI-1.1.1-net461
‒ .NET Framework 4.6.1 release, using all available components.SFI-1.1.1-wasm
‒ WebAssembly release, using only the portable components.
Semantic File Inspector v1.1
Full Changelog: v1.0...v1.1
Application
- Added
-o
/--only-once
to process encountered entities only once (in case of duplicates) and cache the corresponding linked node. (35b21b8) - Names of format components were shortened and simplified. (05d8495, ec72715)
- Added
about
mode to give more information about a component or collection. (8de9853, 710ea5b) - The application can be alternatively configured using an XML file. (bacb050).
- Added
options
mode to print the options as XML. (73ba4e4) - dotNetRDF components added to their own collections (
rdf-formatter
,rdf-writer
,rdf-handler
,sparql-writer
). (2c5bd6c, df26162) - Added
/dev/clipboard
and/dev/picker
as special files (to access the clipboard or use a file dialog to select files). (1fd4880, 87bfe56, f2954eb)
RDF
- JSON-LD generation is now possible in the unbuffered (streamed) mode too. (4f728af)
- Improved the order of predicates in the output, preferring to first link a node to a sub-node and then describe the sub-node, to improve the appearance in the output. (849535e)
Analysis
- Added
SFI.Formats.CLI
to parse and analyze .NET assemblies. (5c24ec9) - Added the Murmur hash algorithm (5f743e8).
- Individual paths, extensions, MIME types and arbitrary objects are now separately analyzable, with options to add additional triples to the output. (1a6942e, 2cd3e36, 389b319)
- The file system root is now identified as
file:///
(directory) andfile:///.
(file), as opposed tofile:///./
andfile:///
(9c41353). - XML by default now limits expanded entities to 1024 characters. Other parsing options are configurable. (bd3eb90)
- Spectrogram creation for audio is disabled by default. Loading it requires MKL (use
dotnet install mathnet.numerics.mkl.win -version 2.5.0
). (624096a)
Plugins
- Plugin assemblies may also use types that implement
IEnumerable<>
orIAsyncEnumerable<>
of a component type. These types are instantiated and enumerated to obtain the components to use. (1a433da) - Support for
ILogger
in plugin dependency injection. (a6768b5) - Plugins may be loaded from NuGet, via
nuget:
orsfi:
for a standard SFI package. (5e16eac) - Plugins may be loaded from any web resource. (55255ad)
- Forwarded types are taken into account when loading plugin assemblies. (83e96bb)
ISupportInitialize
can be used for mass-initializing components. (0ac536f)- Identical types loaded from multiple sources will not be instantiated twice. (f7dc6ee)
Versions
SFI-1.1-net6.0-windows
‒ Windows-compatible self-contained release, using all available components.SFI-1.1-net6.0
‒ .NET 6 portable release, using only the portable components.SFI-1.1-net461
‒ .NET Framework 4.6.1 release, using all available components.SFI-1.1-wasm
‒ WebAssembly release, using only the portable components.
Semantic File Inspector v1.0
Full Changelog: https://github.com/IS4Code/SFI/commits/v1.0
File descriptions:
SFI-wasm
‒ published for the WebAssembly target, running in the browser.SFI-win-x64
‒ published for thewin-x64
platform as a stand-alone application.SFI-win-x64-native
‒ native MathNet libraries (optional).