Skip to content

Releases: sempare/sempare-delphi-template-engine

Release v1.7.5

20 Feb 14:17
Compare
Choose a tag to compare

This release features:

  • FIX: Improved JSON (System.JSON) support
  • FIX: Refactor RTTI deref methods

Release v1.7.4

11 Feb 17:51
Compare
Choose a tag to compare

This release features:

  • NEW: Assignment can now be done using both Pascal (:=) and C (=) operators. This is a flexibility feature to support users.
  • NEW: default(value, default) method. Default is returned when IsEmpty(value) is true.
  • NEW: domid(record_or_class [, context:str] )
  • NEW: pascal-like ternary: <% greet := true; print( 'hello' if greet else 'bye' ) %>
  • FIX: refactor old C-like ternary <% print(greet? 'hello':'bye' ) %>
  • FIX: some of the language constructs required open and close brackets. These are now optional. Close bracket will be forced when the open bracket is used.
  • FIX: semi colons can be used more liberally within the script blocks, even with empty statements. <% print('hello'); ; ; ; print('world') ; %>

Release v1.7.3

13 Nov 11:00
Compare
Choose a tag to compare

NEW: add some helper debug methods for probing the stack frames
NEW: add Context.VariableResolver
NEW: map values can now contain expressions
NEW: support for integration with the DelphiMVCFramework (bridge adaptor will be in that repository)
FIX: context missing on two of the TTemplateRegistry.Eval overloads which resulted in some of the config being missing
FIX: general refactorings
FIX: VCL dependency removed. Introductory licensing text is now included in template output when run without the define.
FIX: refactor SempareVersion() helper

Release 1.7.2

12 Aug 20:27
16d4d46
Compare
Choose a tag to compare
  • NEW: add manage(object) and unmanage(object) to allow scripts to hint to evaluation engine to dispose of dynamically created objects
  • NEW: updated Template Engine Playground to show evaluation time in ms
  • NEW: updated Template Engine Playground to extract variables from a script into the grid
  • NEW: updated Template Engine Playground with Carbon theme
  • NEW: initial support for json/map like variables
  • FIX: remove caching of TRttiMethod to ensure calls on virtual methods work correctly
  • FIX: type coercion to TValue reapplied

Release 1.7.1

17 Apr 16:51
3481d93
Compare
Choose a tag to compare
  • NEW: update template resolution in TTemplateRegistry using contextual information
  • NEW: add convenience helpers Template.Resolver(), Template.Resolve(), Template.ResolveWithContext()
  • NEW: add Context.TemplateResolverWithContext
  • FIX: stack overflow on TemplateRegistry when resolving templates explicitly added to the context.
  • FIX: resource leak in TTemplateRegistry on shutdown
  • FIX: TTemplateRegistry shutdown could potentially block

Release v1.7.0

12 Apr 22:46
c996b78
Compare
Choose a tag to compare
  • NEW: add extends/block support
  • NEW: add whitespace stripping hints to script tokens
  • NEW: add WebBroker demo
  • NEW: add TTemplateRegistry helper (experimental)
  • NEW: reformat docs with working navigation and function ordering
  • NEW: add Sempare.Template.RCGenerator
  • NEW: add hash comment support <%# comment %>
  • NEW: support multiple statements in a script block. e.g. <% print('a'); print('b') %>
  • NEW: add Template.ExtractBlocks
  • NEW: add Context.WhitespaceChar
  • NEW: added != alias for <>, == alias for =
  • CHANGE: Remove eoAllowIgnoreNL, eoStripEmptyLines, eoReplaceNewline
  • CHANGE: Rename Demo to Playground
  • CHANGE: removed (* *) style comments within script blocks which didn't really work
  • FIX: bug in elif
  • FIX: cycle statement support in while loops
  • FIX: various internal refactorings

v1.6.2

28 Mar 09:02
8c53317
Compare
Choose a tag to compare
  • NEW: Allow TemplateContext.ValueSeparator to be overridden. May be , or ;
  • BREAK: TemplateContext.ValueSeparator is no longer coupled to TemplateContext.DecimalSeparator
  • NEW: Rail road diagrams added in documentation

v1.6.1

27 Mar 09:58
591a27d
Compare
Choose a tag to compare

FIX: removed unnecessary unit include

v1.6.0

22 Mar 22:41
129c15f
Compare
Choose a tag to compare

NEW: Collection emptiness checks for if statement
NEW: New functions added
FIX: Scope enhancements to support recursive includes
NEW: for-of support added

Release v1.5.1

14 Feb 22:35
3a5beeb
Compare
Choose a tag to compare

FIX: issues identified with missing consts in XE4.