Skip to content
This repository has been archived by the owner on Sep 6, 2018. It is now read-only.

Latest commit

 

History

History
235 lines (180 loc) · 10.8 KB

CHANGELOG.md

File metadata and controls

235 lines (180 loc) · 10.8 KB

Templates CHANGELOG


Master

Bug Fixes

None

Breaking Changes

None

New Features

Internal Changes

None

2.2.0

Bug Fixes

New Features

  • Storyboards: Added a new ignoreTargetModule parameter if you're using storyboards in multiple targets, to avoid issues with the generated code.
    Julien Quéré #36

2.1.1

Bug Fixes

  • Colors and XCAssets: fix a naming conflict of typealiases.
    David Jennes #76
  • XCAssets: fix a compatibility issue with the swift 3 template on Xcode 8.
    David Jennes #76

2.1.0

Bug Fixes

  • Templates now use the "pretty" mode of the swiftIdentifier filter, fixing some issues with identifiers starting with a number.
    David Jennes #74

New Features

  • Swift 4 templates.
    David Jennes #67
  • XCAssets: Added support for named colors.
    David Jennes #68
  • Fonts: the path to fonts will now default to just the font filename, but you can disable this behaviour by enabling the preservePath parameter.
    David Jennes #71
  • Colors: new template that uses #colorLiterals.
    David Jennes #72

Internal Changes

2.0.0

Bug Fixes

  • Fixed swiftlint errors for the latest version.
    David Jennes #46
  • Images: fixed issue with catalogs that have an empty folder.
    David Jennes #51
  • Fonts: fixed font registration mechanism, which was broken in some situations.
    David Jennes #58

Breaking Changes

  • Templates are now organized in subdirectories for each command.
    David Jennes #13
  • Update templates to use the Stencil built-in join filter instead of our own.
    David Jennes #22
  • Many deprecated templates have been removed, and others have been renamed to reflect new behaviours. We've prepared a migration guide which you can find here: Documentation/MigrationGuide.
    David Jennes #47
  • Since Swift 2 is no longer actively supported, we now consider those templates as "legacy" and cannot guarantee that there won't be issues with the generated code.
    David Jennes #53
  • The iOS and macOS storyboard templates have been unified into one. The generated code also no longer uses enum cases for scenes but instead uses a generic struct. See the documentation for some examples.
    David Jennes #57
  • The code generated by SwiftGen 5's storyboard templates is not retro-compatible with the one previously generated by SwiftGen 4.x. You'll find all the details with steps for adapting your codebase to the new API in the migration guide. We've also provided a compatibility template in the wiki to make that migration easier and automatable.
    Olivier Halligon #65

New Features

  • Strings: the templates have been updated to support multiple string tables.
    David Jennes #49
  • Colors: the templates have been updated to support multiple color palettes.
    David Jennes #55

Internal Changes

1.1.0

Bug Fixes

New Features

Internal Changes

  • Switch from Travis CI to Circle CI, clean up the Rakefile in the process.
    David Jennes #24 #40
  • Disable SwiftLint conditional_returns_on_newline in the font template.
    Tom Baranes #33
  • Updated templates to use Stencil 0.9.0 features, such as for loops with a where condition.
    David Jennes #42

1.0.0

The templates tagged with this version are the ones embedded in SwiftGen 4.2.

Internal Changes

  • Initial tagging of templates as part of being split in their own repository.
  • Templates are now linted and unit-tested, to ensure the code generated compiles properly.
    David Jennes #5 #6 #15 #16

Bug Fixes

  • Use escapeReservedKeywords in all templates — to ensure compilation even for scenes named with a reserved keyword.
    David Jennes #3 #14
  • Storyboards templates don't import your app module anymore, removing that annoying warning.
    David Jennes #19
    • It works by checking the environment variable PRODUCT_MODULE_NAME, which is automatically injected by Xcode if you run swiftgen as part of a Script Build Phase in your Xcode project.
    • If you don't use swiftgen in a Script Build Phase of your Xcode project but manually in the terminal, you can instead use swiftgen storyboards --param module=YourAppModuleName … when invoking SwiftGen to inject it manually instead.

New Features

Pre-1.0.0

See SwitftGen's own CHANGELOG pre SwiftGen 4.2 version, before the refactoring that led us to split the code in frameworks

Deprecations

Note that in preparation for the upcoming SwiftGen 5.0, some variables available in the SwiftGen's Stencil templates have been deprecated and will be renamed. To prepare for SwiftGen 5.0, we strongly advise to migrate your custom templates so they use the new variables (already available in SwiftGen 4.2 / SwiftGenKit 1.0.1) instead of the old ones, so that they will continue to work in SwiftGen 5.0

See the migration guide in SwiftGen's wiki.