GitPedia
yonaskolb

yonaskolb/XcodeGen

A Swift command line tool for generating your Xcode project

30 Releases
Latest: 2mo ago
2.45.4Latest
yonaskolbyonaskolb·2mo ago·April 14, 2026
GitHub

🐛 Fixed

  • Fix makePathRelative using wrong base path when projectDirectory differs #1608 @yonaskolb
  • Fix synced folder configFiles creating duplicate groups #1607 @AlexNsbmr
  • Fix synced folder root group duplication for paths referenced by multiple targets #1607 @AlexNsbmr
  • Fix synced folder directory-level membershipExceptions not working #1607 @AlexNsbmr
2.45.3
yonaskolbyonaskolb·3mo ago·March 10, 2026
GitHub

🐛 Fixed

  • Fix folder source PBXFileReference path regression with createIntermediateGroups #1605 @yonaskolb
  • Fix synced folders: includes silently ignored + no deduplication across targets #1604 @4brunu
2.45.2
yonaskolbyonaskolb·3mo ago·March 5, 2026
GitHub

🐛 Fixed

  • Validate empty source paths to prevent project root inclusion #1601 @yonaskolb
  • Fix missing productRefGroup in generated projects #1591 @ruslic19
2.45.1
yonaskolbyonaskolb·3mo ago·March 5, 2026
GitHub

Added

  • Added built in `.icon` folder support for IconComposer #1600 @yonaskolb
2.45.0
yonaskolbyonaskolb·3mo ago·March 5, 2026
GitHub

Added

  • Added ability to specify project format version via `projectFormat` option #1566 @anivaros
  • Added `explicitFolders` property to `TargetSource` that is passed through to `PBXFileSystemSynchronizedRootGroup`, to turn entire subfolders into Resources #1596 @macguru
  • Allow synced folders to be sorted using `groupOrdering` #1596 @macguru
  • Added `excludes` support for `syncedFolder` sources with glob pattern matching #1587 @mirkokg
  • Automatically exclude `Info.plist` from synced folder membership when it's within the synced folder #1587 @mirkokg
  • Add empty copy resources build phase for synced folders so resources are copied correctly #1587 @mirkokg

🐛 Fixed

  • Fixed synced folders ignoring `createIntermediateGroups=YES` and always being created at the root level #1596 @macguru
  • Fix membership exceptions not working for nested synced folders with intermediate groups enabled #1596 @macguru
  • Fix `supportedDestinations` presets being injected when `settingPresets` is `none` #1599 @macguru

📦 Internal

  • Update to XcodeProj 9.10.1 #1597 @yonaskolb
  • Fix CI: add explicit xcodebuild destinations and update Xcode matrix #1594 @yonaskolb
  • Update ArtifactBundleGen to 0.0.8 #1570 @georgenavarro
2.44.1
yonaskolbyonaskolb·10mo ago·July 22, 2025
GitHub

🐛 Fixed

  • Set the correct object version of 77 for Xcode 16 projects @jakobfelsatdm #1563
  • Support major.minor SPM package versions which would otherwise fail to decode to a string in yaml specs #1546 @RomanPodymov
  • Fix regression for `parallelizable` in scheme. It now resolves to "Enabled" and not "Swift Testing Only" #1565 @CraigSiemens
2.44.0
yonaskolbyonaskolb·11mo ago·July 17, 2025
GitHub

Added

  • Basic support for Xcode 16's synchronized folders #1541 @yonaskolb
  • `TargetSource.type` can now be `syncedFolder`
  • `Options.defaultSourceDirectoryType` can be set to `syncedFolder` for the default type in all sources in the project (defaults to `group`)
  • Benefits include faster generation and no cache invalidation or need to regenerate when files are added or removed from these folders
  • Note that not all TargetSource options like excludes are supported, just a simple path. Please test and see what is missing in your projects
  • Added sanitizer options to run and test actions in Scheme #1550 @hi-kumar

🐛 Fixed

  • Added validation to ensure that all values in `settings.configs` are mappings. Previously, passing non-mapping values did not raise an error, making it difficult to detect misconfigurations. Now, `SpecParsingError.invalidConfigsMappingFormat` is thrown if misused. #1547 @Ryu0118
  • Use `USER` instead of `LOGNAME` for XCUserData #1559 @KostyaSha
2.43.0
yonaskolbyonaskolb·1y ago·April 15, 2025
GitHub

Added

  • Added `excludeFromProject` from local packages #1512 @maximkrouk
  • Added support for `preferredScreenCaptureFormat` in schemes #1450 @vakhidbetrakhmadov

📋 Changes

  • `.appex` files are now copied to plugins directory by default #1531 @iljaiwas
  • The `preGenCommand` is now run before validation and caching #1500 #1519 @simonbs @dalemyers
  • Improve performance of spec validation #1522 @zewuchen
  • The `enableGPUValidationMode` enum is deprecated and is now a boolean #1515 @marcosgriselli @yonaskolb

🐛 Fixed

  • Breaking: `fileGroups` are now relative paths when in included files, like other paths #1534 @shnhrrsn
  • Breaking: Local package paths are now relative paths when in included files, like other paths #1498 @juri
  • Optional groups are no longer skipped when missing and generating projects from a different directory #1529 @SSheldon

📦 Internal

  • Fix Swift 6.0 warnings #1513 @marcosgriselli
  • Update package swift tools to 5.9 #1489 @0111b
  • Add Xcode 16 to CI #1439 @giginet
  • Fix test project building on CI #1537 @yonaskolb
  • Skip failing tests on Linux #1517 @marcosgriselli
  • XcodeProj updated to 8.24.3 #1515 @marcosgriselli @yonaskolb
2.42.0
yonaskolbyonaskolb·1y ago·July 11, 2024
GitHub

Added

  • Better support for local Swift packages in Xcode 15 #1465 @kinnarr
  • Added `macroExpansion` to test actions in schemes #1468 @erneestoc

📋 Changed

  • Better default macroExpansion target in schemes #1471 @erneestoc

🗑️ Removed

  • Removed `xcodegen dump --type graphviz` as graphviz no longer builds in Swift 6 and is no longer maintained. If anyone uses this feature and wishes to keep it, please submit a PR providing a suitable alternative. #1485 @giginet
2.41.0
yonaskolbyonaskolb·2y ago·May 20, 2024
GitHub

Added

  • Added `xcodegen cache` command that writes the cache. Useful for `post-commit` git hook integration #1476 @yonaskolb

📋 Changed

  • Include folders in file sorting #1466 @jflan-dd

🐛 Fixed

  • Fixed `supportedDestinations` validation when it contains watchOS for multiplatform apps. #1470 @tatsuky
2.40.1
yonaskolbyonaskolb·2y ago·April 10, 2024
GitHub

🐛 Fixed

  • Reverted `.xcprivacy` handling. They will now again be treated as resources by default @yonaskolb
2.40.0
yonaskolbyonaskolb·2y ago·April 8, 2024
GitHub

Added

  • Added support for local Swift packages at the project root by specifying a "" group #1413 @hiltonc
  • Added a custom `shell` to a scheme's pre and post actions #1430 @balazs-vimn

📋 Changed

  • `.xcprivacy` files are now not added to any build phases by default #1464 @yonaskolb
2.39.1
yonaskolbyonaskolb·2y ago·February 15, 2024
GitHub

Added

  • Proper defaults for `.cp` and `.cxx` files #1447 @eschwieb

🐛 Fixed

  • Fixed bundle access crash #1448 @freddi-kit
  • Pinned XcodeProj version to fix breaking changes when XcodeGen is used as a dependency #1449 @yonaskolb
2.39.0
yonaskolbyonaskolb·2y ago·February 14, 2024
GitHub

Added

  • Support Artifact Bundle #1388 @freddi-kit
  • Added support for `.xcstrings` String Catalogs #1421 @nicolasbosi95
  • Added default `LD_RUNPATH_SEARCH_PATHS` for visionOS #1444 @Dahlgren
  • Added `watchOS` as a supported cross platform destination #1438 @tatsuky

🐛 Fixed

  • Fixed custom local package groups not being created #1416 @JaapManenschijn
  • Fixed spec validation error type #1439 @Lutzifer
  • Create parent group for local package groups if it does not exist already #1417 @JaapManenschijn

📦 Internal

  • Updated Rainbow version #1424 @nysander
2.38.0
yonaskolbyonaskolb·2y ago·October 31, 2023
GitHub

Added

  • [Multi-destination targets](https://github.com/yonaskolb/XcodeGen/blob/master/Docs/ProjectSpec.md#supported-destinations) #1336 @amatig
  • Added `supportedDestinations` to target
  • Added optional new `platform` value of `auto` when using `supportedDestinations`
  • Added `destinationFilters` for sources and dependencies
  • Added `inferDestinationFiltersByPath`, a convenience filter for sources
  • `.mlpackage` files now default to being a source type #1398 @aaron-foreflight
  • Added support for `Build Tool Plug-ins` in `AggregateTarget` #1390 @BarredEwe

🐛 Fixed

  • Fixed source file `includes` not working when no paths were found #1337 @shnhrrsn
  • Supports specifying multiple package products #1395 @simonbs
2.37.0
yonaskolbyonaskolb·2y ago·August 16, 2023
GitHub

Added

  • Added support for adding `Build Tool Plug-ins` to targets #1374 @BarredEwe
2.36.1
yonaskolbyonaskolb·2y ago·August 14, 2023
GitHub

🐛 Fixed

  • Revert addition of `ENABLE_MODULE_VERIFIER` build setting for causing issues in tests and some setups #1387 @yonaskolb
2.36.0
yonaskolbyonaskolb·2y ago·August 12, 2023
GitHub

Added

  • Added `scheme.enableGPUValidationMode` #1294 @LouisLWang
  • Added visionOS support #1379 @shiba1014
  • Added ability to disable Thread performance checker in Schemes #1380 @piellarda
  • Added support for `RuntimeIssue` breakpoints #1384 @yonaskolb

📋 Changed

  • The project object version has been updated for Xcode 14.3 #1368 @leonardorock
  • Updated recommended settings for Xcode 14.3 #1385 @yonaskolb
  • Dropped support for Xcode 12 and 13, due to XcodeProj update #1384 @yonaskolb

🐛 Fixed

  • Fix external dependencies from being removed by Xcode #1354 @OdNairy
  • Stop creating orphaned object references when reusing references to external dependencies #1377 @liamnichols
2.35.0
yonaskolbyonaskolb·3y ago·April 27, 2023
GitHub

Added

  • Added support for shared breakpoints #177 @alexruperez @myihsan
  • Added support for `putResourcesBeforeSourcesBuildPhase` in a target #1351 @mat1th

🐛 Fixed

  • Fix case where source paths may not be deduplicated correctly resulting in duplicate groups and/or a crash in running XcodeGen #1341 @dalemyers
2.34.0
yonaskolbyonaskolb·3y ago·February 23, 2023
GitHub

📋 Changed

  • Added support for `swiftcrossimport` folders. #1317 @Iron-Ham
  • Added support for [Scheme Management](Docs/ProjectSpec.md##scheme-management) #1142 @wendyliga, @teameh

🐛 Fixed

  • Fix includes when the projectRoot is a relative path #1262 @CraigSiemens
  • Renamed build phase `Embed App Extensions` to `Embed Foundation Extensions` to fix Xcode 14 warning #1310 @casperriboe
2.33.0
yonaskolbyonaskolb·3y ago·December 9, 2022
GitHub

Added

  • Added support for `enableGPUFrameCaptureMode` #1251 @bsudekum
  • Config setting presets can now also be loaded from the main bundle when bundling XcodeGenKit #1135 @SofteqDG
  • Added ability to generate multiple projects in one XcodeGen launch #1270 @skofgar
  • Use memoization during recursive SpecFiles creation. This provides a drastic performance boost with lots of recursive includes #1275 @ma-oli

🐛 Fixed

  • Fix scheme not being generated for aggregate targets #1250 @CraigSiemens
  • Fix recursive include path when relativePath is not set #1275 @ma-oli
  • Include projectRoot in include paths #1275 @ma-oli

📦 Internal

  • Updated to Yams 5.0.1 #1297 @s2mr
  • Delete ignored `try` keyword #1298 @s2mr
2.32.0
yonaskolbyonaskolb·3y ago·August 18, 2022
GitHub

Added

  • Add support for `mlmodelc` files #1236 @antonsergeev88
  • Add `enable` option for `include` #1242 @freddi-kit

🐛 Fixed

  • Fix checking environment variable in `include` #1242 @freddi-kit
  • Fix profile action for frameworks in Xcode 14 #1245 @SSheldon
2.31.0
yonaskolbyonaskolb·3y ago·July 24, 2022
GitHub

Added

  • Added a new CopyFilesBuildPhase, "Embed ExtensionKit Extensions" #1230 @mtj0928
  • Added duplicate dependencies validation #1234 @aleksproger
2.30.0
yonaskolbyonaskolb·3y ago·July 16, 2022
GitHub

Added

  • Added support for new target type `extensionkit-extension` in Xcode 14 #1228 @aleksproger

📋 Changed

  • Speed up generating build settings for large projects #1221 @jpsim

🐛 Fixed

  • Fix XcodeGen building as library after breaking XcodeProj update 8.8.0 #1228 @aleksproger
2.29.0
yonaskolbyonaskolb·4y ago·May 10, 2022
GitHub

📋 Changes

  • Schemes and Target Schemes can now reference existing Test Plans under `{scheme}.test.testPlans` and `{target}.scheme.testPlans`, respectively. #716 @yonaskolb @omares
  • Fixed an issue where DocC was not added to source file list #1202 @hiragram
  • Updated XcodeProj to 8.7.1 #1213 @yonaskolb
2.28.0
yonaskolbyonaskolb·4y ago·March 31, 2022
GitHub

📋 Changes

  • Support for specifying custom group locations for SPM packages. [#1173](https://github.com/yonaskolb/XcodeGen/issues/1173) @John-Connolly

🐛 Fixed

  • Fix Monterey macOS shell version, shell login flag for environments [#1167](https://github.com/yonaskolb/XcodeGen/issues/1167) @bimawa
  • Fixed crash caused by a simultaneous write during a glob processing [#1177](https://github.com/yonaskolb/XcodeGen/issues/1177) @tr1ckyf0x

📋 Changed

  • Run target source pattern matching in parallel [#1197](https://github.com/yonaskolb/XcodeGen/pull/1197) @alvarhansen
  • [Commits](https://github.com/yonaskolb/XcodeGen/compare/2.27.0...2.28.0)
2.27.0
yonaskolbyonaskolb·4y ago·March 20, 2022
GitHub

📋 Changes

  • Support test target for local Swift Package [#1074](https://github.com/yonaskolb/XcodeGen/pull/1074) @freddi-kit
  • Added `coverageTargets` for target test schemes. This enables to gather code coverage for specific targets. [#1189](https://github.com/yonaskolb/XcodeGen/pull/1189) @gabriellanata
  • Fixed issue where .gyb files could not be added to source file list [#1191]((https://github.com/yonaskolb/XcodeGen/issues/1191) @hakkurishian

🐛 Fixed

  • Fixed crash caused by a simultaneous write during a glob processing [#1177](https://github.com/yonaskolb/XcodeGen/issues/1177) @tr1ckyf0x
  • Skip generating empty compile sources build phases for watch apps [#1185](https://github.com/yonaskolb/XcodeGen/issues/1185) @evandcoleman
  • [Commits](https://github.com/yonaskolb/XcodeGen/compare/2.26.0...2.27.0)
2.26.0
yonaskolbyonaskolb·4y ago·February 6, 2022
GitHub

Added

  • Added the option to specify a `location` in a test target [#1150](https://github.com/yonaskolb/XcodeGen/issues/1150) @KrisRJack

📋 Changed

  • Speed up source inclusion checking for big projects [#1122](https://github.com/yonaskolb/XcodeGen/pull/1122) @PaulTaykalo
  • [Commits](https://github.com/yonaskolb/XcodeGen/compare/2.25.0...2.26.0)
2.25.0
yonaskolbyonaskolb·4y ago·September 23, 2021
GitHub

Added

  • Allow specifying a `copy` setting for each dependency. [#1038](https://github.com/yonaskolb/XcodeGen/pull/1039) @JakubBednar

🐛 Fixed

  • Fix broken codesign option for bundle dependency [#1104](https://github.com/yonaskolb/XcodeGen/pull/1104) @kateinoigakukun
  • Ensure fileTypes are mapped to JSON value [#1112](https://github.com/yonaskolb/XcodeGen/pull/1112) @namolnad
  • Fix platform filter for package dependecies [#1123](https://github.com/yonaskolb/XcodeGen/pull/1123) @raptorxcz
  • Fix Xcode 13 build [#1130](https://github.com/yonaskolb/XcodeGen/issues/1127) @raptorxcz @mthole
  • [Commits](https://github.com/yonaskolb/XcodeGen/compare/2.24.0...2.25.0)
2.24.0
yonaskolbyonaskolb·4y ago·June 27, 2021
GitHub

Added

  • Added support for DocC Catalogs [#1091](https://github.com/yonaskolb/XcodeGen/pull/1091) @brevansio
  • Added support for "driver-extension" and "system-extension" product types [#1092](https://github.com/yonaskolb/XcodeGen/issues/1092) @vgorloff
  • Add support for conditionally linking dependencies for specific platforms [#1087](https://github.com/yonaskolb/XcodeGen/pull/1087) @daltonclaybrook
  • Add ability to specify UI testing screenshot behavior in test schemes [#942](https://github.com/yonaskolb/XcodeGen/pull/942) @daltonclaybrook

📋 Changed

  • Breaking: Rename the `platform` field on `Dependency` to `platformFilter` [#1087](https://github.com/yonaskolb/XcodeGen/pull/1087) @daltonclaybrook
  • [Commits](https://github.com/yonaskolb/XcodeGen/compare/2.23.1...2.24.0)