- Remove support for importing method instance as this is confusing and actually not supported. Update the documentation. (#44)
- Take into account inheritance when accessing properties for auto-import .NET object (#43)
- Fix
date.to_string
anddate.parse
to accept/return nullable DateTime and return null accordingly (#42)
- Bump to 1.0.0
- Add member renamer parameter to the method
Template.Render(object, renamer)
- Fix bug when importing an object to import also parent properties/fields/methods (#35)
- Add better exception with span if an error occured when getPath/Load a template include
- Add extension method IScripObject.SetValue
- Add support for decimal
- Add support for nullable types for user functions
- Bump version from 0.16.0 to 1.0.0-beta-001
- Work towards 1.0.0-beta
- Change MemberRenamer to receive a MemberInfo instead
- Change MemberFilter to receive a MemberInfo instead. Add support to setup a MemberFilter on a TemplateContext as a MemberRenamer
- Rename
RenderContext
/RenderOptions
toTemplateRewriterContext
/TemplateRewriterOptions
- Allow liquid parser to accept anykind of tags in tag sections and not only the defaults
- Add changelog.md
- Work towards 1.0.0-beta (#29)
- Named arguments (#28)
- Add documentation to all .NET builtin functions (59fa7c5, ece713d)
- Generate markdown docs from .NET code for all builtin functions (c8350bb9181c8728ca6223a0e2e8e5de4aa712d4)
- Add documentation for named arguments (da32cee)
- Add documentation for
this
variable (96b31ff, fcd60ce) - Generate tests from builtin functions documentation directly (to verify that examples are actually compiling and correct) (1db628e)
- Add documentation for
empty
variable (9884067) - Add documentation for
obj.empty?
(9884067) - Add documentation for .NET functions with object
params
(4755e5b) - Add documentation for
for
statements with limit, offset, reversed. (a433209) - Add documentation for
tablerow
statements with limit, offset, reversed. (5f7274e) - Add documentation about
for.changed
andfor.rindex
variables (ea3c5d9) - Add documentation for
when
/case
(b150a5d) - Add documentation for liquid support (d88a931)
- Add support for named arguments to function calls (#28)
- Update all builtin functions to use proper argument names (for named arguments)
- Start to add markdown documentation to functions directly into .NET code (to extract them later)
- Change named parameters in scriban for
for
/tablerow
statement to match liquid's behavior (no comma but separated by space)
- Enable hyphenated variables (my-variable) only for liquid and convert it to scriban with the this indexer (
this["my-variable"]
)
- Improve API towards 1.0.0-beta (#29)
- Improve tests coverage
- Improve support for liquid
- Add more tests and coverage
- Add support for liquid compatible parser
- Add support for Ast-to-text mode
- Fix various parsing to improve compatibility with liquid templates
- Update benchmarks
- Add documentation
- Add string.append, string.prepend, string.md5/sha1/sha256/hmac_sha1/hmac_sha256, html.escape, html.url_encode, html.url_escape, html.strip
- Add documentation
- Refactoring breaking changes. Change namespace Scriban.Model to Scriban.Syntax. Remove usage of interfaces for renamer and template loader and use delegates instead.
- Fix a few internals in TemplateContext
- Makes the IListAccessor behaves like IObjectAccessor with TemplateContext/SourceSpan
- Change IScriptCustomFunction.Evaluate to IScriptCustomFunction.Invoke
- Add static
Template.Evaluate
method to evalaute an expression directly (#20) - Update documentation (runtime.md, language.md)
- Add benchmark project
- Add math.is_number and math.format (#6)
- Propagate TemplateContext and Span to IScriptObject (#22)
- Major refactoring of internals of TemplateContext and ScriptNode. Replace ScriptDate by DateTime instead (fix for #23)
- Allow bool comparison (#24)
- Make array functions modifying an IList to instead return a modified copy of it
- Add virtual to most ScriptArray methods
- Make ScriptObject.IsReadOnly virtual
- Breaking changes. Rename IScriptObject.IsReadOnly to CanWrite. Add IScriptObject.IsReadOnly for global object locking
- Catch exceptions while evaluating an expression and rethrow them wrapped into a ScriptRuntimeExecption if it is not already the case.
- Make ScriptObject methods virtual
- Split namespace for Runtime to Model and Functions
- Add support for binding variable/member access (#19)
- Migrate to new csproj
- Improve performance of raw statements
- Add support for front matter
- Add support for regex functions
- Add support for verbatim strings using backsticks
- Add support for default format date
- Add support for accessing generic dictionary (#11, #15)
- Fix string.capitalize bug returning an empty string when the input was already capitalized (#13)
- Switch to .NETCore RTM
- Initial version