42 KiB
42 KiB
Changelog
Please, check out guidelines: https://keepachangelog.com/en/1.0.0/
Next
Changed
Added
Removed
Fixed
- Fix example in documentation for
scaffold
#1273 by @fortmarek - Fix help commands (argument parser regression) #1250 by @fortmarek
1.7.1
Fixed
- Critical bug caused by a missing
SwiftToolsSupport
dynamic library by @pepibumur.
1.7.0
Changed
- Point swift tools support repo instead of SPM #1230 by @fortmarek
- Migrate to new argument parser #1154 by @fortmarek
- Only warn about copying Info.plist when it's the target's Info.plist #1203 by @sgrgrsn
tuist edit
now edits all project manifest #1231 by @julianalonso
Added
- Support for setting the project id when configuring the cloud server #1247 by @pepibumur.
- Support for returning
SideEffectDescriptor
s from the graph mappers #1201 by @pepibumur. - SwiftUI template #1180 by @fortmarek
SettingsDictionary
is a typealias for[String: SettingValue]
. #1229 by @natanrolnik. Many useful extension methods were added toSettingsDictionary
, allowing settings to be defined this way:
let baseSettings = SettingsDictionary()
.appleGenericVersioningSystem()
.automaticCodeSigning(devTeam: "TeamID")
.bitcodeEnabled(true)
.swiftVersion("5.2")
.swiftCompilationMode(.wholemodule)
.versionInfo("500", prefix: "MyPrefix")
Removed
- Breaking: Deprecated methods from
ProjectDescription.Settings
#1202 by by @pepibumur.
1.6.0
Fixed
- Don't try to delete a file if it doesn't exist #1177 by @pepibumur
Changed
- Bump XcodeProj to 7.10.0 #1182 by @pepibumur
Added
- Encrypt/decrypt command #1127 by @fortmarek
- A link to the example app in the uFeatures documentation #1176 by @pepibumur.
- Add ProjectGeneratorGraphMapping protocol and use it from ProjectGenerator #1178 by @pepibumur
CloudSessionController
component to authenticate users #1174 by @pepibumur.- Minor improvements #1179 by @pepibumur
- Configuring manifests through environment variables #1183 by @pepibumur.
1.5.4
Fixed
- Tuist not working with Xcode < 11.4 by @pepibumur.
1.5.3
Added
Derived
to.gitignore
when runningtuist init
#1171 by @fortmarek
Fixed
- Prevent
Multiple commands produce XXXXX
error produced by multiple test targets using “Embed Precompiled Frameworks” script #1118 by @paulsamuels - Add possibility to skip generation of default schemes #1130 by @olejnjak
- Errors during the manifest parsing are not printed #1125 by @pepibumur.
- Warnings because test files are missing in the project scaffolded using the default
framework
template #1172 by @pepibumur.
1.5.2
Fixed
- Projects generated with the
framework
template generated by theinit
command dont' compile #1156 by @pepibumur.
Changed
- Generate only files with
.stencil
extension #1153 by @fortmarek
Added
- Support for Xcode 11.4 #1152 by @pepibumur.
SWIFT_VERSION
is set to 5.2 automatically if it's not set #1152 by @pepibumur.
1.5.1
Fixed
- Update config name in the default template #1150 by @pepibumur
- Fix example framework template not being generated #1149 by @fortmarek
1.5.0
Added
- Scaffold init #1129 by @fortmarek
- Scaffold generate #1126 by @fortmarek
- Scaffold load #1092 by @fortmarek
- Add Mint up #1131 @mollyIV.
Fixed
Removed
Graphing
protocol #1128 by @pepibumur
Changed
- Optimize
TargetNode
's set operations #1095 by @kwridan - Optimize
BuildPhaseGenerator
's method of detecting assets and localized files #1094 by @kwridan - Concurrent project generation #1096 by @kwridan
1.4.0
Fixed
- Fix
TargetAction
whenPROJECT_DIR
includes a space #1037 by @fortmarek - Fix code example compilation issues in "Project description helpers" documentation #1081 by @chojnac
Added
scaffold
command to generate user-defined templates #1126 by @fortmarek- New
ProjectDescription
models forscaffold
command #1082 by @fortmarek - Allow specifying Project Organization name via new
organizationName
parameter toProject
initializer or viaConfig
new GenerationOption. #1062 by @c0diq tuist lint
command #1043 by @pepibumur.- Add
--verbose
#1027 by @ollieatkinson. TuistInsights
target #1084 by @pepibumur.- Add
cloudURL
attribute toConfig
#1085 by @pepibumur.
Changed
- Rename
TuistConfig.swift
toConfig.swift
#1083 by @pepibumur. - Generator update - leveraging intermediate descriptors #1007 by @kwridan
- Note:
TuistGenerator.Generator
is now deprecated and will be removed in a future version of Tuist.
- Note:
1.3.0
Added
- When using
tuist edit
it's possible to runtuist generate
from Xcode by simply running the target #958 by @vytis - Add FAQ section @mollyIV.
- Add benchmarking helper tool #957 by @kwridan.
- Add metal as a valid source extension #1023 by @natanrolnik
XcodeBuildController
utility toTuistAutomation
#1019 by @pepibumur.- Add metal as a valid source extension #1023 by @natanrolnik
Fixed
- Fix static products false positive lint warning by #981 @kwridan.
- TargetAction path without ./ prefix #997 by @fortmarek
- Preserve xcuserdata when re-generating projects #1006 by @kwridan
- Stable sort order for bcsymbolmap paths by @paulsamuels
Changed
- Update XcodeProj to 7.8.0 #create?base=tuist%3Amaster&head=tuist%3Atarget-attributes by @pepibumur.
- Path sorting speed gains #980 by @adamkhazi.
- Added support for HTTP_PROXY settings from shell environment. #1015 by @aegzorz
- Added "Base" to known regions. #1021 by @aegzorz
- Pull bundles from Google Cloud Storage #1028 by @pepibumur.
1.2.0
Added
- Best practices page to the documentation #843 by @pepibumur.
- Fail CI if there are broken links on the website #917 by @pepibumur.
- Excluding multiple files from a target #937 by @paciej00
- Better SEO to the website #945 by @pepibumur.
- Add fixture generator for stress testing Tuist #890 by @kwridan.
Fixed
- The class name of the source files generated by the init command #850 by @pepibumur.
- Add RemoveHeadersOnCopy attribute for build files in copy files build phases #886 by @marciniwanicki
- Ensure precompiled frameworks of target applications aren't included in UI test targets #888 by @kwridan
- Make the scheme generation with testable targets stable #892 by @marciniwanicki
- Fix project header attributes #895 by @kwridan
- Excluding files from target doesn't work in all cases #913 by @vytis
- Support for Core Data mapping modules #911 by @andreacipriani
- Deep nested hierarchy in the project generated by
tuist edit
#923 by @pepibumur
Changed
- Turn models from
TuistCore
that are clases into structs #870 by @pepibumur.
1.1.0
Changed
- Extracted loading logic into its own framework,
TuistLoader
#838 by @pepibumur.
Added
TuistGalaxy
&TuistAutomation
targets #817 by @pepibumur.- Support ignoring specific source file pattern when adding them to the target #811 by @vytis.
- Made targets testable if there is a corresponding test target #818 by @vytis.
- Release page to the documentation #841 by @pepibumur.
1.0.1
Fixed
- Pass through
DEVELOPER_DIR
when set by the environment when determining the path to the currently selected Xcode. @ollieatkinson
1.0.0
Changed
- Run pipelines with Xcode 11.2.1 on CI @pepibumur.
Removed
- Breaking Generate manifests target as part of the generated project #724 by @pepibumur.
- The installation no longer checks if the Swift version is compatible #727 by @pepibumur.
- Don't include the manifests in the generated workspace #754 by @pepibumur.
Added
- Add
ProjectDescription.Settings.defaultSettings
none case that don't override anyProject
orTarget
settings. #698 by @rowwingman. ProjectEditor
utility #702 by @pepibumur.- Fix warnings in the project, refactor SHA256 diegest code #704 by @rowwingman.
- Define
ArchiveAction
onScheme
#697 by @grsouza. tuist edit
command #703 by @pepibumur.- Support interpolating formatted strings in the printer #726 by @pepibumur.
- Support for paths relative to root #727 by @pepibumur.
- Replace
Sheme.testAction.targets
type fromString
toTestableTarget
is a description of target that adds to theTestAction
, you can specify execution tests parallelizable, random execution order or skip tests #728 by @rowwingman. - Galaxy manifest model #729 by @pepibumur.
- Make scheme generation methods more generic #730 by @adamkhazi. @kwridan.
- Workspace Schemes #752 by @adamkhazi. @kwridan.
SimulatorController
with method to fetch the runtimes #746 by @pepibumur.- Add RxSwift as a dependency of
TuistKit
#760 by @pepibumur. - Add cache command #762 by @pepibumur.
- Utility to build xcframeworks #759 by @pepibumur.
- Add
CacheStoraging
protocol and a implementation for a local cache #763 by @pepibumur. - Add support for changing the cache and versions directory using environment variables #765 by @pepibumur.
- Reactive interface to the System utility #770 by @pepibumur
- Workflow to make sure that documentation and website build #783 by @pepibumur.
- Support for
xcframework
#769 by @lakpa - Support generating info.plist for Watch Apps & Extensions #756 by @kwridan
Fixed
- Ensure custom search path settings are included in generated projects #751 by @kwridan
- Remove duplicate HEADER_SEARCH_PATHS #787 by @kwridan
- Fix unstable scheme generation #790 by @marciniwanicki
- Add defaultConfigurationName to generated projects #793 by @kwridan
- Add knownRegions to generated projects #792 by @kwridan
0.19.0
Added
- XCTAssertThrowsSpecific convenient function to test for specific errors #535 by @fortmarek
HTTPClient
utility class toTuistEnvKit
#508 by @pepibumur.- Breaking Allow specifying a deployment target within project manifests #541 @mollyIV.
- Add support for sticker pack extension & app extension products #489 by @Rag0n
- Utility to locate the root directory of a project #622 by @pepibumur.
- Adds
codeCoverageTargets
toTestAction
to make XCode gather coverage info only for that targets #619 by @abbasmousavi - Enable the library evololution for the ProjectDescription framework #625 by @pepibumur.
- Add support for watchOS apps #623 by @kwridan
- Add linting for duplicate dependencies #629 by @lakpa
Changed
- Change dependencies in
Package.resolved
to version from branch #631 by @fortmarek - Rename
TuistCore
toTuistSupport
#621 by @pepibumur. - Introduce
Systems.shared
,TuistTestCase
, andTuistUnitTestCase
#519 by @pepibumur. - Change generated object version behaviour to mimic Xcode 11 by @adamkhazi.
- Breaking Refine API for Swift Packages #578 by @ollieatkinson
- Support ability to locate multiple Tuist directories #630 by @kwridan
Fixed
- Fix false positive cycle detection #546 by @kwridan
- Fix test target build settings #661 by @kwridan
- Fix hosted unit test dependencies #664/ by @kwridan
0.18.1
Removed
- Reverting #494 using variables in
productName
doesn't evaluate in all usage points within the generated project
0.18.0
Added
- New InfoPlist type,
.extendingDefault([:])
#448 by @pepibumur - Forward the output of the
codesign
command to make debugging easier when the copy frameworks command fails #492 by @pepibumur. - Support for multi-line settings (see how to migrate) #464 by @marciniwanicki
- Support for SPM #394 by @pepibumur & @fortmarek & @kwridan & @ollieatkinson
- Xcode 11 Support by @ollieatkinson
Fixed
- Transitively link static dependency's dynamic dependencies correctly #484 by @adamkhazi.
- Prevent embedding static frameworks #490 by @kwridan
- Output losing its format when tuist is run through
tuistenv
#493 by @pepibumur - Product name linting failing when it contains variables #494 by @dcvz
- Build phases not generated in the right position #506 by @pepibumur
- Remove $(SRCROOT) from being included in
Info.plist
path #511 by @dcvz - Prevent generation of redundant file elements #515 by @kwridan
0.17.0
Added
tuist graph
command #427 by @pepibumur.- Allow customisation of
productName
in the project Manifest #435 by @ollieatkinson - Adding support for static products depending on dynamic frameworks #439 by @kwridan
- Support for executing Tuist by running
swift project ...
#447 by @pepibumur. - New manifest model,
TuistConfig
, to easily configure Tuist's functionalities #446 by @pepibumur. - Adding ability to re-generate individual projects #457 by @kwridan
- Support multiple header paths #459 by @adamkhazi.
- Allow specifying multiple configurations within project manifests #451 by @kwridan
- Add linting for mismatching build configurations in a workspace #474 by @kwridan
- Support for CocoaPods dependencies #465 by @pepibumur
- Support custom .xcodeproj name at the model level #462 by @adamkhazi.
TuistConfig.compatibleXcodeVersions
support #476 by @pepibumur.- Expose the
.bundle
product type #479 by @kwridan
Fixed
- Ensuring transitive SDK dependencies are added correctly #441 by @adamkhazi.
- Ensuring the correct platform SDK dependencies path is set #419 by @kwridan
- Update manifest target name such that its product has a valid name #426 by @kwridan
- Do not create
Derived/InfoPlists
folder when no InfoPlist dictionary is specified #456 by @adamkhazi. - Set the correct lastKnownFileType for localized files #478 by @kwridan
Changed
- Update XcodeProj to 7.0.0 #421 by @pepibumur.
0.16.0
Added
DefaultSettings.none
to disable the generation of default build settings #395 by @pepibumur.- Version information for tuistenv #399 by @ollieatkinson
- Add input & output paths for target action #353 by Rag0n
- Adding support for linking system libraries and frameworks #353 by @steprescott
- Support passing the
Info.plist
as a dictionary #380 by @pepibumur.
Fixed
- Ensuring the correct default settings provider dependency is used #389 by @kwridan
- Fixing build settings repeated same value #391 by @platonsi
- Duplicated files in the sources build phase when different glob patterns match the same files #388 by @pepibumur.
- Support
.d
source files #396 by @pepibumur. - Codesign frameworks when copying during the embed phase #398 by @ollieatkinson
- 'tuist local' failed when trying to install from source #402 by @ollieatkinson
- Omitting unzip logs during installation #404 by @kwridan
- Fix "The file couldn’t be saved." error #408 by @marciniwanicki
- Ensure generated projects are stable #410 by @kwridan
- Stop generating empty
PBXBuildFile
settings #415 by @marciniwanicki
0.15.0
Changed
- Introduce the
InfoPlist
file #373 by @pepibumur. - Add
defaultSettings
option toSettings
definition to control default settings generation #378 by @marciniwanicki
Added
- Adding generate command timer #335 by @kwridan
- Support Scheme manifest with pre/post action #336 @dangthaison91.
- Support local Scheme (not shared) flag #341 @dangthaison91.
- Support for compiler flags #386 by @pepibumur.
Fixed
- Fixing unstable diff (products and embedded frameworks) #357 by @marciniwanicki
- Set Code Sign On Copy to true for Embed Frameworks #333 @dangthaison91.
- Fixing files getting mistaken for folders #338 by @kwridan
- Updating init template to avoid warnings #339 by @kwridan
- Fixing generation failures due to asset catalog &
**/*.png
glob patterns handling #346 by @kwridan - Supporting bundle target dependencies that reside in different projects (in
TuistGenerator
) #348 by @kwridan - Fixing header paths including folders and non-header files #356 by @kwridan
- Fix duplicate localized resource files #363 by @kwridan
- Update static dependency lint rule #360 by @kwridan
- Ensure resource bundles in other projects get built #374 by @kwridan
0.14.0
Changed
Added
- Adding support for project additional files #314 by @kwridan
- Adding support for resource folder references #318 by @kwridan
- Breaking Swift 5 support #317 by @pepibumur.
Fixed
- Ensuring target product names are consistent with Xcode #323 by @kwridan
- Ensuring generate works on additional disk volumes #327 by @kwridan
- Headers build phase should be put on top of Compile build phase #332 @dangthaison91.
0.13.0
Added
- Add Homebrew tap up #281 by @pepibumur
- Create a Setup.swift file when running the init command #283 by @pepibumur
- Update
tuistenv
when runningtuist update
#288 by @pepibumur. - Allow linking of static products into dynamic frameworks #299 by @ollieatkinson
- Workspace improvements #298 by @ollieatkinson & @kwridan.
Removed
- Breaking Removed "-Project" shared scheme from being generated #303 by @ollieatkinson
Fixed
- Fix duplicated embedded frameworks #280 by @pepibumur
- Fix manifest target linker errors #287 by @kwridan
- Build settings not being generated properly #282 by @pepibumur
- Fix
instance method nearly matches optional requirements
warning in generatedAppDelegate.swift
in iOS projects #291 by @BalestraPatrick - Fix Header & Framework search paths override project or xcconfig settings #301 by @ollieatkinson
- Unit tests bundle for an app target compile & run #300 by @ollieatkinson
LIBRARY_SEARCH_PATHS
andSWIFT_INCLUDE_PATHS
are now set #308 by @kwridan- Fix Generation fails in the event an empty .xcworkspace directory exists #312 by @ollieatkinson
0.12.0
Changed
- Rename manifest group to
Manifest
#227 by @pepibumur. - Rename manifest target to
Project-Manifest
#227 by @pepibumur. - Replace swiftlint with swiftformat #239 by @pepibumur.
- Bump xcodeproj version to 6.6.0 #248 by @pepibumur.
- Fix an issue with Xcode not being able to reload the projects when they are open #247
- Support array for
sources
andresources
paths #201 @dangthaison91.
Added
- Integration tests for
generate
command #208 by @marciniwanicki & @kwridan - Frequently asked questions to the documentation #223/ by @pepibumur.
- Generate a scheme with all the project targets #226 by @pepibumur
- Documentation for contributors #229 by @pepibumur
- Support for Static Frameworks #194 @ollieatkinson
Removed
- Up attribute from the
Project
model #228 by @pepibumur. - Support for YAML and JSON formats as Project specifications #230 by @ollieatkinson
Fixed
- Changed default value of SWIFT_VERSION to 4.2 @ollieatkinson
- Added fixture tests for ios app with static libraries @ollieatkinson
- Bundle id linting failing when the bundle id contains variables #252 by @pepibumur
- Include linked library and embed in any top level executable bundle #259 by @ollieatkinson
0.11.0
Added
- Breaking Up can now be specified via
Setup.swift
https://github.com/tuist/tuist/issues/203 by @marciniwanicki & @kwridan - Schemes generation #188 by @pepibumur.
- Environment variables per target #189 by @pepibumur.
- Danger warn that reminds contributors to update the docuementation #214 by @pepibumur
- Rubocop #216 by @pepibumur.
- Fail init command if the directory is not empty #218 by @pepibumur.
- Verify that the bundle identifier has only valid characters #219 by @pepibumur.
- Merge documentation from the documentation repository #222 by @pepibumur.
- Danger #186 by @pepibumur.
Fixed
- Swiftlint style issues #213 by @pepibumur.
- Use environment tuist instead of the absolute path in the embed frameworks build phase #185 by @pepibumur.
Deprecated
- JSON and YAML manifests #190 by @pepibumur.
0.10.2
Fixed
- Processes not stopping after receiving an interruption signal #180 by @pepibumur.
0.10.1
Changed
- Replace ReactiveTask with SwiftShell #179 by @pepibumur.
Fixed
- Carthage up command not running when the
Cartfile.resolved
file doesn't exist #179 by @pepibumur.
0.10.0
Fixed
- Don't generate the Playgrounds group if there are no playgrounds #177 by @pepibumur.
Added
- Tuist up command #158 by @pepibumur.
- Support
.cpp
and.c
source files #178 by @pepibumur.
0.9.0
Added
- Acceptance tests #166 by @pepibumur.
Fixed
- Files and groups sort order #164 by @pepibumur.
Added
- Generate both, the
Debug
andRelease
configurations #165 by @pepibumur.
0.8.0
Added
- Swift 4.2.1 compatibility by @pepibumur.
Removed
- Module loader #150/files by @pepibumur.
Added
- Geration of projects and workspaces in the
~/.tuist/DerivedProjects
directory #146 by pepibumur.
0.7.0
Added
- Support for actions #136 by @pepibumur.
0.6.0
Added
- Check that the local Swift version is compatible with the version that will be installed #134 by @pepibumur.
Changed
- Bump xcodeproj to 6.0.0 #133 by @pepibumur.
Removed
- Remove
tuistenv
from the repository #135 by @pepibumur.
0.5.0
Added
- Support for JSON and Yaml manifests #110 by @pepibumur.
- Generate
.gitignore
file when running init command #118 by @pepibumur. - Git ignore Xcode and macOS files that shouldn't be included on a git repository #124 by @pepibumur.
- Focus command #129 by @pepibumur.
Fixed
- Snake-cased build settings keys #107 by @pepibumur.
0.4.0
Added
- Throw an error if a library target contains resources #98 by @pepibumur.
- Playgrounds support #103 by @pepibumur.
- Faster installation using bundled releases #104 by @pepibumur.
Changed
- Don't fail if a Carthage framework doesn't exist. Print a warning instead #96 by @pepibumur.
- Missing file errors are printed together #98 by @pepibumur.
0.3.0
Added
- Homebrew formula
0ab1c6e109
by @pepibumur.
Changed
- Replaced ssh links with the https version of them #91 by @pepibumur.
Fixed
FRAMEWORK_SEARCH_PATHS
build setting not being set for precompiled frameworks dependencies #87 by @pepibumur.
0.2.0
Added
- Install command #83 by @pepibumur.
--help-env
command to tuistenv by @pepibumur.
Fixed
- Fix missing target dependencies by @pepibumur.
Removed
- Internal deprecation warnings by @pepibumur.
0.1.0
Added
- Local command prints all the local versions if no argument is given #79 by @pepibumur.
- Platform, product, path and name arguments to the init command #64 by @pepibumur.
- Lint that
Info.plist
and.entitlements
files are not copied into the target products #65 by @pepibumur - Lint that there's only one resources build phase #65 by @pepibumur.
- Command runner #81/ by @pepibumur.
Added
- Sources, resources, headers and coreDataModels property to the
Target
model #67 by @pepibumur.
Changed
JSON
andJSONConvertible
replaced with Swift'sCodable
conformance.
Removed
- The scheme attribute from the
Project
model #67 by @pepibumur. - Build phases and build files #67 by @pepibumur.