Skip to content

Releases: IS4Code/SFI

Semantic File Inspector v1.2.2

12 Mar 15:17
Compare
Choose a tag to compare

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

Semantic File Inspector v1.2.1

27 Feb 16:03
Compare
Choose a tag to compare

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

Semantic File Inspector v1.2

18 Feb 14:18
Compare
Choose a tag to compare

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 add nfo:FileDataObject to instances of IDriveInfo.
  • 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 new object?-taking overload that accepts other reference types supported by ILinkedNode.
  • (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

20 Jul 09:51
Compare
Choose a tag to compare

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

Semantic File Inspector v1.1

17 Jul 19:05
Compare
Choose a tag to compare

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) and file:///. (file), as opposed to file:///./ and file:/// (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<> or IAsyncEnumerable<> 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: or sfi: 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

08 Jun 13:07
Compare
Choose a tag to compare
Pre-release

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 the win-x64 platform as a stand-alone application.
  • SFI-win-x64-native ‒ native MathNet libraries (optional).