Releases: statiqdev/Statiq.Framework
Releases · statiqdev/Statiq.Framework
1.0.0-beta.62
- Changed
Statiq.App.propstoStatiq.App.targetsto resolve some import ordering bugs. - Added a
Keys.IgnoreExternalDestinationssetting 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
- Updated the referenced version of ImageSharp in the Statiq.Images library (#242, thanks @olevett).
- Fixed some
HtmlKeyscopy-paste errors (#240, thanks @pascalberger).
1.0.0-beta.60
- Added support for surfacing tuple information in the
AnalyzeCSharpmodule.
1.0.0-beta.59
- Added support for regular expressions to the
ExtractFrontMattermodule (#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 likeIPipelineOutputs.FromPipeline()does.- Added
AnalyzeCSharp.IncludeEmptyNamespaces()option to control whether recursively empty namespaces are output.
1.0.0-beta.58
- Updated Buildalyzer in
Statiq.CodeAnalysisto 4.1.0 which removes some dependencies on .NET Framework and resolves some package resolution problems.
1.0.0-beta.57
- Added support for "raw" code fences to the
RenderMarkdownmodule that bypasses markdown processing. - Fixed a bug when instantiating a
ShortcodeResultfrom the bootstrapper due to lack of availability of an execution context (since the engine hasn't been created yet). - Added
WithNestedElements()to theGatherHeadingsmodule 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
StartProcessArgumentclass andWithArgument()/WithArguments()methods to theStartProcessmodule that makes it easier to define multiple arguments inside a single config delegate.
1.0.0-beta.56
- 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.Timestampthat holds a timestamp of document instantiation and is useful for ordering documents based on "most recent" semantics. - Uses the new
IDocument.Timestampproperty to order certain document results like thePipelineOutputsenumerator,PipelineOutputs.ExceptPipeline(),IEnumerable<IDocument>.FilterDestinations(), andIEnumerable<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.Implementsto the documents produced by theAnalyzeCSharpmodule 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
- Added a new
MarkdownExtensionsmetadata 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 aPathCollectionare removable (the default istrue). - 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
- Added a new
RetryModulesmodule 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
- Breaking change:
IFileSystemmust now be injected and passed toBaseCommandwhen creating custom commands that derive from it. - Breaking change:
IEngine.FileSystemis now aIReadOnlyFileSysteminstead 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.RazorRazor 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
MarkdiginStatiq.Markdownto 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). Enginenow accepts aIReadOnlyFileSystemas 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
BuildalyzerinStatiq.CodeAnalysisto 3.2.6. - Updated
Microsoft.CodeAnalysis.CSharpinStatiq.Coreto 3.11.0. - Improved diagnostic logging of compilation message in
Statiq.Razor. - Made the output ordering of the
ReadFilesmodule 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 theCacheDocumentsmodule 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
@modeldirective that could be overridden by a@inheritsdirective in an import.