Skip to content

Releases: liftoffcli/liftoff

1.8.3: Xcode 10

17 Sep 14:36
Compare
Choose a tag to compare

This release adds support for Xcode 10, preventing a crash that would happen during project generation (Thanks, @AliSoftware!)

1.8.1: Dependencies seem important

27 Jun 15:33
57e7749
Compare
Choose a tag to compare

Changes

  • Bumped dependencies to their most recent versions to reduce warnings/collisions - Gordon Fontenot

1.8: Oh right there were other open pull requests

20 May 17:49
1c8fb7b
Compare
Choose a tag to compare

New Features

  • Bundler is now listed as a dependency manager like CocoaPods and Carthage. This means you can enable or disable it the same way you would other dependency managers. It's still enabled by default. - Edward Loveall

Changes

  • Bumped dependency versions to reduce warnings/collisions - Sabatino Masala

1.7: Still a thing!

20 May 17:45
ad10d82
Compare
Choose a tag to compare

New Features

1.6: Better late than never

20 Nov 23:13
69d9ca8
Compare
Choose a tag to compare

New Features

  • Add Carthage support. You can now set the dependency_managers to one or
    more dependency management systems. Right now, this supports cocoapods and
    carthage. This also adds a --dependency-managers flag to the cli
    options. The --[no-]cocoapods option will be removed in a future version
    of Liftoff, and so should not be used going forward. The use_cocoapods
    liftoffrc key has also been removed. You will now see a deprecation
    warning if you try to set this key. - Jake Craige
  • Define custom build configurations. You can now set a build_configurations
    key in your liftoffrc to define custom build configurations that can be
    used elsewhere in your liftoffrc. These configurations need to be copies
    of either the release or debug schemes. See the liftoffrc man page for
    more info. - Marcelo Fabri (Thanks to Mark
    Adams
    )
  • Define custom schemes in your liftoffrc. By default, this isn't set, but
    if you set schemes in your liftoffrc, Liftoff will generate a scheme
    with the specified actions. See the liftoffrc man page for more info. -
    Marcelo Fabri

Changes

  • bundle_version now uses git rev-list --count instead of git rev-list | wc -l | tr -d ' ' - Giovanni Lodi
  • The default TODO and FIXME script now ignores Carthage source files in
    addition to CocoaPods source files. - Josh Steiner
  • Improve test target detection. We were previously just matching against the
    word "Tests" instead of checking against the user-defined test target
    name. - Gordon Fontenot (Thanks to Oliver Halligon)

Bug Fixes

  • Unset INSTALL_PATH for projects. We previously had this set to nothing,
    which caused problems where archiving an app would try to create a generic
    archive instead of an iOS app archive - Marcelo Fabri (Thanks
    to Jake Craige)
  • Storyboards and XIBs are now properly treated as resources. Previously, they
    were added to Compile Sources, which could lead to crashes in some versions
    of Xcode. - Marcelo Fabri

1.5.0

13 Feb 20:20
Compare
Choose a tag to compare

New Features

  • Let users add arbitrary configuration to test targets. You can now add a
    extra_test_config key to your liftoffrc and have Liftoff perform custom
    configuration for the test target. - Gordon Fontenot (Thanks
    to Olivier Halligon)
  • Allow custom ordering of script phases. This adds an optional index to
    script phases that Liftoff will use to determine where it should insert the
    phase. This index defaults to -1. Note that this changes the format of the
    run script build phases key and so is a breaking change from 1.4. - Juan
    Pablo Civile
    (Thanks to Lode Vanhove)
  • Add the ability to provide a custom path from the command line. Liftoff will
    now use this path as the root project folder if provided, defaulting to the
    project name if it isn't provided. - Juan Pablo Civile
    (Thanks to Tony DiPasquale)
  • Add new run script build phase to automatically update version and bundle
    number using Git - Reda Lemeden
  • Users can now customize the deployment target in their liftoffrc - Lode
    Vanhove
  • Liftoff will now automatically generate a settings bundle by default. If you
    are using CocoaPods, it will also automatically add the acknowledgements
    from your included pods. This can be disabled in your liftoffrc with the
    enable_settings key, or on the command line with the --[no]-settings
    flag - Lode Vanhove
  • Customize the test target name with the new test_target_name key in your
    liftoffrc. This can also be set on the command line with the
    --test-target-name flag - Matt Oakes (Thanks to Dal
    Rupnik
    )

Changes

  • The format of the run_script_phases key has changed. If you have
    overridden this key, you'll need to update to the new format. - Juan Pablo
    Civile
  • The default AppDelegate template for Swift now has a standard header
    comment. This keeps Liftoff's behavior in line with Xcode's. - Gordon
    Fontenot
  • The default TODO and FIXME script will now find these comments in Swift
    files - Kevin Xu
  • The Resources folder for the default objc template is now properly
    nested in the main target directory - Gordon Fontenot
  • You can now use Liftoff's templating features with Podfiles - Lode
    Vanhove
  • The default Podfile has been updated for CocoaPods 0.34.x - Keith
    Smiley
  • The default gitattributes file has been updated so that *.strings files
    are now treated as text instead of as binary data - Lode
    Vanhove

Bug Fixes

  • Force UTF-8 encoding when normalizing company name. This fixes a possible
    crash when using other locales. - Gordon Fontenot (Thanks to
    Dal Rupnik)
  • Liftoff no longer prints the path to CocoaPods when checking to see if it's
    installed - Lode Vanhove

1.4.1

13 Feb 20:21
Compare
Choose a tag to compare

Bug Fixes

  • Now using an updated version of Xcodeproj to fix some segfaults reported
    by CocoaPods users.

1.4

15 Dec 17:49
Compare
Choose a tag to compare
1.4

New Features

  • Add the ability to define multiple project templates. This feature allows
    you to created named project templates inside your liftoffrc and then use
    them by defining them as the default inside your liftoffrc, or by passing
    their name on the command line. Be sure to check out liftoff(1) and
    liftoffrc(5) for more info. By default, Liftoff comes with templates for
    Objective-C (objc) and Swift (swift) projects. - Gordon
    Fontenot
  • Add arbitrary configuration settings to liftoffrc. This lets you define an
    arbitrary dictionary structure inside your liftoffrc to create default
    configuration settings for projects. - Gordon Fontenot
    (Thanks to Marshall Huss, Juan Pablo Civile,
    and Keith Smiley)
  • Add default storyboard file. Liftoff will now generate an empty storyboard
    file for use in the project. - Gordon Fontenot
  • Add support for the new Launch Screen xib files. Liftoff will now generate
    an empty LaunchScreen.xib file and use it as the default launch screen
    option. - Gordon Fontenot (lol recruiters)
  • Let users customize Xcode open command. This lets you override the default
    command used to launch Xcode inside your liftoffrc. This means you can
    default to opening Vim, AppCode, beta versions of Xcode, or even disable the
    feature completely. - Gordon Fontenot (Thanks to
    @asmod3us
    )

Changes

  • Update objc default project template - Gordon Fontenot
  • Simplify the status output. Liftoff no longer prints every file/directory it
    touches. Instead, it confirms that it's using the designated template. -
    Gordon Fontenot
  • Rename Info.plist template. This is to keep Liftoff's defaults in line with
    Xcode's. This template is now simply named Info.plist - Gordon
    Fontenot
  • Bump deployment target to 8.0. Welcome to the future. - Gordon
    Fontenot

Bug Fixes

1.3

16 May 18:20
Compare
Choose a tag to compare
1.3

New Features

  • Install arbitrary template files in the project directory. You can use the
    new templates key in .liftoffrc to define arbitrary templates that
    should be installed in the project directory. Liftoff will install these
    templates relative to the project's root. - Gordon Fontenot
    (Thanks to James Frost)
  • Add Travis configuration by default. Liftoff will now generate the template
    files required for Travis to work out of the box. This can be disabled by
    overriding the templates we install by default - Gordon
    Fontenot
  • Add setup, test, and README templates to the project. - Gordon
    Fontenot

Changes

  • Generated scheme is now shared. Previously, Xcode was creating a private
    scheme after the project was opened for the first time. We are now creating
    this scheme ourselves, and making it shared. - Gordon
    Fontenot
    (Thanks to Mark Adams)
  • Add OHHTTPStubs as a default testing dependency - Gordon
    Fontenot
  • Add documentation hint to default Podfile. This is intended to solve some
    confusion about where to add new pods after initial installation - Gordon
    Fontenot
    (Thanks to Mark Flowers)

Bug Fixes

  • Don't skip installation for app targets. Previously, we were setting
    SKIP_INSTALLATION to YES, which caused the Archive action to fail
    silently. This change brings us back in line with Xcode's default behavior.

1.2

28 Mar 17:03
Compare
Choose a tag to compare
1.2

New Features

  • Add command line flags. You can now pass a set of flags to the liftoff
    executable to override specific configurations at run time - JP
    Simard
  • Add strict_prompts option. This configuration option and the corresponding
    --[no-]strict-prompts command line flag tell liftoff to only prompt you
    for options that don't have default values set. This allows you to set values
    at run time and skip the prompt altogether. - JP Simard
  • Add configuration for setting up Run Script phases. This replaces the
    install_todo_script configuration key with a much more flexible
    run_script_phases key. By overriding this key, you can install any
    arbitrary script phases as long as you're providing a template for them.
  • Reluctantly allow the use of tabs for indentation. Even though my conscience
    protested, we've added a use_tabs key to the configuration. Enabling this
    will configure the project to use tabs instead of spaces. Note that this
    doesn't change the spacing in the default templates, so if you override this
    you will probably want to override those as well. - Gordon
    Fontenot
    (Thanks to Magnus Ottosson)

Changes

  • Enable some more warnings by default. - Gordon Fontenot
  • Handle key deprecations a bit more gracefully. - Gordon
    Fontenot
  • Stop treating all plists as though they are the Info.plist. Previously, any
    plist that was added as a template was being treated as though it was the
    Info.plist for that target. We're now being more explicit about matching that
    file, and linking all other plists properly. - Gordon Fontenot
    (Thanks to @mattyohe)

Bug Fixes

  • Set the deployment target at the project level. This mimics the behavior
    when creating a new project with Xcode. - Gordon Fontenot