Skip to content

Releases: statiqdev/Statiq.Framework

1.0.0-beta.31

01 Dec 22:07
Compare
Choose a tag to compare
1.0.0-beta.31 Pre-release
Pre-release
  • Added some additional retry policies to file operations to avoid file lock exceptions under certain conditions (#151).
  • Added ability to customize the body of meta-refresh redirect HTML files using the RedirectBody key (#153).
  • Added .fhtml as a media type to mean HTML fragments (needed so that we can treat full HTML and HTML fragments differently when applying layouts in Statiq Web).

1.0.0-beta.30

01 Dec 15:04
Compare
Choose a tag to compare
1.0.0-beta.30 Pre-release
Pre-release
  • Added a new CleanMode enumeration and corresponding setting to control which output files are cleaned on execution (#152).
  • Added a --clean-mode command-line option to control the cleaning mode.
  • Changed the default cleaning behavior to CleanMode.Self which only cleans files written during execution and not those written by external processes, for example.
  • Added the IServiceProvider to the PipelineBuilder so services are available when building pipelines (#150).
  • Added new IReadOnlyFileSystem.GetRootPath() extensions.
  • Added ProcessLauncher.WaitForRunningProcesses() that allows waiting until all running processes have exited.
  • Added a IBootstrapper.Command property that can get the command that was run (provided it inherits from BaseCommand<TSettings>).

1.0.0-beta.29

22 Nov 14:57
Compare
Choose a tag to compare
1.0.0-beta.29 Pre-release
Pre-release
  • Added a new interactive command that provides a REPL (read-eval-print prompt) after execution, useful for inspecting the state of the engine and debugging the generation.

1.0.0-beta.28

16 Nov 13:17
Compare
Choose a tag to compare
1.0.0-beta.28 Pre-release
Pre-release
  • Added a .PreserveFrontMatter() configuration method to the ExtractFrontMatter module that preserves the front matter content.
  • Fixed a bug with gathered headings where HTML was included in the heading text (#142).
  • Added support for specifying ViewData in the RenderRazor module (#145, #146, thanks @alanta).
  • Added a new BeforeDeployment event that gets raised before any deployment pipelines are run (or at the end of execution if there are no deployment pipelines).
  • Added a new ProcessLauncher utility class to Statiq.Common that does what the StartProcess module does, but in a way that can be used outside of the module since it's such a general use case.

1.0.0-beta.27

22 Oct 19:45
Compare
Choose a tag to compare
1.0.0-beta.27 Pre-release
Pre-release
  • Fixed a bug with deployment pipelines getting document outputs from non-deployment pipelines.
  • Fixed a bug where deployment pipeline input phases were starting with outputs from non-deployment pipelines (input phases should always start empty).
  • Improved exception logging when in a module to include pipeline, phase, and module name.

1.0.0-beta.26

22 Oct 14:58
Compare
Choose a tag to compare
1.0.0-beta.26 Pre-release
Pre-release
  • Fixed an unnecessary pipeline dependency check for deployment pipelines that prevented setting up dependency chains involving deployment pipelines and only dependent non-deployment pipelines.

1.0.0-beta.25

21 Oct 20:54
Compare
Choose a tag to compare
1.0.0-beta.25 Pre-release
Pre-release
  • Breaking change: Removed the Statiq.Html.ValidateLinks module in favor of analyzers in Statiq Web (which have already been improved beyond the module).
    If you still need access to this module directly, copy the code from a previous version into your own project and reference the Statiq.Html package and it should continue to work.
  • Updated ImageSharp in Statiq.Images to stable version 1.0.1 (thanks @JimBobSquarePants, #138).
  • Improved logging, all error and warning messages are now output on Azure Pipelines and GitHub Actions as checks.

1.0.0-beta.24

14 Oct 20:34
Compare
Choose a tag to compare
1.0.0-beta.24 Pre-release
Pre-release
  • Added StartProcess.LogErrors() to configure whether standard error output is logged as debug or error messages.
  • Added IContentProvider.GetCacheHashCodeAsync() to get and cache a hash code for a given content provider.
  • Updated AngleSharp to 0.14.0 (#135, #136, thanks @alanta).
  • Added RenderMarkdown.WithMarkdownDocumentKey(string markdownDocumentKey) to indicate where the MarkdownDocument should be saved, or not at all.
  • Removed DocumentAnalyzer and SyncDocumentAnalyzer in favor of combining into alternate overloads in Analyzer and SyncAnalyzer similar to how Module handles it
    (this lets analyzers provide functionality before documents are processed individually).
  • Renamed IInitializer to IBootstrapperInitializer.
  • Added IEngineInitializer which will be instantiated and called when an engine first starts up (for example, lets you hook engine events from extensions).
  • Moved engine event classes like BeforeEngineExecution to Statiq.Common so they can be subscribed by extensions using a IEngineInitializer.
  • Removed documents from the IAnalyzer methods, added IExecutionContext as a base interface for IAnalyzerContext, and analyzer documents now passed as IAnalyzerContext.Inputs similar to modules.
  • Added IAnalyzer.BeforeEngineExecutionAsync(IEngine engine, Guid executionId) to get called one-per-instance for each analyzer prior to each engine execution (for resetting caches, etc.).
  • Changed analyzer pipeline and phase specification to be a collection of KeyValuePair<string, Phase> instead of distinct pipeline and phase arrays.
  • Changed deployment pipelines so that none of their phases are executed until all phases of non-deployment pipelines are completed (I.e. deployment pipelines now don't start executing until all non-deployment pipelines are done).
  • Non-deployment pipelines can no longer have a dependency on deployment pipelines (this didn't really make sense before, but now it's enforced).

1.0.0-beta.23

04 Oct 01:08
Compare
Choose a tag to compare
1.0.0-beta.23 Pre-release
Pre-release
  • Removed a debugging break statement that snuck into the last release.

1.0.0-beta.22

03 Oct 03:29
Compare
Choose a tag to compare
1.0.0-beta.22 Pre-release
Pre-release
  • Fixed a bug with the ValidateLinks module when using a <base> element on the page.
  • Added IExecutionState.LogBuildServerWarning() and IExecutionState.LogBuildServerError() extensions to log messages to the console in a format build servers can recognize for build checks (GitHub Actions and Azure Pipelines).
  • Fixed bugs with relative link validation (#128, #134, thanks @mholo65).
  • Added a StartProcess.HideArguments() method to hide arguments when logging process commands.
  • Fixed several bugs related to cancellation and error codes.
  • Fixed a bug with NormalizedPath.GetTitle() when the file name contains multiple extensions (#130, #131, thanks @devlead).
  • Added support for analyzers (#104).
  • Added Analyzer, SyncAnalyzer, DocumentAnalyzer, and SyncDocumentAnalyzer base analyzer classes (#104).
  • Added Bootstrapper.Analyze() and Bootstrapper.AnalyzeDocument() for defining delegate-based analyzers (#104).
  • Fixed a bug in the console logger when logging with LogLevel.None.
  • Added a --failure-log-level <LEVEL> CLI command to fail generation and return a non-zero exit code if any log messages exceed the provided threshold (I.e. --failure-log-level Warning) (#101).
  • Added a Bootstrapper.SetFailureLogLevel() extension to set the failure log level from code (#101).
  • The RenderMarkdown module now adds MarkdownDocument metadata that contains the Markdig MarkdownDocument created during processing.
  • Added Scriban (Liquid) support via new RenderScriban module (#120, thanks @mholo65).
  • Added ExecuteDestinations and ExecuteSources modules to filter documents by destination or source and then execute modules on the filtered documents.