Skip to content

Latest commit

 

History

History
431 lines (341 loc) · 20.1 KB

NEWS.md

File metadata and controls

431 lines (341 loc) · 20.1 KB

Liftoff Changelog

Liftoff 1.8.2 - 20 November 2017

Changes

  • Dependencies have been updated to their most recent versions to avoid running into SIGABORT when trying to create projects with Xcode 9. - Oliver Halligon

Liftoff 1.8.1 - 27 June 2016

Changes

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

Liftoff 1.8.0 - 20 May 2016

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

Liftoff 1.7.0 - 20 May 2016

New Features

Liftoff 1.6.0 - 20 Nov 2015

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

Liftoff 1.5.0 - 13 Feb 2015

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

Liftoff 1.4.1 - 7 Oct 2014

Bug Fixes

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

Liftoff 1.4 - 6 Oct 2014

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

Liftoff 1.3 - 16 May 2014

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.

Liftoff 1.2 - March 28, 2014

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

Liftoff 1.1.1 - March 18, 2014

Bug Fixes

  • Remove OTHER_LDFLAGS setting from app target. This was being set to a blank string, which caused it to override any xcconfig files added to the target. - Gordon Fontenot (Thanks to @frosty)
  • Prevent RubyGems from loading. In some installs, users were seeing crashes due to the wrong Xcodeproj native C extensions being loaded. Current theory is that RVM is doing some loadpath stuff for gems that is overriding our loadpaths. The simple fix that seems to solve the issue is to completely disable RubyGems while running Liftoff. - Gordon Fontenot (Thanks to @iOSDevil, Jim Rutherford, and @endoze)

Liftoff 1.1 - March 14, 2014

New Features

  • Allow users to override templates. Now users can create templates inside .liftoff/templates at the local or user level in order to add custom templates, or override the default templates. - Gordon Fontenot
  • Add support for CocoaPods. By default, Liftoff will generate a default podfile, and run pod install inside the project directory. This can be disabled inside the .liftoffrc. - JP Simard
  • Add default pods for test target. By default, Liftoff will install Specta, Expecta, and OCMock for the test target. This can be overridden by using a custom template for the Podfile - Gordon Fontenot
  • Add company_identifier property to configuration. We will now prompt for the company identifier on new project creation. The default for this prompt is generated by normalizing the provided company name, unless there is a default set by the .liftoffrc - Gordon Fontenot (Thanks to Tony DiPasquale)
  • Open new projects after creation - Mark Adams

Changes

  • Application target defaults to portrait orientation only. - Mark Adams
  • Automatically default to the current user's name. We no longer prompt for the user's name, instead defaulting to the name provided by the system. This can still be overridden by a .liftoffrc - Gordon Fontenot (Thanks to Mike Burns)
  • Remove explicit framework linking. Since modules are enabled, we don't need to manually link frameworks anymore. - Gordon Fontenot
  • Prefer new @import over #import - Mark Adams

Bug Fixes

  • Install ruby files into rubylib instead of lib. Previously, Homebrew was linking these into /usr/local/lib, which caused warnings when running brew audit - Gordon Fontenot (Thanks to Ashton Williams)
  • Use https for GitHub URL in homebrew formula. This was causing warnings when running brew audit - Gordon Fontenot (Thanks to Ashton Williams)
  • Print a nicer error if the directory exists. Previously, this was throwing an ugly ruby stack trace. - Gordon Fontenot (Thanks to Mark Adams)
  • Trap interrupt during option input. Previously, this was throwing an ugly ruby stack trace. - Gordon Fontenot (Thanks to George Brocklehurst)
  • Set SDKROOT at the project level - Gordon Fontenot (Thanks to Tony DiPasquale)

Liftoff 1.0 - March 7, 2014

Initial 1.0 release. See blog post for details.