Releases: open2b/scriggo
v0.61.1
v0.61.0
This release brings improvements and new features across several parts of Scriggo: the command-line tool gains new commands and flags, the template engine adds new builtins and API, and several bugs have been fixed.
Scriggo command
- New
buildcommand that compiles a template and writes the output to files. This makes it easy to deploy a site by uploading the generated files to a static file hosting platform — a simple and fast way to bring a website to production. Thebuildcommand also accepts a-llmsflag to generate LLM-friendly Markdown output. - New
-httpflag forscriggo serveto specify the address to listen on. - The
servecommand now has the-contsflag, aligning its behavior with the existingruncommand. - The
servecommand now also checks forpath/index.htmlorpath/index.mdwhen neitherpath.htmlnorpath.mdis found.
Builtins and API
- New
indentJSONbuiltin that indents ajsonvalue while preserving the existing object key order. - New
Template.Formatmethod. - New tree transformation APIs: the transformations methods of the tree now allow transforming the syntax tree at different stages of the compilation pipeline — one before the expansion of imported and extended files, and one after. This gives greater flexibility and control over how the AST tree is transformed.
Other fixes and improvements
- Fixed the handling of
panic(nil). - Various improvements and fixes to the template and the rest of Scriggo. See the full list of changes.
Breaking changes
BuildOptions.TreeTransformerhas been renamed toExpandedTransformerto better reflect when it is executed.
Go version
The minimum required Go version is now Go 1.25, while the Scriggo command is compiled with Go 1.26.
v0.60.0
This release follows the release of Go 1.24 and introduces updates to ensure compatibility. The minimum supported Go version is now 1.23, while the Scriggo command is compiled with Go 1.24.
Changes:
- scriggo: require Go 1.23 as the minimum supported version (breaking change)
v0.59.1
v0.59.0
This release introduces LiveReload functionality to the Scriggo Serve command, enabling automatic page reloads in the browser whenever the page’s template files are modified.
With LiveReload and the automatic template rebuild, changes are instantly reflected in the browser as soon as you save the files.
To disable LiveReload, use the --disable-livereload flag.
v0.58.1
This release focuses on bug fixes and updates dependencies. It addresses the following issues:
- Resolved a race condition occurring when a function or macro was called indirectly.
- Fixed issues causing empty output when invoking a macro, especially in cases of recursive calls.
- Addressed template recompilation errors in the Scriggo
servecommand when a render operator was indirectly used within ashowstatement.
v0.58.0
This release fixes the following issues:
- Fixed a panic in the Scriggo command when trying to import or extend a non-existent file.
- Fixed rendering issues when a non-Markdown file is rendered inside a Markdown context.
Additionally, files with the ".mdx" extension are now treated as Markdown files by default.
We’ve added the MarkdownConverter method to native.Env. A function or method, whether passed globally or imported into a template, can now use this method to retrieve the Markdown converter passed when building the template.
Finally, the scriggo serve command now enables support for footnotes in Markdown parsing.
Changes
- cmd/scriggo: fix panic when importing or extending a non-existent file
- cmd/scriggo: add extension.Footnote to goldmark (breaking change)
- internal/runtime: refactor macro calls and renderer implementation
- internal/compiler: add .mdx as default Markdown file extension (breaking change)
- native,internal/runtime: introduce the Env.MarkdownConverter method (breaking change)
v0.57.1
v0.57.0
Support for Go Compiler Versions 1.22 or Higher
This release adds support for Go compiler versions 1.22 or later.
Note that support for Go versions 1.21 or earlier is therefore removed, as functionality of Scriggo is no longer guaranteed for these compiler versions.