π Check out the guidelines here
- Fix package manifest by @0111b in #816
- Add Privacy Manifest in 'Projects Using' README table by @stelabouras in #819
- Adopt Strict Concurrency checking by @waltflanagan in #821
- Set minimum swift version to 5.8 by @waltflanagan in #822
- Fix deprecation warning when targeting macOS 13 by @jszumski in #814
- Add precompiled header extension to headersExtensions for adding .pch⦠by @VorkhlikArtem in #812
- Add
showNonLocalizedStrings
option to XCScheme+LaunchAction by @ladislas in #806 - Fix issue that it is not possible to remove a remote package by @kevin-kp in #803
- XCScheme string initializer by @mattmassicotte in #809
- Inherit values in the default
SWIFT_ACTIVE_COMPILATION_CONDITIONS
value by @pepicrft in #811
- Fix issue that it is not possible to remove a remote package by @kevin-kp in #803
- Create
PBXProj
class from the Data reprentation of apbxproj
file by @Ibrahimhass in #798 - Add XCLocalSwiftPackageReference Support by @art-divin in #799
- Fix issue that multiple products of the same package cannot be added by @kevin-kp in #801
- Added XCLocalSwiftPackageReference Support (#799)[#799] by @art-divin.
- Added preferredScreenCaptureFormat to XCScheme.TestAcion #792 by @tatagrigory.
- Add otf font files to known file types #788 by@kwridan
- Get Data representation for
Writable
#787 by @Ibrahimhass
- Added
Build Tool Plug-ins
support #784 by @BarredEwe
PBXBuildRule.dependencyFile
attribute #781 by @pepicrft.- Update last known
upgradeCheck
andswiftUpgradeCheck
constants #781 by @pepicrft. - Add the defaults
xcschemeFormatVersion
,lastSwiftUpgradeCheck
, andlastUpgradeCheck
#781 by @pepicrft.
- Support for Xcode runtime issue breakpoints #761 by @zenangst.
Platform.visionOS
case and updatedBuildSettingsProvider
to return the default build settings for visionOS projects #765 by @Mstrodl.
- (Breaking) Dropped Carthage support: Since the tool is not actively maintained.
- (Breaking) Dropped CocoaPods support: With the Apple ecosystem moving to Swift Package Manager we'd like to support the transition by dropping support for CocoaPods. The drop will simplify our release process.
- Ensured UUIDs are considered when sorting by filename to ensure information is not lost when filenames are equal #769 by @timothycosta.
- Add try-catch to getting started documentation #745 by @AlexKobachiJP
- Add missing Build Settings Provider documentation #747 by @baekteun
- Fix unstable reads for
XCSchemeManagement
#758 by @kwridan - Fix typos in
Writable.swift
#755 by @jpsim
- Update
XCSharedData
Writable conformance to includeWorkspaceSettings
#743 by @dayton-bobbitt
- Update watchOS application default settings for Xcode 14 #711 by @kwridan
- Implement
Hashable
forXCScheme.BuildableReference
#712 by @cgrindel - Sets customWorkingDirectory for schemes #720 by @maxwellE
- Add
XCScheme.ExecutionAction.shellToInvoke
#721 by @CrazyFanFan - Add
platformFilters
attribute toPBXBuildFile
andPBXTargetDependency
#737 by @maxwellE - Add suppot for
XCUserData
#739 by @teameh
- Fix equality checking of dictionaries #667 by @brentleyjones
- Quiet new warnings from Xcode 13.3 #673 by @hisaac
- Fix typo in PBXOutputSettings.swift #678 by @eltociear
- Fix syntax error in docs #679 by @maxwellE
- Misspelling in comment #680 by @maxwellE
- Misspelling in comment #681 by @maxwellE
- Ensure correct
LaunchAction
scheme order #686 by @maxwellE - Fix TestAction scheme attribute ordering #689 by @maxwellE
- Fix
Testables
element ordering #702 by @maxwellE - Fix
RemoteRunnable
scheme attr order #701 by @maxwellE - Fix ordering of Scheme toplevel attrs #698 by @maxwellE
- Fix order for
askForAppToLaunch
attr #705 by @maxwellE - Fix ordering of diagnostics scheme options #704 by @kwridan
- Add
addDependency()
helper method toPBXAggregateTarget
#677 by @brentleyjones - Allow for initializing a PBXProj via a direct path #682 by @maxwellE
- Add
.extensionKitExtension
as the newPBXProductType
#691 by @mtj0928 - Added
disablePerformanceAntipatternChecker
toXCScheme
#693 by @Bogdan-Belogurov - Added missing
askForAppToLaunch
inProfileAction
#700 by @maxwellE - Add
launchAutomaticallySubstyle
->ProfileAction
#699 by @maxwellE - Add
DEAD_CODE_STRIPPING
default project setting #706 by @kwridan
- Make WorkspaceSettings initializer public #658 by @jakeatoms
- Add DocC Xcode File Type (
.docc
) #660 by @Jake-Prickett
- Support for location added to test targets (
TestableReference
) #654 by @KrisRJack
- Add XCSchemeManagement struct #565 by @pepibumur.
- Update the last-known and default constants to align with Xcode 13.
- Support customized DerrivedData path in
WorkspaceSettings
#650 by @freddi-kit.
- Fix Xcode 13 build #648 by @raptorxcz
- Support obtaining the full path of a file element by passing the source root as a string #624 by @ileitch.
- If RemoteRunnable doesn't contains BuildableReference XcodeProj removes xcscheme file #627 by @subdan.
- Improve performance of commented string #635 by @adellibovi
- Adding group set incorrect parent in case of complex path #614 by @avdyushin
- Breaking Fixed issue where some schemes could not be deserialized because a buildable reference did not contain a blueprint identifier #612 by @daltonclaybrook
- Added the
com.apple.product-type.driver-extension
andcom.apple.product-type.system-extension
PBXProductType #618 by @vgorloff.
- Allows passing BuildableIdentifier String to BuildableReference initializer #605 by @freddi-kit
- Fixed building on Linux #615 by @yonaskolb
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER
to default build setting #608 by @fortmarek
- Prevent overwriting identical workspace data #607 by @ferologics
- Speed up md5 generation #606 by @adellibovi
- Added
runPostActionsOnFailure
toXCScheme
#603 by @FranzBusch
- JSON decoder not properly decoding
defaultConfigurationIsVisible
in some projects #593 by @tjwio - JSON decoder not properly decoding
proxyType
in some projects #596 by @tjwio - BuildPhaseTests not handling failure cases properly #597 by @tjwio
xcconfig
parser does not support inline comments #602 by @dive
- Support for building and running on Linux. #585 by @elliottwilliams.
- Tested for compatibility with Swift 5.3 on Ubuntu 18.04.
- XcodeProj requires FoundationXML / libxml2, which is part of the standard Swift Linux toolchain but not necessarily available in all environments.
- Added the
com.apple.product-type.metal-library
PBXProductType #576 by @deatondg. - Deprecate PBXBuildPhase.type() function #571 by @marciniwanicki.
- Added
runOncePerArchitecture
attribute toPBXBuildRule
#570 by @sascha
- explicitFileType corrected for .bundle #563 by @adamkhazi
- Add support for alwaysOutOfDate flag in PBXShellScriptBuildPhase #572 by @marciniwanicki
- Added
PBXShellScriptBuildPhase.dependencyFile
attribute #568 by @polac24 - Add support for StoreKitConfigurationFileReference in LaunchAction of XCScheme #573 by @jcolicchio
- lastKnownFileType for .ttf and .sqlite files #557 by @adamkhazi
- Added selectedTests attribute to XCScheme.TestableReference #559 by @ooodin
- Support
on-demand-install-capable
application #554 by @d-date - Add RemotePath to RemoteRunnable #555 by @kwridan
- Added
LaunchAction.customLLDBInitFile
andTestAction.customLLDBInitFile
attributes #553 by @polac24
- Added
platformFilter
to thePBXTargetDependency
#546 by @tomaslinhart
- Point
XcodeProjCExt
to version 0.1.0 #540 by @khoi
- Added
useTestSelectionWhitelist
attribute toXCScheme.TestableReference
#516 by @basvankuijck.
- "Products" group has the same ID for any project #538 by @damirdavletov
- Optimize bottlenecks #529 by @michaeleisel
- Remove
Tapestries
folder for tapestry 0.0.5 version #523 by @fortmarek - Sped up the generation of commented strings, especially those that include an MD5 hash
- Code Coverage Targets and Additional Options Scheme Instability #522 by @adamkhazi
- Fix
XCWorkspace
Equatable
#524 by @adamkhazi
- Added
PathRunnable
to theLaunchAction
to allow running any executable #521 by @vytis
- Make
PBXProject.targetAttributes
non optional again and fix equality #519 by @yonaskolb
- Ensure references to products in external projects are generated with deterministic UUIDs #518 by @evandcoleman
- Breaking Make
PBXProject.targetAttributes
optional #517 by @pepibumur
- Remove "Shell" Carthage dependency from carthage xcode project as it's no longer used #507 by @imben123
- Added
com.apple.product-type.xcframework
toPBXProductType
. #508 by @lakpa - Added
askForAppToLaunch
parameter toLaunchAction
andProfileAction
. #515 by @YutoMizutani - Added
"ENABLE_PREVIEWS"
to target application build settings #511 by @fortmarek
- Provide default build settings for unit and ui test targets #501 by @kwridan
- Remove "Shell" Carthage dependency from project manifest as it's no longer used #505 by @kwridan
- Update list of recognized file extensions #500 by @dflems
- Update BuildSettingsProvider to include extension settings #497 by @kwridan
- Remove the dependency with the Swift Package Manager #499 by @elliottwilliams
- Make test plans deserialise correctly #496 by @adamkhazi
- Make test plans optional https://github.com/tuist/XcodeProj/commit/c15034948a2a132bf559f14d3c6b4d1b73749663 by @pepibumur
- Replaced CircleCI with GitHub actions #493 by @pepibumur
- Replace CircleCI with GitHub actions #493 by @pepibumur
- Replace Shell with the SPM's Process utility class #492 by @pepibumur
- Added support for Xcode 11 test plans #491 by @maniramezan
- Add remote Swift packages to the Frameworks build phase #487 by @kwridan
- System library added to a group has empty path #488 by @damirdavletov
- Fix Products group serialisation with temporary ids #489 by @damirdavletov
- Add
onlyGenerateCoverageForSpecifiedTargets
parameter toTestAction
#473 by @kateinoigakukun - Added support for
PBXTargetDependency.product
#481 by @yonaskolb - Xcode 11 support.
- Update
BuildSettingProvider
to returnLD_RUNPATH_SEARCH_PATHS
asArray<String>
#463 by @marciniwanicki - Update
Project.swift
to make it compatible with tuist 0.17.0 #469 by @marciniwanicki
- Adding support for adding local Swift packages #468 by @fortmarek
- Adding additional
lastKnownFileType
s #458 by @kwridan - Adding possibility to create variant group for referencing localized resources #462 by @timbaev
###Β Fixed
- Duplication of packages #470 by @fortmarek
- Breaking Change the UUID generation logic to generate ids with a length of 24 #432 by @pepibumur.
- Breaking Renamed module from
xcodeproj
toXcodeProj
#398 by @pepibumur. - Add
override
flag toPBXGroup.addFile(at:,sourceTree:,sourceRoot:)
#410 by @mrylmz - Rename some internal variables to have a more representative name #415 by @pepibumur.
- Breaking Add
SWIFT_COMPILATION_MODE
andCODE_SIGN_IDENTITY
build settings, removeDEBUG
flag for Release #417 @dangthaison91 - Breaking Added throwing an error in case group path can't be resolved by @damirdavletov
- Breaking Added remote project support to PBXContainerItemProxy by @damirdavletov
- Breaking Add support for
RemoteRunnable
#400 by @pepibumur. - Breaking Swift 5 support #397 by @pepibumur.
- Added
com.apple.product-type.application.watchapp2-container
toPBXProductType
. #441 by @leogdion. - Add BatchUpdater to quickly add files to the group #388 by @CognitiveDisson.
WorkspaceSettings.autoCreateSchemes
attribute #399 by @pepibumur- Additional Swift 5 fixes: #402 by @samisuteria
- Make build phase name public by @llinardos.
- Can access embed frameworks build phase for a target by @llinardos.
- Added
com.apple.product-type.framework.static
toPBXProductType
. #347 by @ileitch. - Can add a not existing file to a group #418 by @llinardos.
- Support for Swift PM Packages #439 #444 by @pepibumur @yonaskolb.
LaunchAction.customLaunchCommand
attribute #451 by @pepibumur.XCBuildConfiguration.append
method #450 by @pepibumur.
- Carthage integration #416 by @pepibumur.
- Relative path is wrong when referencing file outside of project folder #423 by @damirdavletov
- [crash] Fatal error: Duplicate values for key #426 by @toshi0383
- Change PBXContainerItemProxy.remoteGlobalID attribute to support object references #445 by @yonaskolb
- Dead lock in the
PBXObjects.delete
method #449 by @pepibumur
- OSLogs #453 by @pepibumur.
- Breaking Make
PBXBuildPhase.files
optional to match Xcode's behavior #391 by @pepibumur.
- Add location variable to XCWorkspaceDataElement #387 by @pepibumur.
- Fixed file full path performance issue #372 by @CognitiveDisson.
- Diffing issues when writing the project #391 by @pepibumur.
- Fix adding files to
PBXBuildPhase
#380 @danilsmakotin. - Improve project encoding performance #371 by @CognitiveDisson.
- Project decoding performance issue #365 by @CognitiveDisson.
- Fix PBXTarget extension methods #367 by @danilsmakotin.
- Added
GPUFrameCaptureMode
andGPUValidationMode
options toLaunchAction
#368 by @schiewe. - Add Swiftformat #375 by @pepibumur.
- Breaking Rename GPUFrameCaptureMode cases to start with a lowercase letter #375 by @pepibumur.
- Fix linting issues #375 by @pepibumur.
- Make Xcode.Supported.xcschemeFormatVersion public #361 by @yonaskolb.
- Fix remote target dependency #362 by @mxcl.
- Added
projReferenceFormat
toPBXOutputSettings
to allow changing the output format of generated references.withPrefixAndSuffix
will give the legacy behaviourxcode
will generate 32 character references as XCode does. #345 by @samskiter. - Danger #357 by @pepibumur.
- Support for WorkspaceSettings #359 by @pepibumur.
- Added
parallelizable
andrandomExecutionOrdering
attributes toXCScheme.TestableReference
#340 by @alvarhansen.
- Fixed possible generated UUID conflicts #342 by @yonaskolb.
- Fixed not working PBXFileElement.fullPath(sourceRoot:) method #343 by @Vyeczorny.
- Carthage and CocoaPods support #339 by @pepibumur.
- Improved writing performance #336 #337 #338 by @yonaskolb.
- Replaced Swift Package Manager dependency with PathKit #334 by @yonaskolb.
- Added ability to pass in a
PBXObject
into thePBXProject.targetAttributes
dictionary, which will be encoded into its UUID. Can be used forTestTargetID
#333 by @yonaskolb.
- Changed
XCScheme.BuildableReference
init to makeblueprint
aPBXObject
and added asetBlueprint(:)
function #320 by @yonaskolb. - Bump AEXML version to 4.3.3 #310 by @pepibumur.
- Improves performance of object references #332 by @yonaskolb.
- Prefix reference with object type acronym. eg.
PBXFileReference
becomesFR_XXXXXXXXXXXXXXXXX
#332 by @yonaskolb. - Add
TEMP
prefix to temporary unfixed reference values #332 by @yonaskolb.
- Fixes
PBXProject
attributes not being set properly #318 by @yonaskolb. - Fixed remoteGlobalID typo #315 by @yonaskolb.
- Fixed
XCBuildConfiguration.buildConfiguration
type #316 by @yonaskolb.
Note: Migration guidelines are included in the project README.
- Breaking Make
PBXObjectReference
internal #300 by @pepibumur. - Breaking Make
PBXObjects
internal #300 by @pepibumur. - Breaking Move
PBXObjects
helpers toPBXProj
#300 by @pepibumur.
- Some tweaks to support Xcode 10 #298 by @pepibumur.
- Breaking Change
PBXBuildFile.file
attribute to be of typePBXFileElement
#297 by @pepibumur.
- Add
PBXBuildPhase.add(file:)
method that takes a file element and returns a build file #297 by @pepibumur. - Add
PBXProj.rootObject
attribute #297 by @pepibumur.
XCBuildConfiguration.baseConfiguration
type #297 @pepibumur.
setAttributes
,removeAttributes
andattributes
toPBXProject
#295 by @pepibumur
- Breaking Change
blueprintIdentifier
type toPBXObjectReference
#289 by @pepibumur
- Fix grammatical issues and add some convenient getters #291 by @pepibumur
- Fix targets not getting the reference generated #290 by @pepibumur
- Product references not being generated #294 by @pepibumur
- Breaking Make
PBXProject.attributes
internal #295 by @pepibumur
Nothing new since the release rc2.
- Breaking Rename
filesReferences
tofileReferences
#271 by @pepibumur
- Xcode 10 inputFileListPaths and outputFileListPaths attributes #271 by @pepibumur
- Split up
XCScheme
models and make them conform theEquatable
protocol #273 by @pepibumur - Convenient methods to add and fetch build configurations #283 by @pepibumur
.inc
extension to the header file extensions by @pepibumur
- Rename project to xcodeproj by @pepibumur.
- Drop Carthage and CocoaPods support by @pepibumur.
- Use Basic AbsolutePath, RelativePath and Process extensions by @pepibumur.
- Use
PBXObjectReference
instead ofString
to reference objects fromPBXProj.Objects
by @pepibumur. - Remove
ObjectReference
by @pepibumur. - Update
PBXNativeTarget
reference attributes to be of typePBXObjectReference
by @pepibumur. - Add convenient methods to materialize objects references #12 by @pepibumur.
- Rename some PBXProject attributes for consistency #268 by @pepibumur.
- Add
addDependency
method toPBXNativeTarget
by @pepibumur. - Danger check that reports Swiftlint results #257 by @pepibumur.
- Xcode constants by @pepibumur.
- Convenient API from objects by @pepibumur.
BuildSettingsProvider
by @pepibumur.- Add
addDependency
method toPBXNativeTarget
by @pepibumur. - Method in
XCConfigurationList
to get the build configurations objects @pepibumur. - Method to get the configuration list from any target #10 by @pepibumur.
- Migration guidelines #264 by @pepibumur.
- Deprecated elements by @pepibumur.
- Tests that test the conformance of
Equatable
by @pepibumur.
- XCConfig parser strips the trailing semicolon from a configuration value #250 by @briantkelley
fullPath(fileElement:reference:sourceRoot:)
now returns the correct path for files that exist within a variant group #255 by @ileitch
- Update Danger to warn if the PR title contains WIP #259 by @pepibumur.
- Test coverage reports #258 by @pepibumur
- CI pipeline runs also on a Linux environment #249 by @pepibumur.
- Auto-generation of Equatable conformances using Sourcery #189 @by pepibumur.
- Some updates to match the Xcode 9.3 project format #247 by @LinusU
PBXNativeTarget.productInstallPath
,PBXTargetDependency.name
#241 by @briantkelleyPBXContainerItem
super class ofPBXBuildPhase
andPBXTarget
#243 by @briantkelleyPBXFileElement.wrapsLines
property #244 by @briantkelleyPBXFileReference
languageSpecificationIdentifier
andplistStructureDefinitionIdentifier
properties #244 by @briantkelley
- Support for
XCConfig
project-relative includes #238 by @briantkelley - Migrated
PBXProject.projectRoot
toPBXProject.projectRoots
#242 by @briantkelley - Moved
PBXFileElement.includeInIndex
andPBXGroup
'susesTabs
,indentWidth
, andtabWidth
properties toPBXFileElement
#244 by @briantkelley PBXContainerItem
super class ofPBXFileElement
#244 by @briantkelleyPBXVariantGroup
andXCVersionGroup
now inherit fromPBXGroup
#244 by @briantkelley
PBXObject.isEqual(to:)
overrides correctly call super #239 by @briantkelleyPBXAggregateTarget
does not writebuildRules
#241 by @briantkelley- Writes showEnvVarsInLog only when false #240 by @briantkelley
- Writes
PBXProject.projectReferences
to the plist #242 by @briantkelley - Comment generation for
PBXProject
,PBXTarget
, andPBXVariantGroup
#243 by @briantkelley fullPath
now returns the path for a file inside a group without a folder #246 by @ileitch- Quotes strings containing a triple underscore or double forward slash in .pbxproj file #245 by @briantkelley
- Added
tvOS
andwatchOS
Carthage support #232 by @yonaskolb - Added support for scheme environment variables #227 by @turekj
- Fixed PBXObject sublasses from checking Equatable properly #224 by @yonaskolb
- Fix Carthage support #226 by @ileitch
- Fix adding file reference to bundle and package files #234 by @fuzza
- Fix adding PBXGroup without folder reference #235 by @fuzza
- Fixed some more diffs from Xcode #233 by @yonaskolb
- Carthage minimum Deployment Target #229 by @olbrichj
- Added support for scheme pre-actions and post-actions #217 by @kastiglione
- Breaking: Changed the return type of some helper functions that create or fetch PBXObjects to be
ObjectReference
, which includes the reference as well as the object #218 by @yonaskolb - Breaking: Changed some
Int
properties intoBool
orUInt
#221 by @yonaskolb - Changed the writing of some properties to minimise diffs when opening projects in Xcode #220 by @yonaskolb
- Fix Xcode 9.2 warning #209 by @keith
- macOS CLI targets now have a nil extension, instead of an empty string #208 by @keith
- Fix unnecessary quotations in CommentedString #211 by @allu22
- Fixed xml files format not matching Xcode format, added some missing actions attributes. #216 by @ilyapuchka
- Breaking:
XCWorkspace.Data
renamed toXCWorkspaceData
and removedreferences
. - Improved README examples. #212 by @ilyapuchka
- Added methods to get paths to workspace, project and breakpoints and shemes files, added public methods to write them separatery. #215 by @ilyapuchka
- Added helper methods for adding source file to the project. #213 by @ilyapuchka
- Deterministic reference generation #185 by @pepibumur
- Breaking Change
Referenceable
protocol #185 by @pepibumur. - Breaking Change Deprecated methods to access objects from the
PBXProj
. Developers should use thePBXProj.objects
property instead. #185 by @pepibumur.
- Breaking:
PBXSourceTree
no longer has raw values and gained an associated value case to support custom locations #198 by @briantkelley
- Breaking: The
buildableProductRunnable
property onXCScheme.LaunchAction
andXCScheme.ProfileAction
is now optional. Similarly,macroExpansion
onXCScheme.TestAction
is also optional. #194 by @briantkelley - The
XCScheme
initialization from an XML file has been relaxed, better matching Xcode's behavior. Default values will be used if the XML file is missing the relevant element or attribute. #194 by @briantkelley
- If you were using objects getters in
PBXProj
you should use the getters inPBXProj.objects
instead. - Objects don't include a
reference
property anymore. Objects associated references are the keys in the dictionary that contains them. - When objects are added to the
PBXProj.objects
collection a reference needs to be passed. The reference can be calculated using the functionPBXProj.objects.generateReference
that generates a unique and deterministic reference based on the given object and identifier. - If you were using
buildableProductRunnable
andmacroExpansion
properties fromXCScheme
actions they are now optionals.
- Optimised performance of object lookups #191 by @kastiglione
- Add breakpoint
condition
parameter by @alexruperez. - Support Xcode Extension product type #190 by @briantkelley
- Support for the legacy Build Carbon Resources build phase #196 by @briantkelley
- Support for custom build rules by #197 @briantkelley
- Optimised escaping of CommentedString #195 by @kastiglione
- Optimised performance of object lookups #191 by @kastiglione
- fixed PBXLegacyTarget write order #199 by @kastiglione
- fixed comment generation of PBXBuildFiles without a name #203 by @briantkelley
- fixed PBXReferenceTarget encoding in pbxproj file #202 by @briantkelley
- Support more indentation options on PBXGroups #168 by @bkase.
- Support
PBXLegacyTarget
#171 by @bkase. - Breakpoint support through
XCBreakpointList
. #172 by @alexruperez - Add convenience method to find targets with a given name #184 by @pepibumur.
- Danger plugin that fails earlier if files have been added/deleted and the Carthage project hasn't been regenerated afterwards #187 by @pepibumur.
- Fix encoded line breaks in PBXFileReference #177 by @yonaskolb
- PBXLegacyTarget support #171 by @bkase
- Integration tests #168 by @pepibumur
- More examples to the README #116 by @pepibumur.
- Add adding / editing command line arguments for Launch, Test and Profile Actions in
XCScheme
. #167 by @rahul-malik - Test the contract with XcodeGen #170 by @pepibumur
- Add
PBXProj.Objects.getFileElement
#175 by @yonaskolb
PBXGroup
not generating the comment properly for its children #169 by @pepibumur.- Make
PBXFileElement
a superclass forPBXFileReference
,PBXGroup
, andPBXVariantGroup
#173 by @gubikmic - Added
path
toPBXVariantGroup
init #174 by @yonaskolb
- Add
codeCoverageEnabled
parameter toTestAction
#166 by @kastiglione - Make
final
classes that are not extendible #164 by @pepibumur.
- Fix
PBXProject
productRefGroup
comment #161 by @allu22 - Fix deprecation warnings for
PBXProj
objects usage #162 by @rahul-malik
- Danger integration #158 by @pepibumur
- Improve efficiency of looking up
PBXObject
's fromPBXProj
#136 by @rahul-malik
PBXObject
objects accessors https://github.com/xcodeswift/xcproj/pull/136/files#diff-f4369d9af58a6914f0e5cdf81ed18530R6 by @rahul-malik.
- Fix
PBXBuildFile
wrongly defaulting the settings attribute when it was nil #149 by @allu22 - Fix
PBXTarget
generating the wrong comment for theproductReference
property #151 by @allu22. - Add missing
usesTabs
property toPBXGroup
#147 by @allu22. - Fix generated comment for
PBXHeadersBuildPhase
by @allu22. - Fix wrong
BuidlSettings.swift
file name #146 by @allu22. - Fix
projectReferences
type #135 by @solgar.
- Add
PBXSourceTree.developerDir
type https://github.com/xcodeswift/xcproj/commit/5504fcde00bc56cf6c240ecd7cc36c05296861f8 by @pepibumur.
- Fix
PBXShellScriptBuildPhase
bug decodingshowEnvVarsInLog
https://github.com/xcodeswift/xcproj/commit/521b4e62b70f5fc43a06d00c43916d4899138553 by @pepibumur. - Fix
PBXFileReference
bug decodinguseTabs
https://github.com/xcodeswift/xcproj/commit/c533987496959a3e32c0ddfe45a0f2db8d5daae0 by @pepibumur. - Fix
PBXFileReference
bug decodinglineEnding
https://github.com/xcodeswift/xcproj/commit/8a2c94effbe94859a68d58e0c49d66156ba1eaea by @pepibumur.
- Build phase
buildActionMask
wrong default value #131 by @pepibumur.
- It supports now SPM-generated projects #124 by @pepibumur. Thanks @josefdolezal for the report.
- Project and workspace initializer that takes the path as a string #123 by @pepibumur.
- Fix the decoding of the
PBXFileReference.fileEncoding
property #127 by @gubikmic. - Fix some wrong comments and typos #126 by @gubikmic
- Breaking: Review optionality of attributes to align it with Xcode one #107 by @pepibumur.
- Contributing, and code of conduct point to the organization ones by @pepibumur.
- New changelog format introduced by @pepibumur.
- Use the super init to decode reference in some objects #110 by @yonaskolb
- Schemes being shared with an extension #113 by @esttorhe.
- Contributors link in the README.md #117 by @tapanprakasht.
- Add back the
BuildSettings
typelias removed by mistake #109 by @pepibumur. - Fix a bug decoding the
PBXProject.projectRoot
property that should be decoded as an optional #108 by @pepibumur.
- Remove dependency with Unbox and use the language coding/decoding features #99 by @pepibumur and @artemnovichkov.
- Enable xcproj in Open Collective by @pepibumur.
- Support parsing XCVersionGroup objects #96 by @pepibumur.
- Add iOS support to the
.podspec
#92 by @pepibumur. - Fix comment for buildConfigurationList #93 by @toshi0383.
- Update
PBXProj
classes property to be a dictionary #94 by @toshi0383. - Fix comment in the
BuildPhase
object #95 by @toshi0383.
- Turn
PBXVariantGroup
children property into an array #88 by @pepibumur - Add
PBXReferenceProxy
object #85 by @pepibumur - Migrate project to Swift 4 #84 by @artemnovichkov
- Fix build phase script error undoer Xcode 9 #81 by @kixswift
- Update shell build script phase input and output files to be array instead of set #65 by @pepibumur
- Fix wrong comment in the shell script build phase #67 by @ppeibumur
- Fix wron gcomment in
PBXSourcesBuildPhase
files property #68 by @pepibumur - Add
XCVersionGroup
project element used by Core Data models #69 by @pepibumur - Update
XCConcigurationList
build configurations to be an array #70 by @pepibumur
- Update struct to classes and clean up API #51 by @yonaskolb
- Fix and cleanup strings escaping #48 by @yonaskolb
- Add
runOnlyForDeploymentPostprocessing
toPBXShellScriptBuildPhase
by @yonaskolb - Remove force unwrap for
XCScheme
#39 by @Shakarang
- Downgrade Swift Tools versions to 4.0 #27 by @yonaskolb
- Make Scheme intializers public #28 by @yonaskolb
- Change PBXGroup.children to be an array #26 by @yonaskolb
- Make XcodeProj writable #20 by @yonaskolb
- Write baseConfigurationReference #24 by @yonaskolb
- Convert booleans to YES or NO #23 by @yonaskolb
- Make more properties public #19 by @yonaskolb
- Fix an issue with unescaped strings by @yonaskolb #16
- Update Swift Tools Version to 4.0 https://github.com/xcodeswift/xcproj/commit/f0f5ffe58ce0d29bb986189abf6391c6552fd347
- Remove CryptoSwift dependency https://github.com/xcodeswift/xcproj/commit/f0f5ffe58ce0d29bb986189abf6391c6552fd347
- First version of the Swift library.
- It supports reading and parsing the following models: - xcodeproj. - xcworkspace. - pbxproj.
This version doesn't support writing yet