Skip to content

Releases: sempare/sempare-delphi-template-engine

Release v1.8.0

23 Sep 10:50
01b9c1b
Compare
Choose a tag to compare
  • NEW support calling methods on interfaces
  • NEW support accessing properties on interfaces
  • NEW simplified white space removal
  • NEW License change to Apache 2.0
  • FIX to support issues under XE7
  • FIX AV when method method does not exist
  • FIX improved error messaging on exceptions
  • FIX regex threadsafety issue in lexer

Release v.1.7.7

10 Aug 16:55
1616df4
Compare
Choose a tag to compare
  • github actions updated to support 64bit build
  • updated docs
  • fixed internal passing of variables for function taking dynarray as param
  • fixed a 64bit tests
  • fixed some tests where records were not in interface section
  • added more examples
  • support functional includes

Release v.1.7.6

21 Jul 13:38
8d8e2e4
Compare
Choose a tag to compare

This release features:

  • Release build fails when the Sempare License check is not confirmed
  • Refactoring
  • Support allowing for RTTI context to reference across DLL boundaries (but based off the same version of Delphi)
  • Main package marked as runtime only
  • Commits are now under GitHub Actions CI
  • DPM support

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