Skip to content

Semantic File Inspector v1.2

Choose a tag to compare

@IS4Code IS4Code released this 18 Feb 14:18
· 70 commits to master since this release

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.