Skip to content

Latest commit

 

History

History
152 lines (100 loc) · 7.24 KB

CHANGELOG.md

File metadata and controls

152 lines (100 loc) · 7.24 KB

SwiftGen CHANGELOG


0.7.0

Enhencements

  • Allow using custom templates by name. (#42, #50)
    • Now the -t flag expect a template name (defaults to default), and will search a matching template in Application Support first, then in the templates bundled with SwiftGen.
    • You can still specify a template by path using -p.
    • For more info, see this dedicated documentation.
  • You can now list all templates available (both bundled templates and custom ones) using the swiftgen templates command. (#42, #50)
  • Add a performSegue(_:sender:) extension on UIViewController to accept a StoryboardSegue as parameter.
    You can now for example call vc.performSegue(UIStoryboard.Segue.Wizard.ShowPassword). (#37)

SwiftGen now comes bundled with some alternate templates, especially colors-rawValue, images-allvalues and storyboards-lowercase, in addition to the default templates.

Fixes

  • Now swiftgen storyboards doesn't generate duplicate enum cases for identical segues (those having equal identifiers and shared custom class).
    @filwag, #43
  • Fix compilation issue for storyboards without any scene.
    Viacheslav Karamov, #47
  • Propose an alternate template using lowercase names, especially for when storyboard identifiers match view controller class names.
    Viacheslav Karamov, #48
  • Introduced an image-allvalues template that exposes the list of all images in a static let allValues array.
    Ahmed Mseddi & Guillaume Lagorce, #44
  • Fix issue with Storyboards without any StoryboardID (all scenes being anonymous) not extending StoryboardScene. (#36)

0.6.0

New Features: Templates

  • SwiftGen now uses Stencil template engine to produce the generated code.
  • This means that the generate code will be easier to improve
  • This also means that you can use your own templates to generate code that better suits your needs and preferences, using swiftgen … --template FILE …

Fixes

  • The correct type of ViewController (UIViewController, UINavigationController, UITableViewController, …) is now correctly generated even if not a custom subclass. (#40)
  • Fix issue with .strings files encoded in UTF8 (#21)

0.5.2

New Features

  • It's now possible to specify which chars should not be used when generating case identifiers.
    @Igor-Palaguta, #34

0.5.1

Fixes

  • Installing via rake install or brew install will now copy the Swift dylibs too, so that swiftgen installation won't depend on the location of your Xcode.app (so it'll work on every machine even if you rename your Xcode).
  • Fixed links in Playground and Licence headers in source code.

0.5.0

New Features

  • Migrating to Commander to parse the CLI arguments. (23, #30)
  • swiftgen is now a single binary, and the subcommand names have changed to be more consistent. (#30)
  • New --output option. (#30)

You must now use the subcommands swiftgen images, swiftgen strings, swiftgen storyboards and swiftgen colors. See swiftgen --help for more usage info.

Fixes

0.4.4

  • Updated Unit tests for latest Swift 2.0 & tested against Xcode 7.1
  • Fix small typos in code
  • Guard against empty enums

0.4.3

0.4.2

  • Added import Foundation on top of swiftgen-l10n generated code
    @Nick11, #12

0.4.1

  • Updated for Xcode 7 Beta 5
  • swiftgen-storyboard now allows to take a path to a .storyboard file as argument (as an alternative to give a path to a whole directory)
  • The -v and --version flags are now recognized and print the executable version.

0.4.0

  • Reorganized files into an Xcode project with one target per executable (#2)
  • Added Unit Tests (one per executable + one for common code) (#2)
  • Improved SwiftGen-L10n parsing of format strings and placeholders. (#4, #5, #6)
  • Updated Rakefile so that it now invokes xcodebuild install. You can now easily build & install all swiftgen-xxx executables in /usr/local/bin or anywhere else.
  • Added a version string (date + sha1) to the built executables (displayed when invoked with no argument)

0.3.0

  • Reducted the default code generated by SwiftGenColorEnumBuilder to avoid clobbering the UIColor namespace
  • Changed the "namespacing enum" in UIStoryboard to a struct to avoid confusion with the inner enums
  • The UIStoryboard.Scene enums now use static func instead of static var for the dedicated ViewController constructors ^(†)

^(†) because it feels more explicit that calling a function like UIStoryboard.Scene.Wizard.validatePasswordViewController() will actually instanciate a new ViewController, rather than returning an existing one.

0.2.0

  • Added Segues enums to UIStoryboard to be able to access their identifiers easily.
    @esttorhe, #8
  • Added this very CHANGELOG.md

0.1.0

Considered to be the first cleaned-up version, far from finished but really usable with clean code.

  • Cleaner README
  • Namespace the generated enums in an outer enum to avoid clobbering the UIStoryboard namespace

0.0.4

  • Introducing SwiftGenColorEnumBuilder
  • swiftgen-colors CLI
  • Added ability to choose indentation

0.0.3

  • Introducing SwiftGenL10nEnumBuilder
  • swiftgen-l10n CLI
  • Started playing with UIColor enums in the playground

0.0.2

  • Introducing SwiftGenStoryboardEnumBuilder class
  • swiftgen-storyboard CLI

0.0.1

Initial version:

  • Mostly testing stuff in a playground
  • Introducing SwiftGenAssetsEnumBuilder class
  • swiftgen-assets CLI