Skip to content

Releases: statiqdev/Statiq.Framework

1.0.0-beta.62

06 Jul 18:06

Choose a tag to compare

1.0.0-beta.62 Pre-release
Pre-release
  • Changed Statiq.App.props to Statiq.App.targets to resolve some import ordering bugs.
  • Added a Keys.IgnoreExternalDestinations setting to ignore when document destinations are not relative to the output path since some use cases may require writing documents elsewhere.

1.0.0-beta.61

05 Jul 18:36

Choose a tag to compare

1.0.0-beta.61 Pre-release
Pre-release
  • Updated the referenced version of ImageSharp in the Statiq.Images library (#242, thanks @olevett).
  • Fixed some HtmlKeys copy-paste errors (#240, thanks @pascalberger).

1.0.0-beta.60

10 Mar 14:01

Choose a tag to compare

1.0.0-beta.60 Pre-release
Pre-release
  • Added support for surfacing tuple information in the AnalyzeCSharp module.

1.0.0-beta.59

08 Mar 13:20

Choose a tag to compare

1.0.0-beta.59 Pre-release
Pre-release
  • Added support for regular expressions to the ExtractFrontMatter module (#231).
  • Added IPipelineOutputs.ExceptPipelines() extension method to get outputs from all but a set of specified pipelines.
  • IPipelineOutputs.ExceptPipeline() now returns documents in natural order like IPipelineOutputs.FromPipeline() does.
  • Added AnalyzeCSharp.IncludeEmptyNamespaces() option to control whether recursively empty namespaces are output.

1.0.0-beta.58

15 Feb 21:20

Choose a tag to compare

1.0.0-beta.58 Pre-release
Pre-release
  • Updated Buildalyzer in Statiq.CodeAnalysis to 4.1.0 which removes some dependencies on .NET Framework and resolves some package resolution problems.

1.0.0-beta.57

15 Feb 01:04

Choose a tag to compare

1.0.0-beta.57 Pre-release
Pre-release
  • Added support for "raw" code fences to the RenderMarkdown module that bypasses markdown processing.
  • Fixed a bug when instantiating a ShortcodeResult from the bootstrapper due to lack of availability of an execution context (since the engine hasn't been created yet).
  • Added WithNestedElements() to the GatherHeadings module to control whether nested HTML element content is included in the heading text (the default is now that it is not, other than links).
  • Fixed a bug with certain modules double-encoding character references (statiqdev/Statiq#981).
  • Added a new StartProcessArgument class and WithArgument()/WithArguments() methods to the StartProcess module that makes it easier to define multiple arguments inside a single config delegate.

1.0.0-beta.56

04 Feb 02:45

Choose a tag to compare

1.0.0-beta.56 Pre-release
Pre-release
  • Added DocumentList<TDocument>.GetDestination(NormalizedPath destinationPath), .GetSource(NormalizedPath sourcePath), and .GetRelativeSource(NormalizedPath sourcePath) to better provide single document results from a document list.
  • Added IPipelineOutputs.GetDestination(NormalizedPath destinationPath), .GetSource(NormalizedPath sourcePath), and .GetRelativeSource(NormalizedPath sourcePath) to better provide single document results from pipeline output collections.
  • Added IDocument.Timestamp that holds a timestamp of document instantiation and is useful for ordering documents based on "most recent" semantics.
  • Uses the new IDocument.Timestamp property to order certain document results like the PipelineOutputs enumerator, PipelineOutputs.ExceptPipeline(), IEnumerable<IDocument>.FilterDestinations(), and IEnumerable<IDocument>.FilterSources() in descending creation order (in other words, document results that otherwise don't have a natural order are ordered by timestamp now) (#226).
  • Fixed a bug when multiple modules call IEngine.GetJavaScriptEnginePool() for the first time concurrently.
  • Added CodeAnalysisKeys.Implements to the documents produced by the AnalyzeCSharp module to represent the interface member(s) being implemented by properties, events, and methods.
  • Added the ability to inject Sass variables via metadata by prefixing with "Sass_" which should make providing theme customizations a lot easier.

1.0.0-beta.55

10 Jan 22:10

Choose a tag to compare

1.0.0-beta.55 Pre-release
Pre-release
  • Added a new MarkdownExtensions metadata key that can add Markdown (I.e. Markdig) extension types per-document or per-execution using metadata/settings (#222).
  • Removed the recently added PathCollection.RemoveDefault() method and instead allow optionally specifying whether paths that get added to a PathCollection are removable (the default is true).
  • Removed the recently added notion of "initial settings" due to being confusing and instead moved settings initialization up in the order of bootstrapper operations (this shouldn't result in a breaking change, but be on the lookout for problems).

1.0.0-beta.54

04 Jan 21:57

Choose a tag to compare

1.0.0-beta.54 Pre-release
Pre-release
  • Added a new RetryModules module that provides simple retry behavior for it's child modules (it essentially wraps module execution with Polly).
  • Added a new PathCollection.RemoveDefault() method that only removes the default paths, and used it to clear only default paths when alternate input paths are specified on the command line.

1.0.0-beta.53

31 Dec 16:35

Choose a tag to compare

1.0.0-beta.53 Pre-release
Pre-release
  • Breaking change: IFileSystem must now be injected and passed to BaseCommand when creating custom commands that derive from it.
  • Breaking change: IEngine.FileSystem is now a IReadOnlyFileSystem instead of IFileSystem (I.e. the file system can no longer be edited one the engine has been created).
  • Breaking change: The file system can no longer be configured through Bootstrapper.ConfigureEngine() and must be done through Bootstrapper.ConfigureFileSystem() or one of the other more specific file system bootstrapper extensions like Bootstrapper.SetRootPath().
  • Changed the Statiq.Razor Razor compilers to use collectible assemblies in a custom load context for better memory usage and caching behavior. This isn't a breaking change but was somewhat risky so keep an eye out for any problems related to Razor compilation and please open issues if you notice any regressions.
  • Updated Markdig in Statiq.Markdown to 0.26.0.
  • Fixed a number of inconsistencies with the way the @ symbol was being escaped in Markdown documents (using \@ should now work reliably, see statiqdev/Discussions#109).
  • Engine now accepts a IReadOnlyFileSystem as a constructor argument (a new file system will be created if one is not provided).
  • Added bootstrapper support for "initial" settings which are set before other parts of the bootstrapper (like the file system or services). Use these new initial settings bootstrapper extensions when you need to add a setting very early in the bootstrapper process just after reading configuration files (for most use cases the existing settings extensions continue to be preferred).
  • Updated Buildalyzer in Statiq.CodeAnalysis to 3.2.6.
  • Updated Microsoft.CodeAnalysis.CSharp in Statiq.Core to 3.11.0.
  • Improved diagnostic logging of compilation message in Statiq.Razor.
  • Made the output ordering of the ReadFiles module deterministic which will help certain caching scenarios where cache codes are generated by combining output files including order.
  • Added a CacheDocuments.WithoutSourceMapping() extension to toggle a new mode for the CacheDocuments module where all inputs are mapped to all outputs and the entire cache is invalidated when one input changes.
  • Changed dynamic Razor assemblies to use the path and file name in their assembly names instead of a random file name (#220).
  • Added a warning when a Razor partial or view uses a @model directive that could be overridden by a @inherits directive in an import.