Skip to content

Releases: CloudyKit/jet

v6.2.0

16 Dec 12:38
Compare
Choose a tag to compare

This release

  • fixes a panic occurring when ranging over a channel or other custom rangers without setting the value to variable (#200)
  • speeds up accessing struct fields and eliminates allocations for many uses of resolveIndex() (#201)
  • improves the performance of intsRanger by eliminating allocations (#202)

As a result, it's now possible to execute templates with guaranteed zero memory allocations (during execution) by using a combination of int and custom rangers and either simple field access or custom renderers.

Thank you, @matheusd for submitting these PRs!

Full Changelog: v6.1.0...v6.1.1

v6.1.0

05 Mar 07:00
Compare
Choose a tag to compare

Added dump() built-in function for development/debugging: https://github.com/CloudyKit/jet/blob/master/docs/builtins.md#dump
Thanks @jan-herout for contributing this! (#189)

v6.0.2

04 Jan 09:59
Compare
Choose a tag to compare

Non-breaking workaround for #187: comments were not parsed correctly when using custom delimiters.

v6.0.1

06 Nov 09:11
Compare
Choose a tag to compare

The in-memory template loader introduced in v6.0.0 is now safe for concurrent use. (3f2f52a)

v6.0.0

05 Nov 15:18
Compare
Choose a tag to compare

Version 6 brings Go API improvements, mainly from #182 and #183. Take a look at the breaking changes documentation for a detailed overview. There are no changes to the template language.

v5.1.0

13 Oct 10:49
Compare
Choose a tag to compare

With version 5.1.0, Jet gains whitespace control syntax! The PR is here, and it's explained in the docs here.

v5.0.3

22 Sep 12:27
Compare
Choose a tag to compare

Bugfix release: Concurrent use of a Set of templates could cause data races via a shared array for the argument values of function calls using the reflect package. 0e59615 is the only commit since v5.0.2.

v3.0.1

08 Sep 17:20
Compare
Choose a tag to compare

This is just v3.0.0 plus #176. Thanks @tooolbox for the backport!

v5.0.2

15 Aug 09:44
Compare
Choose a tag to compare

Bugfix release: When calling variadic functions, the list of argument expressions was not correctly mapped to the variadic argument slice needed to call the function using reflection. See #171 for more information. Thanks, @alresvor!

v5.0.1

12 Aug 11:20
Compare
Choose a tag to compare

Bugfix release: When using discard syntax in a simple "let" assignment, i.e. one where the right side does not return an optional second value like a map lookup for example, the right side wasn't evaluated. For example, these all worked as expected and the right side was evaluated:

_ := myMap["foo"]
_ = myMap["foo"]

_, ok := myMap["foo"]
_, ok = myMap["foo"]

_ = foo()

But this did not actually execute foo():

_ := foo()

f67efbc fixes this case and is the only commit in v5.0.1 that isn't in v5.0.0.