1.0.0-beta.53
Pre-release
Pre-release
daveaglick
released this
31 Dec 16:35
·
85 commits
to main
since this release
- Breaking change:
IFileSystem
must now be injected and passed toBaseCommand
when creating custom commands that derive from it. - Breaking change:
IEngine.FileSystem
is now aIReadOnlyFileSystem
instead ofIFileSystem
(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 throughBootstrapper.ConfigureFileSystem()
or one of the other more specific file system bootstrapper extensions likeBootstrapper.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
inStatiq.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 aIReadOnlyFileSystem
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
inStatiq.CodeAnalysis
to 3.2.6. - Updated
Microsoft.CodeAnalysis.CSharp
inStatiq.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 theCacheDocuments
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.