1.0.0-beta.42
Pre-release
Pre-release
daveaglick
released this
10 May 15:24
·
162 commits
to main
since this release
- Breaking change: Deleted
IFile.GetCacheHashCodeAsync()
and replaced it with an implementation ofICacheCode
. - Breaking change: Renamed
IContentProvider.GetCacheHashCodeAsync()
and replaced it with an implementation ofICacheCode
. - Breaking change: Renamed
IDocument.GetCacheHashCodeAsync()
and replaced it with an implementation ofICacheCode
. - Added a new "cache" folder that contains caching artifacts to improve performance, deleting it won't harm anything but it should be left if possible to improve initial generation performance.
Also note that the "cache" folder likely shouldn't be committed to a repository, though it's designed to support that scenario when warranted (I.e. relative paths, etc.). - Compiled Razor assemblies (including layouts and partials) are now cached to disk which dramatically improved initial generation performance by not recompiling files that haven't changed.
- Added
IFile.ReadAllBytesAsync()
andIFile.WriteAllBytesAsync()
. - Added
IFile.WriteFromAsync()
,IFile.AppendFromAsync()
, andIFile.CopyToAsync()
extension methods to more easily copy a file from/to a stream. - Added
IReadOnlyFileSystem.CachePath
and related extensions, methods, etc. to provide a path where cache files should be stored and set to "cache" by default (which should be excluded in.gitignore
). - The write tracking data is now cached in a file so if the output folder has not changed and the content is the same, files don't need to be written even on the first execution.
- Added an
ICacheCode
interface to provide a standard deterministic.GetCacheCodeAsync()
method and implemented it inIDocument
,IContentProvider
, andIFile
. - Changed the console output encoding and the
ProcessLauncher
child process console encodings to UTF-8 so emoji and other Unicode characters will render correctly from child processes. - Fixed a bug with the
--help
CLI option and command description escaping (#186). - Added ability to set the temp and cache paths via the CLI.