Skip to content

1.0.0-beta.53

Pre-release
Pre-release
Compare
Choose a tag to compare
@daveaglick daveaglick released this 31 Dec 16:35
· 85 commits to main since this 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.