Skip to content

Releases: SwiftGen/StencilSwiftKit

2.3.0

22 Oct 15:03
Compare
Choose a tag to compare

Bug Fixes

New Features

  • Added Parameters.flatten(dictionary:) method to do the opposite of
    Parameters.parse(items:) and turn a dictionary into the list of parameters to pass from the command line.
    Olivier Halligon
    #70

2.2.0

01 Oct 21:39
Compare
Choose a tag to compare

New Features

  • Accept LosslessStringConvertible input for strings filters.
    Antondomashnev
    #65
  • StencilContext.enrich now also accept a Dictionary for specifying parameters
    (in preparation for supporting Config files in SwiftGen).
    Olivier Halligon
    #66

Internal Changes

2.1.0

20 Aug 18:02
Compare
Choose a tag to compare

New Features

  • Added the basename and dirname string filters for getting a filename, or parent folder (respectively), out of a path.
    David Jennes
    #60
  • Modify the swiftIdentifier string filter to accept an optional "pretty" mode, to also apply the snakeToCamelCase filter and other manipulations if needed for a "prettier" but still valid identifier.
    David Jennes
    #61

Internal Changes

2.0.1

12 Aug 17:43
Compare
Choose a tag to compare

2.0.0

21 Jul 17:11
Compare
Choose a tag to compare

Due to the removal of legacy code, there are a few breaking changes in this new version that affect both template writers as well as developers. We've provided a migration guide to help you through these changes, which you can find here:
Migration Guide for 2.0

Bug Fixes

  • Fix snakeToCamelCase parameters information in README.
    Liquidsoul
    #45

Breaking Changes

  • The ParametersError enum has been replaced by the Parameters.Error nested type.
    Olivier Halligon
    #37
  • The FilterError enum has been replaced by the Filters.Error nested type.
    Olivier Halligon
    #37
  • The filters in StringFilters and NumFilters are now located under Filters.Strings and Filters.Numbers.
    Olivier Halligon
    #40
  • Removed the join filter, as it's now integrated in Stencil proper.
    David Jennes
    #10
  • Refactored the snakeToCamelCase filter to now accept an (optional) boolean parameter to control the noPrefix behaviour.
    David Jennes
    #41
  • Rename the stringToSwiftIdentifier function to swiftIdentifier to better match the other method names.
    David Jennes
    #46

New Features

  • Added the removeNewlines filter to remove newlines (and spaces) from a string.
    David Jennes
    #47
    #48

1.0.2

24 May 08:31
Compare
Choose a tag to compare

Bug Fixes

  • The context enrich function won't overwrite existing values in the env and param variables.
    David Jennes
    #29

New Features

Internal Changes

Deprecations

  • The ParametersError enum has been replaced by the Parameters.Error nested type.
    ParametersError still works (it is now typealias) but will be removed in the
    next major release.
    Olivier Halligon
  • The FilterError enum has been replaced by the Filters.Error nested type.
    FilterError still works (it is now typealias) but will be removed in the
    next major release.
    Olivier Halligon

1.0.1

01 Mar 14:41
Compare
Choose a tag to compare

Internal Changes

1.0.0

20 Feb 11:59
Compare
Choose a tag to compare

New Features

  • Added support for Swift Package Manager.
    Krzysztof Zabłocki
    #15
  • Added MapNode to apply a map operator to an array.
    You can now use {% map someArray into result using item %}
    to do the equivalent of the result = someArray.map { item in … } Swift code.
    David Jennes
    #11
  • Add a "parameters parser" able to transform parameters passed as a set of strings
    (a=1 b.x=2 b.y=3 c=4 c=5) — typically provided as the command line arguments of a CLI
    — into a Dictionary suitable for Stencil contexts.
    David Jennes
    #8
  • Add a StencilContext.enrich function to enrich Stencil contexts with param and env dictionaries.
    The param dictionary typically contains parameters parsed via the parameters parser above.
    The env dictionary contains all the environment variables. You can thus access them in
    your templates using env.USER, env.LANG, env.PRODUCT_MODULE_NAME, etc.
    #19

Internal Changes

  • Renamed SwiftTemplate to StencilSwiftTemplate.
    David Jennes
    #14
  • Refactor stencil swift extensions registration for easier use with an existing Extension.
    David Jennes
    #16
  • Refactor stencil node tests to not use templates and output files.
    David Jennes
    #17

0.0.1

30 Jan 15:47
Compare
Choose a tag to compare
  • First version supporting Swift Package Manager